You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Frank Budinsky <fr...@ca.ibm.com> on 2007/11/27 17:58:13 UTC

Re: SDO Java - EDataGraph - serialize-transmit (RMI/IIOP)-deserialize then access via *static* SDO API?

In a) you should be using commonj.sdo.DataGraph (implementation class 
org.apache.tuscany.sdo.impl.DataGraphImpl) because 
org.eclipse.emf.ecore.sdo.EDataGraph is a specialized interface in the SDO 
1 implementation at Eclipse that isn't supported in Tuscany. (if you have 
both available, it sounds like you're somehow running both SDO 1 and SDO 2 
concurrently in your environment.)

That aside, you should be able to use static classes in the EJB method, as 
long as they've been registered (e.g., StaticFactory.register() was called 
for the EJB scope).

Frank.

Gary R Martin <gm...@us.ibm.com> wrote on 11/27/2007 09:40:34 AM:

> By design (with any version of SDO and Tuscany Java implementation),
> 
> should it be possible to generate "static" SDO classes from an .xsd, and 

> then:
> 
> a) use the generated classes to create an: 
> org.eclipse.emf.ecore.sdo.EDataGraph
> b)call a method on the remote interface of an ejb that takes that 
> EDataGraph as its only arguement
> c)use the *static* generated SDO classes to access the SDOs in the 
> EDataGraph
> 
> I've done a) and b) and can use the dynamic SDO API in my EJB method,
> but, I've yet to figure out how (or even if it should be possible by 
> design)
> to use the generated "static" SDO classes in my EJB method.
> 
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org


Re: pre Tuscany (emf) SDO Java - EDataGraph - serialize/deserialize EDataGraphImpl - each EDataObjectImpl replaced with DynamicEDataObjectImpl - working as designed?

Posted by Frank Budinsky <fr...@ca.ibm.com>.
You're running SDO 1 which is part of EMF 2.2, not Tuscany.

My guess is that what you are trying to do should work as long as the 
static classes are available in the EJB's classLoader scope.

I think you should ask the question on the EMF newsgroup or ask somebody 
from the IBM WAS team.

Frank.

Gary R Martin <gm...@us.ibm.com> wrote on 12/04/2007 01:11:39 PM:

> Thanks,
> 
> In this case,  I'm using whatever implementation of the SDO 1.0 spec IBM 

> included in
> WebSphere App Server v6.1.0.13 - 
> ..\plugins\org.eclipse.emf.ecore.sdo_2.2.0.v200609210005.jar
> I believe this is almost certainly "pre Tuscany".
> 
> 
> Would you know if the following behavior is "working as designed"?
> 
> In an EJB client, I can generate "static" SDOs (that inherit from 
> org.eclipse.emf.ecore.sdo.impl.EDataObjectImpl)
> and create an org.eclipse.emf.ecore.sdo.impl.EDataGraphImpl with the 
> SDOFactory, 
> and populate its root Object and contained SDOs using
> generated IBMFactory, IbmPackage and "static" SDOs.
> 
> I pass that EDataGraph as a parameter to a method defined
> on the remote interface of an EJB.  After serialization - RMI/IIOP - 
> deserialization, when
> I inspect the EDataGraphImpl in the EJB method, I find that each 
contained 
> EDataObjectImpl has
> be replaced by a DynamicEDataObjectImpl. 
> 
> As a result, I can't (figure out a way to) use
> the generated static SDOs in the EJB method.
> 
> Regards,
> 
> Gary
> 
> Senior I/T Architect
> Phone (voice, faxmail): 1-513-274-4094  T/364-2632 
> Internet: gmartin3@us.ibm.com
> 
> 
> 
> 
> Frank Budinsky <fr...@ca.ibm.com> 
> 11/27/2007 11:58 AM
> Please respond to
> tuscany-user@ws.apache.org
> 
> 
> To
> tuscany-user@ws.apache.org
> cc
> 
> Subject
> Re: SDO  Java - EDataGraph - serialize-transmit (RMI/IIOP)-deserialize 
> then access via *static* SDO API?
> 
> 
> 
> 
> 
> 
> In a) you should be using commonj.sdo.DataGraph (implementation class 
> org.apache.tuscany.sdo.impl.DataGraphImpl) because 
> org.eclipse.emf.ecore.sdo.EDataGraph is a specialized interface in the 
SDO 
> 
> 1 implementation at Eclipse that isn't supported in Tuscany. (if you 
have 
> both available, it sounds like you're somehow running both SDO 1 and SDO 
2 
> 
> concurrently in your environment.)
> 
> That aside, you should be able to use static classes in the EJB method, 
as 
> 
> long as they've been registered (e.g., StaticFactory.register() was 
called 
> 
> for the EJB scope).
> 
> Frank.
> 
> Gary R Martin <gm...@us.ibm.com> wrote on 11/27/2007 09:40:34 AM:
> 
> > By design (with any version of SDO and Tuscany Java implementation),
> > 
> > should it be possible to generate "static" SDO classes from an .xsd, 
and 
> 
> 
> > then:
> > 
> > a) use the generated classes to create an: 
> > org.eclipse.emf.ecore.sdo.EDataGraph
> > b)call a method on the remote interface of an ejb that takes that 
> > EDataGraph as its only arguement
> > c)use the *static* generated SDO classes to access the SDOs in the 
> > EDataGraph
> > 
> > I've done a) and b) and can use the dynamic SDO API in my EJB method,
> > but, I've yet to figure out how (or even if it should be possible by 
> > design)
> > to use the generated "static" SDO classes in my EJB method.
> > 
> > 
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-user-help@ws.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org


Re: pre Tuscany (emf) SDO Java - EDataGraph - serialize/deserialize EDataGraphImpl - each EDataObjectImpl replaced with DynamicEDataObjectImpl - working as designed?

Posted by Gary R Martin <gm...@us.ibm.com>.
Thanks,

In this case,  I'm using whatever implementation of the SDO 1.0 spec IBM 
included in
WebSphere App Server v6.1.0.13 - 
..\plugins\org.eclipse.emf.ecore.sdo_2.2.0.v200609210005.jar
I believe this is almost certainly "pre Tuscany".


Would you know if the following behavior is "working as designed"?

In an EJB client, I can generate "static" SDOs (that inherit from 
org.eclipse.emf.ecore.sdo.impl.EDataObjectImpl)
and create an org.eclipse.emf.ecore.sdo.impl.EDataGraphImpl with the 
SDOFactory, 
and populate its root Object and contained SDOs using
generated IBMFactory, IbmPackage and "static" SDOs.

I pass that EDataGraph as a parameter to a method defined
on the remote interface of an EJB.  After serialization - RMI/IIOP - 
deserialization, when
I inspect the EDataGraphImpl in the EJB method, I find that each contained 
EDataObjectImpl has
be replaced by a DynamicEDataObjectImpl. 

As a result, I can't (figure out a way to) use
the generated static SDOs in the EJB method.

Regards,

Gary

Senior I/T Architect
Phone (voice, faxmail): 1-513-274-4094  T/364-2632 
Internet: gmartin3@us.ibm.com




Frank Budinsky <fr...@ca.ibm.com> 
11/27/2007 11:58 AM
Please respond to
tuscany-user@ws.apache.org


To
tuscany-user@ws.apache.org
cc

Subject
Re: SDO  Java - EDataGraph - serialize-transmit (RMI/IIOP)-deserialize 
then access via *static* SDO API?






In a) you should be using commonj.sdo.DataGraph (implementation class 
org.apache.tuscany.sdo.impl.DataGraphImpl) because 
org.eclipse.emf.ecore.sdo.EDataGraph is a specialized interface in the SDO 

1 implementation at Eclipse that isn't supported in Tuscany. (if you have 
both available, it sounds like you're somehow running both SDO 1 and SDO 2 

concurrently in your environment.)

That aside, you should be able to use static classes in the EJB method, as 

long as they've been registered (e.g., StaticFactory.register() was called 

for the EJB scope).

Frank.

Gary R Martin <gm...@us.ibm.com> wrote on 11/27/2007 09:40:34 AM:

> By design (with any version of SDO and Tuscany Java implementation),
> 
> should it be possible to generate "static" SDO classes from an .xsd, and 


> then:
> 
> a) use the generated classes to create an: 
> org.eclipse.emf.ecore.sdo.EDataGraph
> b)call a method on the remote interface of an ejb that takes that 
> EDataGraph as its only arguement
> c)use the *static* generated SDO classes to access the SDOs in the 
> EDataGraph
> 
> I've done a) and b) and can use the dynamic SDO API in my EJB method,
> but, I've yet to figure out how (or even if it should be possible by 
> design)
> to use the generated "static" SDO classes in my EJB method.
> 
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-user-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-user-help@ws.apache.org