Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » [Teneo] Enhancing the ECore classes
[Teneo] Enhancing the ECore classes [message #108237] |
Fri, 25 January 2008 10:26  |
Eclipse User |
|
|
|
Hi,
Not sure if I missed something in the steps to create my own JPOX
persistence using Teneo, but I get this
javax.jdo.JDOUserException: Field
"org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
reference type (interface/Object) but no implementation classes of
"org.eclipse.emf.ecore.util.FeatureMap" have been found!
at
org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
at
org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
at
org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
at
org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
at
org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
.....
So clearly the ECore classes are not enhanced. What did I miss?
Thx.
David
|
|
| | |
Re: [Teneo] Enhancing the ECore classes [message #108758 is a reply to message #108744] |
Mon, 28 January 2008 14:26   |
Eclipse User |
|
|
|
Hi David,
The testcases use programmatic creation of the jdo file. Can you try the same using:
JpoxHelper.INSTANCE.generateMapping(...).
gr. Martin
david wrote:
> Hi,
>
> Not sure where you get this jdo mapping? The package.jdo produced by
> Teneo does not include the ECore classes, only the classes from my own
> XSD. Did I miss something? How do I include the ECore classes in the
> package.jdo produced?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> I am not sure if this is related to the enhancement. How does the jdo
>> mapping look like for this field?
>>
>> To give you an idea, this is a mapping for mixed which I have in one
>> of the testcases:
>> <field name="mixed" persistence-modifier="persistent">
>> <collection
>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>> <join name="letterbodytype_mixed"/>
>> <element>
>> <embedded>
>> <field name="featurePath">
>> <column name="FEATUREPATH"/>
>> </field>
>> <field name="anyValue">
>> <column name="ANYVALUE"/>
>> </field>
>> </embedded>
>> </element>
>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>> </field>
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure if I missed something in the steps to create my own JPOX
>>> persistence using Teneo, but I get this
>>>
>>> javax.jdo.JDOUserException: Field
>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>> reference type (interface/Object) but no implementation classes of
>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>> at
>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>
>>> at
>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>
>>> at
>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>
>>>
>>> .....
>>>
>>>
>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>
>>> Thx.
>>>
>>> David
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #108783 is a reply to message #108758] |
Mon, 28 January 2008 17:23   |
Eclipse User |
|
|
|
Hi,
So does this mean that no Teneo generated JPOX can be used unless you
programatically include the ECore package.jdo generation? I did not do
the library example, but had read the documentation but did not see this
requirement, which seems a fundamental one. Surely any pacakge.jdo
produced by Teneo will require use of the ECore classes and therefore
each time the ECore classes will be require enhancing too?
Thx.
David
Martin Taal wrote:
> Hi David,
> The testcases use programmatic creation of the jdo file. Can you try the
> same using: JpoxHelper.INSTANCE.generateMapping(...).
>
> gr. Martin
>
> david wrote:
>> Hi,
>>
>> Not sure where you get this jdo mapping? The package.jdo produced by
>> Teneo does not include the ECore classes, only the classes from my own
>> XSD. Did I miss something? How do I include the ECore classes in the
>> package.jdo produced?
>>
>> Thx.
>>
>> David
>>
>> Martin Taal wrote:
>>> Hi David,
>>> I am not sure if this is related to the enhancement. How does the jdo
>>> mapping look like for this field?
>>>
>>> To give you an idea, this is a mapping for mixed which I have in one
>>> of the testcases:
>>> <field name="mixed" persistence-modifier="persistent">
>>> <collection
>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>> <join name="letterbodytype_mixed"/>
>>> <element>
>>> <embedded>
>>> <field name="featurePath">
>>> <column name="FEATUREPATH"/>
>>> </field>
>>> <field name="anyValue">
>>> <column name="ANYVALUE"/>
>>> </field>
>>> </embedded>
>>> </element>
>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>> </field>
>>>
>>> gr. Martin
>>>
>>> david wrote:
>>>> Hi,
>>>>
>>>> Not sure if I missed something in the steps to create my own JPOX
>>>> persistence using Teneo, but I get this
>>>>
>>>> javax.jdo.JDOUserException: Field
>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>> reference type (interface/Object) but no implementation classes of
>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>> at
>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>
>>>> at
>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>
>>>> at
>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>
>>>>
>>>> .....
>>>>
>>>>
>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>
>>>> Thx.
>>>>
>>>> David
>>>
>>>
>
>
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #108808 is a reply to message #108783] |
Mon, 28 January 2008 17:35   |
Eclipse User |
|
|
|
Hi David,
No it is different. For featuremap (and anytype) Teneo has its own classes (for example
org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry). These are located in a separate jar file
(org.eclipse.emf.teneo.jpox.enhanced.jar) which is in the org.eclipse.emf.teneo.jpox plugin.
The classes in this jar file are already enhanced and the classes are exported by the
org.eclipse.emf.teneo.jpox plugin.
So in a plugin environment using the org.eclipse.emf.teneo.jpox will also make these enhanced
classes available to you. Enhancing the ecore classes is therefore not required.
It seems that during package.jdo generation the featuremap/mixed is not recognized as such.
Can you post the jdo you get? If you also post your model then I can reproduce it myself. You can
also send me the model directly (mtaal@elver.org).
gr. Martin
david wrote:
> Hi,
>
> So does this mean that no Teneo generated JPOX can be used unless you
> programatically include the ECore package.jdo generation? I did not do
> the library example, but had read the documentation but did not see this
> requirement, which seems a fundamental one. Surely any pacakge.jdo
> produced by Teneo will require use of the ECore classes and therefore
> each time the ECore classes will be require enhancing too?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> The testcases use programmatic creation of the jdo file. Can you try
>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>> Teneo does not include the ECore classes, only the classes from my
>>> own XSD. Did I miss something? How do I include the ECore classes in
>>> the package.jdo produced?
>>>
>>> Thx.
>>>
>>> David
>>>
>>> Martin Taal wrote:
>>>> Hi David,
>>>> I am not sure if this is related to the enhancement. How does the
>>>> jdo mapping look like for this field?
>>>>
>>>> To give you an idea, this is a mapping for mixed which I have in one
>>>> of the testcases:
>>>> <field name="mixed" persistence-modifier="persistent">
>>>> <collection
>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>> <join name="letterbodytype_mixed"/>
>>>> <element>
>>>> <embedded>
>>>> <field name="featurePath">
>>>> <column name="FEATUREPATH"/>
>>>> </field>
>>>> <field name="anyValue">
>>>> <column name="ANYVALUE"/>
>>>> </field>
>>>> </embedded>
>>>> </element>
>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>> </field>
>>>>
>>>> gr. Martin
>>>>
>>>> david wrote:
>>>>> Hi,
>>>>>
>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>> persistence using Teneo, but I get this
>>>>>
>>>>> javax.jdo.JDOUserException: Field
>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>> reference type (interface/Object) but no implementation classes of
>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>> at
>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>
>>>>>
>>>>> .....
>>>>>
>>>>>
>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>
>>>>> Thx.
>>>>>
>>>>> David
>>>>
>>>>
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #108822 is a reply to message #108783] |
Mon, 28 January 2008 17:44   |
Eclipse User |
|
|
|
Hi,
Another thing that confused me is the last item on the Troubleshooting
page. It says "Teneo uses the runtime version of the ecore model. The
runtime version is present as java code in the generated EPackage
implementation class." which made me think that that was how the ECore
classes got enhanced. But there is no sign of this EPackage generated file?
Thx.
David
david wrote:
> Hi,
>
> So does this mean that no Teneo generated JPOX can be used unless you
> programatically include the ECore package.jdo generation? I did not do
> the library example, but had read the documentation but did not see this
> requirement, which seems a fundamental one. Surely any pacakge.jdo
> produced by Teneo will require use of the ECore classes and therefore
> each time the ECore classes will be require enhancing too?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> The testcases use programmatic creation of the jdo file. Can you try
>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>> Teneo does not include the ECore classes, only the classes from my
>>> own XSD. Did I miss something? How do I include the ECore classes in
>>> the package.jdo produced?
>>>
>>> Thx.
>>>
>>> David
>>>
>>> Martin Taal wrote:
>>>> Hi David,
>>>> I am not sure if this is related to the enhancement. How does the
>>>> jdo mapping look like for this field?
>>>>
>>>> To give you an idea, this is a mapping for mixed which I have in one
>>>> of the testcases:
>>>> <field name="mixed" persistence-modifier="persistent">
>>>> <collection
>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>> <join name="letterbodytype_mixed"/>
>>>> <element>
>>>> <embedded>
>>>> <field name="featurePath">
>>>> <column name="FEATUREPATH"/>
>>>> </field>
>>>> <field name="anyValue">
>>>> <column name="ANYVALUE"/>
>>>> </field>
>>>> </embedded>
>>>> </element>
>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>> </field>
>>>>
>>>> gr. Martin
>>>>
>>>> david wrote:
>>>>> Hi,
>>>>>
>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>> persistence using Teneo, but I get this
>>>>>
>>>>> javax.jdo.JDOUserException: Field
>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>> reference type (interface/Object) but no implementation classes of
>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>> at
>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>
>>>>>
>>>>> .....
>>>>>
>>>>>
>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>
>>>>> Thx.
>>>>>
>>>>> David
>>>>
>>>>
>>
>>
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #108835 is a reply to message #108822] |
Mon, 28 January 2008 18:14  |
Eclipse User |
|
|
|
Hi David,
Maybe the documentation is confusing in this regard.
To give some more background info. References to the Ecore model itself are not persisted as they
are statically present in the generated code. The only exceptions are featuremap (which supports the
mixed type) and anytype. Both of these require additional fields to store a reference to the ecore
model (to an efeature). However the ecore model is not persisted because the reference to the ecore
model is persisted as a string in the db. When the object (featuremap) is read back from the db then
the string is translated to the in-memory efeature. But this is only required for featuremap.
gr. Martin
david wrote:
> Hi,
>
> Another thing that confused me is the last item on the Troubleshooting
> page. It says "Teneo uses the runtime version of the ecore model. The
> runtime version is present as java code in the generated EPackage
> implementation class." which made me think that that was how the ECore
> classes got enhanced. But there is no sign of this EPackage generated file?
>
> Thx.
>
> David
>
> david wrote:
>> Hi,
>>
>> So does this mean that no Teneo generated JPOX can be used unless you
>> programatically include the ECore package.jdo generation? I did not do
>> the library example, but had read the documentation but did not see
>> this requirement, which seems a fundamental one. Surely any
>> pacakge.jdo produced by Teneo will require use of the ECore classes
>> and therefore each time the ECore classes will be require enhancing too?
>>
>> Thx.
>>
>> David
>>
>> Martin Taal wrote:
>>> Hi David,
>>> The testcases use programmatic creation of the jdo file. Can you try
>>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>>
>>> gr. Martin
>>>
>>> david wrote:
>>>> Hi,
>>>>
>>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>>> Teneo does not include the ECore classes, only the classes from my
>>>> own XSD. Did I miss something? How do I include the ECore classes in
>>>> the package.jdo produced?
>>>>
>>>> Thx.
>>>>
>>>> David
>>>>
>>>> Martin Taal wrote:
>>>>> Hi David,
>>>>> I am not sure if this is related to the enhancement. How does the
>>>>> jdo mapping look like for this field?
>>>>>
>>>>> To give you an idea, this is a mapping for mixed which I have in
>>>>> one of the testcases:
>>>>> <field name="mixed" persistence-modifier="persistent">
>>>>> <collection
>>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>>> <join name="letterbodytype_mixed"/>
>>>>> <element>
>>>>> <embedded>
>>>>> <field name="featurePath">
>>>>> <column name="FEATUREPATH"/>
>>>>> </field>
>>>>> <field name="anyValue">
>>>>> <column name="ANYVALUE"/>
>>>>> </field>
>>>>> </embedded>
>>>>> </element>
>>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>>> </field>
>>>>>
>>>>> gr. Martin
>>>>>
>>>>> david wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>>> persistence using Teneo, but I get this
>>>>>>
>>>>>> javax.jdo.JDOUserException: Field
>>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>>> reference type (interface/Object) but no implementation classes of
>>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>>> at
>>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>>
>>>>>>
>>>>>> .....
>>>>>>
>>>>>>
>>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>>
>>>>>> Thx.
>>>>>>
>>>>>> David
>>>>>
>>>>>
>>>
>>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614087 is a reply to message #108237] |
Fri, 25 January 2008 10:33  |
Eclipse User |
|
|
|
Hi David,
I am not sure if this is related to the enhancement. How does the jdo mapping look like for this field?
To give you an idea, this is a mapping for mixed which I have in one of the testcases:
<field name="mixed" persistence-modifier="persistent">
<collection element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
<join name="letterbodytype_mixed"/>
<element>
<embedded>
<field name="featurePath">
<column name="FEATUREPATH"/>
</field>
<field name="anyValue">
<column name="ANYVALUE"/>
</field>
</embedded>
</element>
<order column="LETTERBODYTYPE_MIXED_IDX"/>
</field>
gr. Martin
david wrote:
> Hi,
>
> Not sure if I missed something in the steps to create my own JPOX
> persistence using Teneo, but I get this
>
> javax.jdo.JDOUserException: Field
> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
> reference type (interface/Object) but no implementation classes of
> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
> at
> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>
> at
> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>
> at
> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>
> at
> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>
> at
> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>
>
> .....
>
>
> So clearly the ECore classes are not enhanced. What did I miss?
>
> Thx.
>
> David
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614121 is a reply to message #108251] |
Mon, 28 January 2008 13:43  |
Eclipse User |
|
|
|
Hi,
Not sure where you get this jdo mapping? The package.jdo produced by
Teneo does not include the ECore classes, only the classes from my own
XSD. Did I miss something? How do I include the ECore classes in the
package.jdo produced?
Thx.
David
Martin Taal wrote:
> Hi David,
> I am not sure if this is related to the enhancement. How does the jdo
> mapping look like for this field?
>
> To give you an idea, this is a mapping for mixed which I have in one of
> the testcases:
> <field name="mixed" persistence-modifier="persistent">
> <collection
> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
> <join name="letterbodytype_mixed"/>
> <element>
> <embedded>
> <field name="featurePath">
> <column name="FEATUREPATH"/>
> </field>
> <field name="anyValue">
> <column name="ANYVALUE"/>
> </field>
> </embedded>
> </element>
> <order column="LETTERBODYTYPE_MIXED_IDX"/>
> </field>
>
> gr. Martin
>
> david wrote:
>> Hi,
>>
>> Not sure if I missed something in the steps to create my own JPOX
>> persistence using Teneo, but I get this
>>
>> javax.jdo.JDOUserException: Field
>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>> reference type (interface/Object) but no implementation classes of
>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>> at
>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>
>> at
>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>
>> at
>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>
>> at
>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>
>> at
>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>
>>
>> .....
>>
>>
>> So clearly the ECore classes are not enhanced. What did I miss?
>>
>> Thx.
>>
>> David
>
>
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614122 is a reply to message #108744] |
Mon, 28 January 2008 14:26  |
Eclipse User |
|
|
|
Hi David,
The testcases use programmatic creation of the jdo file. Can you try the same using:
JpoxHelper.INSTANCE.generateMapping(...).
gr. Martin
david wrote:
> Hi,
>
> Not sure where you get this jdo mapping? The package.jdo produced by
> Teneo does not include the ECore classes, only the classes from my own
> XSD. Did I miss something? How do I include the ECore classes in the
> package.jdo produced?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> I am not sure if this is related to the enhancement. How does the jdo
>> mapping look like for this field?
>>
>> To give you an idea, this is a mapping for mixed which I have in one
>> of the testcases:
>> <field name="mixed" persistence-modifier="persistent">
>> <collection
>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>> <join name="letterbodytype_mixed"/>
>> <element>
>> <embedded>
>> <field name="featurePath">
>> <column name="FEATUREPATH"/>
>> </field>
>> <field name="anyValue">
>> <column name="ANYVALUE"/>
>> </field>
>> </embedded>
>> </element>
>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>> </field>
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure if I missed something in the steps to create my own JPOX
>>> persistence using Teneo, but I get this
>>>
>>> javax.jdo.JDOUserException: Field
>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>> reference type (interface/Object) but no implementation classes of
>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>> at
>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>
>>> at
>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>
>>> at
>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>
>>>
>>> .....
>>>
>>>
>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>
>>> Thx.
>>>
>>> David
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614124 is a reply to message #108758] |
Mon, 28 January 2008 17:23  |
Eclipse User |
|
|
|
Hi,
So does this mean that no Teneo generated JPOX can be used unless you
programatically include the ECore package.jdo generation? I did not do
the library example, but had read the documentation but did not see this
requirement, which seems a fundamental one. Surely any pacakge.jdo
produced by Teneo will require use of the ECore classes and therefore
each time the ECore classes will be require enhancing too?
Thx.
David
Martin Taal wrote:
> Hi David,
> The testcases use programmatic creation of the jdo file. Can you try the
> same using: JpoxHelper.INSTANCE.generateMapping(...).
>
> gr. Martin
>
> david wrote:
>> Hi,
>>
>> Not sure where you get this jdo mapping? The package.jdo produced by
>> Teneo does not include the ECore classes, only the classes from my own
>> XSD. Did I miss something? How do I include the ECore classes in the
>> package.jdo produced?
>>
>> Thx.
>>
>> David
>>
>> Martin Taal wrote:
>>> Hi David,
>>> I am not sure if this is related to the enhancement. How does the jdo
>>> mapping look like for this field?
>>>
>>> To give you an idea, this is a mapping for mixed which I have in one
>>> of the testcases:
>>> <field name="mixed" persistence-modifier="persistent">
>>> <collection
>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>> <join name="letterbodytype_mixed"/>
>>> <element>
>>> <embedded>
>>> <field name="featurePath">
>>> <column name="FEATUREPATH"/>
>>> </field>
>>> <field name="anyValue">
>>> <column name="ANYVALUE"/>
>>> </field>
>>> </embedded>
>>> </element>
>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>> </field>
>>>
>>> gr. Martin
>>>
>>> david wrote:
>>>> Hi,
>>>>
>>>> Not sure if I missed something in the steps to create my own JPOX
>>>> persistence using Teneo, but I get this
>>>>
>>>> javax.jdo.JDOUserException: Field
>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>> reference type (interface/Object) but no implementation classes of
>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>> at
>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>
>>>> at
>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>
>>>> at
>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>
>>>>
>>>> .....
>>>>
>>>>
>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>
>>>> Thx.
>>>>
>>>> David
>>>
>>>
>
>
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614126 is a reply to message #108783] |
Mon, 28 January 2008 17:35  |
Eclipse User |
|
|
|
Hi David,
No it is different. For featuremap (and anytype) Teneo has its own classes (for example
org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry). These are located in a separate jar file
(org.eclipse.emf.teneo.jpox.enhanced.jar) which is in the org.eclipse.emf.teneo.jpox plugin.
The classes in this jar file are already enhanced and the classes are exported by the
org.eclipse.emf.teneo.jpox plugin.
So in a plugin environment using the org.eclipse.emf.teneo.jpox will also make these enhanced
classes available to you. Enhancing the ecore classes is therefore not required.
It seems that during package.jdo generation the featuremap/mixed is not recognized as such.
Can you post the jdo you get? If you also post your model then I can reproduce it myself. You can
also send me the model directly (mtaal@elver.org).
gr. Martin
david wrote:
> Hi,
>
> So does this mean that no Teneo generated JPOX can be used unless you
> programatically include the ECore package.jdo generation? I did not do
> the library example, but had read the documentation but did not see this
> requirement, which seems a fundamental one. Surely any pacakge.jdo
> produced by Teneo will require use of the ECore classes and therefore
> each time the ECore classes will be require enhancing too?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> The testcases use programmatic creation of the jdo file. Can you try
>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>> Teneo does not include the ECore classes, only the classes from my
>>> own XSD. Did I miss something? How do I include the ECore classes in
>>> the package.jdo produced?
>>>
>>> Thx.
>>>
>>> David
>>>
>>> Martin Taal wrote:
>>>> Hi David,
>>>> I am not sure if this is related to the enhancement. How does the
>>>> jdo mapping look like for this field?
>>>>
>>>> To give you an idea, this is a mapping for mixed which I have in one
>>>> of the testcases:
>>>> <field name="mixed" persistence-modifier="persistent">
>>>> <collection
>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>> <join name="letterbodytype_mixed"/>
>>>> <element>
>>>> <embedded>
>>>> <field name="featurePath">
>>>> <column name="FEATUREPATH"/>
>>>> </field>
>>>> <field name="anyValue">
>>>> <column name="ANYVALUE"/>
>>>> </field>
>>>> </embedded>
>>>> </element>
>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>> </field>
>>>>
>>>> gr. Martin
>>>>
>>>> david wrote:
>>>>> Hi,
>>>>>
>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>> persistence using Teneo, but I get this
>>>>>
>>>>> javax.jdo.JDOUserException: Field
>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>> reference type (interface/Object) but no implementation classes of
>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>> at
>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>
>>>>>
>>>>> .....
>>>>>
>>>>>
>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>
>>>>> Thx.
>>>>>
>>>>> David
>>>>
>>>>
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614127 is a reply to message #108783] |
Mon, 28 January 2008 17:44  |
Eclipse User |
|
|
|
Hi,
Another thing that confused me is the last item on the Troubleshooting
page. It says "Teneo uses the runtime version of the ecore model. The
runtime version is present as java code in the generated EPackage
implementation class." which made me think that that was how the ECore
classes got enhanced. But there is no sign of this EPackage generated file?
Thx.
David
david wrote:
> Hi,
>
> So does this mean that no Teneo generated JPOX can be used unless you
> programatically include the ECore package.jdo generation? I did not do
> the library example, but had read the documentation but did not see this
> requirement, which seems a fundamental one. Surely any pacakge.jdo
> produced by Teneo will require use of the ECore classes and therefore
> each time the ECore classes will be require enhancing too?
>
> Thx.
>
> David
>
> Martin Taal wrote:
>> Hi David,
>> The testcases use programmatic creation of the jdo file. Can you try
>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>
>> gr. Martin
>>
>> david wrote:
>>> Hi,
>>>
>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>> Teneo does not include the ECore classes, only the classes from my
>>> own XSD. Did I miss something? How do I include the ECore classes in
>>> the package.jdo produced?
>>>
>>> Thx.
>>>
>>> David
>>>
>>> Martin Taal wrote:
>>>> Hi David,
>>>> I am not sure if this is related to the enhancement. How does the
>>>> jdo mapping look like for this field?
>>>>
>>>> To give you an idea, this is a mapping for mixed which I have in one
>>>> of the testcases:
>>>> <field name="mixed" persistence-modifier="persistent">
>>>> <collection
>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>> <join name="letterbodytype_mixed"/>
>>>> <element>
>>>> <embedded>
>>>> <field name="featurePath">
>>>> <column name="FEATUREPATH"/>
>>>> </field>
>>>> <field name="anyValue">
>>>> <column name="ANYVALUE"/>
>>>> </field>
>>>> </embedded>
>>>> </element>
>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>> </field>
>>>>
>>>> gr. Martin
>>>>
>>>> david wrote:
>>>>> Hi,
>>>>>
>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>> persistence using Teneo, but I get this
>>>>>
>>>>> javax.jdo.JDOUserException: Field
>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>> reference type (interface/Object) but no implementation classes of
>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>> at
>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>
>>>>> at
>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>
>>>>>
>>>>> .....
>>>>>
>>>>>
>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>
>>>>> Thx.
>>>>>
>>>>> David
>>>>
>>>>
>>
>>
|
|
|
Re: [Teneo] Enhancing the ECore classes [message #614128 is a reply to message #108822] |
Mon, 28 January 2008 18:14  |
Eclipse User |
|
|
|
Hi David,
Maybe the documentation is confusing in this regard.
To give some more background info. References to the Ecore model itself are not persisted as they
are statically present in the generated code. The only exceptions are featuremap (which supports the
mixed type) and anytype. Both of these require additional fields to store a reference to the ecore
model (to an efeature). However the ecore model is not persisted because the reference to the ecore
model is persisted as a string in the db. When the object (featuremap) is read back from the db then
the string is translated to the in-memory efeature. But this is only required for featuremap.
gr. Martin
david wrote:
> Hi,
>
> Another thing that confused me is the last item on the Troubleshooting
> page. It says "Teneo uses the runtime version of the ecore model. The
> runtime version is present as java code in the generated EPackage
> implementation class." which made me think that that was how the ECore
> classes got enhanced. But there is no sign of this EPackage generated file?
>
> Thx.
>
> David
>
> david wrote:
>> Hi,
>>
>> So does this mean that no Teneo generated JPOX can be used unless you
>> programatically include the ECore package.jdo generation? I did not do
>> the library example, but had read the documentation but did not see
>> this requirement, which seems a fundamental one. Surely any
>> pacakge.jdo produced by Teneo will require use of the ECore classes
>> and therefore each time the ECore classes will be require enhancing too?
>>
>> Thx.
>>
>> David
>>
>> Martin Taal wrote:
>>> Hi David,
>>> The testcases use programmatic creation of the jdo file. Can you try
>>> the same using: JpoxHelper.INSTANCE.generateMapping(...).
>>>
>>> gr. Martin
>>>
>>> david wrote:
>>>> Hi,
>>>>
>>>> Not sure where you get this jdo mapping? The package.jdo produced by
>>>> Teneo does not include the ECore classes, only the classes from my
>>>> own XSD. Did I miss something? How do I include the ECore classes in
>>>> the package.jdo produced?
>>>>
>>>> Thx.
>>>>
>>>> David
>>>>
>>>> Martin Taal wrote:
>>>>> Hi David,
>>>>> I am not sure if this is related to the enhancement. How does the
>>>>> jdo mapping look like for this field?
>>>>>
>>>>> To give you an idea, this is a mapping for mixed which I have in
>>>>> one of the testcases:
>>>>> <field name="mixed" persistence-modifier="persistent">
>>>>> <collection
>>>>> element-type="org.eclipse.emf.teneo.jpox.elist.AnyFeatureMapEntry "/>
>>>>> <join name="letterbodytype_mixed"/>
>>>>> <element>
>>>>> <embedded>
>>>>> <field name="featurePath">
>>>>> <column name="FEATUREPATH"/>
>>>>> </field>
>>>>> <field name="anyValue">
>>>>> <column name="ANYVALUE"/>
>>>>> </field>
>>>>> </embedded>
>>>>> </element>
>>>>> <order column="LETTERBODYTYPE_MIXED_IDX"/>
>>>>> </field>
>>>>>
>>>>> gr. Martin
>>>>>
>>>>> david wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Not sure if I missed something in the steps to create my own JPOX
>>>>>> persistence using Teneo, but I get this
>>>>>>
>>>>>> javax.jdo.JDOUserException: Field
>>>>>> "org.mddl.mddl._3.impl.CallableTypeImpl.mixed" is declared as a
>>>>>> reference type (interface/Object) but no implementation classes of
>>>>>> "org.eclipse.emf.ecore.util.FeatureMap" have been found!
>>>>>> at
>>>>>> org.jpox.metadata.MetaDataUtils.getImplementationNamesForRef erenceField(MetaDataUtils.java:441)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForRef erenceField(ColumnCreator.java:250)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForFie ldUsingReference(ColumnCreator.java:224)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.mapping.ReferenceMapping.createColumns(Refere nceMapping.java:77)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.mapping.ReferenceMapping.initialize(Reference Mapping.java:63)
>>>>>>
>>>>>>
>>>>>> .....
>>>>>>
>>>>>>
>>>>>> So clearly the ECore classes are not enhanced. What did I miss?
>>>>>>
>>>>>> Thx.
>>>>>>
>>>>>> David
>>>>>
>>>>>
>>>
>>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Goto Forum:
Current Time: Tue Jul 01 15:46:00 EDT 2025
Powered by FUDForum. Page generated in 0.26183 seconds
|