Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [Teneo] Not-null property references a null value
[Teneo] Not-null property references a null value [message #91822] Wed, 25 July 2007 21:46 Go to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
I have created a new EMF model and have been populating it, saving it
and validating it as XMI.

I now added code to use Teneo and I get the following error:
org.hibernate.PropertyValueException: not-null property references a
null or transient value: StToken.tokenSource
at org.hibernate.engine.Nullability.checkNullability(Nullabilit y.java:72)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:290)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
at org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at
org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
at org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at
org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
at org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at
org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
at org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at
org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
at org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at
org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
at
org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
at
org.hibernate.event.def.DefaultSaveEventListener.saveWithGen eratedOrRequestedId(DefaultSaveEventListener.java:33)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at
org.hibernate.event.def.DefaultSaveEventListener.performSave OrUpdate(DefaultSaveEventListener.java:27)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535 )
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at
com.castortech.common.visitors.BaseSTMTreeCopier.save(BaseST MTreeCopier.java:224)

It is telling me that the Tokensource is null. I put a breakpoint at the
source of the error and looking at the culprit record it appears at that
point to be null, but when looking at the EMF objects it is not. Here is
the XMI output of it (look for "<==here"):

<rootInterpreter mainTokenSource="//@sources.0"
interpreterId="CobolInterpreter">
<root concreteId="CompilationUnit">
<children xsi:type="STM_MetaModel:StConcreteNode"
concreteId="ProgramUnit">
<children xsi:type="STM_MetaModel:StConcreteNode"
concreteId="IdentificationDivision">
<children xsi:type="STM_MetaModel:StToken"
image="IDENTIFICATION" kind="264" tokenSource="//@sources.0"> <==here
<coordinate length="14" type="Token"/>
</children>

I can surely pull some more stuff, please just let me know what would be
needed to figure this one out.

Thanks
Alain Picard
Re: [Teneo] Not-null property references a null value [message #91858 is a reply to message #91822] Thu, 26 July 2007 05:36 Go to previous messageGo to next message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Yes I would need a small testcase to reproduce this.

gr. Martin

Alain Picard wrote:
> I have created a new EMF model and have been populating it, saving it
> and validating it as XMI.
>
> I now added code to use Teneo and I get the following error:
> org.hibernate.PropertyValueException: not-null property references a
> null or transient value: StToken.tokenSource
> at
> org.hibernate.engine.Nullability.checkNullability(Nullabilit y.java:72)
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:290)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveEventListener.saveWithGen eratedOrRequestedId(DefaultSaveEventListener.java:33)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveEventListener.performSave OrUpdate(DefaultSaveEventListener.java:27)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535 )
> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
> at
> com.castortech.common.visitors.BaseSTMTreeCopier.save(BaseST MTreeCopier.java:224)
>
>
> It is telling me that the Tokensource is null. I put a breakpoint at the
> source of the error and looking at the culprit record it appears at that
> point to be null, but when looking at the EMF objects it is not. Here is
> the XMI output of it (look for "<==here"):
>
> <rootInterpreter mainTokenSource="//@sources.0"
> interpreterId="CobolInterpreter">
> <root concreteId="CompilationUnit">
> <children xsi:type="STM_MetaModel:StConcreteNode"
> concreteId="ProgramUnit">
> <children xsi:type="STM_MetaModel:StConcreteNode"
> concreteId="IdentificationDivision">
> <children xsi:type="STM_MetaModel:StToken"
> image="IDENTIFICATION" kind="264" tokenSource="//@sources.0"> <==here
> <coordinate length="14" type="Token"/>
> </children>
>
> I can surely pull some more stuff, please just let me know what would be
> needed to figure this one out.
>
> Thanks
> Alain Picard


--

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] Not-null property references a null value [message #91967 is a reply to message #91858] Thu, 26 July 2007 17:48 Go to previous messageGo to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

I have tried to put together a test case and I now get an error generating the mapping:
Exception in thread "main" org.hibernate.MappingException: Cannot use identity column key generation with <union-subclass> mapping
for: StToken
at org.hibernate.persister.entity.UnionSubclassEntityPersister. <init>(UnionSubclassEntityPersister.java:67)
at org.hibernate.persister.PersisterFactory.createClassPersiste r(PersisterFactory.java:61)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configur ation.java:1294)
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.buildSess ionFactory(HbSessionDataStore.java:170)
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initializ e(HbSessionDataStore.java:87)
at test.TestSTM.main(TestSTM.java:49)

I did get that once yesterday and did a search and thought it was related to a duplicate naming issue. Changed that and then that
went fine. But not today.

I am enclosing the zip of the small project, except for the auto-generated stuff (no manual changes done here yet).

There is also the TestSTM program which was intended to reproduced and demonstrate the initial issue.

Thanks for your help and insight here.

Alain


Martin Taal wrote:
> Yes I would need a small testcase to reproduce this.
>
> gr. Martin
>
> Alain Picard wrote:
>> I have created a new EMF model and have been populating it, saving it
>> and validating it as XMI.
>>
>> I now added code to use Teneo and I get the following error:
>> org.hibernate.PropertyValueException: not-null property references a
>> null or transient value: StToken.tokenSource
>> at
>> org.hibernate.engine.Nullability.checkNullability(Nullabilit y.java:72)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:290)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveEventListener.saveWithGen eratedOrRequestedId(DefaultSaveEventListener.java:33)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveEventListener.performSave OrUpdate(DefaultSaveEventListener.java:27)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535 )
>> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
>> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
>> at
>> com.castortech.common.visitors.BaseSTMTreeCopier.save(BaseST MTreeCopier.java:224)
>>
>>
>> It is telling me that the Tokensource is null. I put a breakpoint at
>> the source of the error and looking at the culprit record it appears
>> at that point to be null, but when looking at the EMF objects it is
>> not. Here is the XMI output of it (look for "<==here"):
>>
>> <rootInterpreter mainTokenSource="//@sources.0"
>> interpreterId="CobolInterpreter">
>> <root concreteId="CompilationUnit">
>> <children xsi:type="STM_MetaModel:StConcreteNode"
>> concreteId="ProgramUnit">
>> <children xsi:type="STM_MetaModel:StConcreteNode"
>> concreteId="IdentificationDivision">
>> <children xsi:type="STM_MetaModel:StToken"
>> image="IDENTIFICATION" kind="264" tokenSource="//@sources.0"> <==here
>> <coordinate length="14" type="Token"/>
>> </children>
>>
>> I can surely pull some more stuff, please just let me know what would
>> be needed to figure this one out.
>>
>> Thanks
>> Alain Picard
>
>
Re: [Teneo] Not-null property references a null value [message #91985 is a reply to message #91858] Thu, 26 July 2007 17:49 Go to previous messageGo to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090407000705010405040502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Oops, here is the attachment

Alain

--------------090407000705010405040502
Content-Type: application/x-zip-compressed;
name="STM.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="STM.zip"

UEsDBBQAAAAIAAlr+jbTnzGV9wAAAP0BAAAOAAAAU1RNLy5jbGFzc3BhdGid kUFLw0AQhc8K
/oew9+7ai3hILFUitGiVJBU8lc3ukKyus3F2t7T/3mgbLFI89DZv+N7jDZNO Nh82WQN54zBj
Y37JEkDltMEmY8vqfnTNJjcX56my0vtOhrYXZ78KMNA2eTeoM+ZJseR7uRvF MRI2naMAPR0o
Ats7rakHJwQljlt3qHI4oI4aDsqazgN/04FbGVG1fXE+L/LV3dOims4WeSH+ cgYDEErLNdSx
4dHsnUC8DBK1JP3yWG07EHO5lmU+GvOrEyp1GrhyBJzgMxoC/WxjY9CfeN2y zIvVw+y2mBav
omxlH/hfkouhi2EIqw3+wKk4/OMXUEsDBBQAAAAIAHuI9zYKeu5K5AAAAJgC AAAMAAAAU1RN
Ly5wcm9qZWN0vZLNasMwEITPCeQdjO+V2lsPigNt6c0lYOcBVGnjylg/SLLJ 41eS5RYTAj2U
3GZGO3zLInK4yKGYwDqh1b58Qo9lAYppLlS3L0/t+8Nzeah2W2Ks7oH5N3DM CuPDdEg3RFEJ
VdPWBCcVI6alBOUrghcV09x3yeCV+xzFwBsDLLpsX0OVKp6STNG2Q8AGYRyg nnvEtA2CTjQV
wP6uEBrUdmNku+zxOiD4ivInruGAaqrEGZx/uS+2YV8g6b9Ac7KcPPD8aCFP z+b2tef3uECa
u9WJKx+HsRPq46qw6Ej8+Qvrn/UNUEsDBAoAAAAAAAaQ9zYAAAAAAAAAAAAA AAAOAAAAU1RN
Ly5zZXR0aW5ncy9QSwMECgAAAAAAMVn5Nq0pVbloAAAAaAAAAC4AAABTVE0v LnNldHRpbmdz
L29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLnByZWZzI1dlZCBKdWwgMjUg MTE6MDk6MzMg
RURUIDIwMDcNCmVjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xDQplbmNv ZGluZy8vbW9k
ZWwvU1RNMi5lY29yZV9kaWFncmFtPVVURi04DQpQSwMECgAAAAAAFWv6NgAA AAAAAAAAAAAA
AAgAAABTVE0vYmluL1BLAwQKAAAAAAAWa/o2AAAAAAAAAAAAAAAAFgAAAFNU TS9iaW4vU1RN
X01ldGFNb2RlbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAABsAAABTVE0v YmluL1NUTV9N
ZXRhTW9kZWwvaW1wbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAABsAAABT VE0vYmluL1NU
TV9NZXRhTW9kZWwvdXRpbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAAA0A AABTVE0vYmlu
L3Rlc3QvUEsDBBQAAAAIAApr+jY+PiXlkAAAAAcBAAAUAAAAU1RNL2J1aWxk LnByb3BlcnRp
ZXN1j7EKAjEMhvdC3qHgjdq+gAoOCjfo5OiibTgr7aWkLejb27od1Gzf9/+E BMRKbg3FD7vp
mffQUC+4qWG0AwgQDzcrNxtfLCa5k2p9AyGXE8ii153gfLweNuPl1MuiL1Nd /Q7+fxiZInJ2
mDodzEaDeN05KUMhOo+K2CK3I0EkKmxQqUqJW5FKjiX/RH2pii9QSwMECgAA AAAAAmv6NgAA
AAAAAAAAAAAAAAgAAABTVE0vZXRjL1BLAwQUAAAACAB4bPo2K7uPoPQBAACU BQAAGAAAAFNU
TS9ldGMvbG9nNGoucHJvcGVydGllc62UwW+bMBTG75HyPzwJoVxSq5W2SyQO CU0btckykVY7
TDs48AKuwEa225VF+d9nQ2hJINlUFSQu/N73Pn9+tuM4oFBDKmJI8QVTBRew ERIyIRFeUK6F
Qvs3ZjyGMKE8RhgwvhED0AIGEa6f4wE4jtPvGerLE5FC6LnhUXrX08nj7RCU jsSz7vf6Pecd
8anGWMjiEBpC0NTphkol8AXXUqTgU6WN37vrZW1zCL8TFibAlF1AUa+iFk5L c0TImIRlrfdj
HHx7F29R+CpSuj6imhZmbI2SG6+1gw6RpGa8aRAsg26hu4lQClYoGU3ZH5Rn 9J7MkhRRJXpO
cjrzaZiccsZRE7UhmIQW6tKxwxEKrkRqNGjRSIjmOfLIiFS4Z13R3OqQCvCr svGeO1FHHqiM
UXurQmnMyOkGpGrf7vOdam2ynZ9zty+2nsw4KCb4vspzv+bw0422UQSLxQIK 88BsNsqy3S8A
92YE7hzMJ3N5GYg5LxGTGGrIUCkao7LnYMNMPG9bbH1VR8I5MmO59gJuWDOl rpoS8Q4anAD/
M6QztV0ZRdvxZLWcPz5Md2ADc8Pt1W5kkrn4VzJmBlN7dZQJ1e2a98WbhaBt OqiKD/M5Lvvg
XASfMxIt1XKnjG5uh85uUzvsgCzoq+VW5pB7V5eX9xOL1e9fUEsDBBQAAAAI AHVD+jYq2MUF
HggAAAttAAAPAAAAU1RNL2V4YW1wbGUuc3Rt7V1bc5s4FH7fmf0P1J3ppA8x V19Ik+3FyXY8
01y2bjd9yxBQbE25Vci57K9fAQZDLGyEwIkbeMjEIJ2jc9HRd46wfPj+3rGF W4AC6LlHHbkr
dQTgmp4F3elR5+NkNB533v/15x+Hk2+nV6cAG6eeBeyDCf6GAPjqeVi4d+BB 2l8J+xOKbnBA
7h91Zhj7B6J4d3fX9Zxp10NT8cfpOG0S5JvcqVELRZJk0uzLxJwBx9iHboAN 1wRJr9xI0v6m
53RNI8AewsCcdQPsdMiwBeEw8ObIBIEwR3CCUSTWDbTBgTg6EIFpQz8A4hjB 4NJDPwPfMIH4
3YUTYAMTi4u+4qvLrnltdwRsXE/gf4DoqSPG1BFRwdjFAPkIkL+CY0D3m/cT uJOo61FHFD8s
qISqgcumY+uoM/KuPTvTPR7ygqxgeq4Z3o5bOj60DUy0TIaHk4akqTmDtoWA KxBtHuAHn/B8
bKvRgtAZ+dzJkb1A3hQZTp4kL9GxBVwMb6AZDfcY3sLQObL0y3GI9Eh05hhT 8hTmqHaEn9Al
vJS+RsxSqPAcz5Cr5yHi2gYGgg3cKZ4RU4YEIv4xPzE/TjEZKOfwrUQNi4HL g0HFgXs3NwHA
hEKvkwox3IoM3WTwfanPOXhFXQ5ebmjwG91+bF0YyCD/+bPVMbMqx49p7kMr 0ZKqs2ipQE/9
jJ6kdYoqVNUWLU2XQe2XtDWnCMX2juIsCfAWbcCsurlLdaMoTLop0I5eWjvr 9PNMba9JvLZv
JADQlyiuaFDM7OMczzxUSLyKjYyIZHe5mNTgiFomJA8qOyL/VHUcYpsv0AX0 gbOq6s3re/3d
8s9nYNsEp4V4ah4CtslDgIETdMnD47DFx3dLaMGoVLpae5kZoOib9Lpes4yz n3qbfpPLZscG
NuqCeRahlbq1xgszBpnguqs4b6jtMM7TlafEeVnHnJCEbsU/eRmESSNJKSck 7SSaK2BRxQR3
MeH9IKacGKQ3ZA1KVKNkMocwi2g01OflChYqWsij9eqQR5bl7S1dNYGlIkmG daDBWuYNCEwE
/dBaJy5GD1VXYzYuV1PgAgTNovWVh98XcAvss7lzvSy0VGGQdwBJTuemzorC Ep4UP1AyHq1s
Bg0RnWJvKPOYE7UVJljlyT+KgPum5z8gOJ3h6glXwpym4WwQ3DjVFoQaV3Ft 0SVmSJGbIRtf
UFknVRW02kan7UUndRmdhvXNnWyq+GyiU17yGxjmeWkup1aJzXTZM/Onzz1/ mvDSkW3MA2r2
XA+/C2jiOQLr2VSxmU9mVlI7HUqV3LXAaL2Mw6rlHHaj4aImzDLe7w2lt6mU 9Qo5WAq5EdWn
lDYJ+ZSwYtve/a9hzxvw69uQbBqImQoCecYUo/fVJozOvZhBDJBhr5eGh8GZ 55K1MlyLS7Cq
ndkVufMVmHMUwNs1nlKed95f3vyae/jdh73Xb4Xjz+K5T7q+ukw26QW5qwh6 X5RlUepR2MWd
l5C5aoiJL6rPDbKBZmO+/YjgZtcr3ayMGz99eGsc0iuq1kL6FtKXnttUH9Ke Y8FhO5Be0bQW
0u8apFd68vOB9JLcDKRXer0W0r80SK/05RbS/26Q/kcMyyUpD897erWK9nIg NP+pUgdY0GvR
ee3ofFB2Czyl0qLzFp0/8iH95aLzodKi851D50P9+aDzpgruit5I7bVF5xVY bA+d63qLzn/j
gvsoeelE2Bu9FWRd7wtFrwwL2yi2q3I2yJQOpQuCLZyvG86r/fb9mRbO88F5 dfBy359RB+37
MzsH59XhM3p/pqliuzps3595cXBebSaH417MWjjPxDvvL1sstquV0sEFvRad 143ONal9FeYF
ofNGvnujSc+x2F6s2ga+e0PuGQ/7PnEGLz3Nos4v32jZooa8Azpu04RVthSz Zk8redo0Qd+T
tGbSBE2V2jSBn9/3gNipft82Pcff7yWGl2W9Vsuzli4iSq3ldzlB1LQXmiBu LTsMz7+bAkQa
hOf84fWsqngHdw13yZrmHyznNz2i1yaAtSeA2eN2niYBLHhAvU2/yTWdLpBn AosAx7pO5PET
gimcYqqj0K2Uea957ZlIRcpklqL+c3m0/i4fwKhl96Ce5ATG2Kk+edZKeYOT dHLQWrAaOGqi
XH89Jk3iz9G6KkkVQEwwnWfv+2TsfKk83Yuyu+GlEvmq8XbrCwxV3iHL+Tw1 yFPsMRNAcJNL
xt9EuS4h3kwWMMFEp/EpfwG+hHh2HmUfhn1yD3H6kC9BKMm9OQBdQg5+JiPD tksyqhQ8CPlk
Culy/dg5exDZ2uP5KPTKYWdeBTPukzXAkGmvrCz/vJnjbbLABsCv94W2eDir hu9JGZTO+AXy
iGZZ47P4yXYcKjdjr74H0J1ezJCxrh7Cwjhv2HlIflkXqZJk5QdAM2VmRWTc AGUzZDNqv/r0
EBWlmplZ1w+J9gd8pYeYPUX9cmbDs+RGSo5meQNUkb+mwlx2CDQdVP/CW0Sz bh0Uu+FHy4KY
xPGTex+BYDU7b4br6dzG0Lej067ZefNyv/DuAGJnysv2kxHAAmxMvzirmIsT xYv3t+kXH9d/
5oYdMrXCQv6Z4ZQKY9mLN034NQ/ThPObNH9lUnl81ZQ5szOuEtGsGrfG113U QKdU2DZfdzFF
vvxVuWvFjpW6VejE3IWxA9ti83Q4t1SzEo02NtncgHmOcu4rFEw+tcdU+ono rJetaims8FFR
qZZ2m3KTdqu88uOHJ+d/p3YoqXu6tgcltL0y4EMx/OWs6EP8b+bHtcjdQ3Fl 7IufMSMP/wdQ
SwMECgAAAAAAe4j3NgAAAAAAAAAAAAAAAA0AAABTVE0vTUVUQS1JTkYvUEsD BBQAAAAIAA9r
+jauV738VAEAAJ8DAAAYAAAAU1RNL01FVEEtSU5GL01BTklGRVNULk1GnZM9 b8IwEIb3SPyH
LN0at3ToEMTQViyIVIhUXdHFOcKp/kjPTgT8+uaDUpBgSLf43uf1e7YvCRja oPPRJ7Ija+Jw
LB5HwWtlcoVRclRP4tNJegeNcXhXqqog0y5OSrrXmVUkeyL9SCahI1Mo9M0O U8/VH3oeehb7
psC5JfhtHKKXD/ejIBRnHpNbbqPZ1pQjX4QvrARFB/Ddtn13J3GF3xUx5rMd yqolZqYmtkaj
8XE4hxrSWTQWz6Ngtist+2gJ8guK/hTrBD0kNkfV9nNREKTLK9UmQo2CY2jU 9xCHlguBUlHp
UEjLKLgynjS2/nMN9ab5boBJTY4yUuT38ZQRu9au0R4N2mG0AGOs727L3YZy K2+Lx8ptYEsZ
sgE/8CB/vl/t334NZYk80K4oY2BCN9DnbMXy9muKnaZuVLbQTOJ6/rJyzbj1 VLSAwz71wM00
9v/JD1BLAwQKAAAAAAAxWfk2AAAAAAAAAAAAAAAACgAAAFNUTS9tb2RlbC9Q SwMEFAAAAAgA
B1b6Nn6S579wAwAAbhUAABMAAABTVE0vbW9kZWwvU1RNLmVjb3JlzVhdT+JA FH038T803Wep
4j5sCGjUhYRE1FBMfNuMwy1MbGeamang/vq9LaX0U1mmq8sDhPbeM+d+zLnT 9i/XgW+9glRM
8IF91jm1LeBUzBlfDOzH2ejkh315cXzUByok9IYPhL6QBVjrgPUyry56HR9Z +EEwrnp4c2Av
tQ57jrNarToiWHSEXDhPk7G9NVFFk9V5YtE9PT1Ds1uXLiEgJ4wrTTiFAnrC pOAM1GehggQB
Ai9G6TrD2My2OAnQ2J1Nfk1Ak4mYg5+icfU4HWc4VAQdSpQWUgNddpQO0Fc9 SPDYuux/EQP0
4cYnSjGPYRosjKen30JcKk1UcjNbXs8kwFQIvfGNvV0tI6ojSfwREPyFGpAp eCAhTkAKpEQk
KSCuL1Ygr0XE51i0NKD4E4Vhdv3kDGs5S/C+OQ5yEC/A3QTBtqjgmjAeANcD G6mA7ZhRkxjd
mGuQoQT8bqaYp5Q5EI2ddIOcYK2byfWdfNIPKEP9emaBB8i0kNp9As87tJD4 8qKFteK+u8PG
zVExrf6V1pI9RzojwXaVH88/TEGK8pNoEl+w9trLGMsQuaEwtdUNWWIscCPc NzEXlSYNe4PG
4ST3nQPAr4naOJtVNyT4VxcLmkHnEnsfhkIxXTZx6JL5c4Qw7bIMpywx9f2d UaxptWayabCG
VDlCuVuh3IttdTca91YCWddYLfUFFULikCbxFsyHcrO7/t52r9Rg5+eIFUf9 NhQEHccf8/oL
PUzMTYUowOOJ3a7QHEzmhfG5OZex+ZYQki2wuH6qdnUb1XAF/XkTsJJmT8iA aI0F27/hRkUf
Y8nhU1hEPpH7Ss5d5tHmcWfIo6CkQUl4WXS3uOMxNJXabCk4TQZuCJQR37Ze iR9BnM5G0+H9
KDPrtiWjOTkz6xHheQoq56RKbT5xk1Yo+sAXevlfU9Q1++trtLYqccnUeu8c vBnJuXyWRmBy
38kN1jaPAqnSmaU/kixN1uecsA/vE/Lsst8tzOFdz5qKYUnwm1QMdRmaNW7M 5yjS99x/20cR
N0teA84nqEhjo/2Vlzw+p+bnWOqN1cB+xzPydxr9va3Gzc0os3bYjcf9B/Rd 0cdQHdR2jlUF
wRDZkwDVY1X9i4ZdpP9q5Jey9tFYb26oLKpSm7cw0XMP1q09H1VajqbLfN3b CLywAU7fmeKl
P1BLAwQUAAAACABBr/g2GXVpR5UDAADvFAAAFgAAAFNUTS9tb2RlbC9TVE0u Z2VubW9kZWzN
WN9P2zAQfkfif4iy59WMh22qWhAUOlWigGin7W1ynUtq4diR7UC7v35nJ2kb xM81gfapts/f
d/58dz6ld7xIRXAH2nAl++GXzkEYgGQq4jLphz+nw8/fw+Oj/b1eAjJVEYju D5Bj9ydYpLy7
2niIG/f3AvwhnjRdXOyHc2uzLiH39/cdlSYdpRPyezwKSxNgSkPNCJjgmQFv CGlMDg8ODsm5
M6thV668vLfyNQyYypaaJ3M7hYXth4NqGKDdt2BAjVU6mAKbSyVUwsEEI8k6 Ja1nO+MaGFot
+yGZTMfEaBYWK9ciT7gcnfVDnA8DDZE39bqUJpc0hWpZKTtKMwEpSGtG0oKO KcPVkiwGanMN
Y5r90jTLQA8ENcYhzZQSQOVQ0MQMOYjITfI0UxoxHD2efaUDatCp1jqwoSFT SM6pZHABd07E
r+7OV/p4YKSLqTAQHrk9vRh386SQ8ggPUeD1SG3eW+LVXFN2SxMUMNMQ84U/ 9Z8xWFreRMRN
pgydCbjW6o5HoIe01NXqHDD8HHiJ4ncXdJ9I4U3Bci7z1AR2mcGExuBGAzwX tRxxK+cLJLdW
gyETO1W3IKe4uYJcg15wFAy3rzeXM09ikBtIckF1SJoAm2TAOBXNgJ1fDVdA PVLJ1piMQ6VT
ai2Wii21rAORSyVhGwEewI1khKl2JcWyQdBieAouBxqHPYnRtknUXIg2AwEv rEyCLQOhDtRE
MjxAHGqASyxEz6vhSy6U4GX9rcP6uo0VzlJX5wcKhwtbP/iwKOQmkMryeLlS kWlcgMGcuwJe
zmVaYaW3ywnW68FccQamVg5LrH7oR93zG4hB4zsNwSvcIinl0heFico1exiu u+Onexqfcu4x
bx6lPLFW81luX0fJq1l8QaN6UJRB8KawuMET1MPrVdtOqSmi8vGzV6r3Q18Z X3NRb7qNip5k
FJefvIKHbjDHiBuqCKj58R9BsXKjAt6BQF35ZHzqmO1DxCfix1cK7wZhSmls 9ZGltbwriNzL
0jIFT7FhbJnjlstoB6KycEZhw453J2oF56Odsi+/Mw3dRVzvPndFALlqOBoo FoN1frak5ZqB
qDg20N4DvMEkQCZ2/h5Mz9WddwyNTZXv5UZvv90zUuZZm2lWUJBc8wlayaTd pC7ZLJ1N+F/Y
XqV199+WSGuGjczfkYL0qG9NFCXJXMf8TMfaQAqvObBLKQbPdeh+ovr2hDN+ XP9iibP/AFBL
AwQUAAAACAABcPk2A7VShxQMAACregAAHAAAAFNUTS9tb2RlbC9TVE0yLmVj b3JlX2RpYWdy
YW3FXWtT4zgW/b5V8x9Smf2wW0WI5VdsCnaqeTSvhmZ4DHRPdU2ZRCSGxGYc p3n8+r2Sk0AS
SRDpipnqSQdjX8knOkfn6srp9d8eB/3aT1oM0zzbqJNVp16jWTvvpFl3o35x /rkR1X/73y//
Ws/yMinhnLXtNOkWyaD2OEjXpte57DqIlA3X4PhGvVeW92vN5sPDw2o+6K7m Rbd5dbQ/PWU4
e8qDx89wHYfAaV/O2j06SBppNiyTrE0nV9F2XtCZ62i7n94PKb+YDm5YALe5 w06bXDPptfSy
LlxWjLIyHdAm3PwqaU4uqfM7TDsb9b+ut/ecu+2//9rpPLk3B4d3z/S2POvW a+XTPXRo3OCA
JsNRQQc0Ky+ytNyon6SPtF8H7Gq19XYv7XcKmvGY1WVTQI/zDn3d2JfNowtp YwyjKqZG1GdZ
1IBFbWqG/UPa2darzkLcYfnUp0NR1O0ieaDFGfv9fPDzheDN90Q8y4sShrAw 5K1eyM9pv6SF
LOgitlM8mxNANQG+VAHsGgJ8iQ/wpQ2ALy0CfKUC2DME+Aof4CsbAF8tA7Ci 273knoriX8hx
WKd9rpuv4nGxX9vZ6ifDYb3WK+jNRv3s/GiVH/+12Twr9zO4l/uCVu1u5fDj Y/kSsp885aMS
Dg/LIklnYk/7upmPss5wvp+L4NYeQXj9eu0JJkh33MQcJssOuW9WFP6bHYX/ blPhv+Pz47sN
fny3KECJTYVP8AFObACcWAT42qbCX+MDfG0D4GvLCv8NWeFP87zkn6W5qH8T izpxIq7qru/g
yHrbiqy37ch6x6asd/BJ0bFBio411TmM5WmcsaxDcGyAISQ+wBDUIsDK1NNM 1iE4PsAWUk8I
alnW28iyvpkMKZKst8Wy7oFLZ7Lu+z6GrB/G8gxcX9Yhqg1ZP4yV2ayZrENw fFJYyGYhqEXV
keduCLKuMFG6AAvMjznAglQTDWBlvmkq6+j5JoS0AfBS+ebSsg7qgyzr5/kd zYw1Hfol1vQA
LDq36gHKCsxhLM+5QdMDXU0XJLEvmh5oa7oqfyWmmo6ev0JIG4xYKn9dEmB5 4gYAm2q6wkHp
AixwPuYAC/JMVMlRrETJJWcnGw0UinMO5yKojmBFa+IkUdRGnmubOEhB8orh IKlNB0nxyUBt
kIFaVJsbmw7yBh/gGxsA31gEuGvTQXbxAe7aALhrWc4VS3xaDnIrz4tOmiUl hqALFguZoIde
yG1kQEIcYe9ZEfaeHWFPbQp7ik+L1AYtUou6c2tT2G/xAb61AfCtRYDl27AQ hP0OH+A7GwDf
WRb2no2lgbN8VLQxlL0nserjHRpM4VGUvW9hgeBiJK8JGSwQQNjFjwxrgQCC aw5iKS8gpHwI
6/LiYiQoByEJD8RWAWym7BAcH2BFVUgfYEEdBFV4+rgLBJ/zYpCUDKHzJ5RV gr5YenwPZZUA
8JUOMn0zeTGSF4QMzCSEVTDC0ExCcHxGKEpC+owQ1ILQJEdQCsIykxAcH2BF SUgfYEEtCA1g
QSkIy0xCcHyAFSUhfYAFdRBETQdNk+OgZSaP8+yUdkf9pDAWdOicIM9mm33D yku6OKsEALJK
2LW9pLwqZOQlBfUgPC+pWxlS0EJRF9KnhaAghKY7gnoQnpfUrQwpAFbUhfQB FlREUHVHsUdZ
x0u+yM75E4KXhP6JpSdoIUmOYHUWwUvKS0NGXlJQFMLzkrrlIQUjFMUhfUYI qkJokiMoCuF5
Sd3ykAJgRXFIH2BBVQgNYEFRCM9L6paHFAArikP6AAuKIaiartgBrllxytoF LXG2o0L3xJJO
vGo7qudH5tJO9p6Lo+3iBFfaedRnWVRtaWdhj6WdNZR2Hvx8IbgJMXjIW72Q UmLwoIvYoigP
i/1VBbCJtPPg+AB/tQHwV4sAn6gANpF2Hhwf4BMbAJ8sA/CS0s7VR46DXs2p oJQ9QGYo67xr
i3gyWW+QuNL1BttT8JB2yt5GPW5Bd2ja7ZUb9WiSgs/LvWKcVF+usTD3sS+g kK2Ny+E5Sdp3
SZcKAJpe2umKO7LT6c504OjvLztS6+8znakNeYGPT4WSb7BIii4t+QnCfRMa 9GT9+iztVzg7
wbxnAHzJ2/zNfBsCdwdDICbVACC+ggzL3o6gxjC9HQ/pdsRGJay2WHtazIaO ZLRd5osGlo0d
RWFHIUh5Vgqj6djAU3pD4UbaIjrIvk6gOQBghdXra5p17nNAXdjxU9qHNz/p 5vSs+TsQfADV
iRv1P52VmrdSa3gteNMIif/j338G/krND1rsKAnhlYQOHPVItFILYgIHAhde 3PDHK1h5jz9l
7V5eiPq43wGY0vKpOuNV/54oLR4EnGK//I+zSuKWF0a+t+KstkK3RUj835dG K4prNLrzlfz8
tF18kjTqOHFIAi8KoFU/5P+1Js2uN7mKLS9ouypB85YTNOE3OmgpwHMkF9pw 1tBpKwC0IRa0
xvjJORdLz6AllZ75SHcj1rNGdTMEX892UfVs98P0rJhxRIYitvuGiAVMqSKf yRXxQK7YW8Lk
i+la4P0w4+9zJJ/4fTayZvkrfGjvhb/C9VKjQQL9QxwkEO09g2SYrmVpf6Ne FiOsyQpafutz
5h8xm4CIE8DnzN4S4lefsx8Yf85KnZ43nsIHeWwYz+doz7rxhDYkOu3NfhsR gk7vWfed0IZE
p1uVjQ4Ud6PJQUyhhmgWhHryOHwzg5fKZg7RqPuWRLtjNY5bwFt4E41/9loY TrK/9+lC5Jsm
TtKNfUJaLfB0seNFPlhdDCs5Ot5S+VfXJcxJ+tCqY2ghn6P9ZSzkG9IkPEGT zAcfYCEPZBay
Sor9Fp42HXyAhzyQbQWpdhXjS9M+qjTt25SmyR2j6dL+G7o0/lOJ0uQHM7LG u5/e7yMkX/lh
g6zx7qZ1HwFtyMgajlewsMgKTVk3EtCGLOEL30xftdgKgweRrRDNAlv5OlUz L9JumiX92ZKm
EV2huyq6Npj/Z/+TkC1buW4EtG0Qj8ARb+wpGiRw2VHXgdzAZYkhCWYWrLRJ vYVIarzkIN7d
/gBSb8tI7fhvG+pl7+cDWL0t2RI1ligHn9VbqKzessbqEn0NGnr7jrTeZ2vL Hl9s9llWH8TA
Z87yIBgfc9n6Mz9GXLbK02DXeODq5xIJbYYr607esgwXbDvUZISy7oTisaEN McPHjFAVapa9
GesOG9oQ0zvCpzVmuQmiWaN1W/DEuyGr36osMVa7fKKuFusa/AfBcl3NIPG/ vP15lm8XF/Md
Yb+EFDwKnKjVIjzxj8AjRL5ZIn78/TFCFAnhc1g6vDq+TeX9QhIJ1obEBrjV shqWCWAt2VYJ
1oZkE93Y0mBbezZ28NSCRbOmFtl0CzrSAiHrrdrZt3gpmsQR/F2phRczW8/M PqtI80N8/Z85
fZj43Vfyob2Cd3+6uXkkLwaHIXFIGLMVvJi/NywFH5fnSvnwEZcGtIYo9A9x iEK0f6aUxFp+
r+d0PbYi7ZKx5wx5dclzJ/7SDYNqvjLNII/djv/+DFLyhO5rfykYHFpi63YC 2xkka0M2dcRY
kwa0YTtzZG1I1oN8KxsA2KBBJCREszBnvDyw1Bze03aa9JFYDN19g8U+W/EJ Ilb9D9nmJXhH
nHCesCYzRD5w7335DEF8xwOPGcEMQYhL/DjwDKcItxO+f4qQPHxlc4qA/qGO yPAfmiKg5fcM
Li9yJ6OLvxUML60Pmuz/frUv3e69kEq8OR8I941p6Cjr14G0XzipBG9jcRd2 td1g8jw0zrTA
mxLsqp7eDkIuwdsQPNLCp7dqY5iqQqnBQj54FNvYl2MhjybfyY8xL9wUdO7R JwPu8v4K8H7J
Jjy+R5XlD2zJkLR49kBiRlvSAuPnQVrhmZX5Du6G9xeChQchf6WPUuFXBFi/ /pD2C4e/vI3z
xTZY8oy5qZO3c6u4FwTy8jaexffiEhsVeT5yFtHTJC+PtoiR+ULA+KmW5hBx oxDvrADsKXOB
rT5bMQwIkLcRumxHugu0hdybHXX4K8vX/BCsHqTkK+MN6She7/e90Wlbvpj4 emt4yzWyeQyI
S0T1wJr9Wb+uPkA9rsTq4eM+5MJb+gD9uBLrR6MqnhAL+nGJqh+XNvWDbQTf n2wRpwWajlyq
dOTdG3vWp/8K8+SJODj4f1BLAwQUAAAACAALY/g2aX+lnfQAAAClAgAAFQAA AFNUTS9wbHVn
aW4ucHJvcGVydGllc61RQW6DMBC8I/GHURpuEb1XTaVIUClSgQj8ARc2YNWx LUNC8/vauJXa
Ww/4tDu7Ozs7jqMHPLfa3K3oh+kl9unjn9xD22O3jSMf7Vd4nodptLojdHQj qQ3ZJ48CmUZZ
MbQDVz1hGgjG+vIkaMQ7TTORcrAYIYUicNX5pjC7SZIEeZmhegWrD2XzdmB5 hlNdnfKaHfMG
rmGzDKZhouAfjgOK5p81dyh+oR24MeS59aLBh/q8hGchw9ogMfD4wnKO67+O Qfdv0nQ969b8
hP/4taZyI6+9UKUzGHs0rEDhPJMOt/omOrLflXmeU/rkFyMp1baPoy9QSwME FAAAAAgAWUb5
Nm2ow2lpAAAAkQAAAA4AAABTVE0vcGx1Z2luLnhtbLOxr8jNUShLLSrOzM+z VTLUM1BSSM1L
zk/JzEu3VQoNcdO1ULK34+WysU9NzsksKE5FqDUGqgVJASUVdXV5uRRskvML Kosy0zNK7EA8
fWQuUEDFM0WFl0tXF6KlIKc0PTMPzAby9OFcAFBLAwQKAAAAAAAOS/o2AAAA AAAAAAAAAAAA
CAAAAFNUTS9zcmMvUEsDBBQAAAAIABRd+jYRikOQhgAAAO8AAAAcAAAAU1RN L3NyYy9oaWJl
cm5hdGUucHJvcGVydGllc3WOwQrCMBBE74X+ykYoeAjk1qMexA+QNAltyiar u1Hp31vjRdAe
Z94bmCkOgbMtARzlHFyJlMFzfAS+OLQihniEcS6QEqRFbgh9pW0z/ZveGc3s B6erq5VCchYn
kqK7brdXUtLWUt5dCoaJyoZzXQ89ib355j5aXHk9+tPCcTmfDv0ntM0LUEsD BAoAAAAAAOBp
+TYAAAAAAAAAAAAAAAAWAAAAU1RNL3NyYy9TVE1fTWV0YU1vZGVsL1BLAwQK AAAAAADgafk2
AAAAAAAAAAAAAAAAGwAAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC9pbXBsL1BL AwQKAAAAAADX
Y/g2AAAAAAAAAAAAAAAAGwAAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC91dGls L1BLAwQKAAAA
AAAOS/o25ZTLjikAAAApAAAAJAAAAFNUTS9zcmMvdGVuZW8tcGVyc2lzdGVu Y2UucHJvcGVy
dGllc3RlbmVvLm1hcHBpbmcuaW5oZXJpdGFuY2U9VEFCTEVfUEVSX0NMQVNT UEsDBAoAAAAA
AGZI+jYAAAAAAAAAAAAAAAANAAAAU1RNL3NyYy90ZXN0L1BLAwQUAAAACAAc Vvo27wGuiS0F
AAAZDgAAGQAAAFNUTS9zcmMvdGVzdC9UZXN0U1RNLmphdmGtVm1v2zYQ/uwA +Q+HfJI7jw5a
oAMW5EOQOouH2QlsF+gwDAEtn20ulCiQVBqv6H/fHSnJUpw0HVDDcSTy7ngv zz3H4Zsf+zk+
gjdwaYqdVZuthyTtw9vT03cD/n0/gEvpvLGwwHSbG202Ch2M81QEtQutIag5 sOjQPuBKwMdc
ln5rrPoXV1A6HMCqLLRKpVcmH0BQJIsr5bxVy5JXQTngt9TrHRTWbNVSedJe 7kDLz/Gs8LPY
kiQJbKzMQOYr8FuE1GSFRo8wno3nIIvmMJAWWbqwCr20O8ikR6ukjsZYX+Ue tcbUl7TKomj9
Dsz6xbhh70w4jvyRFPyGokFLLnsrV5hJe/8tI6z+Yz/D46NhVUqLknNH4f9e anj7PlTyF97j
PxIsZHovNwgenT87Pjo+UllhrId/5IMUyogrpfHsYHV8M3pMseC8PtmkEmpx aUIaade1bRq7
EZhqVTgUmK0F1SozeVT5OBufvSiIqbEoRrfR19fkCH2mtCmKWfXwvxXm6L9b h6R0W3FM768p
P2Yq6n2ajGvVK5kSPHbfVveYoxHUEWhzKqy4Xn6QXs5J8RtBHipdoyZsf79G E+x1vfR8altn
1E/P4KQrOUfnXt+ustNG03wxuZtQK0/MCrXovB0A5YmsX1jEmTER8UW5JJKA VEvnqD2dJ2n4
cnzUG75hkkFiCpVDhsRjq9AzvUrDeWKWFB6MWgWZZE60lW/++pu4ZuP6wUZv OKy6MNBTUy7B
e2uVE9NELVjVW1OZIZzDydxnjfjJ2V6+VfS9EikkrY1+XWQxns4XF9PLkUiD F7OKnRrJpHNu
n84B6NWOm3ytNqWNvtf955jIAx97ZuBuSI014dA3GkmOnxt9ys8XeK5eAmtn v/ZDZYIT41x5
ommaIE8yGAcAHUMOFWGvQR2Voyg4qUTrA+L1ypQvLQ2dmAhXjQtL4C5MvmJp L5eaNqjavMeh
LKV7Gpdq/ElqL6s6dqBKjnVez/e1Ehv0XeHKEtvqYobHSew0DhS8ga3RcdLV G64FpRYPNfv8
fA5cgCcsFQ5tDqyBEWxT9sKkZBcaB9ZVJOwE5VWTGI38NQ0IwEeiDI4nOtM6 mmN9QnHxJA6a
N0e16sJU+xNZ0FZRejbVS2ptUW2LWl98GF1dfPxjcTf6tBhN5+Ob6SCE+Typ Jv0WpjrBNiPQ
AHnCaFc+jPIHqTQjgu4soUO1kQyT50KsENwKjfxPngf5dH5H027wSgvEToyf yuvfGAHkMGnz
hYIfM9YNNWCvACIMWIDX+P85v1XNfxXXQjfyc3KCj5LvS8L57CSU42LpjC49 3kq/7aTsEJBr
YyMD7I+v874XOm/jsOGguJJUPtanUOIiZzbZFZzypHWdEKPJ7eLPu8nFbQTv V/6hC166haR1
KQGs2Jc9X9x8uIGL0pufNzTXbLgQRZWlNul9EENBaM/93FMZFlammLTs899+ ZtCtrnogyt0v
9xufKYtEnIRq7yLEk9NOp90USLfRANWKBcLtk6aJZeMydzIEG3BWS1RsQmd2 eUXQLTWvhCqf
KwGxJDDmi729Vr/vM03+TOR9gDxNC8ddkftYzMaQkw+Y1FFHI3E6ZJmKiEyJ EHgwUAsdMGdj
hjLR8Sbc/5RPWha1cZHlax2YUp5zJJZzfGdX647FlOWTQyQc3j5g2yBi+1Kt e/MdRZ8JtDZK
6Dw5yfjkDf56Aj+RDY5hEldiczQIoSv3sNc7uB8B3WRm+16I+D+QSmrsDGJD 15OYTbYMxEK8
0A2hsPQlf+j7H1BLAwQKAAAAAAAAa/o2AAAAAAAAAAAAAAAABAAAAFNUTS9Q SwECFAAUAAAA
CAAJa/o2058xlfcAAAD9AQAADgAAAAAAAAABACAAAAAAAAAAU1RNLy5jbGFz c3BhdGhQSwEC
FAAUAAAACAB7iPc2CnruSuQAAACYAgAADAAAAAAAAAABACAAAAAjAQAAU1RN Ly5wcm9qZWN0
UEsBAhQACgAAAAAABpD3NgAAAAAAAAAAAAAAAA4AAAAAAAAAAAAQAAAAMQIA AFNUTS8uc2V0
dGluZ3MvUEsBAhQACgAAAAAAMVn5Nq0pVbloAAAAaAAAAC4AAAAAAAAAAQAg AAAAXQIAAFNU
TS8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMucHJlZnNQ SwECFAAKAAAA
AAAVa/o2AAAAAAAAAAAAAAAACAAAAAAAAAAAABAAAAARAwAAU1RNL2Jpbi9Q SwECFAAKAAAA
AAAWa/o2AAAAAAAAAAAAAAAAFgAAAAAAAAAAABAAAAA3AwAAU1RNL2Jpbi9T VE1fTWV0YU1v
ZGVsL1BLAQIUAAoAAAAAABZr+jYAAAAAAAAAAAAAAAAbAAAAAAAAAAAAEAAA AGsDAABTVE0v
YmluL1NUTV9NZXRhTW9kZWwvaW1wbC9QSwECFAAKAAAAAAAWa/o2AAAAAAAA AAAAAAAAGwAA
AAAAAAAAABAAAACkAwAAU1RNL2Jpbi9TVE1fTWV0YU1vZGVsL3V0aWwvUEsB AhQACgAAAAAA
Fmv6NgAAAAAAAAAAAAAAAA0AAAAAAAAAAAAQAAAA3QMAAFNUTS9iaW4vdGVz dC9QSwECFAAU
AAAACAAKa/o2Pj4l5ZAAAAAHAQAAFAAAAAAAAAABACAAAAAIBAAAU1RNL2J1 aWxkLnByb3Bl
cnRpZXNQSwECFAAKAAAAAAACa/o2AAAAAAAAAAAAAAAACAAAAAAAAAAAABAA AADKBAAAU1RN
L2V0Yy9QSwECFAAUAAAACAB4bPo2K7uPoPQBAACUBQAAGAAAAAAAAAABACAA AADwBAAAU1RN
L2V0Yy9sb2c0ai5wcm9wZXJ0aWVzUEsBAhQAFAAAAAgAdUP6NirYxQUeCAAA C20AAA8AAAAA
AAAAAQAgAAAAGgcAAFNUTS9leGFtcGxlLnN0bVBLAQIUAAoAAAAAAHuI9zYA AAAAAAAAAAAA
AAANAAAAAAAAAAAAEAAAAGUPAABTVE0vTUVUQS1JTkYvUEsBAhQAFAAAAAgA D2v6Nq5XvfxU
AQAAnwMAABgAAAAAAAAAAQAgAAAAkA8AAFNUTS9NRVRBLUlORi9NQU5JRkVT VC5NRlBLAQIU
AAoAAAAAADFZ+TYAAAAAAAAAAAAAAAAKAAAAAAAAAAAAEAAAABoRAABTVE0v bW9kZWwvUEsB
AhQAFAAAAAgAB1b6Nn6S579wAwAAbhUAABMAAAAAAAAAAQAgAAAAQhEAAFNU TS9tb2RlbC9T
VE0uZWNvcmVQSwECFAAUAAAACABBr/g2GXVpR5UDAADvFAAAFgAAAAAAAAAB ACAAAADjFAAA
U1RNL21vZGVsL1NUTS5nZW5tb2RlbFBLAQIUABQAAAAIAAFw+TYDtVKHFAwA AKt6AAAcAAAA
AAAAAAEAIAAAAKwYAABTVE0vbW9kZWwvU1RNMi5lY29yZV9kaWFncmFtUEsB AhQAFAAAAAgA
C2P4Nml/pZ30AAAApQIAABUAAAAAAAAAAQAgAAAA+iQAAFNUTS9wbHVnaW4u cHJvcGVydGll
c1BLAQIUABQAAAAIAFlG+TZtqMNpaQAAAJEAAAAOAAAAAAAAAAEAIAAAACEm AABTVE0vcGx1
Z2luLnhtbFBLAQIUAAoAAAAAAA5L+jYAAAAAAAAAAAAAAAAIAAAAAAAAAAAA EAAAALYmAABT
VE0vc3JjL1BLAQIUABQAAAAIABRd+jYRikOQhgAAAO8AAAAcAAAAAAAAAAEA IAAAANwmAABT
VE0vc3JjL2hpYmVybmF0ZS5wcm9wZXJ0aWVzUEsBAhQACgAAAAAA4Gn5NgAA AAAAAAAAAAAA
ABYAAAAAAAAAAAAQAAAAnCcAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC9QSwEC FAAKAAAAAADg
afk2AAAAAAAAAAAAAAAAGwAAAAAAAAAAABAAAADQJwAAU1RNL3NyYy9TVE1f TWV0YU1vZGVs
L2ltcGwvUEsBAhQACgAAAAAA12P4NgAAAAAAAAAAAAAAABsAAAAAAAAAAAAQ AAAACSgAAFNU
TS9zcmMvU1RNX01ldGFNb2RlbC91dGlsL1BLAQIUAAoAAAAAAA5L+jbllMuO KQAAACkAAAAk
AAAAAAAAAAEAIQAAAEIoAABTVE0vc3JjL3RlbmVvLXBlcnNpc3RlbmNlLnBy b3BlcnRpZXNQ
SwECFAAKAAAAAABmSPo2AAAAAAAAAAAAAAAADQAAAAAAAAAAABAAAACtKAAA U1RNL3NyYy90
ZXN0L1BLAQIUABQAAAAIABxW+jbvAa6JLQUAABkOAAAZAAAAAAAAAAEAIAAA ANgoAABTVE0v
c3JjL3Rlc3QvVGVzdFNUTS5qYXZhUEsBAhQACgAAAAAAAGv6NgAAAAAAAAAA AAAAAAQAAAAA
AAAAAAAQAAAAPC4AAFNUTS9QSwUGAAAAAB4AHgCzBwAAXi4AAAAA
--------------090407000705010405040502--
Re: [Teneo] Not-null property references a null value [message #92031 is a reply to message #91985] Mon, 30 July 2007 11:35 Go to previous messageGo to next message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090407090607000900090503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi Alain,
The following happens. The StTokenImpl has a many-to-one reference to the StTokenSourceImpl. Before
saving the StTokenImpl it nullifies the reference to the StTokenSourceImpl because StTokenSourceImpl
is not yet saved in the db (this nullifying does not occur in the object but in a separate array of
values kept by hibernate).
This can be repaired by first saving StTokenSourceImpl or by setting a cascade annotation on the
ereference (I tried the last and it seemed to work, see the attached ecore).

gr. Martin

Alain Picard wrote:
> Oops, here is the attachment
>
> Alain


--

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

--------------090407090607000900090503
Content-Type: text/xml;
name="STM.ecore"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="STM.ecore"

<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="STM_MetaModel"
nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
<eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
<eStructuralFeatures xsi:type="ecore:EReference" name="sources" lowerBound="1"
upperBound="-1" eType="#//StTokenSource" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootInterpreter" lowerBound="1"
eType="#//StInterpretationContext" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
<eStructuralFeatures xsi:type="ecore:EReference" name="mainTokenSource" lowerBound="1"
eType="#//StTokenSource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//StRootNode"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="interpreterId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StRootNode" eSuperTypes="#//StConcreteNode"/>
<eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//StBaseNode"
eOpposite="#//StBaseNode/children"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//StBaseNode" containment="true" eOpposite="#//StBaseNode/parent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="nodeSources" upperBound="-1"
eType="#//StTokenSource"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StToken" eSuperTypes="#//StBaseNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="coordinate" eType="#//StCoordinate"
containment="true" eOpposite="#//StCoordinate/owner"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType" lowerBound="1"
eType="#//StTokenType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="image" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="originalNode" eType="#//StBaseNode"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tokenSource" lowerBound="1"
eType="#//StTokenSource">
<eAnnotations source="teneo.jpa">
<details key="value" value="@ManyToOne(cascade={PERSIST})"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="formattingType" lowerBound="1"
eType="#//StFormattingType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="nonRegulars" upperBound="-1"
eType="#//StNonRegular" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
<eLiterals name="Regular"/>
<eLiterals name="Special" value="1"/>
<eLiterals name="EOF" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//StToken"
eOpposite="#//StToken/coordinate"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
<eLiterals name="None"/>
<eLiterals name="IndentOnly" value="1"/>
<eLiterals name="FormatBefore" value="2"/>
<eLiterals name="FormatAfter" value="3" literal=""/>
<eLiterals name="Full" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nonRegularType" lowerBound="1"
eType="#//StNonRegularType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="special" eType="#//StToken"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="freeNode" eType="#//StInterpretationContext"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
<eLiterals name="Special"/>
<eLiterals name="FreeNode" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StConcreteNode" eSuperTypes="#//StBaseNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>

--------------090407090607000900090503--
Re: [Teneo] Not-null property references a null value [message #92077 is a reply to message #92031] Tue, 31 July 2007 00:49 Go to previous messageGo to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

After not being able to generate the mapping and constantly getting the error mentioned earlier, I decided to switch to use a joined
strategy.

Well, I can now successfully save a model instance to the database.

That being said, I am just facing more issues.

First, off if you look at the ecore that I submitted, some columns are of type EEnums. When looking at the database, those enums are
not mapped as table. Looking at previous post, and at bug 182825 and at the default for enumerated columns being ordinal (9.1.21)
then how do I get the extra tables generated and the ordinal values saved instead of the text value in a standard varchar column.

2nd, I am trying to find the best and most efficient way to "initialize" the HbDataStore.

I have tried to set the USE_MAPPING_FILE property, only to get exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
not mapped, etc. I found a post of March 27 covering this issue, but here is what I get in my log:
DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching hbm files in class paths of epackages
DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or descriptor file List
DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path: ;hibernate.hbm.xml
and then it moves on. I have tried to put the hibernate.hbm.xml file in the classpath (beside log4j.properties), at the root, in the
package directory. When comparing with the above mentioned post, I don't see any other try path listed or !found anywhere. Any clue?

Next, I have set the UPDATE_SCHEMA to false, to try to speed up the initialization (once the schema is stable, I believe that should
be the standard way to go). Anyway, I now get the following after executing a query:
org.hibernate.exception.SQLGrammarException: could not load an entity: [StInterpretationContext#1]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
at org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
at org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
at org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
at org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
at org.hibernate.type.EntityType.resolve(EntityType.java:379)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
at org.hibernate.loader.Loader.doQuery(Loader.java:729)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at test.TestSTM.main(TestSTM.java:100)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'strootnode2_.concreteid' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
... 25 more
this does not occur if the option is not specified. Any idea why this is happening?

At last, what would be your most efficient "initialization" routine for HbDataStore. Do you need to set EPackage every time? etc.

Thanks again for all your help. We're slowly but surely getting there.

Alain


Martin Taal wrote:
> Hi Alain,
> The following happens. The StTokenImpl has a many-to-one reference to
> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
> reference to the StTokenSourceImpl because StTokenSourceImpl is not yet
> saved in the db (this nullifying does not occur in the object but in a
> separate array of values kept by hibernate).
> This can be repaired by first saving StTokenSourceImpl or by setting a
> cascade annotation on the ereference (I tried the last and it seemed to
> work, see the attached ecore).
>
> gr. Martin
>
> Alain Picard wrote:
>> Oops, here is the attachment
>>
>> Alain
>
>
>
> ------------------------------------------------------------ ------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ecore:EPackage xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="STM_MetaModel"
> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
> <eStructuralFeatures xsi:type="ecore:EReference" name="sources" lowerBound="1"
> upperBound="-1" eType="#//StTokenSource" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="rootInterpreter" lowerBound="1"
> eType="#//StInterpretationContext" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
> <eStructuralFeatures xsi:type="ecore:EReference" name="mainTokenSource" lowerBound="1"
> eType="#//StTokenSource"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//StRootNode"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="interpreterId" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StRootNode" eSuperTypes="#//StConcreteNode"/>
> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//StBaseNode"
> eOpposite="#//StBaseNode/children"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
> eType="#//StBaseNode" containment="true" eOpposite="#//StBaseNode/parent"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="nodeSources" upperBound="-1"
> eType="#//StTokenSource"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StToken" eSuperTypes="#//StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EReference" name="coordinate" eType="#//StCoordinate"
> containment="true" eOpposite="#//StCoordinate/owner"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType" lowerBound="1"
> eType="#//StTokenType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="originalNode" eType="#//StBaseNode"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="tokenSource" lowerBound="1"
> eType="#//StTokenSource">
> <eAnnotations source="teneo.jpa">
> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="formattingType" lowerBound="1"
> eType="#//StFormattingType"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="nonRegulars" upperBound="-1"
> eType="#//StNonRegular" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
> <eLiterals name="Regular"/>
> <eLiterals name="Special" value="1"/>
> <eLiterals name="EOF" value="2"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//StToken"
> eOpposite="#//StToken/coordinate"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
> <eLiterals name="None"/>
> <eLiterals name="IndentOnly" value="1"/>
> <eLiterals name="FormatBefore" value="2"/>
> <eLiterals name="FormatAfter" value="3" literal=""/>
> <eLiterals name="Full" value="4"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonRegularType" lowerBound="1"
> eType="#//StNonRegularType"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="special" eType="#//StToken"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode" eType="#//StInterpretationContext"
> containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
> <eLiterals name="Special"/>
> <eLiterals name="FreeNode" value="1"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode" eSuperTypes="#//StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> </ecore:EPackage>
Re: [Teneo] Not-null property references a null value [message #92093 is a reply to message #92077] Tue, 31 July 2007 01:08 Go to previous messageGo to next message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Alain,
Which bug do you mean (182825 seemed to point to another bug)?

Not finding the hbm file can be caused by this issue:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535

This was solved in the build of 18 july. Which build are you using?

The other exception you get is this:
> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> Unknown column 'strootnode2_.concreteid' in 'field list'

Normally this occurs because the db schema is not in sync with the (in-memory) mapping. Does this
maybe apply to your case?
Other than this I have no real idea why this exception occurs when update_schema is false.

Yes the epackages are required for the initialization. The hbdatastore does some computation which
is not required for all users (adds econtainer mapping and computes referer relations). But overall
I don't think that this takes much time (I have never done performance measurements on that though).

Setting the update_schema to false surely saves time and it is the only option I know for getting
better start up times.

gr. Martin

Alain Picard wrote:
> Martin,
>
> After not being able to generate the mapping and constantly getting the
> error mentioned earlier, I decided to switch to use a joined strategy.
>
> Well, I can now successfully save a model instance to the database.
>
> That being said, I am just facing more issues.
>
> First, off if you look at the ecore that I submitted, some columns are
> of type EEnums. When looking at the database, those enums are not mapped
> as table. Looking at previous post, and at bug 182825 and at the default
> for enumerated columns being ordinal (9.1.21) then how do I get the
> extra tables generated and the ordinal values saved instead of the text
> value in a standard varchar column.
>
> 2nd, I am trying to find the best and most efficient way to "initialize"
> the HbDataStore.
>
> I have tried to set the USE_MAPPING_FILE property, only to get exception
> "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is not mapped,
> etc. I found a post of March 27 covering this issue, but here is what I
> get in my log:
> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
> hbm files in class paths of epackages
> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
> descriptor file List
> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
> ;hibernate.hbm.xml
> and then it moves on. I have tried to put the hibernate.hbm.xml file in
> the classpath (beside log4j.properties), at the root, in the package
> directory. When comparing with the above mentioned post, I don't see any
> other try path listed or !found anywhere. Any clue?
>
> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
> initialization (once the schema is stable, I believe that should be the
> standard way to go). Anyway, I now get the following after executing a
> query:
> org.hibernate.exception.SQLGrammarException: could not load an
> entity: [StInterpretationContext#1]
> at
> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>
> at
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
> at
> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>
> at
> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
> at org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
> at
> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
> at
> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>
> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>
> at org.hibernate.loader.Loader.doList(Loader.java:2220)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
> at org.hibernate.loader.Loader.list(Loader.java:2099)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
> at
> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>
> at
> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
> at test.TestSTM.main(TestSTM.java:100)
> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> Unknown column 'strootnode2_.concreteid' in 'field list'
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
> at
> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
> ... 25 more
> this does not occur if the option is not specified. Any idea why this is
> happening?
>
> At last, what would be your most efficient "initialization" routine for
> HbDataStore. Do you need to set EPackage every time? etc.
>
> Thanks again for all your help. We're slowly but surely getting there.
>
> Alain
>
>
> Martin Taal wrote:
>> Hi Alain,
>> The following happens. The StTokenImpl has a many-to-one reference to
>> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
>> reference to the StTokenSourceImpl because StTokenSourceImpl is not
>> yet saved in the db (this nullifying does not occur in the object but
>> in a separate array of values kept by hibernate).
>> This can be repaired by first saving StTokenSourceImpl or by setting a
>> cascade annotation on the ereference (I tried the last and it seemed
>> to work, see the attached ecore).
>>
>> gr. Martin
>>
>> Alain Picard wrote:
>>> Oops, here is the attachment
>>>
>>> Alain
>>
>>
>>
>> ------------------------------------------------------------ ------------
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ecore:EPackage xmi:version="2.0"
>> xmlns:xmi="http://www.omg.org/XMI"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>> name="STM_MetaModel"
>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>> lowerBound="1"
>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="rootInterpreter" lowerBound="1"
>> eType="#//StInterpretationContext" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="mainTokenSource" lowerBound="1"
>> eType="#//StTokenSource"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>> lowerBound="1" eType="#//StRootNode"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="interpreterId" lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>> eSuperTypes="#//StConcreteNode"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>> eType="#//StBaseNode"
>> eOpposite="#//StBaseNode/children"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>> upperBound="-1"
>> eType="#//StBaseNode" containment="true"
>> eOpposite="#//StBaseNode/parent"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="nodeSources" upperBound="-1"
>> eType="#//StTokenSource"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>> eSuperTypes="#//StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="coordinate"
>> eType="#//StCoordinate"
>> containment="true" eOpposite="#//StCoordinate/owner"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType"
>> lowerBound="1"
>> eType="#//StTokenType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="originalNode" eType="#//StBaseNode"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="tokenSource" lowerBound="1"
>> eType="#//StTokenSource">
>> <eAnnotations source="teneo.jpa">
>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="formattingType" lowerBound="1"
>> eType="#//StFormattingType"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="nonRegulars" upperBound="-1"
>> eType="#//StNonRegular" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>> <eLiterals name="Regular"/>
>> <eLiterals name="Special" value="1"/>
>> <eLiterals name="EOF" value="2"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>> lowerBound="1" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>> lowerBound="1" eType="#//StToken"
>> eOpposite="#//StToken/coordinate"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>> <eLiterals name="None"/>
>> <eLiterals name="IndentOnly" value="1"/>
>> <eLiterals name="FormatBefore" value="2"/>
>> <eLiterals name="FormatAfter" value="3" literal=""/>
>> <eLiterals name="Full" value="4"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="nonRegularType" lowerBound="1"
>> eType="#//StNonRegularType"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>> eType="#//StToken"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>> eType="#//StInterpretationContext"
>> containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>> <eLiterals name="Special"/>
>> <eLiterals name="FreeNode" value="1"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>> eSuperTypes="#//StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> </ecore:EPackage>


--

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] Not-null property references a null value [message #92110 is a reply to message #92093] Tue, 31 July 2007 02:33 Go to previous messageGo to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

I was using the version from July 12. After upgrading the version from the 21st, now both of my issue with the options have melted
away. Great news.

Now on the remaining point from my previous post:
If you look at the ecore that I submitted, some columns are of type EEnums. When looking at the database, those enums are not
mapped as table. Looking at previous post, and at bug 182825 and at the default for enumerated columns being ordinal (9.1.21) then
how do I get the extra tables generated and the ordinal values saved instead of the text value in a standard varchar column.

Thanks,
Alain


Martin Taal wrote:
> Alain,
> Which bug do you mean (182825 seemed to point to another bug)?
>
> Not finding the hbm file can be caused by this issue:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535
>
> This was solved in the build of 18 july. Which build are you using?
>
> The other exception you get is this:
> > Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> > Unknown column 'strootnode2_.concreteid' in 'field list'
>
> Normally this occurs because the db schema is not in sync with the
> (in-memory) mapping. Does this maybe apply to your case?
> Other than this I have no real idea why this exception occurs when
> update_schema is false.
>
> Yes the epackages are required for the initialization. The hbdatastore
> does some computation which is not required for all users (adds
> econtainer mapping and computes referer relations). But overall I don't
> think that this takes much time (I have never done performance
> measurements on that though).
>
> Setting the update_schema to false surely saves time and it is the only
> option I know for getting better start up times.
>
> gr. Martin
>
> Alain Picard wrote:
>> Martin,
>>
>> After not being able to generate the mapping and constantly getting
>> the error mentioned earlier, I decided to switch to use a joined
>> strategy.
>>
>> Well, I can now successfully save a model instance to the database.
>>
>> That being said, I am just facing more issues.
>>
>> First, off if you look at the ecore that I submitted, some columns are
>> of type EEnums. When looking at the database, those enums are not
>> mapped as table. Looking at previous post, and at bug 182825 and at
>> the default for enumerated columns being ordinal (9.1.21) then how do
>> I get the extra tables generated and the ordinal values saved instead
>> of the text value in a standard varchar column.
>>
>> 2nd, I am trying to find the best and most efficient way to
>> "initialize" the HbDataStore.
>>
>> I have tried to set the USE_MAPPING_FILE property, only to get
>> exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
>> not mapped, etc. I found a post of March 27 covering this issue, but
>> here is what I get in my log:
>> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
>> hbm files in class paths of epackages
>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
>> descriptor file List
>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
>> ;hibernate.hbm.xml
>> and then it moves on. I have tried to put the hibernate.hbm.xml file
>> in the classpath (beside log4j.properties), at the root, in the
>> package directory. When comparing with the above mentioned post, I
>> don't see any other try path listed or !found anywhere. Any clue?
>>
>> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
>> initialization (once the schema is stable, I believe that should be
>> the standard way to go). Anyway, I now get the following after
>> executing a query:
>> org.hibernate.exception.SQLGrammarException: could not load an
>> entity: [StInterpretationContext#1]
>> at
>> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>>
>> at
>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>>
>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
>> at
>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>>
>> at
>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>>
>> at
>> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>>
>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
>> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
>> at
>> org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
>> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
>> at
>> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
>> at
>> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>>
>> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
>> at
>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>
>> at org.hibernate.loader.Loader.doList(Loader.java:2220)
>> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
>> at org.hibernate.loader.Loader.list(Loader.java:2099)
>> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
>> at
>> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>>
>> at
>> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
>>
>> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
>> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
>> at test.TestSTM.main(TestSTM.java:100)
>> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>> Unknown column 'strootnode2_.concreteid' in 'field list'
>> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
>> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
>> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
>> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
>> at
>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>>
>> at
>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
>>
>> at
>> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
>> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
>> at
>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>
>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
>> ... 25 more
>> this does not occur if the option is not specified. Any idea why this
>> is happening?
>>
>> At last, what would be your most efficient "initialization" routine
>> for HbDataStore. Do you need to set EPackage every time? etc.
>>
>> Thanks again for all your help. We're slowly but surely getting there.
>>
>> Alain
>>
>>
>> Martin Taal wrote:
>>> Hi Alain,
>>> The following happens. The StTokenImpl has a many-to-one reference to
>>> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
>>> reference to the StTokenSourceImpl because StTokenSourceImpl is not
>>> yet saved in the db (this nullifying does not occur in the object but
>>> in a separate array of values kept by hibernate).
>>> This can be repaired by first saving StTokenSourceImpl or by setting
>>> a cascade annotation on the ereference (I tried the last and it
>>> seemed to work, see the attached ecore).
>>>
>>> gr. Martin
>>>
>>> Alain Picard wrote:
>>>> Oops, here is the attachment
>>>>
>>>> Alain
>>>
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <ecore:EPackage xmi:version="2.0"
>>> xmlns:xmi="http://www.omg.org/XMI"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>>> name="STM_MetaModel"
>>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>>> lowerBound="1"
>>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="rootInterpreter" lowerBound="1"
>>> eType="#//StInterpretationContext" containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="mainTokenSource" lowerBound="1"
>>> eType="#//StTokenSource"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>>> lowerBound="1" eType="#//StRootNode"
>>> containment="true"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="interpreterId" lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>>> eSuperTypes="#//StConcreteNode"/>
>>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>>> eType="#//StBaseNode"
>>> eOpposite="#//StBaseNode/children"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>>> upperBound="-1"
>>> eType="#//StBaseNode" containment="true"
>>> eOpposite="#//StBaseNode/parent"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="nodeSources" upperBound="-1"
>>> eType="#//StTokenSource"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>>> eSuperTypes="#//StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="coordinate" eType="#//StCoordinate"
>>> containment="true" eOpposite="#//StCoordinate/owner"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType"
>>> lowerBound="1"
>>> eType="#//StTokenType"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="originalNode" eType="#//StBaseNode"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="tokenSource" lowerBound="1"
>>> eType="#//StTokenSource">
>>> <eAnnotations source="teneo.jpa">
>>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>>> </eAnnotations>
>>> </eStructuralFeatures>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="formattingType" lowerBound="1"
>>> eType="#//StFormattingType"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="nonRegulars" upperBound="-1"
>>> eType="#//StNonRegular" containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>>> <eLiterals name="Regular"/>
>>> <eLiterals name="Special" value="1"/>
>>> <eLiterals name="EOF" value="2"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>>> lowerBound="1" eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>>> lowerBound="1" eType="#//StToken"
>>> eOpposite="#//StToken/coordinate"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>>> <eLiterals name="None"/>
>>> <eLiterals name="IndentOnly" value="1"/>
>>> <eLiterals name="FormatBefore" value="2"/>
>>> <eLiterals name="FormatAfter" value="3" literal=""/>
>>> <eLiterals name="Full" value="4"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="nonRegularType" lowerBound="1"
>>> eType="#//StNonRegularType"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>>> eType="#//StToken"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>>> eType="#//StInterpretationContext"
>>> containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>>> <eLiterals name="Special"/>
>>> <eLiterals name="FreeNode" value="1"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>>> eSuperTypes="#//StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="concreteId" lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> </eClassifiers>
>>> </ecore:EPackage>
>
>
Re: [Teneo] Not-null property references a null value [message #92155 is a reply to message #92110] Tue, 31 July 2007 12:09 Go to previous messageGo to next message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Alain,
Yes it is true that the current default is String and not Ordinal. Overall in my view String is
better (at least it was for me). You can change this behavior by setting an @Enumerated annotation
in the edatatype of the enum.
A global option can also be of use here, please enter a bugzilla if you find that better.

I am not sure why you want to have the enumerated efeature stored in a separate table. Is it a list
of enumerates?

gr. Martin

Alain Picard wrote:
> Martin,
>
> I was using the version from July 12. After upgrading the version from
> the 21st, now both of my issue with the options have melted away. Great
> news.
>
> Now on the remaining point from my previous post:
> If you look at the ecore that I submitted, some columns are of type
> EEnums. When looking at the database, those enums are not mapped as
> table. Looking at previous post, and at bug 182825 and at the default
> for enumerated columns being ordinal (9.1.21) then how do I get the
> extra tables generated and the ordinal values saved instead of the text
> value in a standard varchar column.
>
> Thanks,
> Alain
>
>
> Martin Taal wrote:
>> Alain,
>> Which bug do you mean (182825 seemed to point to another bug)?
>>
>> Not finding the hbm file can be caused by this issue:
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535
>>
>> This was solved in the build of 18 july. Which build are you using?
>>
>> The other exception you get is this:
>> > Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>> > Unknown column 'strootnode2_.concreteid' in 'field list'
>>
>> Normally this occurs because the db schema is not in sync with the
>> (in-memory) mapping. Does this maybe apply to your case?
>> Other than this I have no real idea why this exception occurs when
>> update_schema is false.
>>
>> Yes the epackages are required for the initialization. The hbdatastore
>> does some computation which is not required for all users (adds
>> econtainer mapping and computes referer relations). But overall I
>> don't think that this takes much time (I have never done performance
>> measurements on that though).
>>
>> Setting the update_schema to false surely saves time and it is the
>> only option I know for getting better start up times.
>>
>> gr. Martin
>>
>> Alain Picard wrote:
>>> Martin,
>>>
>>> After not being able to generate the mapping and constantly getting
>>> the error mentioned earlier, I decided to switch to use a joined
>>> strategy.
>>>
>>> Well, I can now successfully save a model instance to the database.
>>>
>>> That being said, I am just facing more issues.
>>>
>>> First, off if you look at the ecore that I submitted, some columns
>>> are of type EEnums. When looking at the database, those enums are not
>>> mapped as table. Looking at previous post, and at bug 182825 and at
>>> the default for enumerated columns being ordinal (9.1.21) then how do
>>> I get the extra tables generated and the ordinal values saved instead
>>> of the text value in a standard varchar column.
>>>
>>> 2nd, I am trying to find the best and most efficient way to
>>> "initialize" the HbDataStore.
>>>
>>> I have tried to set the USE_MAPPING_FILE property, only to get
>>> exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
>>> not mapped, etc. I found a post of March 27 covering this issue, but
>>> here is what I get in my log:
>>> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
>>> hbm files in class paths of epackages
>>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
>>> descriptor file List
>>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
>>> ;hibernate.hbm.xml
>>> and then it moves on. I have tried to put the hibernate.hbm.xml file
>>> in the classpath (beside log4j.properties), at the root, in the
>>> package directory. When comparing with the above mentioned post, I
>>> don't see any other try path listed or !found anywhere. Any clue?
>>>
>>> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
>>> initialization (once the schema is stable, I believe that should be
>>> the standard way to go). Anyway, I now get the following after
>>> executing a query:
>>> org.hibernate.exception.SQLGrammarException: could not load an
>>> entity: [StInterpretationContext#1]
>>> at
>>> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>>>
>>> at
>>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>>>
>>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
>>> at
>>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>>>
>>> at
>>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>>>
>>> at
>>> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>>>
>>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
>>> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
>>> at
>>> org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
>>> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
>>> at
>>> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
>>>
>>> at
>>> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>>>
>>> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
>>> at
>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>>
>>> at org.hibernate.loader.Loader.doList(Loader.java:2220)
>>> at
>>> org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
>>> at org.hibernate.loader.Loader.list(Loader.java:2099)
>>> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
>>> at
>>> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>>>
>>> at
>>> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
>>>
>>> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
>>> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
>>> at test.TestSTM.main(TestSTM.java:100)
>>> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>>> Unknown column 'strootnode2_.concreteid' in 'field list'
>>> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
>>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
>>> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
>>> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
>>> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
>>> at
>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>>>
>>> at
>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
>>>
>>> at
>>> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
>>>
>>> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>>> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
>>> at
>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>>
>>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
>>> ... 25 more
>>> this does not occur if the option is not specified. Any idea why this
>>> is happening?
>>>
>>> At last, what would be your most efficient "initialization" routine
>>> for HbDataStore. Do you need to set EPackage every time? etc.
>>>
>>> Thanks again for all your help. We're slowly but surely getting there.
>>>
>>> Alain
>>>
>>>
>>> Martin Taal wrote:
>>>> Hi Alain,
>>>> The following happens. The StTokenImpl has a many-to-one reference
>>>> to the StTokenSourceImpl. Before saving the StTokenImpl it nullifies
>>>> the reference to the StTokenSourceImpl because StTokenSourceImpl is
>>>> not yet saved in the db (this nullifying does not occur in the
>>>> object but in a separate array of values kept by hibernate).
>>>> This can be repaired by first saving StTokenSourceImpl or by setting
>>>> a cascade annotation on the ereference (I tried the last and it
>>>> seemed to work, see the attached ecore).
>>>>
>>>> gr. Martin
>>>>
>>>> Alain Picard wrote:
>>>>> Oops, here is the attachment
>>>>>
>>>>> Alain
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>e
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <ecore:EPackage xmi:version="2.0"
>>>> xmlns:xmi="http://www.omg.org/XMI"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>>>> name="STM_MetaModel"
>>>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>>>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>>>> lowerBound="1"
>>>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="rootInterpreter" lowerBound="1"
>>>> eType="#//StInterpretationContext" containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="mainTokenSource" lowerBound="1"
>>>> eType="#//StTokenSource"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>>>> lowerBound="1" eType="#//StRootNode"
>>>> containment="true"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="interpreterId" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>>>> eSuperTypes="#//StConcreteNode"/>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>>>> eType="#//StBaseNode"
>>>> eOpposite="#//StBaseNode/children"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>>>> upperBound="-1"
>>>> eType="#//StBaseNode" containment="true"
>>>> eOpposite="#//StBaseNode/parent"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="nodeSources" upperBound="-1"
>>>> eType="#//StTokenSource"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>>>> eSuperTypes="#//StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="coordinate" eType="#//StCoordinate"
>>>> containment="true" eOpposite="#//StCoordinate/owner"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="tokenType" lowerBound="1"
>>>> eType="#//StTokenType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="originalNode" eType="#//StBaseNode"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="tokenSource" lowerBound="1"
>>>> eType="#//StTokenSource">
>>>> <eAnnotations source="teneo.jpa">
>>>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>>>> </eAnnotations>
>>>> </eStructuralFeatures>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="formattingType" lowerBound="1"
>>>> eType="#//StFormattingType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="nonRegulars" upperBound="-1"
>>>> eType="#//StNonRegular" containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>>>> <eLiterals name="Regular"/>
>>>> <eLiterals name="Special" value="1"/>
>>>> <eLiterals name="EOF" value="2"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>>>> lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>>>> lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>>>> lowerBound="1" eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>>>> lowerBound="1" eType="#//StToken"
>>>> eOpposite="#//StToken/coordinate"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="uriString" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>>>> <eLiterals name="None"/>
>>>> <eLiterals name="IndentOnly" value="1"/>
>>>> <eLiterals name="FormatBefore" value="2"/>
>>>> <eLiterals name="FormatAfter" value="3" literal=""/>
>>>> <eLiterals name="Full" value="4"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="nonRegularType" lowerBound="1"
>>>> eType="#//StNonRegularType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>>>> eType="#//StToken"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>>>> eType="#//StInterpretationContext"
>>>> containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>>>> <eLiterals name="Special"/>
>>>> <eLiterals name="FreeNode" value="1"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>>>> eSuperTypes="#//StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="concreteId" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> </eClassifiers>
>>>> </ecore:EPackage>
>>
>>


--

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] Not-null property references a null value [message #92238 is a reply to message #92155] Tue, 31 July 2007 19:09 Go to previous messageGo to next message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

Thanks I have successfully added the @Enumerated(ORDINAL) and that worked.

I was kind of expecting the enumerated efeature stored in a separate table to do like Michael Kanaley mentioned a few months back. I
also felt that from a pure database perspective that made the stored model "self-sufficient" and complete, without having to rely on
external data if someone wanted to work with the database only.

Obviously, when dealing with the contents with EMF/Teneo, it really doesn't make much of a difference.

Cheers
Alain
Re: [Teneo] Not-null property references a null value [message #92253 is a reply to message #92238] Tue, 31 July 2007 20:31 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Alain,
What I remember from Michael's issue was that it was a list of enumerates. For that case it is
logical to have a separate table (each record in the table is then one enum instance of the list).
For single value fields a column is enough.

gr. Martin

Alain Picard wrote:
> Martin,
>
> Thanks I have successfully added the @Enumerated(ORDINAL) and that worked.
>
> I was kind of expecting the enumerated efeature stored in a separate
> table to do like Michael Kanaley mentioned a few months back. I also
> felt that from a pure database perspective that made the stored model
> "self-sufficient" and complete, without having to rely on external data
> if someone wanted to work with the database only.
>
> Obviously, when dealing with the contents with EMF/Teneo, it really
> doesn't make much of a difference.
>
> Cheers
> Alain


--

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] Not-null property references a null value [message #608925 is a reply to message #91822] Thu, 26 July 2007 05:36 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Yes I would need a small testcase to reproduce this.

gr. Martin

Alain Picard wrote:
> I have created a new EMF model and have been populating it, saving it
> and validating it as XMI.
>
> I now added code to use Teneo and I get the following error:
> org.hibernate.PropertyValueException: not-null property references a
> null or transient value: StToken.tokenSource
> at
> org.hibernate.engine.Nullability.checkNullability(Nullabilit y.java:72)
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:290)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at
> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
> at
> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
> at
> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>
> at
> org.hibernate.event.def.DefaultSaveEventListener.saveWithGen eratedOrRequestedId(DefaultSaveEventListener.java:33)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>
> at
> org.hibernate.event.def.DefaultSaveEventListener.performSave OrUpdate(DefaultSaveEventListener.java:27)
>
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>
> at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535 )
> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
> at
> com.castortech.common.visitors.BaseSTMTreeCopier.save(BaseST MTreeCopier.java:224)
>
>
> It is telling me that the Tokensource is null. I put a breakpoint at the
> source of the error and looking at the culprit record it appears at that
> point to be null, but when looking at the EMF objects it is not. Here is
> the XMI output of it (look for "<==here"):
>
> <rootInterpreter mainTokenSource="//@sources.0"
> interpreterId="CobolInterpreter">
> <root concreteId="CompilationUnit">
> <children xsi:type="STM_MetaModel:StConcreteNode"
> concreteId="ProgramUnit">
> <children xsi:type="STM_MetaModel:StConcreteNode"
> concreteId="IdentificationDivision">
> <children xsi:type="STM_MetaModel:StToken"
> image="IDENTIFICATION" kind="264" tokenSource="//@sources.0"> <==here
> <coordinate length="14" type="Token"/>
> </children>
>
> I can surely pull some more stuff, please just let me know what would be
> needed to figure this one out.
>
> Thanks
> Alain Picard


--

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] Not-null property references a null value [message #608943 is a reply to message #91858] Thu, 26 July 2007 17:48 Go to previous message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

I have tried to put together a test case and I now get an error generating the mapping:
Exception in thread "main" org.hibernate.MappingException: Cannot use identity column key generation with <union-subclass> mapping
for: StToken
at org.hibernate.persister.entity.UnionSubclassEntityPersister. <init>(UnionSubclassEntityPersister.java:67)
at org.hibernate.persister.PersisterFactory.createClassPersiste r(PersisterFactory.java:61)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configur ation.java:1294)
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.buildSess ionFactory(HbSessionDataStore.java:170)
at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initializ e(HbSessionDataStore.java:87)
at test.TestSTM.main(TestSTM.java:49)

I did get that once yesterday and did a search and thought it was related to a duplicate naming issue. Changed that and then that
went fine. But not today.

I am enclosing the zip of the small project, except for the auto-generated stuff (no manual changes done here yet).

There is also the TestSTM program which was intended to reproduced and demonstrate the initial issue.

Thanks for your help and insight here.

Alain


Martin Taal wrote:
> Yes I would need a small testcase to reproduce this.
>
> gr. Martin
>
> Alain Picard wrote:
>> I have created a new EMF model and have been populating it, saving it
>> and validating it as XMI.
>>
>> I now added code to use Teneo and I get the following error:
>> org.hibernate.PropertyValueException: not-null property references a
>> null or transient value: StToken.tokenSource
>> at
>> org.hibernate.engine.Nullability.checkNullability(Nullabilit y.java:72)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:290)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at
>> org.hibernate.engine.Cascade.cascadeCollectionElements(Casca de.java:296)
>> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java: 242)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :219)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeAft erSave(AbstractSaveEventListener.java:456)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:334)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at
>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:507)
>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :499)
>> at
>> org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:218)
>> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
>> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :216)
>> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:16 9)
>> at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.cascadeBef oreSave(AbstractSaveEventListener.java:431)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav eOrReplicate(AbstractSaveEventListener.java:265)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.performSav e(AbstractSaveEventListener.java:181)
>>
>> at
>> org.hibernate.event.def.AbstractSaveEventListener.saveWithGe neratedId(AbstractSaveEventListener.java:107)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.sav eWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener .java:187)
>>
>> at
>> org.hibernate.event.def.DefaultSaveEventListener.saveWithGen eratedOrRequestedId(DefaultSaveEventListener.java:33)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
>>
>> at
>> org.hibernate.event.def.DefaultSaveEventListener.performSave OrUpdate(DefaultSaveEventListener.java:27)
>>
>> at
>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
>>
>> at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535 )
>> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
>> at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
>> at
>> com.castortech.common.visitors.BaseSTMTreeCopier.save(BaseST MTreeCopier.java:224)
>>
>>
>> It is telling me that the Tokensource is null. I put a breakpoint at
>> the source of the error and looking at the culprit record it appears
>> at that point to be null, but when looking at the EMF objects it is
>> not. Here is the XMI output of it (look for "<==here"):
>>
>> <rootInterpreter mainTokenSource="//@sources.0"
>> interpreterId="CobolInterpreter">
>> <root concreteId="CompilationUnit">
>> <children xsi:type="STM_MetaModel:StConcreteNode"
>> concreteId="ProgramUnit">
>> <children xsi:type="STM_MetaModel:StConcreteNode"
>> concreteId="IdentificationDivision">
>> <children xsi:type="STM_MetaModel:StToken"
>> image="IDENTIFICATION" kind="264" tokenSource="//@sources.0"> <==here
>> <coordinate length="14" type="Token"/>
>> </children>
>>
>> I can surely pull some more stuff, please just let me know what would
>> be needed to figure this one out.
>>
>> Thanks
>> Alain Picard
>
>
Re: [Teneo] Not-null property references a null value [message #608945 is a reply to message #91858] Thu, 26 July 2007 17:49 Go to previous message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090407000705010405040502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Oops, here is the attachment

Alain

--------------090407000705010405040502
Content-Type: application/x-zip-compressed;
name="STM.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="STM.zip"

UEsDBBQAAAAIAAlr+jbTnzGV9wAAAP0BAAAOAAAAU1RNLy5jbGFzc3BhdGid kUFLw0AQhc8K
/oew9+7ai3hILFUitGiVJBU8lc3ukKyus3F2t7T/3mgbLFI89DZv+N7jDZNO Nh82WQN54zBj
Y37JEkDltMEmY8vqfnTNJjcX56my0vtOhrYXZ78KMNA2eTeoM+ZJseR7uRvF MRI2naMAPR0o
Ats7rakHJwQljlt3qHI4oI4aDsqazgN/04FbGVG1fXE+L/LV3dOims4WeSH+ cgYDEErLNdSx
4dHsnUC8DBK1JP3yWG07EHO5lmU+GvOrEyp1GrhyBJzgMxoC/WxjY9CfeN2y zIvVw+y2mBav
omxlH/hfkouhi2EIqw3+wKk4/OMXUEsDBBQAAAAIAHuI9zYKeu5K5AAAAJgC AAAMAAAAU1RN
Ly5wcm9qZWN0vZLNasMwEITPCeQdjO+V2lsPigNt6c0lYOcBVGnjylg/SLLJ 41eS5RYTAj2U
3GZGO3zLInK4yKGYwDqh1b58Qo9lAYppLlS3L0/t+8Nzeah2W2Ks7oH5N3DM CuPDdEg3RFEJ
VdPWBCcVI6alBOUrghcV09x3yeCV+xzFwBsDLLpsX0OVKp6STNG2Q8AGYRyg nnvEtA2CTjQV
wP6uEBrUdmNku+zxOiD4ivInruGAaqrEGZx/uS+2YV8g6b9Ac7KcPPD8aCFP z+b2tef3uECa
u9WJKx+HsRPq46qw6Ej8+Qvrn/UNUEsDBAoAAAAAAAaQ9zYAAAAAAAAAAAAA AAAOAAAAU1RN
Ly5zZXR0aW5ncy9QSwMECgAAAAAAMVn5Nq0pVbloAAAAaAAAAC4AAABTVE0v LnNldHRpbmdz
L29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLnByZWZzI1dlZCBKdWwgMjUg MTE6MDk6MzMg
RURUIDIwMDcNCmVjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xDQplbmNv ZGluZy8vbW9k
ZWwvU1RNMi5lY29yZV9kaWFncmFtPVVURi04DQpQSwMECgAAAAAAFWv6NgAA AAAAAAAAAAAA
AAgAAABTVE0vYmluL1BLAwQKAAAAAAAWa/o2AAAAAAAAAAAAAAAAFgAAAFNU TS9iaW4vU1RN
X01ldGFNb2RlbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAABsAAABTVE0v YmluL1NUTV9N
ZXRhTW9kZWwvaW1wbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAABsAAABT VE0vYmluL1NU
TV9NZXRhTW9kZWwvdXRpbC9QSwMECgAAAAAAFmv6NgAAAAAAAAAAAAAAAA0A AABTVE0vYmlu
L3Rlc3QvUEsDBBQAAAAIAApr+jY+PiXlkAAAAAcBAAAUAAAAU1RNL2J1aWxk LnByb3BlcnRp
ZXN1j7EKAjEMhvdC3qHgjdq+gAoOCjfo5OiibTgr7aWkLejb27od1Gzf9/+E BMRKbg3FD7vp
mffQUC+4qWG0AwgQDzcrNxtfLCa5k2p9AyGXE8ii153gfLweNuPl1MuiL1Nd /Q7+fxiZInJ2
mDodzEaDeN05KUMhOo+K2CK3I0EkKmxQqUqJW5FKjiX/RH2pii9QSwMECgAA AAAAAmv6NgAA
AAAAAAAAAAAAAAgAAABTVE0vZXRjL1BLAwQUAAAACAB4bPo2K7uPoPQBAACU BQAAGAAAAFNU
TS9ldGMvbG9nNGoucHJvcGVydGllc62UwW+bMBTG75HyPzwJoVxSq5W2SyQO CU0btckykVY7
TDs48AKuwEa225VF+d9nQ2hJINlUFSQu/N73Pn9+tuM4oFBDKmJI8QVTBRew ERIyIRFeUK6F
Qvs3ZjyGMKE8RhgwvhED0AIGEa6f4wE4jtPvGerLE5FC6LnhUXrX08nj7RCU jsSz7vf6Pecd
8anGWMjiEBpC0NTphkol8AXXUqTgU6WN37vrZW1zCL8TFibAlF1AUa+iFk5L c0TImIRlrfdj
HHx7F29R+CpSuj6imhZmbI2SG6+1gw6RpGa8aRAsg26hu4lQClYoGU3ZH5Rn 9J7MkhRRJXpO
cjrzaZiccsZRE7UhmIQW6tKxwxEKrkRqNGjRSIjmOfLIiFS4Z13R3OqQCvCr svGeO1FHHqiM
UXurQmnMyOkGpGrf7vOdam2ynZ9zty+2nsw4KCb4vspzv+bw0422UQSLxQIK 88BsNsqy3S8A
92YE7hzMJ3N5GYg5LxGTGGrIUCkao7LnYMNMPG9bbH1VR8I5MmO59gJuWDOl rpoS8Q4anAD/
M6QztV0ZRdvxZLWcPz5Md2ADc8Pt1W5kkrn4VzJmBlN7dZQJ1e2a98WbhaBt OqiKD/M5Lvvg
XASfMxIt1XKnjG5uh85uUzvsgCzoq+VW5pB7V5eX9xOL1e9fUEsDBBQAAAAI AHVD+jYq2MUF
HggAAAttAAAPAAAAU1RNL2V4YW1wbGUuc3Rt7V1bc5s4FH7fmf0P1J3ppA8x V19Ik+3FyXY8
01y2bjd9yxBQbE25Vci57K9fAQZDLGyEwIkbeMjEIJ2jc9HRd46wfPj+3rGF W4AC6LlHHbkr
dQTgmp4F3elR5+NkNB533v/15x+Hk2+nV6cAG6eeBeyDCf6GAPjqeVi4d+BB 2l8J+xOKbnBA
7h91Zhj7B6J4d3fX9Zxp10NT8cfpOG0S5JvcqVELRZJk0uzLxJwBx9iHboAN 1wRJr9xI0v6m
53RNI8AewsCcdQPsdMiwBeEw8ObIBIEwR3CCUSTWDbTBgTg6EIFpQz8A4hjB 4NJDPwPfMIH4
3YUTYAMTi4u+4qvLrnltdwRsXE/gf4DoqSPG1BFRwdjFAPkIkL+CY0D3m/cT uJOo61FHFD8s
qISqgcumY+uoM/KuPTvTPR7ygqxgeq4Z3o5bOj60DUy0TIaHk4akqTmDtoWA KxBtHuAHn/B8
bKvRgtAZ+dzJkb1A3hQZTp4kL9GxBVwMb6AZDfcY3sLQObL0y3GI9Eh05hhT 8hTmqHaEn9Al
vJS+RsxSqPAcz5Cr5yHi2gYGgg3cKZ4RU4YEIv4xPzE/TjEZKOfwrUQNi4HL g0HFgXs3NwHA
hEKvkwox3IoM3WTwfanPOXhFXQ5ebmjwG91+bF0YyCD/+bPVMbMqx49p7kMr 0ZKqs2ipQE/9
jJ6kdYoqVNUWLU2XQe2XtDWnCMX2juIsCfAWbcCsurlLdaMoTLop0I5eWjvr 9PNMba9JvLZv
JADQlyiuaFDM7OMczzxUSLyKjYyIZHe5mNTgiFomJA8qOyL/VHUcYpsv0AX0 gbOq6s3re/3d
8s9nYNsEp4V4ah4CtslDgIETdMnD47DFx3dLaMGoVLpae5kZoOib9Lpes4yz n3qbfpPLZscG
NuqCeRahlbq1xgszBpnguqs4b6jtMM7TlafEeVnHnJCEbsU/eRmESSNJKSck 7SSaK2BRxQR3
MeH9IKacGKQ3ZA1KVKNkMocwi2g01OflChYqWsij9eqQR5bl7S1dNYGlIkmG daDBWuYNCEwE
/dBaJy5GD1VXYzYuV1PgAgTNovWVh98XcAvss7lzvSy0VGGQdwBJTuemzorC Ep4UP1AyHq1s
Bg0RnWJvKPOYE7UVJljlyT+KgPum5z8gOJ3h6glXwpym4WwQ3DjVFoQaV3Ft 0SVmSJGbIRtf
UFknVRW02kan7UUndRmdhvXNnWyq+GyiU17yGxjmeWkup1aJzXTZM/Onzz1/ mvDSkW3MA2r2
XA+/C2jiOQLr2VSxmU9mVlI7HUqV3LXAaL2Mw6rlHHaj4aImzDLe7w2lt6mU 9Qo5WAq5EdWn
lDYJ+ZSwYtve/a9hzxvw69uQbBqImQoCecYUo/fVJozOvZhBDJBhr5eGh8GZ 55K1MlyLS7Cq
ndkVufMVmHMUwNs1nlKed95f3vyae/jdh73Xb4Xjz+K5T7q+ukw26QW5qwh6 X5RlUepR2MWd
l5C5aoiJL6rPDbKBZmO+/YjgZtcr3ayMGz99eGsc0iuq1kL6FtKXnttUH9Ke Y8FhO5Be0bQW
0u8apFd68vOB9JLcDKRXer0W0r80SK/05RbS/26Q/kcMyyUpD897erWK9nIg NP+pUgdY0GvR
ee3ofFB2Czyl0qLzFp0/8iH95aLzodKi851D50P9+aDzpgruit5I7bVF5xVY bA+d63qLzn/j
gvsoeelE2Bu9FWRd7wtFrwwL2yi2q3I2yJQOpQuCLZyvG86r/fb9mRbO88F5 dfBy359RB+37
MzsH59XhM3p/pqliuzps3595cXBebSaH417MWjjPxDvvL1sstquV0sEFvRad 143ONal9FeYF
ofNGvnujSc+x2F6s2ga+e0PuGQ/7PnEGLz3Nos4v32jZooa8Azpu04RVthSz Zk8redo0Qd+T
tGbSBE2V2jSBn9/3gNipft82Pcff7yWGl2W9Vsuzli4iSq3ldzlB1LQXmiBu LTsMz7+bAkQa
hOf84fWsqngHdw13yZrmHyznNz2i1yaAtSeA2eN2niYBLHhAvU2/yTWdLpBn AosAx7pO5PET
gimcYqqj0K2Uea957ZlIRcpklqL+c3m0/i4fwKhl96Ce5ATG2Kk+edZKeYOT dHLQWrAaOGqi
XH89Jk3iz9G6KkkVQEwwnWfv+2TsfKk83Yuyu+GlEvmq8XbrCwxV3iHL+Tw1 yFPsMRNAcJNL
xt9EuS4h3kwWMMFEp/EpfwG+hHh2HmUfhn1yD3H6kC9BKMm9OQBdQg5+JiPD tksyqhQ8CPlk
Culy/dg5exDZ2uP5KPTKYWdeBTPukzXAkGmvrCz/vJnjbbLABsCv94W2eDir hu9JGZTO+AXy
iGZZ47P4yXYcKjdjr74H0J1ezJCxrh7Cwjhv2HlIflkXqZJk5QdAM2VmRWTc AGUzZDNqv/r0
EBWlmplZ1w+J9gd8pYeYPUX9cmbDs+RGSo5meQNUkb+mwlx2CDQdVP/CW0Sz bh0Uu+FHy4KY
xPGTex+BYDU7b4br6dzG0Lej067ZefNyv/DuAGJnysv2kxHAAmxMvzirmIsT xYv3t+kXH9d/
5oYdMrXCQv6Z4ZQKY9mLN034NQ/ThPObNH9lUnl81ZQ5szOuEtGsGrfG113U QKdU2DZfdzFF
vvxVuWvFjpW6VejE3IWxA9ti83Q4t1SzEo02NtncgHmOcu4rFEw+tcdU+ono rJetaims8FFR
qZZ2m3KTdqu88uOHJ+d/p3YoqXu6tgcltL0y4EMx/OWs6EP8b+bHtcjdQ3Fl 7IufMSMP/wdQ
SwMECgAAAAAAe4j3NgAAAAAAAAAAAAAAAA0AAABTVE0vTUVUQS1JTkYvUEsD BBQAAAAIAA9r
+jauV738VAEAAJ8DAAAYAAAAU1RNL01FVEEtSU5GL01BTklGRVNULk1GnZM9 b8IwEIb3SPyH
LN0at3ToEMTQViyIVIhUXdHFOcKp/kjPTgT8+uaDUpBgSLf43uf1e7YvCRja oPPRJ7Ija+Jw
LB5HwWtlcoVRclRP4tNJegeNcXhXqqog0y5OSrrXmVUkeyL9SCahI1Mo9M0O U8/VH3oeehb7
psC5JfhtHKKXD/ejIBRnHpNbbqPZ1pQjX4QvrARFB/Ddtn13J3GF3xUx5rMd yqolZqYmtkaj
8XE4hxrSWTQWz6Ngtist+2gJ8guK/hTrBD0kNkfV9nNREKTLK9UmQo2CY2jU 9xCHlguBUlHp
UEjLKLgynjS2/nMN9ab5boBJTY4yUuT38ZQRu9au0R4N2mG0AGOs727L3YZy K2+Lx8ptYEsZ
sgE/8CB/vl/t334NZYk80K4oY2BCN9DnbMXy9muKnaZuVLbQTOJ6/rJyzbj1 VLSAwz71wM00
9v/JD1BLAwQKAAAAAAAxWfk2AAAAAAAAAAAAAAAACgAAAFNUTS9tb2RlbC9Q SwMEFAAAAAgA
B1b6Nn6S579wAwAAbhUAABMAAABTVE0vbW9kZWwvU1RNLmVjb3JlzVhdT+JA FH038T803Wep
4j5sCGjUhYRE1FBMfNuMwy1MbGeamang/vq9LaX0U1mmq8sDhPbeM+d+zLnT 9i/XgW+9glRM
8IF91jm1LeBUzBlfDOzH2ejkh315cXzUByok9IYPhL6QBVjrgPUyry56HR9Z +EEwrnp4c2Av
tQ57jrNarToiWHSEXDhPk7G9NVFFk9V5YtE9PT1Ds1uXLiEgJ4wrTTiFAnrC pOAM1GehggQB
Ai9G6TrD2My2OAnQ2J1Nfk1Ak4mYg5+icfU4HWc4VAQdSpQWUgNddpQO0Fc9 SPDYuux/EQP0
4cYnSjGPYRosjKen30JcKk1UcjNbXs8kwFQIvfGNvV0tI6ojSfwREPyFGpAp eCAhTkAKpEQk
KSCuL1Ygr0XE51i0NKD4E4Vhdv3kDGs5S/C+OQ5yEC/A3QTBtqjgmjAeANcD G6mA7ZhRkxjd
mGuQoQT8bqaYp5Q5EI2ddIOcYK2byfWdfNIPKEP9emaBB8i0kNp9As87tJD4 8qKFteK+u8PG
zVExrf6V1pI9RzojwXaVH88/TEGK8pNoEl+w9trLGMsQuaEwtdUNWWIscCPc NzEXlSYNe4PG
4ST3nQPAr4naOJtVNyT4VxcLmkHnEnsfhkIxXTZx6JL5c4Qw7bIMpywx9f2d UaxptWayabCG
VDlCuVuh3IttdTca91YCWddYLfUFFULikCbxFsyHcrO7/t52r9Rg5+eIFUf9 NhQEHccf8/oL
PUzMTYUowOOJ3a7QHEzmhfG5OZex+ZYQki2wuH6qdnUb1XAF/XkTsJJmT8iA aI0F27/hRkUf
Y8nhU1hEPpH7Ss5d5tHmcWfIo6CkQUl4WXS3uOMxNJXabCk4TQZuCJQR37Ze iR9BnM5G0+H9
KDPrtiWjOTkz6xHheQoq56RKbT5xk1Yo+sAXevlfU9Q1++trtLYqccnUeu8c vBnJuXyWRmBy
38kN1jaPAqnSmaU/kixN1uecsA/vE/Lsst8tzOFdz5qKYUnwm1QMdRmaNW7M 5yjS99x/20cR
N0teA84nqEhjo/2Vlzw+p+bnWOqN1cB+xzPydxr9va3Gzc0os3bYjcf9B/Rd 0cdQHdR2jlUF
wRDZkwDVY1X9i4ZdpP9q5Jey9tFYb26oLKpSm7cw0XMP1q09H1VajqbLfN3b CLywAU7fmeKl
P1BLAwQUAAAACABBr/g2GXVpR5UDAADvFAAAFgAAAFNUTS9tb2RlbC9TVE0u Z2VubW9kZWzN
WN9P2zAQfkfif4iy59WMh22qWhAUOlWigGin7W1ynUtq4diR7UC7v35nJ2kb xM81gfapts/f
d/58dz6ld7xIRXAH2nAl++GXzkEYgGQq4jLphz+nw8/fw+Oj/b1eAjJVEYju D5Bj9ydYpLy7
2niIG/f3AvwhnjRdXOyHc2uzLiH39/cdlSYdpRPyezwKSxNgSkPNCJjgmQFv CGlMDg8ODsm5
M6thV668vLfyNQyYypaaJ3M7hYXth4NqGKDdt2BAjVU6mAKbSyVUwsEEI8k6 Ja1nO+MaGFot
+yGZTMfEaBYWK9ciT7gcnfVDnA8DDZE39bqUJpc0hWpZKTtKMwEpSGtG0oKO KcPVkiwGanMN
Y5r90jTLQA8ENcYhzZQSQOVQ0MQMOYjITfI0UxoxHD2efaUDatCp1jqwoSFT SM6pZHABd07E
r+7OV/p4YKSLqTAQHrk9vRh386SQ8ggPUeD1SG3eW+LVXFN2SxMUMNMQ84U/ 9Z8xWFreRMRN
pgydCbjW6o5HoIe01NXqHDD8HHiJ4ncXdJ9I4U3Bci7z1AR2mcGExuBGAzwX tRxxK+cLJLdW
gyETO1W3IKe4uYJcg15wFAy3rzeXM09ikBtIckF1SJoAm2TAOBXNgJ1fDVdA PVLJ1piMQ6VT
ai2Wii21rAORSyVhGwEewI1khKl2JcWyQdBieAouBxqHPYnRtknUXIg2AwEv rEyCLQOhDtRE
MjxAHGqASyxEz6vhSy6U4GX9rcP6uo0VzlJX5wcKhwtbP/iwKOQmkMryeLlS kWlcgMGcuwJe
zmVaYaW3ywnW68FccQamVg5LrH7oR93zG4hB4zsNwSvcIinl0heFico1exiu u+Onexqfcu4x
bx6lPLFW81luX0fJq1l8QaN6UJRB8KawuMET1MPrVdtOqSmi8vGzV6r3Q18Z X3NRb7qNip5k
FJefvIKHbjDHiBuqCKj58R9BsXKjAt6BQF35ZHzqmO1DxCfix1cK7wZhSmls 9ZGltbwriNzL
0jIFT7FhbJnjlstoB6KycEZhw453J2oF56Odsi+/Mw3dRVzvPndFALlqOBoo FoN1frak5ZqB
qDg20N4DvMEkQCZ2/h5Mz9WddwyNTZXv5UZvv90zUuZZm2lWUJBc8wlayaTd pC7ZLJ1N+F/Y
XqV199+WSGuGjczfkYL0qG9NFCXJXMf8TMfaQAqvObBLKQbPdeh+ovr2hDN+ XP9iibP/AFBL
AwQUAAAACAABcPk2A7VShxQMAACregAAHAAAAFNUTS9tb2RlbC9TVE0yLmVj b3JlX2RpYWdy
YW3FXWtT4zgW/b5V8x9Smf2wW0WI5VdsCnaqeTSvhmZ4DHRPdU2ZRCSGxGYc p3n8+r2Sk0AS
SRDpipnqSQdjX8knOkfn6srp9d8eB/3aT1oM0zzbqJNVp16jWTvvpFl3o35x /rkR1X/73y//
Ws/yMinhnLXtNOkWyaD2OEjXpte57DqIlA3X4PhGvVeW92vN5sPDw2o+6K7m Rbd5dbQ/PWU4
e8qDx89wHYfAaV/O2j06SBppNiyTrE0nV9F2XtCZ62i7n94PKb+YDm5YALe5 w06bXDPptfSy
LlxWjLIyHdAm3PwqaU4uqfM7TDsb9b+ut/ecu+2//9rpPLk3B4d3z/S2POvW a+XTPXRo3OCA
JsNRQQc0Ky+ytNyon6SPtF8H7Gq19XYv7XcKmvGY1WVTQI/zDn3d2JfNowtp YwyjKqZG1GdZ
1IBFbWqG/UPa2darzkLcYfnUp0NR1O0ieaDFGfv9fPDzheDN90Q8y4sShrAw 5K1eyM9pv6SF
LOgitlM8mxNANQG+VAHsGgJ8iQ/wpQ2ALy0CfKUC2DME+Aof4CsbAF8tA7Ci 273knoriX8hx
WKd9rpuv4nGxX9vZ6ifDYb3WK+jNRv3s/GiVH/+12Twr9zO4l/uCVu1u5fDj Y/kSsp885aMS
Dg/LIklnYk/7upmPss5wvp+L4NYeQXj9eu0JJkh33MQcJssOuW9WFP6bHYX/ blPhv+Pz47sN
fny3KECJTYVP8AFObACcWAT42qbCX+MDfG0D4GvLCv8NWeFP87zkn6W5qH8T izpxIq7qru/g
yHrbiqy37ch6x6asd/BJ0bFBio411TmM5WmcsaxDcGyAISQ+wBDUIsDK1NNM 1iE4PsAWUk8I
alnW28iyvpkMKZKst8Wy7oFLZ7Lu+z6GrB/G8gxcX9Yhqg1ZP4yV2ayZrENw fFJYyGYhqEXV
keduCLKuMFG6AAvMjznAglQTDWBlvmkq6+j5JoS0AfBS+ebSsg7qgyzr5/kd zYw1Hfol1vQA
LDq36gHKCsxhLM+5QdMDXU0XJLEvmh5oa7oqfyWmmo6ev0JIG4xYKn9dEmB5 4gYAm2q6wkHp
AixwPuYAC/JMVMlRrETJJWcnGw0UinMO5yKojmBFa+IkUdRGnmubOEhB8orh IKlNB0nxyUBt
kIFaVJsbmw7yBh/gGxsA31gEuGvTQXbxAe7aALhrWc4VS3xaDnIrz4tOmiUl hqALFguZoIde
yG1kQEIcYe9ZEfaeHWFPbQp7ik+L1AYtUou6c2tT2G/xAb61AfCtRYDl27AQ hP0OH+A7GwDf
WRb2no2lgbN8VLQxlL0nserjHRpM4VGUvW9hgeBiJK8JGSwQQNjFjwxrgQCC aw5iKS8gpHwI
6/LiYiQoByEJD8RWAWym7BAcH2BFVUgfYEEdBFV4+rgLBJ/zYpCUDKHzJ5RV gr5YenwPZZUA
8JUOMn0zeTGSF4QMzCSEVTDC0ExCcHxGKEpC+owQ1ILQJEdQCsIykxAcH2BF SUgfYEEtCA1g
QSkIy0xCcHyAFSUhfYAFdRBETQdNk+OgZSaP8+yUdkf9pDAWdOicIM9mm33D yku6OKsEALJK
2LW9pLwqZOQlBfUgPC+pWxlS0EJRF9KnhaAghKY7gnoQnpfUrQwpAFbUhfQB FlREUHVHsUdZ
x0u+yM75E4KXhP6JpSdoIUmOYHUWwUvKS0NGXlJQFMLzkrrlIQUjFMUhfUYI qkJokiMoCuF5
Sd3ykAJgRXFIH2BBVQgNYEFRCM9L6paHFAArikP6AAuKIaiartgBrllxytoF LXG2o0L3xJJO
vGo7qudH5tJO9p6Lo+3iBFfaedRnWVRtaWdhj6WdNZR2Hvx8IbgJMXjIW72Q UmLwoIvYoigP
i/1VBbCJtPPg+AB/tQHwV4sAn6gANpF2Hhwf4BMbAJ8sA/CS0s7VR46DXs2p oJQ9QGYo67xr
i3gyWW+QuNL1BttT8JB2yt5GPW5Bd2ja7ZUb9WiSgs/LvWKcVF+usTD3sS+g kK2Ny+E5Sdp3
SZcKAJpe2umKO7LT6c504OjvLztS6+8znakNeYGPT4WSb7BIii4t+QnCfRMa 9GT9+iztVzg7
wbxnAHzJ2/zNfBsCdwdDICbVACC+ggzL3o6gxjC9HQ/pdsRGJay2WHtazIaO ZLRd5osGlo0d
RWFHIUh5Vgqj6djAU3pD4UbaIjrIvk6gOQBghdXra5p17nNAXdjxU9qHNz/p 5vSs+TsQfADV
iRv1P52VmrdSa3gteNMIif/j338G/krND1rsKAnhlYQOHPVItFILYgIHAhde 3PDHK1h5jz9l
7V5eiPq43wGY0vKpOuNV/54oLR4EnGK//I+zSuKWF0a+t+KstkK3RUj835dG K4prNLrzlfz8
tF18kjTqOHFIAi8KoFU/5P+1Js2uN7mKLS9ouypB85YTNOE3OmgpwHMkF9pw 1tBpKwC0IRa0
xvjJORdLz6AllZ75SHcj1rNGdTMEX892UfVs98P0rJhxRIYitvuGiAVMqSKf yRXxQK7YW8Lk
i+la4P0w4+9zJJ/4fTayZvkrfGjvhb/C9VKjQQL9QxwkEO09g2SYrmVpf6Ne FiOsyQpafutz
5h8xm4CIE8DnzN4S4lefsx8Yf85KnZ43nsIHeWwYz+doz7rxhDYkOu3NfhsR gk7vWfed0IZE
p1uVjQ4Ud6PJQUyhhmgWhHryOHwzg5fKZg7RqPuWRLtjNY5bwFt4E41/9loY TrK/9+lC5Jsm
TtKNfUJaLfB0seNFPlhdDCs5Ot5S+VfXJcxJ+tCqY2ghn6P9ZSzkG9IkPEGT zAcfYCEPZBay
Sor9Fp42HXyAhzyQbQWpdhXjS9M+qjTt25SmyR2j6dL+G7o0/lOJ0uQHM7LG u5/e7yMkX/lh
g6zx7qZ1HwFtyMgajlewsMgKTVk3EtCGLOEL30xftdgKgweRrRDNAlv5OlUz L9JumiX92ZKm
EV2huyq6Npj/Z/+TkC1buW4EtG0Qj8ARb+wpGiRw2VHXgdzAZYkhCWYWrLRJ vYVIarzkIN7d
/gBSb8tI7fhvG+pl7+cDWL0t2RI1ligHn9VbqKzessbqEn0NGnr7jrTeZ2vL Hl9s9llWH8TA
Z87yIBgfc9n6Mz9GXLbK02DXeODq5xIJbYYr607esgwXbDvUZISy7oTisaEN McPHjFAVapa9
GesOG9oQ0zvCpzVmuQmiWaN1W/DEuyGr36osMVa7fKKuFusa/AfBcl3NIPG/ vP15lm8XF/Md
Yb+EFDwKnKjVIjzxj8AjRL5ZIn78/TFCFAnhc1g6vDq+TeX9QhIJ1obEBrjV shqWCWAt2VYJ
1oZkE93Y0mBbezZ28NSCRbOmFtl0CzrSAiHrrdrZt3gpmsQR/F2phRczW8/M PqtI80N8/Z85
fZj43Vfyob2Cd3+6uXkkLwaHIXFIGLMVvJi/NywFH5fnSvnwEZcGtIYo9A9x iEK0f6aUxFp+
r+d0PbYi7ZKx5wx5dclzJ/7SDYNqvjLNII/djv/+DFLyhO5rfykYHFpi63YC 2xkka0M2dcRY
kwa0YTtzZG1I1oN8KxsA2KBBJCREszBnvDyw1Bze03aa9JFYDN19g8U+W/EJ Ilb9D9nmJXhH
nHCesCYzRD5w7335DEF8xwOPGcEMQYhL/DjwDKcItxO+f4qQPHxlc4qA/qGO yPAfmiKg5fcM
Li9yJ6OLvxUML60Pmuz/frUv3e69kEq8OR8I941p6Cjr14G0XzipBG9jcRd2 td1g8jw0zrTA
mxLsqp7eDkIuwdsQPNLCp7dqY5iqQqnBQj54FNvYl2MhjybfyY8xL9wUdO7R JwPu8v4K8H7J
Jjy+R5XlD2zJkLR49kBiRlvSAuPnQVrhmZX5Du6G9xeChQchf6WPUuFXBFi/ /pD2C4e/vI3z
xTZY8oy5qZO3c6u4FwTy8jaexffiEhsVeT5yFtHTJC+PtoiR+ULA+KmW5hBx oxDvrADsKXOB
rT5bMQwIkLcRumxHugu0hdybHXX4K8vX/BCsHqTkK+MN6She7/e90Wlbvpj4 emt4yzWyeQyI
S0T1wJr9Wb+uPkA9rsTq4eM+5MJb+gD9uBLrR6MqnhAL+nGJqh+XNvWDbQTf n2wRpwWajlyq
dOTdG3vWp/8K8+SJODj4f1BLAwQUAAAACAALY/g2aX+lnfQAAAClAgAAFQAA AFNUTS9wbHVn
aW4ucHJvcGVydGllc61RQW6DMBC8I/GHURpuEb1XTaVIUClSgQj8ARc2YNWx LUNC8/vauJXa
Ww/4tDu7Ozs7jqMHPLfa3K3oh+kl9unjn9xD22O3jSMf7Vd4nodptLojdHQj qQ3ZJ48CmUZZ
MbQDVz1hGgjG+vIkaMQ7TTORcrAYIYUicNX5pjC7SZIEeZmhegWrD2XzdmB5 hlNdnfKaHfMG
rmGzDKZhouAfjgOK5p81dyh+oR24MeS59aLBh/q8hGchw9ogMfD4wnKO67+O Qfdv0nQ969b8
hP/4taZyI6+9UKUzGHs0rEDhPJMOt/omOrLflXmeU/rkFyMp1baPoy9QSwME FAAAAAgAWUb5
Nm2ow2lpAAAAkQAAAA4AAABTVE0vcGx1Z2luLnhtbLOxr8jNUShLLSrOzM+z VTLUM1BSSM1L
zk/JzEu3VQoNcdO1ULK34+WysU9NzsksKE5FqDUGqgVJASUVdXV5uRRskvML Kosy0zNK7EA8
fWQuUEDFM0WFl0tXF6KlIKc0PTMPzAby9OFcAFBLAwQKAAAAAAAOS/o2AAAA AAAAAAAAAAAA
CAAAAFNUTS9zcmMvUEsDBBQAAAAIABRd+jYRikOQhgAAAO8AAAAcAAAAU1RN L3NyYy9oaWJl
cm5hdGUucHJvcGVydGllc3WOwQrCMBBE74X+ykYoeAjk1qMexA+QNAltyiar u1Hp31vjRdAe
Z94bmCkOgbMtARzlHFyJlMFzfAS+OLQihniEcS6QEqRFbgh9pW0z/ZveGc3s B6erq5VCchYn
kqK7brdXUtLWUt5dCoaJyoZzXQ89ib355j5aXHk9+tPCcTmfDv0ntM0LUEsD BAoAAAAAAOBp
+TYAAAAAAAAAAAAAAAAWAAAAU1RNL3NyYy9TVE1fTWV0YU1vZGVsL1BLAwQK AAAAAADgafk2
AAAAAAAAAAAAAAAAGwAAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC9pbXBsL1BL AwQKAAAAAADX
Y/g2AAAAAAAAAAAAAAAAGwAAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC91dGls L1BLAwQKAAAA
AAAOS/o25ZTLjikAAAApAAAAJAAAAFNUTS9zcmMvdGVuZW8tcGVyc2lzdGVu Y2UucHJvcGVy
dGllc3RlbmVvLm1hcHBpbmcuaW5oZXJpdGFuY2U9VEFCTEVfUEVSX0NMQVNT UEsDBAoAAAAA
AGZI+jYAAAAAAAAAAAAAAAANAAAAU1RNL3NyYy90ZXN0L1BLAwQUAAAACAAc Vvo27wGuiS0F
AAAZDgAAGQAAAFNUTS9zcmMvdGVzdC9UZXN0U1RNLmphdmGtVm1v2zYQ/uwA +Q+HfJI7jw5a
oAMW5EOQOouH2QlsF+gwDAEtn20ulCiQVBqv6H/fHSnJUpw0HVDDcSTy7ngv zz3H4Zsf+zk+
gjdwaYqdVZuthyTtw9vT03cD/n0/gEvpvLGwwHSbG202Ch2M81QEtQutIag5 sOjQPuBKwMdc
ln5rrPoXV1A6HMCqLLRKpVcmH0BQJIsr5bxVy5JXQTngt9TrHRTWbNVSedJe 7kDLz/Gs8LPY
kiQJbKzMQOYr8FuE1GSFRo8wno3nIIvmMJAWWbqwCr20O8ikR6ukjsZYX+Ue tcbUl7TKomj9
Dsz6xbhh70w4jvyRFPyGokFLLnsrV5hJe/8tI6z+Yz/D46NhVUqLknNH4f9e anj7PlTyF97j
PxIsZHovNwgenT87Pjo+UllhrId/5IMUyogrpfHsYHV8M3pMseC8PtmkEmpx aUIaade1bRq7
EZhqVTgUmK0F1SozeVT5OBufvSiIqbEoRrfR19fkCH2mtCmKWfXwvxXm6L9b h6R0W3FM768p
P2Yq6n2ajGvVK5kSPHbfVveYoxHUEWhzKqy4Xn6QXs5J8RtBHipdoyZsf79G E+x1vfR8altn
1E/P4KQrOUfnXt+ustNG03wxuZtQK0/MCrXovB0A5YmsX1jEmTER8UW5JJKA VEvnqD2dJ2n4
cnzUG75hkkFiCpVDhsRjq9AzvUrDeWKWFB6MWgWZZE60lW/++pu4ZuP6wUZv OKy6MNBTUy7B
e2uVE9NELVjVW1OZIZzDydxnjfjJ2V6+VfS9EikkrY1+XWQxns4XF9PLkUiD F7OKnRrJpHNu
n84B6NWOm3ytNqWNvtf955jIAx97ZuBuSI014dA3GkmOnxt9ys8XeK5eAmtn v/ZDZYIT41x5
ommaIE8yGAcAHUMOFWGvQR2Voyg4qUTrA+L1ypQvLQ2dmAhXjQtL4C5MvmJp L5eaNqjavMeh
LKV7Gpdq/ElqL6s6dqBKjnVez/e1Ehv0XeHKEtvqYobHSew0DhS8ga3RcdLV G64FpRYPNfv8
fA5cgCcsFQ5tDqyBEWxT9sKkZBcaB9ZVJOwE5VWTGI38NQ0IwEeiDI4nOtM6 mmN9QnHxJA6a
N0e16sJU+xNZ0FZRejbVS2ptUW2LWl98GF1dfPxjcTf6tBhN5+Ob6SCE+Typ Jv0WpjrBNiPQ
AHnCaFc+jPIHqTQjgu4soUO1kQyT50KsENwKjfxPngf5dH5H027wSgvEToyf yuvfGAHkMGnz
hYIfM9YNNWCvACIMWIDX+P85v1XNfxXXQjfyc3KCj5LvS8L57CSU42LpjC49 3kq/7aTsEJBr
YyMD7I+v874XOm/jsOGguJJUPtanUOIiZzbZFZzypHWdEKPJ7eLPu8nFbQTv V/6hC166haR1
KQGs2Jc9X9x8uIGL0pufNzTXbLgQRZWlNul9EENBaM/93FMZFlammLTs899+ ZtCtrnogyt0v
9xufKYtEnIRq7yLEk9NOp90USLfRANWKBcLtk6aJZeMydzIEG3BWS1RsQmd2 eUXQLTWvhCqf
KwGxJDDmi729Vr/vM03+TOR9gDxNC8ddkftYzMaQkw+Y1FFHI3E6ZJmKiEyJ EHgwUAsdMGdj
hjLR8Sbc/5RPWha1cZHlax2YUp5zJJZzfGdX647FlOWTQyQc3j5g2yBi+1Kt e/MdRZ8JtDZK
6Dw5yfjkDf56Aj+RDY5hEldiczQIoSv3sNc7uB8B3WRm+16I+D+QSmrsDGJD 15OYTbYMxEK8
0A2hsPQlf+j7H1BLAwQKAAAAAAAAa/o2AAAAAAAAAAAAAAAABAAAAFNUTS9Q SwECFAAUAAAA
CAAJa/o2058xlfcAAAD9AQAADgAAAAAAAAABACAAAAAAAAAAU1RNLy5jbGFz c3BhdGhQSwEC
FAAUAAAACAB7iPc2CnruSuQAAACYAgAADAAAAAAAAAABACAAAAAjAQAAU1RN Ly5wcm9qZWN0
UEsBAhQACgAAAAAABpD3NgAAAAAAAAAAAAAAAA4AAAAAAAAAAAAQAAAAMQIA AFNUTS8uc2V0
dGluZ3MvUEsBAhQACgAAAAAAMVn5Nq0pVbloAAAAaAAAAC4AAAAAAAAAAQAg AAAAXQIAAFNU
TS8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMucHJlZnNQ SwECFAAKAAAA
AAAVa/o2AAAAAAAAAAAAAAAACAAAAAAAAAAAABAAAAARAwAAU1RNL2Jpbi9Q SwECFAAKAAAA
AAAWa/o2AAAAAAAAAAAAAAAAFgAAAAAAAAAAABAAAAA3AwAAU1RNL2Jpbi9T VE1fTWV0YU1v
ZGVsL1BLAQIUAAoAAAAAABZr+jYAAAAAAAAAAAAAAAAbAAAAAAAAAAAAEAAA AGsDAABTVE0v
YmluL1NUTV9NZXRhTW9kZWwvaW1wbC9QSwECFAAKAAAAAAAWa/o2AAAAAAAA AAAAAAAAGwAA
AAAAAAAAABAAAACkAwAAU1RNL2Jpbi9TVE1fTWV0YU1vZGVsL3V0aWwvUEsB AhQACgAAAAAA
Fmv6NgAAAAAAAAAAAAAAAA0AAAAAAAAAAAAQAAAA3QMAAFNUTS9iaW4vdGVz dC9QSwECFAAU
AAAACAAKa/o2Pj4l5ZAAAAAHAQAAFAAAAAAAAAABACAAAAAIBAAAU1RNL2J1 aWxkLnByb3Bl
cnRpZXNQSwECFAAKAAAAAAACa/o2AAAAAAAAAAAAAAAACAAAAAAAAAAAABAA AADKBAAAU1RN
L2V0Yy9QSwECFAAUAAAACAB4bPo2K7uPoPQBAACUBQAAGAAAAAAAAAABACAA AADwBAAAU1RN
L2V0Yy9sb2c0ai5wcm9wZXJ0aWVzUEsBAhQAFAAAAAgAdUP6NirYxQUeCAAA C20AAA8AAAAA
AAAAAQAgAAAAGgcAAFNUTS9leGFtcGxlLnN0bVBLAQIUAAoAAAAAAHuI9zYA AAAAAAAAAAAA
AAANAAAAAAAAAAAAEAAAAGUPAABTVE0vTUVUQS1JTkYvUEsBAhQAFAAAAAgA D2v6Nq5XvfxU
AQAAnwMAABgAAAAAAAAAAQAgAAAAkA8AAFNUTS9NRVRBLUlORi9NQU5JRkVT VC5NRlBLAQIU
AAoAAAAAADFZ+TYAAAAAAAAAAAAAAAAKAAAAAAAAAAAAEAAAABoRAABTVE0v bW9kZWwvUEsB
AhQAFAAAAAgAB1b6Nn6S579wAwAAbhUAABMAAAAAAAAAAQAgAAAAQhEAAFNU TS9tb2RlbC9T
VE0uZWNvcmVQSwECFAAUAAAACABBr/g2GXVpR5UDAADvFAAAFgAAAAAAAAAB ACAAAADjFAAA
U1RNL21vZGVsL1NUTS5nZW5tb2RlbFBLAQIUABQAAAAIAAFw+TYDtVKHFAwA AKt6AAAcAAAA
AAAAAAEAIAAAAKwYAABTVE0vbW9kZWwvU1RNMi5lY29yZV9kaWFncmFtUEsB AhQAFAAAAAgA
C2P4Nml/pZ30AAAApQIAABUAAAAAAAAAAQAgAAAA+iQAAFNUTS9wbHVnaW4u cHJvcGVydGll
c1BLAQIUABQAAAAIAFlG+TZtqMNpaQAAAJEAAAAOAAAAAAAAAAEAIAAAACEm AABTVE0vcGx1
Z2luLnhtbFBLAQIUAAoAAAAAAA5L+jYAAAAAAAAAAAAAAAAIAAAAAAAAAAAA EAAAALYmAABT
VE0vc3JjL1BLAQIUABQAAAAIABRd+jYRikOQhgAAAO8AAAAcAAAAAAAAAAEA IAAAANwmAABT
VE0vc3JjL2hpYmVybmF0ZS5wcm9wZXJ0aWVzUEsBAhQACgAAAAAA4Gn5NgAA AAAAAAAAAAAA
ABYAAAAAAAAAAAAQAAAAnCcAAFNUTS9zcmMvU1RNX01ldGFNb2RlbC9QSwEC FAAKAAAAAADg
afk2AAAAAAAAAAAAAAAAGwAAAAAAAAAAABAAAADQJwAAU1RNL3NyYy9TVE1f TWV0YU1vZGVs
L2ltcGwvUEsBAhQACgAAAAAA12P4NgAAAAAAAAAAAAAAABsAAAAAAAAAAAAQ AAAACSgAAFNU
TS9zcmMvU1RNX01ldGFNb2RlbC91dGlsL1BLAQIUAAoAAAAAAA5L+jbllMuO KQAAACkAAAAk
AAAAAAAAAAEAIQAAAEIoAABTVE0vc3JjL3RlbmVvLXBlcnNpc3RlbmNlLnBy b3BlcnRpZXNQ
SwECFAAKAAAAAABmSPo2AAAAAAAAAAAAAAAADQAAAAAAAAAAABAAAACtKAAA U1RNL3NyYy90
ZXN0L1BLAQIUABQAAAAIABxW+jbvAa6JLQUAABkOAAAZAAAAAAAAAAEAIAAA ANgoAABTVE0v
c3JjL3Rlc3QvVGVzdFNUTS5qYXZhUEsBAhQACgAAAAAAAGv6NgAAAAAAAAAA AAAAAAQAAAAA
AAAAAAAQAAAAPC4AAFNUTS9QSwUGAAAAAB4AHgCzBwAAXi4AAAAA
--------------090407000705010405040502--
Re: [Teneo] Not-null property references a null value [message #609356 is a reply to message #91985] Mon, 30 July 2007 11:35 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090407090607000900090503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi Alain,
The following happens. The StTokenImpl has a many-to-one reference to the StTokenSourceImpl. Before
saving the StTokenImpl it nullifies the reference to the StTokenSourceImpl because StTokenSourceImpl
is not yet saved in the db (this nullifying does not occur in the object but in a separate array of
values kept by hibernate).
This can be repaired by first saving StTokenSourceImpl or by setting a cascade annotation on the
ereference (I tried the last and it seemed to work, see the attached ecore).

gr. Martin

Alain Picard wrote:
> Oops, here is the attachment
>
> Alain


--

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

--------------090407090607000900090503
Content-Type: text/xml;
name="STM.ecore"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="STM.ecore"

<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="STM_MetaModel"
nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
<eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
<eStructuralFeatures xsi:type="ecore:EReference" name="sources" lowerBound="1"
upperBound="-1" eType="#//StTokenSource" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootInterpreter" lowerBound="1"
eType="#//StInterpretationContext" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
<eStructuralFeatures xsi:type="ecore:EReference" name="mainTokenSource" lowerBound="1"
eType="#//StTokenSource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//StRootNode"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="interpreterId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StRootNode" eSuperTypes="#//StConcreteNode"/>
<eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//StBaseNode"
eOpposite="#//StBaseNode/children"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//StBaseNode" containment="true" eOpposite="#//StBaseNode/parent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="nodeSources" upperBound="-1"
eType="#//StTokenSource"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StToken" eSuperTypes="#//StBaseNode">
<eStructuralFeatures xsi:type="ecore:EReference" name="coordinate" eType="#//StCoordinate"
containment="true" eOpposite="#//StCoordinate/owner"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType" lowerBound="1"
eType="#//StTokenType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="image" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="originalNode" eType="#//StBaseNode"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tokenSource" lowerBound="1"
eType="#//StTokenSource">
<eAnnotations source="teneo.jpa">
<details key="value" value="@ManyToOne(cascade={PERSIST})"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="formattingType" lowerBound="1"
eType="#//StFormattingType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="nonRegulars" upperBound="-1"
eType="#//StNonRegular" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
<eLiterals name="Regular"/>
<eLiterals name="Special" value="1"/>
<eLiterals name="EOF" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//StToken"
eOpposite="#//StToken/coordinate"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
<eLiterals name="None"/>
<eLiterals name="IndentOnly" value="1"/>
<eLiterals name="FormatBefore" value="2"/>
<eLiterals name="FormatAfter" value="3" literal=""/>
<eLiterals name="Full" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nonRegularType" lowerBound="1"
eType="#//StNonRegularType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="special" eType="#//StToken"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="freeNode" eType="#//StInterpretationContext"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
<eLiterals name="Special"/>
<eLiterals name="FreeNode" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StConcreteNode" eSuperTypes="#//StBaseNode">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>

--------------090407090607000900090503--
Re: [Teneo] Not-null property references a null value [message #609364 is a reply to message #92031] Tue, 31 July 2007 00:49 Go to previous message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

After not being able to generate the mapping and constantly getting the error mentioned earlier, I decided to switch to use a joined
strategy.

Well, I can now successfully save a model instance to the database.

That being said, I am just facing more issues.

First, off if you look at the ecore that I submitted, some columns are of type EEnums. When looking at the database, those enums are
not mapped as table. Looking at previous post, and at bug 182825 and at the default for enumerated columns being ordinal (9.1.21)
then how do I get the extra tables generated and the ordinal values saved instead of the text value in a standard varchar column.

2nd, I am trying to find the best and most efficient way to "initialize" the HbDataStore.

I have tried to set the USE_MAPPING_FILE property, only to get exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
not mapped, etc. I found a post of March 27 covering this issue, but here is what I get in my log:
DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching hbm files in class paths of epackages
DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or descriptor file List
DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path: ;hibernate.hbm.xml
and then it moves on. I have tried to put the hibernate.hbm.xml file in the classpath (beside log4j.properties), at the root, in the
package directory. When comparing with the above mentioned post, I don't see any other try path listed or !found anywhere. Any clue?

Next, I have set the UPDATE_SCHEMA to false, to try to speed up the initialization (once the schema is stable, I believe that should
be the standard way to go). Anyway, I now get the following after executing a query:
org.hibernate.exception.SQLGrammarException: could not load an entity: [StInterpretationContext#1]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
at org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
at org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
at org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
at org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
at org.hibernate.type.EntityType.resolve(EntityType.java:379)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
at org.hibernate.loader.Loader.doQuery(Loader.java:729)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at test.TestSTM.main(TestSTM.java:100)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'strootnode2_.concreteid' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
... 25 more
this does not occur if the option is not specified. Any idea why this is happening?

At last, what would be your most efficient "initialization" routine for HbDataStore. Do you need to set EPackage every time? etc.

Thanks again for all your help. We're slowly but surely getting there.

Alain


Martin Taal wrote:
> Hi Alain,
> The following happens. The StTokenImpl has a many-to-one reference to
> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
> reference to the StTokenSourceImpl because StTokenSourceImpl is not yet
> saved in the db (this nullifying does not occur in the object but in a
> separate array of values kept by hibernate).
> This can be repaired by first saving StTokenSourceImpl or by setting a
> cascade annotation on the ereference (I tried the last and it seemed to
> work, see the attached ecore).
>
> gr. Martin
>
> Alain Picard wrote:
>> Oops, here is the attachment
>>
>> Alain
>
>
>
> ------------------------------------------------------------ ------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ecore:EPackage xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="STM_MetaModel"
> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
> <eStructuralFeatures xsi:type="ecore:EReference" name="sources" lowerBound="1"
> upperBound="-1" eType="#//StTokenSource" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="rootInterpreter" lowerBound="1"
> eType="#//StInterpretationContext" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
> <eStructuralFeatures xsi:type="ecore:EReference" name="mainTokenSource" lowerBound="1"
> eType="#//StTokenSource"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//StRootNode"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="interpreterId" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StRootNode" eSuperTypes="#//StConcreteNode"/>
> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//StBaseNode"
> eOpposite="#//StBaseNode/children"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
> eType="#//StBaseNode" containment="true" eOpposite="#//StBaseNode/parent"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="nodeSources" upperBound="-1"
> eType="#//StTokenSource"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StToken" eSuperTypes="#//StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EReference" name="coordinate" eType="#//StCoordinate"
> containment="true" eOpposite="#//StCoordinate/owner"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType" lowerBound="1"
> eType="#//StTokenType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="originalNode" eType="#//StBaseNode"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="tokenSource" lowerBound="1"
> eType="#//StTokenSource">
> <eAnnotations source="teneo.jpa">
> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="formattingType" lowerBound="1"
> eType="#//StFormattingType"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="nonRegulars" upperBound="-1"
> eType="#//StNonRegular" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
> <eLiterals name="Regular"/>
> <eLiterals name="Special" value="1"/>
> <eLiterals name="EOF" value="2"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//StToken"
> eOpposite="#//StToken/coordinate"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
> <eLiterals name="None"/>
> <eLiterals name="IndentOnly" value="1"/>
> <eLiterals name="FormatBefore" value="2"/>
> <eLiterals name="FormatAfter" value="3" literal=""/>
> <eLiterals name="Full" value="4"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonRegularType" lowerBound="1"
> eType="#//StNonRegularType"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="special" eType="#//StToken"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode" eType="#//StInterpretationContext"
> containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
> <eLiterals name="Special"/>
> <eLiterals name="FreeNode" value="1"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode" eSuperTypes="#//StBaseNode">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> </ecore:EPackage>
Re: [Teneo] Not-null property references a null value [message #609367 is a reply to message #92077] Tue, 31 July 2007 01:08 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Alain,
Which bug do you mean (182825 seemed to point to another bug)?

Not finding the hbm file can be caused by this issue:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535

This was solved in the build of 18 july. Which build are you using?

The other exception you get is this:
> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> Unknown column 'strootnode2_.concreteid' in 'field list'

Normally this occurs because the db schema is not in sync with the (in-memory) mapping. Does this
maybe apply to your case?
Other than this I have no real idea why this exception occurs when update_schema is false.

Yes the epackages are required for the initialization. The hbdatastore does some computation which
is not required for all users (adds econtainer mapping and computes referer relations). But overall
I don't think that this takes much time (I have never done performance measurements on that though).

Setting the update_schema to false surely saves time and it is the only option I know for getting
better start up times.

gr. Martin

Alain Picard wrote:
> Martin,
>
> After not being able to generate the mapping and constantly getting the
> error mentioned earlier, I decided to switch to use a joined strategy.
>
> Well, I can now successfully save a model instance to the database.
>
> That being said, I am just facing more issues.
>
> First, off if you look at the ecore that I submitted, some columns are
> of type EEnums. When looking at the database, those enums are not mapped
> as table. Looking at previous post, and at bug 182825 and at the default
> for enumerated columns being ordinal (9.1.21) then how do I get the
> extra tables generated and the ordinal values saved instead of the text
> value in a standard varchar column.
>
> 2nd, I am trying to find the best and most efficient way to "initialize"
> the HbDataStore.
>
> I have tried to set the USE_MAPPING_FILE property, only to get exception
> "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is not mapped,
> etc. I found a post of March 27 covering this issue, but here is what I
> get in my log:
> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
> hbm files in class paths of epackages
> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
> descriptor file List
> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
> ;hibernate.hbm.xml
> and then it moves on. I have tried to put the hibernate.hbm.xml file in
> the classpath (beside log4j.properties), at the root, in the package
> directory. When comparing with the above mentioned post, I don't see any
> other try path listed or !found anywhere. Any clue?
>
> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
> initialization (once the schema is stable, I believe that should be the
> standard way to go). Anyway, I now get the following after executing a
> query:
> org.hibernate.exception.SQLGrammarException: could not load an
> entity: [StInterpretationContext#1]
> at
> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>
> at
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
> at
> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>
> at
> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>
> at
> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
> at org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
> at
> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
> at
> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>
> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>
> at org.hibernate.loader.Loader.doList(Loader.java:2220)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
> at org.hibernate.loader.Loader.list(Loader.java:2099)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
> at
> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>
> at
> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
> at test.TestSTM.main(TestSTM.java:100)
> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> Unknown column 'strootnode2_.concreteid' in 'field list'
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
> at
> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
> ... 25 more
> this does not occur if the option is not specified. Any idea why this is
> happening?
>
> At last, what would be your most efficient "initialization" routine for
> HbDataStore. Do you need to set EPackage every time? etc.
>
> Thanks again for all your help. We're slowly but surely getting there.
>
> Alain
>
>
> Martin Taal wrote:
>> Hi Alain,
>> The following happens. The StTokenImpl has a many-to-one reference to
>> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
>> reference to the StTokenSourceImpl because StTokenSourceImpl is not
>> yet saved in the db (this nullifying does not occur in the object but
>> in a separate array of values kept by hibernate).
>> This can be repaired by first saving StTokenSourceImpl or by setting a
>> cascade annotation on the ereference (I tried the last and it seemed
>> to work, see the attached ecore).
>>
>> gr. Martin
>>
>> Alain Picard wrote:
>>> Oops, here is the attachment
>>>
>>> Alain
>>
>>
>>
>> ------------------------------------------------------------ ------------
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ecore:EPackage xmi:version="2.0"
>> xmlns:xmi="http://www.omg.org/XMI"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>> name="STM_MetaModel"
>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>> lowerBound="1"
>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="rootInterpreter" lowerBound="1"
>> eType="#//StInterpretationContext" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="mainTokenSource" lowerBound="1"
>> eType="#//StTokenSource"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>> lowerBound="1" eType="#//StRootNode"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="interpreterId" lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>> eSuperTypes="#//StConcreteNode"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>> eType="#//StBaseNode"
>> eOpposite="#//StBaseNode/children"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>> upperBound="-1"
>> eType="#//StBaseNode" containment="true"
>> eOpposite="#//StBaseNode/parent"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="nodeSources" upperBound="-1"
>> eType="#//StTokenSource"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>> eSuperTypes="#//StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="coordinate"
>> eType="#//StCoordinate"
>> containment="true" eOpposite="#//StCoordinate/owner"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType"
>> lowerBound="1"
>> eType="#//StTokenType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="originalNode" eType="#//StBaseNode"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="tokenSource" lowerBound="1"
>> eType="#//StTokenSource">
>> <eAnnotations source="teneo.jpa">
>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="formattingType" lowerBound="1"
>> eType="#//StFormattingType"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="nonRegulars" upperBound="-1"
>> eType="#//StNonRegular" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>> <eLiterals name="Regular"/>
>> <eLiterals name="Special" value="1"/>
>> <eLiterals name="EOF" value="2"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>> lowerBound="1" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>> lowerBound="1" eType="#//StToken"
>> eOpposite="#//StToken/coordinate"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>> <eLiterals name="None"/>
>> <eLiterals name="IndentOnly" value="1"/>
>> <eLiterals name="FormatBefore" value="2"/>
>> <eLiterals name="FormatAfter" value="3" literal=""/>
>> <eLiterals name="Full" value="4"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="nonRegularType" lowerBound="1"
>> eType="#//StNonRegularType"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>> eType="#//StToken"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>> eType="#//StInterpretationContext"
>> containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>> <eLiterals name="Special"/>
>> <eLiterals name="FreeNode" value="1"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>> eSuperTypes="#//StBaseNode">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="concreteId"
>> lowerBound="1"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> </ecore:EPackage>


--

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] Not-null property references a null value [message #609372 is a reply to message #92093] Tue, 31 July 2007 02:33 Go to previous message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

I was using the version from July 12. After upgrading the version from the 21st, now both of my issue with the options have melted
away. Great news.

Now on the remaining point from my previous post:
If you look at the ecore that I submitted, some columns are of type EEnums. When looking at the database, those enums are not
mapped as table. Looking at previous post, and at bug 182825 and at the default for enumerated columns being ordinal (9.1.21) then
how do I get the extra tables generated and the ordinal values saved instead of the text value in a standard varchar column.

Thanks,
Alain


Martin Taal wrote:
> Alain,
> Which bug do you mean (182825 seemed to point to another bug)?
>
> Not finding the hbm file can be caused by this issue:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535
>
> This was solved in the build of 18 july. Which build are you using?
>
> The other exception you get is this:
> > Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
> > Unknown column 'strootnode2_.concreteid' in 'field list'
>
> Normally this occurs because the db schema is not in sync with the
> (in-memory) mapping. Does this maybe apply to your case?
> Other than this I have no real idea why this exception occurs when
> update_schema is false.
>
> Yes the epackages are required for the initialization. The hbdatastore
> does some computation which is not required for all users (adds
> econtainer mapping and computes referer relations). But overall I don't
> think that this takes much time (I have never done performance
> measurements on that though).
>
> Setting the update_schema to false surely saves time and it is the only
> option I know for getting better start up times.
>
> gr. Martin
>
> Alain Picard wrote:
>> Martin,
>>
>> After not being able to generate the mapping and constantly getting
>> the error mentioned earlier, I decided to switch to use a joined
>> strategy.
>>
>> Well, I can now successfully save a model instance to the database.
>>
>> That being said, I am just facing more issues.
>>
>> First, off if you look at the ecore that I submitted, some columns are
>> of type EEnums. When looking at the database, those enums are not
>> mapped as table. Looking at previous post, and at bug 182825 and at
>> the default for enumerated columns being ordinal (9.1.21) then how do
>> I get the extra tables generated and the ordinal values saved instead
>> of the text value in a standard varchar column.
>>
>> 2nd, I am trying to find the best and most efficient way to
>> "initialize" the HbDataStore.
>>
>> I have tried to set the USE_MAPPING_FILE property, only to get
>> exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
>> not mapped, etc. I found a post of March 27 covering this issue, but
>> here is what I get in my log:
>> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
>> hbm files in class paths of epackages
>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
>> descriptor file List
>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
>> ;hibernate.hbm.xml
>> and then it moves on. I have tried to put the hibernate.hbm.xml file
>> in the classpath (beside log4j.properties), at the root, in the
>> package directory. When comparing with the above mentioned post, I
>> don't see any other try path listed or !found anywhere. Any clue?
>>
>> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
>> initialization (once the schema is stable, I believe that should be
>> the standard way to go). Anyway, I now get the following after
>> executing a query:
>> org.hibernate.exception.SQLGrammarException: could not load an
>> entity: [StInterpretationContext#1]
>> at
>> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>>
>> at
>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>>
>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
>> at
>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>>
>> at
>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>>
>> at
>> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>>
>> at
>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>>
>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
>> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
>> at
>> org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
>> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
>> at
>> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
>> at
>> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>>
>> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
>> at
>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>
>> at org.hibernate.loader.Loader.doList(Loader.java:2220)
>> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
>> at org.hibernate.loader.Loader.list(Loader.java:2099)
>> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
>> at
>> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>>
>> at
>> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
>>
>> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
>> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
>> at test.TestSTM.main(TestSTM.java:100)
>> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>> Unknown column 'strootnode2_.concreteid' in 'field list'
>> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
>> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
>> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
>> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
>> at
>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>>
>> at
>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
>>
>> at
>> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
>> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
>> at
>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>
>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
>> ... 25 more
>> this does not occur if the option is not specified. Any idea why this
>> is happening?
>>
>> At last, what would be your most efficient "initialization" routine
>> for HbDataStore. Do you need to set EPackage every time? etc.
>>
>> Thanks again for all your help. We're slowly but surely getting there.
>>
>> Alain
>>
>>
>> Martin Taal wrote:
>>> Hi Alain,
>>> The following happens. The StTokenImpl has a many-to-one reference to
>>> the StTokenSourceImpl. Before saving the StTokenImpl it nullifies the
>>> reference to the StTokenSourceImpl because StTokenSourceImpl is not
>>> yet saved in the db (this nullifying does not occur in the object but
>>> in a separate array of values kept by hibernate).
>>> This can be repaired by first saving StTokenSourceImpl or by setting
>>> a cascade annotation on the ereference (I tried the last and it
>>> seemed to work, see the attached ecore).
>>>
>>> gr. Martin
>>>
>>> Alain Picard wrote:
>>>> Oops, here is the attachment
>>>>
>>>> Alain
>>>
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <ecore:EPackage xmi:version="2.0"
>>> xmlns:xmi="http://www.omg.org/XMI"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>>> name="STM_MetaModel"
>>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>>> lowerBound="1"
>>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="rootInterpreter" lowerBound="1"
>>> eType="#//StInterpretationContext" containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="mainTokenSource" lowerBound="1"
>>> eType="#//StTokenSource"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>>> lowerBound="1" eType="#//StRootNode"
>>> containment="true"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="interpreterId" lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>>> eSuperTypes="#//StConcreteNode"/>
>>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>>> eType="#//StBaseNode"
>>> eOpposite="#//StBaseNode/children"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>>> upperBound="-1"
>>> eType="#//StBaseNode" containment="true"
>>> eOpposite="#//StBaseNode/parent"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="nodeSources" upperBound="-1"
>>> eType="#//StTokenSource"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>>> eSuperTypes="#//StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="coordinate" eType="#//StCoordinate"
>>> containment="true" eOpposite="#//StCoordinate/owner"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tokenType"
>>> lowerBound="1"
>>> eType="#//StTokenType"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="originalNode" eType="#//StBaseNode"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="tokenSource" lowerBound="1"
>>> eType="#//StTokenSource">
>>> <eAnnotations source="teneo.jpa">
>>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>>> </eAnnotations>
>>> </eStructuralFeatures>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="formattingType" lowerBound="1"
>>> eType="#//StFormattingType"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>> name="nonRegulars" upperBound="-1"
>>> eType="#//StNonRegular" containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>>> <eLiterals name="Regular"/>
>>> <eLiterals name="Special" value="1"/>
>>> <eLiterals name="EOF" value="2"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>>> lowerBound="1" eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>>> lowerBound="1" eType="#//StToken"
>>> eOpposite="#//StToken/coordinate"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="uriString"
>>> lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>>> <eLiterals name="None"/>
>>> <eLiterals name="IndentOnly" value="1"/>
>>> <eLiterals name="FormatBefore" value="2"/>
>>> <eLiterals name="FormatAfter" value="3" literal=""/>
>>> <eLiterals name="Full" value="4"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="nonRegularType" lowerBound="1"
>>> eType="#//StNonRegularType"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>>> eType="#//StToken"/>
>>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>>> eType="#//StInterpretationContext"
>>> containment="true"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>>> <eLiterals name="Special"/>
>>> <eLiterals name="FreeNode" value="1"/>
>>> </eClassifiers>
>>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>>> eSuperTypes="#//StBaseNode">
>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>> name="concreteId" lowerBound="1"
>>> eType="ecore:EDataType
>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>> </eClassifiers>
>>> </ecore:EPackage>
>
>
Re: [Teneo] Not-null property references a null value [message #609384 is a reply to message #92110] Tue, 31 July 2007 12:09 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Alain,
Yes it is true that the current default is String and not Ordinal. Overall in my view String is
better (at least it was for me). You can change this behavior by setting an @Enumerated annotation
in the edatatype of the enum.
A global option can also be of use here, please enter a bugzilla if you find that better.

I am not sure why you want to have the enumerated efeature stored in a separate table. Is it a list
of enumerates?

gr. Martin

Alain Picard wrote:
> Martin,
>
> I was using the version from July 12. After upgrading the version from
> the 21st, now both of my issue with the options have melted away. Great
> news.
>
> Now on the remaining point from my previous post:
> If you look at the ecore that I submitted, some columns are of type
> EEnums. When looking at the database, those enums are not mapped as
> table. Looking at previous post, and at bug 182825 and at the default
> for enumerated columns being ordinal (9.1.21) then how do I get the
> extra tables generated and the ordinal values saved instead of the text
> value in a standard varchar column.
>
> Thanks,
> Alain
>
>
> Martin Taal wrote:
>> Alain,
>> Which bug do you mean (182825 seemed to point to another bug)?
>>
>> Not finding the hbm file can be caused by this issue:
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=196535
>>
>> This was solved in the build of 18 july. Which build are you using?
>>
>> The other exception you get is this:
>> > Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>> > Unknown column 'strootnode2_.concreteid' in 'field list'
>>
>> Normally this occurs because the db schema is not in sync with the
>> (in-memory) mapping. Does this maybe apply to your case?
>> Other than this I have no real idea why this exception occurs when
>> update_schema is false.
>>
>> Yes the epackages are required for the initialization. The hbdatastore
>> does some computation which is not required for all users (adds
>> econtainer mapping and computes referer relations). But overall I
>> don't think that this takes much time (I have never done performance
>> measurements on that though).
>>
>> Setting the update_schema to false surely saves time and it is the
>> only option I know for getting better start up times.
>>
>> gr. Martin
>>
>> Alain Picard wrote:
>>> Martin,
>>>
>>> After not being able to generate the mapping and constantly getting
>>> the error mentioned earlier, I decided to switch to use a joined
>>> strategy.
>>>
>>> Well, I can now successfully save a model instance to the database.
>>>
>>> That being said, I am just facing more issues.
>>>
>>> First, off if you look at the ecore that I submitted, some columns
>>> are of type EEnums. When looking at the database, those enums are not
>>> mapped as table. Looking at previous post, and at bug 182825 and at
>>> the default for enumerated columns being ordinal (9.1.21) then how do
>>> I get the extra tables generated and the ordinal values saved instead
>>> of the text value in a standard varchar column.
>>>
>>> 2nd, I am trying to find the best and most efficient way to
>>> "initialize" the HbDataStore.
>>>
>>> I have tried to set the USE_MAPPING_FILE property, only to get
>>> exception "org.hibernate.hql.ast.QuerySyntaxException: StTreeRoot is
>>> not mapped, etc. I found a post of March 27 covering this issue, but
>>> here is what I get in my log:
>>> DEBUG [30 Jul 2007 19:43] HbSessionDataStore.java: 156 : Searching
>>> hbm files in class paths of epackages
>>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 514 : >>>> Building or
>>> descriptor file List
>>> DEBUG [30 Jul 2007 19:43] StoreUtil.java: 528 : Try path:
>>> ;hibernate.hbm.xml
>>> and then it moves on. I have tried to put the hibernate.hbm.xml file
>>> in the classpath (beside log4j.properties), at the root, in the
>>> package directory. When comparing with the above mentioned post, I
>>> don't see any other try path listed or !found anywhere. Any clue?
>>>
>>> Next, I have set the UPDATE_SCHEMA to false, to try to speed up the
>>> initialization (once the schema is stable, I believe that should be
>>> the standard way to go). Anyway, I now get the following after
>>> executing a query:
>>> org.hibernate.exception.SQLGrammarException: could not load an
>>> entity: [StInterpretationContext#1]
>>> at
>>> org.hibernate.exception.SQLStateConverter.convert(SQLStateCo nverter.java:67)
>>>
>>> at
>>> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExce ptionHelper.java:43)
>>>
>>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
>>> at
>>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:48)
>>>
>>> at
>>> org.hibernate.loader.entity.AbstractEntityLoader.load(Abstra ctEntityLoader.java:42)
>>>
>>> at
>>> org.hibernate.persister.entity.AbstractEntityPersister.load( AbstractEntityPersister.java:3042)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.loadFromDat asource(DefaultLoadEventListener.java:395)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.doLoad(Defa ultLoadEventListener.java:375)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.load(Defaul tLoadEventListener.java:139)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:179)
>>>
>>> at
>>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(Defa ultLoadEventListener.java:103)
>>>
>>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878 )
>>> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java :846)
>>> at
>>> org.hibernate.type.EntityType.resolveIdentifier(EntityType.j ava:557)
>>> at org.hibernate.type.EntityType.resolve(EntityType.java:379)
>>> at
>>> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseL oad.java:116)
>>>
>>> at
>>> org.hibernate.loader.Loader.initializeEntitiesAndCollections (Loader.java:854)
>>>
>>> at org.hibernate.loader.Loader.doQuery(Loader.java:729)
>>> at
>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>>
>>> at org.hibernate.loader.Loader.doList(Loader.java:2220)
>>> at
>>> org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java :2104)
>>> at org.hibernate.loader.Loader.list(Loader.java:2099)
>>> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:3 78)
>>> at
>>> org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslat orImpl.java:338)
>>>
>>> at
>>> org.hibernate.engine.query.HQLQueryPlan.performList(HQLQuery Plan.java:172)
>>>
>>> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
>>> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
>>> at test.TestSTM.main(TestSTM.java:100)
>>> Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
>>> Unknown column 'strootnode2_.concreteid' in 'field list'
>>> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936 )
>>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
>>> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
>>> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
>>> at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
>>> at
>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedSta tement.java:1268)
>>>
>>> at
>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatem ent.java:1403)
>>>
>>> at
>>> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatc her.java:186)
>>>
>>> at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>>> at org.hibernate.loader.Loader.doQuery(Loader.java:674)
>>> at
>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyColle ctions(Loader.java:236)
>>>
>>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
>>> ... 25 more
>>> this does not occur if the option is not specified. Any idea why this
>>> is happening?
>>>
>>> At last, what would be your most efficient "initialization" routine
>>> for HbDataStore. Do you need to set EPackage every time? etc.
>>>
>>> Thanks again for all your help. We're slowly but surely getting there.
>>>
>>> Alain
>>>
>>>
>>> Martin Taal wrote:
>>>> Hi Alain,
>>>> The following happens. The StTokenImpl has a many-to-one reference
>>>> to the StTokenSourceImpl. Before saving the StTokenImpl it nullifies
>>>> the reference to the StTokenSourceImpl because StTokenSourceImpl is
>>>> not yet saved in the db (this nullifying does not occur in the
>>>> object but in a separate array of values kept by hibernate).
>>>> This can be repaired by first saving StTokenSourceImpl or by setting
>>>> a cascade annotation on the ereference (I tried the last and it
>>>> seemed to work, see the attached ecore).
>>>>
>>>> gr. Martin
>>>>
>>>> Alain Picard wrote:
>>>>> Oops, here is the attachment
>>>>>
>>>>> Alain
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>e
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <ecore:EPackage xmi:version="2.0"
>>>> xmlns:xmi="http://www.omg.org/XMI"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
>>>> name="STM_MetaModel"
>>>> nsURI="http://com.castortech.stm" nsPrefix="STM_MetaModel">
>>>> <eClassifiers xsi:type="ecore:EClass" name="StTreeRoot">
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="sources"
>>>> lowerBound="1"
>>>> upperBound="-1" eType="#//StTokenSource" containment="true"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="rootInterpreter" lowerBound="1"
>>>> eType="#//StInterpretationContext" containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StInterpretationContext">
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="mainTokenSource" lowerBound="1"
>>>> eType="#//StTokenSource"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="root"
>>>> lowerBound="1" eType="#//StRootNode"
>>>> containment="true"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="interpreterId" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StRootNode"
>>>> eSuperTypes="#//StConcreteNode"/>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>>>> eType="#//StBaseNode"
>>>> eOpposite="#//StBaseNode/children"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>>>> upperBound="-1"
>>>> eType="#//StBaseNode" containment="true"
>>>> eOpposite="#//StBaseNode/parent"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="nodeSources" upperBound="-1"
>>>> eType="#//StTokenSource"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StToken"
>>>> eSuperTypes="#//StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="coordinate" eType="#//StCoordinate"
>>>> containment="true" eOpposite="#//StCoordinate/owner"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="tokenType" lowerBound="1"
>>>> eType="#//StTokenType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="image"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="originalNode" eType="#//StBaseNode"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="tokenSource" lowerBound="1"
>>>> eType="#//StTokenSource">
>>>> <eAnnotations source="teneo.jpa">
>>>> <details key="value" value="@ManyToOne(cascade={PERSIST})"/>
>>>> </eAnnotations>
>>>> </eStructuralFeatures>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="formattingType" lowerBound="1"
>>>> eType="#//StFormattingType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference"
>>>> name="nonRegulars" upperBound="-1"
>>>> eType="#//StNonRegular" containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StTokenType">
>>>> <eLiterals name="Regular"/>
>>>> <eLiterals name="Special" value="1"/>
>>>> <eLiterals name="EOF" value="2"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StCoordinate">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset"
>>>> lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="length"
>>>> lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="type"
>>>> lowerBound="1" eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="owner"
>>>> lowerBound="1" eType="#//StToken"
>>>> eOpposite="#//StToken/coordinate"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StTokenSource">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="uriString" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="tabSize"
>>>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StFormattingType">
>>>> <eLiterals name="None"/>
>>>> <eLiterals name="IndentOnly" value="1"/>
>>>> <eLiterals name="FormatBefore" value="2"/>
>>>> <eLiterals name="FormatAfter" value="3" literal=""/>
>>>> <eLiterals name="Full" value="4"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StNonRegular">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="nonRegularType" lowerBound="1"
>>>> eType="#//StNonRegularType"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="special"
>>>> eType="#//StToken"/>
>>>> <eStructuralFeatures xsi:type="ecore:EReference" name="freeNode"
>>>> eType="#//StInterpretationContext"
>>>> containment="true"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EEnum" name="StNonRegularType">
>>>> <eLiterals name="Special"/>
>>>> <eLiterals name="FreeNode" value="1"/>
>>>> </eClassifiers>
>>>> <eClassifiers xsi:type="ecore:EClass" name="StConcreteNode"
>>>> eSuperTypes="#//StBaseNode">
>>>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>>>> name="concreteId" lowerBound="1"
>>>> eType="ecore:EDataType
>>>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>>>> </eClassifiers>
>>>> </ecore:EPackage>
>>
>>


--

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] Not-null property references a null value [message #609398 is a reply to message #92155] Tue, 31 July 2007 19:09 Go to previous message
Alain Picard is currently offline Alain PicardFriend
Messages: 266
Registered: July 2009
Senior Member
Martin,

Thanks I have successfully added the @Enumerated(ORDINAL) and that worked.

I was kind of expecting the enumerated efeature stored in a separate table to do like Michael Kanaley mentioned a few months back. I
also felt that from a pure database perspective that made the stored model "self-sufficient" and complete, without having to rely on
external data if someone wanted to work with the database only.

Obviously, when dealing with the contents with EMF/Teneo, it really doesn't make much of a difference.

Cheers
Alain
Re: [Teneo] Not-null property references a null value [message #609400 is a reply to message #92238] Tue, 31 July 2007 20:31 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Alain,
What I remember from Michael's issue was that it was a list of enumerates. For that case it is
logical to have a separate table (each record in the table is then one enum instance of the list).
For single value fields a column is enough.

gr. Martin

Alain Picard wrote:
> Martin,
>
> Thanks I have successfully added the @Enumerated(ORDINAL) and that worked.
>
> I was kind of expecting the enumerated efeature stored in a separate
> table to do like Michael Kanaley mentioned a few months back. I also
> felt that from a pure database perspective that made the stored model
> "self-sufficient" and complete, without having to rely on external data
> if someone wanted to work with the database only.
>
> Obviously, when dealing with the contents with EMF/Teneo, it really
> doesn't make much of a difference.
>
> Cheers
> Alain


--

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
Previous Topic:[Announce] OCL Tools component proposal
Next Topic:Teneo: tries to map <version.../> element in hbm to EStructuralFeature in HbUtil.getPropertyAc
Goto Forum:
  


Current Time: Sat Apr 20 03:18:18 GMT 2024

Powered by FUDForum. Page generated in 0.04802 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top