Dear all,
I have the following java class structure:
public abstract class RequestMessage <MBC extends MessageBodyCore> extends
Message<RequestMessageHeader, RequestMessageBody<MBC>> { public
RequestMessage() { this.setMessageHeader(new
RequestMessageHeader()); this.setMessageBody(new
RequestMessageBody<MBC>()); }}
public class AuthenticateUserReqMsg extends
RequestMessage<AuthenticateUserReqMsgCore> { public
AuthenticateUserReqMsg() { super(); }}
public class AuthenticateUserReqMsgCore implements MessageBodyCore {
protected UserCredential userCredential; // getters and setters}
public abstract class Message <MH extends MessageHeader, MB extends
MessageBody> { MH messageHeader; MB messageBody; // getters
and setters}
Required classes as following:
public abstract class MessageHeader <MHC extends MessageHeaderCore> { MHC
headerCore; //getter and setter}
public abstract class MessageBody <MBC extends MessageBodyCore>{ MBC
bodyCore; //getter and setter}
public interface MessageHeaderCore {}public interface MessageBodyCore {}
public class RequestMessageHeader extends
MessageHeader<RequestMessageHeaderCore> {}
public class RequestMessageHeaderCore implements MessageHeaderCore {
protected String userId; protected int rqMode; protected
String funcId; ... ...// getters and setters}
public class UserCredential implements Serializable{ private String
loginName; private String password; //getters and setters}
I tried the following binding but got below error:
<binding> <mapping name="UsrAuthentRq" class="com.RequestMessage"
extends="com.Message" ordered="false"> </mapping>
<mapping abstract="true" type-name="UserCredential"
class="com.UserCredential"> <value name="loginName" field="loginName"
/> <value name="password" field="password" /> </mapping>
<mapping abstract="true" type-name="AuthenticateUserReqMsgCore"
class="com.AuthenticateUserReqMsgCore">
<structure name="UserCredential" field="userCredential" map-as="UserCredential"
ordered="false"/> </mapping>
<mapping abstract="true" class="com.Message" > <structure
field="messageHeader" map-as="RMH" ordered="false" /> <structure
field="messageBody" map-as="RMB" ordered="false"/> </mapping>
<mapping abstract="true" type-name="RMB"
class="com.ejada.commons.dao.messages.broker.RequestMessageBody"
extends="com.ejada.commons.dao.messages.MessageHeader"
ordered="false"> </mapping>
<mapping name="MessageHeader" class="com.MessageHeader">
<structure name="MsgRqHdr" field="headerCore" map-as="RequestMessageHeaderCore"
ordered="false"/> </mapping> <mapping abstract="true"
type-name="RMH" class="com.RequestMessageHeader"
extends="com.ejada.MessageBody" ordered="false">
</mapping> <mapping name="MessageBody"
class="com.MessageBody"> <structure name="Body"
field="bodyCore" map-as="AuthenticateUserReqMsgCore" ordered="false" />
</mapping> <mapping abstract="true"
type-name="RequestMessageHeaderCore" class="com.RequestMessageHeaderCore">
<value name="FuncId" field="funcId" /> <value
name="RqMode" field="rqMode" /> <value name="UsrId" field="userId" />
</mapping> </binding>
I got the following error:
Error: factory-method needed for abstract type 'com.RequestMessage'; on mapping
element at (line 4, col 70, in authenticateUser-binding.xml)Warning: Only
concrete mappings should be 'leaf' mappings for extensions; you should either
remove 'extends' attribute or add concrete extension mappings for this abstract
mapping; on mapping element at (line 22, col 75, in
authenticateUser-binding.xml)Error: factory-method needed for abstract type
'com.MessageHeader'; on mapping element at (line 25, col 85, in
authenticateUser-binding.xml)Warning: Only concrete mappings should be 'leaf'
mappings for extensions; you should either remove 'extends' attribute or add
concrete extension mappings for this abstract mapping; on mapping element at
(line 30, col 73, in authenticateUser-binding.xml)Error: factory-method needed
for abstract type 'com.MessageBody'; on mapping element at (line 34, col 81, in
authenticateUser-binding.xml)
I appreciate any support, I cant locate any document related to jibx with java
generics which I think is the main issue.
Regards..
M Osman
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users