Hi Tom,

Tuscany overrides the templates, and many of the other GenModel settings 
for it's code generation. If you look in class 
org.apache.tuscany.sdo.generate.JavaGenerator you'll see code like this:

      generator.getAdapterFactoryDescriptorRegistry().addDescriptor
      (GenModelPackage.eNS_URI, SDOGenModelGeneratorAdapterFactory.
DESCRIPTOR);

and this:

    genModel.setRootExtendsInterface("");
    genModel.setRootImplementsInterface("commonj.sdo.DataObject");
    genModel.setRootExtendsClass(
"org.apache.tuscany.sdo.impl.DataObjectImpl");
    genModel.setFeatureMapWrapperInterface("commonj.sdo.Sequence");
    genModel.setFeatureMapWrapperInternalInterface(
"org.apache.tuscany.sdo.util.BasicSequence");
    genModel.setFeatureMapWrapperClass(
"org.apache.tuscany.sdo.util.BasicSequence");
    genModel.setSuppressEMFTypes(true);
    genModel.setSuppressEMFMetaData(true);
    genModel.setSuppressEMFModelTags(true);
    genModel.setCanGenerate(true);
    //FIXME workaround java.lang.NoClassDefFoundError: 
org/eclipse/jdt/core/jdom/IDOMNode with 02162006 build
    genModel.setFacadeHelperClass("Hack");
    genModel.setForceOverwrite(true);
    ... etc ...

I think you should be able set up the EMF generator (GUI) the same way, 
but I'd ask on the EMF newsgroup. If you can figure out how to do it and 
contribute something back to Tuscany, that would be really great.

Thanks,
Frank

"kelvin goodson" <[EMAIL PROTECTED]> wrote on 06/25/2007 08:24:22 
AM:

> Hi Tom,
> 
>   the only generator we have in good shape to generate Tuscany SDO
> classes is the XSD to Java generator.  I think it would be a
> significant new feature to properly support what you are trying to do.
>   You are correct in your understanding that you must arrange for a
> specialised factory to be in place to create your types, so that they
> are instances of Type rather than of EClass. Tuscany SDO itself has to
> do this in order to ensure that the SDOFactory is used to create SDO
> objects.
> 
> Regards, Kelvin.
> 
> On 25/06/07, Thomas Kuhn <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I'm getting a ClassCastException (see below) when I try to do
> > myDataObj.getChangeSummary().beginLogging();
> >
> > I am use EMF to create the objects. I changed the .genmodel file to 
generate
> > SDO objects (I changed the genmodel first to create SDO 1.0 objects.
> > Subsequently, I modified the .genmodel file to generate code that uses 
the
> > Tuscany classes). The generated interfaces extend DataObject and their
> > implementations correctly extend DataObjectImpl. I think the problem 
lies in
> > the generated Package file, where getMyDataObj() returns an EClass. If 
it
> > would be of any help, I can provide the .genmodel file.
> >
> > Is it possible at all to generate SDO  from an EMF model?
> >
> > Thanks in advance,
> >
> > Tom
> >
> > java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EClassImpl
> >  at
> > 
org.apache.tuscany.sdo.impl.DataObjectImpl.getType(DataObjectImpl.java:192)
> >  at
> > 
org.apache.tuscany.sdo.util.DataObjectUtil.getChangeSummary(DataObjectUtil.j
> > ava:688)
> >  at
> > 
org.apache.tuscany.sdo.impl.DataObjectImpl.getChangeSummary(DataObjectImpl.j
> > ava:1314)
> > ....
> >
> > Environment: EMF 2.2.0, SDO 2.1.0 incubating beta1
> >
> >
> >
> >
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to