[hibernate-commits] Hibernate SVN: r10544 - in trunk/HibernateExt/metadata/src: java/org/hibernate/cfg java/org/hibernate/cfg/annotations test/org/hibernate/test/annotations/indexcoll

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Oct 3 18:04:18 EDT 2006


Author: epbernard
Date: 2006-10-03 18:04:16 -0400 (Tue, 03 Oct 2006)
New Revision: 10544

Modified:
   trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
   trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/Ejb3Column.java
   trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/ExtendedMappings.java
   trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
   trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/Atmosphere.java
   trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/IndexedCollectionTest.java
Log:
Activate ANN-408

Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -1773,11 +1773,7 @@
 				path, mappings
 		);
 		if (inSecondPass) {
-			//throw new NotYetImplementedException("inSecondPass waiting for core > 3.2.0.cr4");
-			//secondPass.doSecondPass( mappings.getClasses() );
-			mappings.addSecondPass(
-					secondPass
-			);
+			secondPass.doSecondPass( mappings.getClasses() );
 		}
 		else {
 			mappings.addSecondPass(
@@ -1894,11 +1890,7 @@
 					optional, cascadeStrategy, joinColumns, mappings
 			);
 			if (inSecondPass) {
-				//throw new NotYetImplementedException("inSecondPass waiting for core > 3.2.0.cr4");
-				//secondPass.doSecondPass( mappings.getClasses() );
-				mappings.addSecondPass(
-						secondPass
-				);
+				secondPass.doSecondPass( mappings.getClasses() );
 			}
 			else {
 				mappings.addSecondPass(

Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/Ejb3Column.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/Ejb3Column.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/Ejb3Column.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -433,11 +433,7 @@
 		if ( index == null ) return;
 		IndexSecondPass secondPass = new IndexSecondPass( index.name(), this, mappings );
 		if (inSecondPass) {
-			//throw new NotYetImplementedException("inSecondPass waiting for core > 3.2.0.cr4");
-			//secondPass.doSecondPass( mappings.getClasses() );
-			mappings.addSecondPass(
-					secondPass
-			);
+			secondPass.doSecondPass( mappings.getClasses() );
 		}
 		else {
 			mappings.addSecondPass(

Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/ExtendedMappings.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/ExtendedMappings.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/ExtendedMappings.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -259,4 +259,8 @@
 	public void addSQLQuery(String name, NamedSQLQueryDefinition query) throws MappingException {
 		if ( ! defaultNamedNativeQueryNames.contains( name ) ) super.addSQLQuery( name, query );
 	}
+
+	public Map getClasses() {
+		return classes;
+	}
 }
\ No newline at end of file

Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/cfg/annotations/CollectionBinder.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -68,7 +68,6 @@
 import org.hibernate.mapping.Table;
 import org.hibernate.reflection.XClass;
 import org.hibernate.reflection.XProperty;
-import org.hibernate.util.CollectionHelper;
 import org.hibernate.util.StringHelper;
 
 /**
@@ -362,8 +361,8 @@
 				|| property.isAnnotationPresent( CollectionOfElements.class ) ) {
 			// do it right away, otherwise @ManyToon on composite element call addSecondPass 
 			// and raise a ConcurrentModificationException
-			sp.doSecondPass( CollectionHelper.EMPTY_MAP );
-			//mappings.addSecondPass( sp, ! isMappedBy );
+			//sp.doSecondPass( CollectionHelper.EMPTY_MAP );
+			mappings.addSecondPass( sp, ! isMappedBy );
 		}
 		else {
 			mappings.addSecondPass( sp, ! isMappedBy );

Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/Atmosphere.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/Atmosphere.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/Atmosphere.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -34,11 +34,9 @@
 	@JoinTable(name = "Gas_per_key")
 	public Map<GasKey, Gas> gasesPerKey = new HashMap<GasKey, Gas>();
 
-	/**
 	@CollectionOfElements
 	@Column(name="composition_rate")
 	@MapKeyManyToMany(joinColumns = @JoinColumn(name="gas_id"))
 	@JoinTable(name = "Composition", joinColumns = @JoinColumn(name = "atmosphere_id"))
 	public Map<Gas, Double> composition = new HashMap<Gas, Double>();
-	*/
 }

Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/IndexedCollectionTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/IndexedCollectionTest.java	2006-10-03 21:03:01 UTC (rev 10543)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/indexcoll/IndexedCollectionTest.java	2006-10-03 22:04:16 UTC (rev 10544)
@@ -395,6 +395,25 @@
 		s.close();
 	}
 
+	public void testEntityKeyElementTarget() throws Exception {
+		Session s = openSession();
+		Transaction tx = s.beginTransaction();
+		Atmosphere atm = new Atmosphere();
+		Gas o2 = new Gas();
+		o2.name = "oxygen";
+		atm.composition.put( o2, 94.3 );
+		s.persist( o2 );
+		s.persist( atm );
+		s.flush();
+		s.clear();
+
+		atm = (Atmosphere) s.get( Atmosphere.class, atm.id );
+		assertEquals( 1, atm.composition.size() );
+		assertEquals( o2.name, atm.composition.keySet().iterator().next().name );
+		tx.rollback();
+		s.close();
+	}
+
 	public void testSortedMap() {
 		Session s = openSession();
 		Transaction tx = s.beginTransaction();




More information about the hibernate-commits mailing list