Hello,
I am trying to unmarshal the following structure, involving mapping a concrete class
to a field that defined with an interface.
It's failing with an error:
testBindingMapping(com.schemalogic.integrator.BindingMappingTest)java.lang.NoClassDefFoundError:
com/schemalogic/integrator/Bindingconfig (wrong name:
com/schemalogic/integrator/BindingConfig)
I've looked at the castor mapping documents and implemented the polymorphic behavior
for auto-naming="deriveByClass". it seems to be ignoring this..
Thanks for any help.
Brent Picasso
My mapping file is:
<mapping>
<class name="com.schemalogic.integrator.BindingImpl">
<map-to xml="binding"/>
<field name="id" type="java.lang.String">
<bind-xml name="objectid" node="attribute"/>
</field>
<field name="name" type="java.lang.String">
<bind-xml name="name" node="attribute"/>
</field>
<field name="description" type="java.lang.String">
<bind-xml name="description" node="element"/>
</field>
<field name="bindingConfig" type="com.schemalogic.integrator.BindingConfig"
required="true">
<bind-xml auto-naming="deriveByClass" node="element"
location="bindingconfig"/>
</field>
</class>
<class name="com.schemalogic.integrator.CustomBindingConfig">
<map-to xml="custombindingconfig"/>
<field name="loginId" type="java.lang.String">
<bind-xml name="loginid" node="attribute"/>
</field>
<field name="password" type="java.lang.String">
<bind-xml name="password" node="attribute"/>
</field>
<field name="port" type="java.lang.String">
<bind-xml name="port" node="attribute"/>
</field>
<field name="server" type="java.lang.String">
<bind-xml name="server" node="attribute"/>
</field>
</class>
</mapping>
My sample XML to be unmarshalled is:
<binding objectid="1234" name="binding_sample">
<description>binding sample description</description>
<bindingconfig>
<custombindingconfig loginid="uid" password="pwd" port="1234"
server="custom.kom"/>
</bindingconfig>
</binding>
Here is the BindingConfig interface:
package com.schemalogic.integrator;
import com.schemalogic.SchemalogicObject;
public interface BindingConfig extends SchemalogicObject{
/** Indicate whether this Binding Configuration is in a valid data state
* @true if it is in a valid state
*/
public boolean isValid();
}
package com.schemalogic.integrator;
public class CustomBindingConfig extends BaseIntegratorObject implements BindingConfig
{
private String loginId;
private String password;
private String port;
private String server;
public boolean isValid() {
return (null!=getLoginId() && null !=getPassword() && null !=getPort() && null
!=getServer());
}
public void setLoginId(String newLoginId){
this.loginId=newLoginId;
}
public String getLoginId(){
return this.loginId;
}
public void setPassword(String newPassword){
this.password=newPassword;
}
public String getPassword(){
return this.password;
}
public void setPort(String newPort){
this.port=newPort;
}
public String getPort(){
return this.port;
}
public void setServer(String newServer){
this.server=newServer;
}
public String getServer(){
return this.server;
}
}
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev