hello every body!

I've got a 1-to-many relationship set up, but it's not working.

It's about polls and its answers.

So I have a session bean that creates the entity beans and, in a lopp,
assigns each answer to the poll.

that's the piece of code that makes it:

try{

System.out.println("Passei pelo session facade");


Context context = EJBClient.getJNDIContext();


Object refPoll= context.lookup(PollHome.JNDI_NAME);


PollHome pollHome = (PollHome) PortableRemoteObject.narrow(refPoll,
PollHome.class);

Poll poll = pollHome.create(pv);


Object refAnswer= context.lookup(AnswerHome.JNDI_NAME);


AnswerHome answerHome = (AnswerHome) PortableRemoteObject.narrow(refAnswer,
AnswerHome.class);


AnswerValue[] answers = pv.getAnswers();


for(int i=0; i<answers.length; i++){


Answer answer = answerHome.create(answers[i]);


poll.assignAnswer(answer);


}



return poll.getValueObject();



}catch(Exception e){


System.out.println("Nao foi poss�vel localizar objeto no servidor.");

e.printStackTrace();

return null;


}



So my PollEJB is a CMP 2.x one, and the piece of code reponsible for the
relationship is the following:

//CMR fields


public abstract void setAnswers(Set answers);

public abstract Set getAnswers();


//Business methods


public void assignAnswer(Answer a){


Set answers = getAnswers();

answers.add(a);


}


And the ejb-jar is the following:

<!-- Relationships -->


<relationships>


<ejb-relation>

<ejb-relation-name>Poll-Answers</ejb-relation-name>

<ejb-relationship-role>

<ejb-relationship-role-name>poll-has-answers</ejb-relationship-role-name>

<multiplicity>One</multiplicity>

<relationship-role-source>

<ejb-name>cilix/ejb/Poll</ejb-name>

</relationship-role-source>


<cmr-field>

<cmr-field-name>answers</cmr-field-name>

<cmr-field-type>java.util.Set</cmr-field-type>

</cmr-field>

</ejb-relationship-role>

<ejb-relationship-role>

<ejb-relationship-role-name>answers-belongs-to-poll</ejb-relationship-role-n
ame>


<multiplicity>Many</multiplicity>

<cascade-delete/>


<relationship-role-source>

<ejb-name>cilix/ejb/Answer</ejb-name>

</relationship-role-source>


</ejb-relationship-role>

</ejb-relation>


</relationships>


<!-- Assembly Descriptor -->

<assembly-descriptor >

<!-- finder permissions -->

<!-- transactions -->

<container-transaction >

<method >

<ejb-name>cilix/ejb/Poll</ejb-name>

<method-name>*</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

<container-transaction >

<method >

<ejb-name>cilix/ejb/Facade</ejb-name>

<method-name>*</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>


<container-transaction >

<method >

<ejb-name>cilix/ejb/Answer</ejb-name>

<method-name>*</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

And when i try to run it, an exception inside the container implementation
is throwed:

16:46:41,684 ERROR [LogInterceptor] TransactionRolledbackException,
causedBy:

java.lang.NullPointerException

at
org.jboss.ejb.plugins.cmp.jdbc.bridge.RelationSet.add(RelationSet.java:86)

at
br.com.cilix.intranet.poll.ejb.entity.PollEJB.assignAnswer(PollEJB.java:54)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at
org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.ja
va:1194)

at
org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor.invoke(JDBCRelationIn
terceptor.java:95)

at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchron
izationInterceptor.java:308)

at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)

at
org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInt
erceptor.java:90)

at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterce
ptor.java:152)

at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.jav
a:107)

at
org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterce
ptor.java:69)

at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
.java:107)

at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:178)

at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)

at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13
0)

at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203)

at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:493)

at org.jboss.ejb.Container.invoke(Container.java:712)

at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)

at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)

at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)

at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)

at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77
)

at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)

at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116)

at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)

at $Proxy50.assignAnswer(Unknown Source)

at
br.com.cilix.intranet.poll.ejb.session.stateless.FacadeBean.insertPoll(Facad
eBean.java:62)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:660)

at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)

at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:77)

at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
.java:107)

at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:178)

at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)

at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13
0)

at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203)

at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:313)

at org.jboss.ejb.Container.invoke(Container.java:712)

at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)

at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)

at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)

at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77
)

at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)

at
org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInter
ceptor.java:111)

at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)

at $Proxy46.insertPoll(Unknown Source)

at
br.com.cilix.intranet.poll.ejb.session.stateless.BusinessDelegate.insertPoll
(BusinessDelegate.java:72)

at br.com.cilix.intranet.poll.servlet.NewPoll.service(NewPoll.java:56)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)

at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)

at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)

at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)

at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)

at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)

at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)

at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)

at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)

at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)

at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in
vokeNext(StandardPipeline.java:643)

at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1040)

at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151
)

at java.lang.Thread.run(Thread.java:536)

So i'd like to know what can I do to solve it. I think the problem is just a
little thing that is not right in my code.

with my best regards,

Fabiano



-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T
handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to