Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Teneo - Map issue
Teneo - Map issue [message #756629] Mon, 14 November 2011 09:32 Go to next message
Herve Ferreira is currently offline Herve Ferreira
Messages: 31
Registered: October 2011
Member

I created a simple model that contains references (0..*) and maps.

If I use the GUI (using the menu Teneo option) and try to create the HBM no problem exists.

If I try to create the HBM programmatically, if I have one map, and only when I set one of the following property

props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");

It throws one exception

java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute


Is this a bug? limitation?

Thanks in Advance
Re: Teneo - Map issue [message #756690 is a reply to message #756629] Mon, 14 November 2011 11:45 Go to previous messageGo to next message
Martin Taal is currently offline Martin Taal
Messages: 5049
Registered: July 2009
Senior Member
Hmm, an exception is a bug I guess. Can you post the complete stacktrace and all the properties you set?

gr. Martin

On 11/14/2011 03:32 PM, Herve Ferreira wrote:
>
> I created a simple model that contains references (0..*) and maps.
>
> If I use the GUI (using the menu Teneo option) and try to create the HBM no problem exists.
>
> If I try to create the HBM programmatically, if I have one map, and only when I set one of the following property
> props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
> props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
>
> It throws one exception
>
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
>
>
> Is this a bug? limitation?
>
> Thanks in Advance
>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
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 - Map issue [message #756695 is a reply to message #756690] Mon, 14 November 2011 12:22 Go to previous messageGo to next message
Herve Ferreira is currently offline Herve Ferreira
Messages: 31
Registered: October 2011
Member
			props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
			props.setProperty(Environment.USER, "root");
			props.setProperty(Environment.PASS, "mysql");
			props.setProperty(Environment.URL, "jdbc:mysql://localhost:3306/tnt5");
			props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLDialect.class.getName());
			
			props.setProperty("hibernate.hbm2ddl.auto", "update");
			props.setProperty("teneo.mapping.force_lazy", "true");
//			props.setProperty("teneo.mapping.fetch_one_to_many_extra_lazy", "false");
//			props.setProperty("teneo.mapping.set_proxy", "true");
			
			
			props.setProperty("teneo.mapping.inheritance", "JOINED");
			props.setProperty("teneo.mapping.always_version", "false");
			props.setProperty("teneo.mapping.optimistic_locking", "false");
//			props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
			props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
//			props.setProperty("teneo.mapping.join_table_for_non_contained_associations", "true");
//			props.setProperty("teneo.mapping.set_entity_automatically", "true");
//			props.setProperty(PersistenceOptions.EMAP_AS_TRUE_MAP, "true");
		
			
			                   
			String dataStoreName = "LibraryDataStore";

			HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
			dataStore.setDataStoreProperties(props);
			
			//HbSessionDataStore dataStore = (HbSessionDataStore) HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
			//Configuration cfg = new Configuration().configure("persistence.xml");
			//dataStore.setConfiguration(cfg);
			
			
			
			dataStore.setEPackages(new EPackage[] { OjeandbPackage.eINSTANCE, PessoaPackage.eINSTANCE });

			// initialize the data store, which creates the tables
			try {
				dataStore.initialize();
			} finally {
				// print the generated mapping
				System.err.println(dataStore.getMappingXML());			
			}







null
java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
	at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.processOtMUni(OneToManyMapper.java:189)
	at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.process(OneToManyMapper.java:57)
	at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.processPAnnotatedEReference(FeatureMapper.java:191)
	at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.process(FeatureMapper.java:107)
	at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeature(EntityMapper.java:725)
	at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeatures(EntityMapper.java:612)
	at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processEntity(EntityMapper.java:426)
	at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPAClass(HibernateMappingGenerator.java:238)
	at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPersistentClasses(HibernateMappingGenerator.java:180)
	at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generate(HibernateMappingGenerator.java:124)
	at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generateToString(HibernateMappingGenerator.java:149)
	at org.eclipse.emf.teneo.hibernate.HbDataStore.mapEPackages(HbDataStore.java:1030)
	at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.mapModel(HbSessionDataStore.java:192)Commit Done *ERRORS*

	at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initialize(HbSessionDataStore.java:98)
	at com.nsn.CreateHBM.main(CreateHBM.java:66)
Exception in thread "main" java.lang.NullPointerException
	at com.nsn.CreateHBM.main(CreateHBM.java:90)
Re: Teneo - Map issue [message #756767 is a reply to message #756695] Mon, 14 November 2011 19:33 Go to previous messageGo to next message
Martin Taal is currently offline Martin Taal
Messages: 5049
Registered: July 2009
Senior Member
Hmm, seems to be a bug?

Can you enter a bugzilla for it?

gr. Martin

On 11/14/2011 06:22 PM, Herve Ferreira wrote:
>
> props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
> props.setProperty(Environment.USER, "root");
> props.setProperty(Environment.PASS, "mysql");
> props.setProperty(Environment.URL, "jdbc:mysql://localhost:3306/tnt5");
> props.setProperty(Environment.DIALECT, org.hibernate.dialect.MySQLDialect.class.getName());
>
> props.setProperty("hibernate.hbm2ddl.auto", "update");
> props.setProperty("teneo.mapping.force_lazy", "true");
> // props.setProperty("teneo.mapping.fetch_one_to_many_extra_lazy", "false");
> // props.setProperty("teneo.mapping.set_proxy", "true");
>
>
> props.setProperty("teneo.mapping.inheritance", "JOINED");
> props.setProperty("teneo.mapping.always_version", "false");
> props.setProperty("teneo.mapping.optimistic_locking", "false");
> // props.setProperty("teneo.mapping.always_map_list_as_bag", "true");
> props.setProperty("teneo.mapping.map_all_lists_as_idbag", "true");
> // props.setProperty("teneo.mapping.join_table_for_non_contained_associations", "true");
> // props.setProperty("teneo.mapping.set_entity_automatically", "true");
> // props.setProperty(PersistenceOptions.EMAP_AS_TRUE_MAP, "true");
>
>
> String dataStoreName = "LibraryDataStore";
>
> HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
> dataStore.setDataStoreProperties(props);
>
> //HbSessionDataStore dataStore = (HbSessionDataStore) HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
> //Configuration cfg = new Configuration().configure("persistence.xml");
> //dataStore.setConfiguration(cfg);
>
>
>
> dataStore.setEPackages(new EPackage[] { OjeandbPackage.eINSTANCE, PessoaPackage.eINSTANCE });
>
> // initialize the data store, which creates the tables
> try {
> dataStore.initialize();
> } finally {
> // print the generated mapping
> System.err.println(dataStore.getMappingXML());
> }
>
>
>
>
>
>
>
>
> null
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EReferenceImpl cannot be cast to org.eclipse.emf.ecore.EAttribute
> at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.processOtMUni(OneToManyMapper.java:189)
> at org.eclipse.emf.teneo.hibernate.mapper.OneToManyMapper.process(OneToManyMapper.java:57)
> at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.processPAnnotatedEReference(FeatureMapper.java:191)
> at org.eclipse.emf.teneo.hibernate.mapper.FeatureMapper.process(FeatureMapper.java:107)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeature(EntityMapper.java:725)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processFeatures(EntityMapper.java:612)
> at org.eclipse.emf.teneo.hibernate.mapper.EntityMapper.processEntity(EntityMapper.java:426)
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPAClass(HibernateMappingGenerator.java:238)
> at
> org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.processPersistentClasses(HibernateMappingGenerator.java:180)
>
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generate(HibernateMappingGenerator.java:124)
> at org.eclipse.emf.teneo.hibernate.mapper.HibernateMappingGenerator.generateToString(HibernateMappingGenerator.java:149)
> at org.eclipse.emf.teneo.hibernate.HbDataStore.mapEPackages(HbDataStore.java:1030)
> at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.mapModel(HbSessionDataStore.java:192)Commit Done *ERRORS*
>
> at org.eclipse.emf.teneo.hibernate.HbSessionDataStore.initialize(HbSessionDataStore.java:98)
> at com.nsn.CreateHBM.main(CreateHBM.java:66)
> Exception in thread "main" java.lang.NullPointerException
> at com.nsn.CreateHBM.main(CreateHBM.java:90)
>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
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 - Map issue [message #756806 is a reply to message #756767] Tue, 15 November 2011 03:25 Go to previous message
Herve Ferreira is currently offline Herve Ferreira
Messages: 31
Registered: October 2011
Member
Bugzilla #: Bug 363777

https://bugs.eclipse.org/bugs/show_bug.cgi?id=363777
Previous Topic:[CDO] limitations on what to program in statechange handler?
Next Topic:CDO timeout exception in 4.0 maintenance release.
Goto Forum:
  


Current Time: Tue May 21 13:24:14 EDT 2013

Powered by FUDForum. Page generated in 0.02784 seconds