[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