[hibernate-commits] Hibernate SVN: r17060 - in jpamodelgen/trunk: test/src/main/java/model and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Jul 9 12:31:10 EDT 2009


Author: epbernard
Date: 2009-07-09 12:31:10 -0400 (Thu, 09 Jul 2009)
New Revision: 17060

Modified:
   jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/annotation/MetaEntity.java
   jpamodelgen/trunk/test/src/main/java/model/Product.java
   jpamodelgen/trunk/test/src/test/java/tests/AccessTypeTest.java
Log:
exclude transient fields and static

Modified: jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/annotation/MetaEntity.java
===================================================================
--- jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/annotation/MetaEntity.java	2009-07-09 16:14:51 UTC (rev 17059)
+++ jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/annotation/MetaEntity.java	2009-07-09 16:31:10 UTC (rev 17060)
@@ -11,6 +11,7 @@
 import javax.lang.model.element.Name;
 import javax.lang.model.element.PackageElement;
 import javax.lang.model.element.TypeElement;
+import javax.lang.model.element.Modifier;
 import javax.lang.model.type.DeclaredType;
 import javax.lang.model.type.ExecutableType;
 import javax.lang.model.type.PrimitiveType;
@@ -272,10 +273,13 @@
 		}
 
 		@Override
-		public MetaAttribute visitPrimitive(PrimitiveType t, Element p) {
+		public MetaAttribute visitPrimitive(PrimitiveType t, Element element) {
 			//FIXME consider XML
-			if ( p.getAnnotation( Transient.class ) == null ) {
-				return new MetaSingleAttribute( parent, p, TypeUtils.toTypeString( t ) );
+			if ( element.getAnnotation( Transient.class ) == null
+					&& !element.getModifiers().contains( Modifier.TRANSIENT )
+					&& !element.getModifiers().contains( Modifier.STATIC )
+					) {
+				return new MetaSingleAttribute( parent, element, TypeUtils.toTypeString( t ) );
 			}
 			else {
 				return null;
@@ -286,7 +290,10 @@
 		@Override
 		public MetaAttribute visitDeclared(DeclaredType t, Element element) {
 			//FIXME consider XML
-			if ( element.getAnnotation( Transient.class ) == null ) {
+			if ( element.getAnnotation( Transient.class ) == null
+					&& ! element.getModifiers().contains( Modifier.TRANSIENT )
+					&& !element.getModifiers().contains( Modifier.STATIC )
+					) {
 				TypeElement returnedElement = ( TypeElement ) pe.getTypeUtils().asElement( t );
 				String collection = COLLECTIONS.get( returnedElement.getQualifiedName().toString() ); // WARNING: .toString() is necessary here since Name equals does not compare to String
 				//FIXME collection of element

Modified: jpamodelgen/trunk/test/src/main/java/model/Product.java
===================================================================
--- jpamodelgen/trunk/test/src/main/java/model/Product.java	2009-07-09 16:14:51 UTC (rev 17059)
+++ jpamodelgen/trunk/test/src/main/java/model/Product.java	2009-07-09 16:31:10 UTC (rev 17060)
@@ -10,6 +10,9 @@
 
 @Entity  
 public class Product {
+
+	transient String nonPersistent;
+	static String nonPersistent2;
 	
 	@Id
 	long id;

Modified: jpamodelgen/trunk/test/src/test/java/tests/AccessTypeTest.java
===================================================================
--- jpamodelgen/trunk/test/src/test/java/tests/AccessTypeTest.java	2009-07-09 16:14:51 UTC (rev 17059)
+++ jpamodelgen/trunk/test/src/test/java/tests/AccessTypeTest.java	2009-07-09 16:31:10 UTC (rev 17060)
@@ -12,7 +12,14 @@
  */
 @Test
 public class AccessTypeTest {
+
 	@Test
+	public void testExcludeTransientFieldAndStatic() throws Exception{
+		absenceOfField( "model.Product_", "nonPersistent" );
+		absenceOfField( "model.Product_", "nonPersistent2" );
+	}
+
+	@Test
 	public void testDefaultAccessTypeOnEntity() throws Exception{
 		absenceOfField( "model.User_", "nonPersistent" );
 	}




More information about the hibernate-commits mailing list