Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » [Teneo / JPOX]
[Teneo / JPOX] [message #87508] |
Wed, 27 June 2007 05:32  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Hi,
I need to use many *Package.eINSTANCE and I would like to initialize
jpoxDataStore with all of them.
I use this code :
EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
IdmapPackage.eINSTANCE, BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
[...]
jpoxDataStore.setEPackages(packageArray);
jpoxDataStore.initialize();
And everything works well.
But an exception is thrown when I add another *Package.eINSTANCE in the
array, and I don't see why - it occurs when the initialize() method is
called by the jpoxDataStore object.
[07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
Uncaught exception thrown in one of the service methods of the servlet:
IdMap. Exception thrown : javax.jdo.JDOFatalInternalException:
java.lang.NullPointerException
at
org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
at
org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
at
org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
at
org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
at
com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
at
com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
at
com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
[...]
NestedThrowablesStackTrace:
java.lang.NullPointerException
at
org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
at
org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
at org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
at
org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
at org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
at
org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
at org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
at
org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
at
org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
at
org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
at
org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
at
org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
at
com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
at
com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
[...]
Quentin
|
|
|
Re: [Teneo / JPOX] [message #87570 is a reply to message #87508] |
Thu, 28 June 2007 02:17   |
Eclipse User |
|
|
|
Hi Quentin,
I think this is the same exception as here:
http://www.jpox.org/servlet/forum/viewthread?thread=4418
My guess was that this was related to the following mapping:
<collection>..</collection>
<order/>
<column/>
<foreign-key/>
It should be:
<collection>..</collection>
<order/>
<foreign-key>
<column/>
<foreign-key>
You can try to repair this manually in the jdo file. This will be solved in the next release of
Teneo. It is filed under this bugzilla:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
gr. Martin
french.cancan wrote:
> Hi,
>
> I need to use many *Package.eINSTANCE and I would like to initialize
> jpoxDataStore with all of them.
>
> I use this code :
>
> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>
> [...]
>
> jpoxDataStore.setEPackages(packageArray);
> jpoxDataStore.initialize();
>
> And everything works well.
>
>
> But an exception is thrown when I add another *Package.eINSTANCE in the
> array, and I don't see why - it occurs when the initialize() method is
> called by the jpoxDataStore object.
>
> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
> Uncaught exception thrown in one of the service methods of the servlet:
> IdMap. Exception thrown : javax.jdo.JDOFatalInternalException:
> java.lang.NullPointerException
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
> at
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>
> at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>
> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
> at
> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>
>
> [...]
>
> NestedThrowablesStackTrace:
> java.lang.NullPointerException
> at
> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>
> at
> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>
> at
> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
> at
> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
> at
> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
> at
> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>
> at
> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
> at
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>
> at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>
>
> [...]
>
> Quentin
--
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 / JPOX] [message #87749 is a reply to message #87631] |
Fri, 29 June 2007 00:18   |
Eclipse User |
|
|
|
There is also another user having this same issue (see thread: "does not translate to an instance
class"). So I will for sure look into it further but I would need a testcase to debug/analyse what
goes wrong here. Can you provide a (simple) testcase which reproduces this issue?
gr. Martin
french.cancan wrote:
> I will be very grateful if you could suggest another direction for
> solving the problem, or some workaround. Thanks a lot!
>
> french.cancan wrote:
>> Thank you for the suggestion.
>> I have modified manually each package.jdo file and used new enhanced
>> classes, but nothing has changed.
>>
>> I will wait for the next release of Teneo.
>>
>> Quentin
>>
>> Martin Taal wrote:
>>> Hi Quentin,
>>> I think this is the same exception as here:
>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>
>>> My guess was that this was related to the following mapping:
>>> <collection>..</collection>
>>> <order/>
>>> <column/>
>>> <foreign-key/>
>>>
>>> It should be:
>>> <collection>..</collection>
>>> <order/>
>>> <foreign-key>
>>> <column/>
>>> <foreign-key>
>>>
>>> You can try to repair this manually in the jdo file. This will be
>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>
>>> gr. Martin
>>>
>>> french.cancan wrote:
>>>> Hi,
>>>>
>>>> I need to use many *Package.eINSTANCE and I would like to initialize
>>>> jpoxDataStore with all of them.
>>>>
>>>> I use this code :
>>>>
>>>> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
>>>> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE,
>>>> RegistryPackage.eINSTANCE};
>>>>
>>>> [...]
>>>>
>>>> jpoxDataStore.setEPackages(packageArray);
>>>> jpoxDataStore.initialize();
>>>>
>>>> And everything works well.
>>>>
>>>>
>>>> But an exception is thrown when I add another *Package.eINSTANCE in
>>>> the array, and I don't see why - it occurs when the initialize()
>>>> method is called by the jpoxDataStore object.
>>>>
>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>> Uncaught exception thrown in one of the service methods of the
>>>> servlet: IdMap. Exception thrown :
>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>
>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>> at
>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>
>>>>
>>>> [...]
>>>>
>>>> NestedThrowablesStackTrace:
>>>> java.lang.NullPointerException
>>>> at
>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>
>>>>
>>>> [...]
>>>>
>>>> Quentin
>>>
>>>
--
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 / JPOX] [message #88041 is a reply to message #87749] |
Tue, 03 July 2007 10:59   |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Hi Martin,
I have sent a testcase to you on your email.
Quentin
Martin Taal wrote:
> There is also another user having this same issue (see thread: "does not
> translate to an instance class"). So I will for sure look into it
> further but I would need a testcase to debug/analyse what goes wrong
> here. Can you provide a (simple) testcase which reproduces this issue?
>
> gr. Martin
>
> french.cancan wrote:
>> I will be very grateful if you could suggest another direction for
>> solving the problem, or some workaround. Thanks a lot!
>>
>> french.cancan wrote:
>>> Thank you for the suggestion.
>>> I have modified manually each package.jdo file and used new enhanced
>>> classes, but nothing has changed.
>>>
>>> I will wait for the next release of Teneo.
>>>
>>> Quentin
>>>
>>> Martin Taal wrote:
>>>> Hi Quentin,
>>>> I think this is the same exception as here:
>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>
>>>> My guess was that this was related to the following mapping:
>>>> <collection>..</collection>
>>>> <order/>
>>>> <column/>
>>>> <foreign-key/>
>>>>
>>>> It should be:
>>>> <collection>..</collection>
>>>> <order/>
>>>> <foreign-key>
>>>> <column/>
>>>> <foreign-key>
>>>>
>>>> You can try to repair this manually in the jdo file. This will be
>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>
>>>> gr. Martin
>>>>
>>>> french.cancan wrote:
>>>>> Hi,
>>>>>
>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>> initialize jpoxDataStore with all of them.
>>>>>
>>>>> I use this code :
>>>>>
>>>>> EPackage[] packageArray = new EPackage[]
>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>
>>>>> [...]
>>>>>
>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>> jpoxDataStore.initialize();
>>>>>
>>>>> And everything works well.
>>>>>
>>>>>
>>>>> But an exception is thrown when I add another *Package.eINSTANCE in
>>>>> the array, and I don't see why - it occurs when the initialize()
>>>>> method is called by the jpoxDataStore object.
>>>>>
>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>> Uncaught exception thrown in one of the service methods of the
>>>>> servlet: IdMap. Exception thrown :
>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>
>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>> at
>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>
>>>>>
>>>>> [...]
>>>>>
>>>>> NestedThrowablesStackTrace:
>>>>> java.lang.NullPointerException
>>>>> at
>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>
>>>>>
>>>>> [...]
>>>>>
>>>>> Quentin
>>>>
>>>>
>
>
|
|
|
Re: [Teneo / JPOX] [message #88434 is a reply to message #88041] |
Fri, 06 July 2007 09:47   |
Eclipse User |
|
|
|
Hi Quentin,
I think I have found a way of improving the mapping so that this error does not occur. Apparently
for a 1-n association the fk-column tag has to be inside an element tag.
So this was the old mapping for the 1-n:
<field name="bigtree" persistence-modifier="persistent" delete-action="restrict">
<collection element-type="tc.tree.impl.BigTreeImpl" dependent-element="true">
<extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
</collection>
<order column="FRUIT_BIGTREE_IDX"/>
<column name="fruit_bigtree_e_id" allows-null="true"/>
<foreign-key delete-action="cascade" update-action="cascade"/>
</field>
and it should be:
<field name="bigtree" persistence-modifier="persistent" delete-action="restrict">
<collection element-type="tc.tree.impl.BigTreeImpl" dependent-element="true">
<extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
</collection>
<element>
<column name="fruit_bigtree_e_id" allows-null="true"/>
</element>
<order column="FRUIT_BIGTREE_IDX"/>
<foreign-key delete-action="cascade" update-action="cascade"/>
</field>
I am working to change this in the mapping logic. This will be in the next release. In the meantime
you can try to manually change the mapping and see if it works now on your side.
gr. Martin
french.cancan wrote:
> Hi Martin,
>
> I have sent a testcase to you on your email.
>
> Quentin
>
> Martin Taal wrote:
>> There is also another user having this same issue (see thread: "does
>> not translate to an instance class"). So I will for sure look into it
>> further but I would need a testcase to debug/analyse what goes wrong
>> here. Can you provide a (simple) testcase which reproduces this issue?
>>
>> gr. Martin
>>
>> french.cancan wrote:
>>> I will be very grateful if you could suggest another direction for
>>> solving the problem, or some workaround. Thanks a lot!
>>>
>>> french.cancan wrote:
>>>> Thank you for the suggestion.
>>>> I have modified manually each package.jdo file and used new enhanced
>>>> classes, but nothing has changed.
>>>>
>>>> I will wait for the next release of Teneo.
>>>>
>>>> Quentin
>>>>
>>>> Martin Taal wrote:
>>>>> Hi Quentin,
>>>>> I think this is the same exception as here:
>>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>>
>>>>> My guess was that this was related to the following mapping:
>>>>> <collection>..</collection>
>>>>> <order/>
>>>>> <column/>
>>>>> <foreign-key/>
>>>>>
>>>>> It should be:
>>>>> <collection>..</collection>
>>>>> <order/>
>>>>> <foreign-key>
>>>>> <column/>
>>>>> <foreign-key>
>>>>>
>>>>> You can try to repair this manually in the jdo file. This will be
>>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>>
>>>>> gr. Martin
>>>>>
>>>>> french.cancan wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>>> initialize jpoxDataStore with all of them.
>>>>>>
>>>>>> I use this code :
>>>>>>
>>>>>> EPackage[] packageArray = new EPackage[]
>>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>>> jpoxDataStore.initialize();
>>>>>>
>>>>>> And everything works well.
>>>>>>
>>>>>>
>>>>>> But an exception is thrown when I add another *Package.eINSTANCE
>>>>>> in the array, and I don't see why - it occurs when the
>>>>>> initialize() method is called by the jpoxDataStore object.
>>>>>>
>>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>>> Uncaught exception thrown in one of the service methods of the
>>>>>> servlet: IdMap. Exception thrown :
>>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>
>>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>>> at
>>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>>
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> NestedThrowablesStackTrace:
>>>>>> java.lang.NullPointerException
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> Quentin
>>>>>
>>>>>
>>
>>
--
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 / JPOX] [message #88672 is a reply to message #88434] |
Mon, 09 July 2007 09:42  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Hello,
Ok, it seems that it works using this way.
There isn't NPE anymore, and I can use tables which are well created.
Thank you !
Quentin
Martin Taal wrote:
> Hi Quentin,
> I think I have found a way of improving the mapping so that this error
> does not occur. Apparently for a 1-n association the fk-column tag has
> to be inside an element tag.
> So this was the old mapping for the 1-n:
> <field name="bigtree" persistence-modifier="persistent"
> delete-action="restrict">
> <collection element-type="tc.tree.impl.BigTreeImpl"
> dependent-element="true">
> <extension vendor-name="jpox" key="cache-lazy-loading"
> value="true"/>
> </collection>
> <order column="FRUIT_BIGTREE_IDX"/>
> <column name="fruit_bigtree_e_id" allows-null="true"/>
> <foreign-key delete-action="cascade" update-action="cascade"/>
> </field>
>
> and it should be:
> <field name="bigtree" persistence-modifier="persistent"
> delete-action="restrict">
> <collection element-type="tc.tree.impl.BigTreeImpl"
> dependent-element="true">
> <extension vendor-name="jpox" key="cache-lazy-loading"
> value="true"/>
> </collection>
> <element>
> <column name="fruit_bigtree_e_id" allows-null="true"/>
> </element>
> <order column="FRUIT_BIGTREE_IDX"/>
> <foreign-key delete-action="cascade" update-action="cascade"/>
> </field>
>
> I am working to change this in the mapping logic. This will be in the
> next release. In the meantime you can try to manually change the mapping
> and see if it works now on your side.
>
> gr. Martin
>
> french.cancan wrote:
>> Hi Martin,
>>
>> I have sent a testcase to you on your email.
>>
>> Quentin
>>
>> Martin Taal wrote:
>>> There is also another user having this same issue (see thread: "does
>>> not translate to an instance class"). So I will for sure look into it
>>> further but I would need a testcase to debug/analyse what goes wrong
>>> here. Can you provide a (simple) testcase which reproduces this issue?
>>>
>>> gr. Martin
>>>
>>> french.cancan wrote:
>>>> I will be very grateful if you could suggest another direction for
>>>> solving the problem, or some workaround. Thanks a lot!
>>>>
>>>> french.cancan wrote:
>>>>> Thank you for the suggestion.
>>>>> I have modified manually each package.jdo file and used new
>>>>> enhanced classes, but nothing has changed.
>>>>>
>>>>> I will wait for the next release of Teneo.
>>>>>
>>>>> Quentin
>>>>>
>>>>> Martin Taal wrote:
>>>>>> Hi Quentin,
>>>>>> I think this is the same exception as here:
>>>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>>>
>>>>>> My guess was that this was related to the following mapping:
>>>>>> <collection>..</collection>
>>>>>> <order/>
>>>>>> <column/>
>>>>>> <foreign-key/>
>>>>>>
>>>>>> It should be:
>>>>>> <collection>..</collection>
>>>>>> <order/>
>>>>>> <foreign-key>
>>>>>> <column/>
>>>>>> <foreign-key>
>>>>>>
>>>>>> You can try to repair this manually in the jdo file. This will be
>>>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>>>
>>>>>> gr. Martin
>>>>>>
>>>>>> french.cancan wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>>>> initialize jpoxDataStore with all of them.
>>>>>>>
>>>>>>> I use this code :
>>>>>>>
>>>>>>> EPackage[] packageArray = new EPackage[]
>>>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>>>> jpoxDataStore.initialize();
>>>>>>>
>>>>>>> And everything works well.
>>>>>>>
>>>>>>>
>>>>>>> But an exception is thrown when I add another *Package.eINSTANCE
>>>>>>> in the array, and I don't see why - it occurs when the
>>>>>>> initialize() method is called by the jpoxDataStore object.
>>>>>>>
>>>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>>>> Uncaught exception thrown in one of the service methods of the
>>>>>>> servlet: IdMap. Exception thrown :
>>>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>>
>>>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>>>> at
>>>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>>>
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> NestedThrowablesStackTrace:
>>>>>>> java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>>
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> Quentin
>>>>>>
>>>>>>
>>>
>>>
>
>
|
|
|
Re: [Teneo / JPOX] [message #608602 is a reply to message #87508] |
Thu, 28 June 2007 02:17  |
Eclipse User |
|
|
|
Hi Quentin,
I think this is the same exception as here:
http://www.jpox.org/servlet/forum/viewthread?thread=4418
My guess was that this was related to the following mapping:
<collection>..</collection>
<order/>
<column/>
<foreign-key/>
It should be:
<collection>..</collection>
<order/>
<foreign-key>
<column/>
<foreign-key>
You can try to repair this manually in the jdo file. This will be solved in the next release of
Teneo. It is filed under this bugzilla:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
gr. Martin
french.cancan wrote:
> Hi,
>
> I need to use many *Package.eINSTANCE and I would like to initialize
> jpoxDataStore with all of them.
>
> I use this code :
>
> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>
> [...]
>
> jpoxDataStore.setEPackages(packageArray);
> jpoxDataStore.initialize();
>
> And everything works well.
>
>
> But an exception is thrown when I add another *Package.eINSTANCE in the
> array, and I don't see why - it occurs when the initialize() method is
> called by the jpoxDataStore object.
>
> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
> Uncaught exception thrown in one of the service methods of the servlet:
> IdMap. Exception thrown : javax.jdo.JDOFatalInternalException:
> java.lang.NullPointerException
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
> at
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>
> at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>
> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
> at
> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>
>
> [...]
>
> NestedThrowablesStackTrace:
> java.lang.NullPointerException
> at
> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>
> at
> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>
> at
> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
> at
> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
> at
> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
> at
> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>
> at
> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>
> at
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
> at
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>
> at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>
> at
> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>
> at
> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>
>
> [...]
>
> Quentin
--
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 / JPOX] [message #608605 is a reply to message #87570] |
Thu, 28 June 2007 09:46  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Thank you for the suggestion.
I have modified manually each package.jdo file and used new enhanced
classes, but nothing has changed.
I will wait for the next release of Teneo.
Quentin
Martin Taal wrote:
> Hi Quentin,
> I think this is the same exception as here:
> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>
> My guess was that this was related to the following mapping:
> <collection>..</collection>
> <order/>
> <column/>
> <foreign-key/>
>
> It should be:
> <collection>..</collection>
> <order/>
> <foreign-key>
> <column/>
> <foreign-key>
>
> You can try to repair this manually in the jdo file. This will be solved
> in the next release of Teneo. It is filed under this bugzilla:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>
> gr. Martin
>
> french.cancan wrote:
>> Hi,
>>
>> I need to use many *Package.eINSTANCE and I would like to initialize
>> jpoxDataStore with all of them.
>>
>> I use this code :
>>
>> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
>> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE,
>> RegistryPackage.eINSTANCE};
>>
>> [...]
>>
>> jpoxDataStore.setEPackages(packageArray);
>> jpoxDataStore.initialize();
>>
>> And everything works well.
>>
>>
>> But an exception is thrown when I add another *Package.eINSTANCE in
>> the array, and I don't see why - it occurs when the initialize()
>> method is called by the jpoxDataStore object.
>>
>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>> Uncaught exception thrown in one of the service methods of the
>> servlet: IdMap. Exception thrown :
>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>> at
>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>
>> at
>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>> at
>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>
>> at
>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>> at
>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>
>> at
>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>
>> at
>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>
>> at
>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>
>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>> at
>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>
>>
>> [...]
>>
>> NestedThrowablesStackTrace:
>> java.lang.NullPointerException
>> at
>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>
>> at
>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>
>> at
>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>> at
>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>
>> at
>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>> at
>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>
>> at
>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>> at
>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>
>> at
>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>
>> at
>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>> at
>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>
>> at
>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>> at
>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>
>> at
>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>
>> at
>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>
>> at
>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>
>>
>> [...]
>>
>> Quentin
>
>
|
|
|
Re: [Teneo / JPOX] [message #608606 is a reply to message #87616] |
Thu, 28 June 2007 10:00  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
I will be very grateful if you could suggest another direction for
solving the problem, or some workaround. Thanks a lot!
french.cancan wrote:
> Thank you for the suggestion.
> I have modified manually each package.jdo file and used new enhanced
> classes, but nothing has changed.
>
> I will wait for the next release of Teneo.
>
> Quentin
>
> Martin Taal wrote:
>> Hi Quentin,
>> I think this is the same exception as here:
>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>
>> My guess was that this was related to the following mapping:
>> <collection>..</collection>
>> <order/>
>> <column/>
>> <foreign-key/>
>>
>> It should be:
>> <collection>..</collection>
>> <order/>
>> <foreign-key>
>> <column/>
>> <foreign-key>
>>
>> You can try to repair this manually in the jdo file. This will be
>> solved in the next release of Teneo. It is filed under this bugzilla:
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>
>> gr. Martin
>>
>> french.cancan wrote:
>>> Hi,
>>>
>>> I need to use many *Package.eINSTANCE and I would like to initialize
>>> jpoxDataStore with all of them.
>>>
>>> I use this code :
>>>
>>> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
>>> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE,
>>> RegistryPackage.eINSTANCE};
>>>
>>> [...]
>>>
>>> jpoxDataStore.setEPackages(packageArray);
>>> jpoxDataStore.initialize();
>>>
>>> And everything works well.
>>>
>>>
>>> But an exception is thrown when I add another *Package.eINSTANCE in
>>> the array, and I don't see why - it occurs when the initialize()
>>> method is called by the jpoxDataStore object.
>>>
>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>> Uncaught exception thrown in one of the service methods of the
>>> servlet: IdMap. Exception thrown :
>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>
>>> at
>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>> at
>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>
>>> at
>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>
>>> at
>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>
>>> at
>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>
>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>> at
>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>
>>>
>>> [...]
>>>
>>> NestedThrowablesStackTrace:
>>> java.lang.NullPointerException
>>> at
>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>
>>> at
>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>> at
>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>
>>> at
>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>> at
>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>
>>> at
>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>
>>> at
>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>
>>> at
>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>
>>>
>>> [...]
>>>
>>> Quentin
>>
>>
|
|
|
Re: [Teneo / JPOX] [message #608614 is a reply to message #87631] |
Fri, 29 June 2007 00:18  |
Eclipse User |
|
|
|
There is also another user having this same issue (see thread: "does not translate to an instance
class"). So I will for sure look into it further but I would need a testcase to debug/analyse what
goes wrong here. Can you provide a (simple) testcase which reproduces this issue?
gr. Martin
french.cancan wrote:
> I will be very grateful if you could suggest another direction for
> solving the problem, or some workaround. Thanks a lot!
>
> french.cancan wrote:
>> Thank you for the suggestion.
>> I have modified manually each package.jdo file and used new enhanced
>> classes, but nothing has changed.
>>
>> I will wait for the next release of Teneo.
>>
>> Quentin
>>
>> Martin Taal wrote:
>>> Hi Quentin,
>>> I think this is the same exception as here:
>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>
>>> My guess was that this was related to the following mapping:
>>> <collection>..</collection>
>>> <order/>
>>> <column/>
>>> <foreign-key/>
>>>
>>> It should be:
>>> <collection>..</collection>
>>> <order/>
>>> <foreign-key>
>>> <column/>
>>> <foreign-key>
>>>
>>> You can try to repair this manually in the jdo file. This will be
>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>
>>> gr. Martin
>>>
>>> french.cancan wrote:
>>>> Hi,
>>>>
>>>> I need to use many *Package.eINSTANCE and I would like to initialize
>>>> jpoxDataStore with all of them.
>>>>
>>>> I use this code :
>>>>
>>>> EPackage[] packageArray = new EPackage[] {ApprolesPackage.eINSTANCE,
>>>> IdmapPackage.eINSTANCE, BasePackage.eINSTANCE,
>>>> RegistryPackage.eINSTANCE};
>>>>
>>>> [...]
>>>>
>>>> jpoxDataStore.setEPackages(packageArray);
>>>> jpoxDataStore.initialize();
>>>>
>>>> And everything works well.
>>>>
>>>>
>>>> But an exception is thrown when I add another *Package.eINSTANCE in
>>>> the array, and I don't see why - it occurs when the initialize()
>>>> method is called by the jpoxDataStore object.
>>>>
>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>> Uncaught exception thrown in one of the service methods of the
>>>> servlet: IdMap. Exception thrown :
>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>
>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>> at
>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>
>>>>
>>>> [...]
>>>>
>>>> NestedThrowablesStackTrace:
>>>> java.lang.NullPointerException
>>>> at
>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>
>>>> at
>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>
>>>> at
>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>
>>>> at
>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>
>>>>
>>>> [...]
>>>>
>>>> Quentin
>>>
>>>
--
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 / JPOX] [message #608634 is a reply to message #87749] |
Tue, 03 July 2007 10:59  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Hi Martin,
I have sent a testcase to you on your email.
Quentin
Martin Taal wrote:
> There is also another user having this same issue (see thread: "does not
> translate to an instance class"). So I will for sure look into it
> further but I would need a testcase to debug/analyse what goes wrong
> here. Can you provide a (simple) testcase which reproduces this issue?
>
> gr. Martin
>
> french.cancan wrote:
>> I will be very grateful if you could suggest another direction for
>> solving the problem, or some workaround. Thanks a lot!
>>
>> french.cancan wrote:
>>> Thank you for the suggestion.
>>> I have modified manually each package.jdo file and used new enhanced
>>> classes, but nothing has changed.
>>>
>>> I will wait for the next release of Teneo.
>>>
>>> Quentin
>>>
>>> Martin Taal wrote:
>>>> Hi Quentin,
>>>> I think this is the same exception as here:
>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>
>>>> My guess was that this was related to the following mapping:
>>>> <collection>..</collection>
>>>> <order/>
>>>> <column/>
>>>> <foreign-key/>
>>>>
>>>> It should be:
>>>> <collection>..</collection>
>>>> <order/>
>>>> <foreign-key>
>>>> <column/>
>>>> <foreign-key>
>>>>
>>>> You can try to repair this manually in the jdo file. This will be
>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>
>>>> gr. Martin
>>>>
>>>> french.cancan wrote:
>>>>> Hi,
>>>>>
>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>> initialize jpoxDataStore with all of them.
>>>>>
>>>>> I use this code :
>>>>>
>>>>> EPackage[] packageArray = new EPackage[]
>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>
>>>>> [...]
>>>>>
>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>> jpoxDataStore.initialize();
>>>>>
>>>>> And everything works well.
>>>>>
>>>>>
>>>>> But an exception is thrown when I add another *Package.eINSTANCE in
>>>>> the array, and I don't see why - it occurs when the initialize()
>>>>> method is called by the jpoxDataStore object.
>>>>>
>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>> Uncaught exception thrown in one of the service methods of the
>>>>> servlet: IdMap. Exception thrown :
>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>
>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>> at
>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>
>>>>>
>>>>> [...]
>>>>>
>>>>> NestedThrowablesStackTrace:
>>>>> java.lang.NullPointerException
>>>>> at
>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>
>>>>> at
>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>
>>>>> at
>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>
>>>>>
>>>>> [...]
>>>>>
>>>>> Quentin
>>>>
>>>>
>
>
|
|
|
Re: [Teneo / JPOX] [message #608660 is a reply to message #88041] |
Fri, 06 July 2007 09:47  |
Eclipse User |
|
|
|
Hi Quentin,
I think I have found a way of improving the mapping so that this error does not occur. Apparently
for a 1-n association the fk-column tag has to be inside an element tag.
So this was the old mapping for the 1-n:
<field name="bigtree" persistence-modifier="persistent" delete-action="restrict">
<collection element-type="tc.tree.impl.BigTreeImpl" dependent-element="true">
<extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
</collection>
<order column="FRUIT_BIGTREE_IDX"/>
<column name="fruit_bigtree_e_id" allows-null="true"/>
<foreign-key delete-action="cascade" update-action="cascade"/>
</field>
and it should be:
<field name="bigtree" persistence-modifier="persistent" delete-action="restrict">
<collection element-type="tc.tree.impl.BigTreeImpl" dependent-element="true">
<extension vendor-name="jpox" key="cache-lazy-loading" value="true"/>
</collection>
<element>
<column name="fruit_bigtree_e_id" allows-null="true"/>
</element>
<order column="FRUIT_BIGTREE_IDX"/>
<foreign-key delete-action="cascade" update-action="cascade"/>
</field>
I am working to change this in the mapping logic. This will be in the next release. In the meantime
you can try to manually change the mapping and see if it works now on your side.
gr. Martin
french.cancan wrote:
> Hi Martin,
>
> I have sent a testcase to you on your email.
>
> Quentin
>
> Martin Taal wrote:
>> There is also another user having this same issue (see thread: "does
>> not translate to an instance class"). So I will for sure look into it
>> further but I would need a testcase to debug/analyse what goes wrong
>> here. Can you provide a (simple) testcase which reproduces this issue?
>>
>> gr. Martin
>>
>> french.cancan wrote:
>>> I will be very grateful if you could suggest another direction for
>>> solving the problem, or some workaround. Thanks a lot!
>>>
>>> french.cancan wrote:
>>>> Thank you for the suggestion.
>>>> I have modified manually each package.jdo file and used new enhanced
>>>> classes, but nothing has changed.
>>>>
>>>> I will wait for the next release of Teneo.
>>>>
>>>> Quentin
>>>>
>>>> Martin Taal wrote:
>>>>> Hi Quentin,
>>>>> I think this is the same exception as here:
>>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>>
>>>>> My guess was that this was related to the following mapping:
>>>>> <collection>..</collection>
>>>>> <order/>
>>>>> <column/>
>>>>> <foreign-key/>
>>>>>
>>>>> It should be:
>>>>> <collection>..</collection>
>>>>> <order/>
>>>>> <foreign-key>
>>>>> <column/>
>>>>> <foreign-key>
>>>>>
>>>>> You can try to repair this manually in the jdo file. This will be
>>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>>
>>>>> gr. Martin
>>>>>
>>>>> french.cancan wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>>> initialize jpoxDataStore with all of them.
>>>>>>
>>>>>> I use this code :
>>>>>>
>>>>>> EPackage[] packageArray = new EPackage[]
>>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>>> jpoxDataStore.initialize();
>>>>>>
>>>>>> And everything works well.
>>>>>>
>>>>>>
>>>>>> But an exception is thrown when I add another *Package.eINSTANCE
>>>>>> in the array, and I don't see why - it occurs when the
>>>>>> initialize() method is called by the jpoxDataStore object.
>>>>>>
>>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>>> Uncaught exception thrown in one of the service methods of the
>>>>>> servlet: IdMap. Exception thrown :
>>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>
>>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>>> at
>>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>>
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> NestedThrowablesStackTrace:
>>>>>> java.lang.NullPointerException
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>
>>>>>> at
>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>
>>>>>> at
>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> Quentin
>>>>>
>>>>>
>>
>>
--
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 / JPOX] [message #608676 is a reply to message #88434] |
Mon, 09 July 2007 09:42  |
Eclipse User |
|
|
|
Originally posted by: fc_supercanard.yahoo.fr
Hello,
Ok, it seems that it works using this way.
There isn't NPE anymore, and I can use tables which are well created.
Thank you !
Quentin
Martin Taal wrote:
> Hi Quentin,
> I think I have found a way of improving the mapping so that this error
> does not occur. Apparently for a 1-n association the fk-column tag has
> to be inside an element tag.
> So this was the old mapping for the 1-n:
> <field name="bigtree" persistence-modifier="persistent"
> delete-action="restrict">
> <collection element-type="tc.tree.impl.BigTreeImpl"
> dependent-element="true">
> <extension vendor-name="jpox" key="cache-lazy-loading"
> value="true"/>
> </collection>
> <order column="FRUIT_BIGTREE_IDX"/>
> <column name="fruit_bigtree_e_id" allows-null="true"/>
> <foreign-key delete-action="cascade" update-action="cascade"/>
> </field>
>
> and it should be:
> <field name="bigtree" persistence-modifier="persistent"
> delete-action="restrict">
> <collection element-type="tc.tree.impl.BigTreeImpl"
> dependent-element="true">
> <extension vendor-name="jpox" key="cache-lazy-loading"
> value="true"/>
> </collection>
> <element>
> <column name="fruit_bigtree_e_id" allows-null="true"/>
> </element>
> <order column="FRUIT_BIGTREE_IDX"/>
> <foreign-key delete-action="cascade" update-action="cascade"/>
> </field>
>
> I am working to change this in the mapping logic. This will be in the
> next release. In the meantime you can try to manually change the mapping
> and see if it works now on your side.
>
> gr. Martin
>
> french.cancan wrote:
>> Hi Martin,
>>
>> I have sent a testcase to you on your email.
>>
>> Quentin
>>
>> Martin Taal wrote:
>>> There is also another user having this same issue (see thread: "does
>>> not translate to an instance class"). So I will for sure look into it
>>> further but I would need a testcase to debug/analyse what goes wrong
>>> here. Can you provide a (simple) testcase which reproduces this issue?
>>>
>>> gr. Martin
>>>
>>> french.cancan wrote:
>>>> I will be very grateful if you could suggest another direction for
>>>> solving the problem, or some workaround. Thanks a lot!
>>>>
>>>> french.cancan wrote:
>>>>> Thank you for the suggestion.
>>>>> I have modified manually each package.jdo file and used new
>>>>> enhanced classes, but nothing has changed.
>>>>>
>>>>> I will wait for the next release of Teneo.
>>>>>
>>>>> Quentin
>>>>>
>>>>> Martin Taal wrote:
>>>>>> Hi Quentin,
>>>>>> I think this is the same exception as here:
>>>>>> http://www.jpox.org/servlet/forum/viewthread?thread=4418
>>>>>>
>>>>>> My guess was that this was related to the following mapping:
>>>>>> <collection>..</collection>
>>>>>> <order/>
>>>>>> <column/>
>>>>>> <foreign-key/>
>>>>>>
>>>>>> It should be:
>>>>>> <collection>..</collection>
>>>>>> <order/>
>>>>>> <foreign-key>
>>>>>> <column/>
>>>>>> <foreign-key>
>>>>>>
>>>>>> You can try to repair this manually in the jdo file. This will be
>>>>>> solved in the next release of Teneo. It is filed under this bugzilla:
>>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=194381
>>>>>>
>>>>>> gr. Martin
>>>>>>
>>>>>> french.cancan wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I need to use many *Package.eINSTANCE and I would like to
>>>>>>> initialize jpoxDataStore with all of them.
>>>>>>>
>>>>>>> I use this code :
>>>>>>>
>>>>>>> EPackage[] packageArray = new EPackage[]
>>>>>>> {ApprolesPackage.eINSTANCE, IdmapPackage.eINSTANCE,
>>>>>>> BasePackage.eINSTANCE, RegistryPackage.eINSTANCE};
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> jpoxDataStore.setEPackages(packageArray);
>>>>>>> jpoxDataStore.initialize();
>>>>>>>
>>>>>>> And everything works well.
>>>>>>>
>>>>>>>
>>>>>>> But an exception is thrown when I add another *Package.eINSTANCE
>>>>>>> in the array, and I don't see why - it occurs when the
>>>>>>> initialize() method is called by the jpoxDataStore object.
>>>>>>>
>>>>>>> [07-6-27 12:02:50:847 EEST] 0000001d ServletWrappe E SRVE0068E:
>>>>>>> Uncaught exception thrown in one of the service methods of the
>>>>>>> servlet: IdMap. Exception thrown :
>>>>>>> javax.jdo.JDOFatalInternalException: java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3342)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>>
>>>>>>> at idmap.IdMapPortlet.init(IdMapPortlet.java:66)
>>>>>>> at javax.portlet.GenericPortlet.init(GenericPortlet.java:85)
>>>>>>> at
>>>>>>> com.ibm.ws.portletcontainer.core.PortletServlet.doInit(Portl etServlet.java:400)
>>>>>>>
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> NestedThrowablesStackTrace:
>>>>>>> java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.AbstractTable.addDatastoreField(A bstractTable.java:223)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.runSpecifiedCallbacks( ClassTable.java:1045)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.runCallBacks(ClassTabl e.java:891)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.addFieldMetaData(Class Table.java:578)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.manageClass(ClassTable .java:397)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.initializeForClass(Cla ssTable.java:831)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.table.ClassTable.initialize(ClassTable. java:269)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.initializeClass Tables(RDBMSManager.java:2950)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesA ndValidate(RDBMSManager.java:3311)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManage r.java:2554)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RD BMSManager.java:2406)
>>>>>>>
>>>>>>> at
>>>>>>> org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.ja va:821)
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.createSchema(JpoxDa taStore.java:508)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.teneo.jpox.JpoxDataStore.initialize(JpoxData Store.java:196)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.initDb(Dat astoreInstall.java:94)
>>>>>>>
>>>>>>> at
>>>>>>> com.ibm.isclite.datastore.global.DatastoreInstall.<init>(DatastoreInstall.java:70)
>>>>>>>
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>> Quentin
>>>>>>
>>>>>>
>>>
>>>
>
>
|
|
|
Goto Forum:
Current Time: Fri Apr 25 05:33:03 EDT 2025
Powered by FUDForum. Page generated in 0.04838 seconds
|