You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2011/10/19 14:05:42 UTC

svn commit: r1186134 - in /tapestry/tapestry5/trunk/tapestry-jpa/src: main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java test/java/org/example/app1/entities/User.java

Author: drobiazko
Date: Wed Oct 19 12:05:42 2011
New Revision: 1186134

URL: http://svn.apache.org/viewvc?rev=1186134&view=rev
Log:
TAP5-1699: JpaValueEncoder.toValue throws NPE when mapping annotations are placed on methods

Modified:
    tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app1/entities/User.java

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java?rev=1186134&r1=1186133&r2=1186134&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/JpaValueEncoder.java Wed Oct 19 12:05:42 2011
@@ -14,11 +14,6 @@
 
 package org.apache.tapestry5.internal.jpa;
 
-import javax.persistence.EntityManager;
-import javax.persistence.metamodel.EntityType;
-import javax.persistence.metamodel.SingularAttribute;
-import javax.persistence.metamodel.Type;
-
 import org.apache.tapestry5.ValueEncoder;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.ioc.services.PropertyAccess;
@@ -27,6 +22,11 @@ import org.apache.tapestry5.ioc.services
 import org.apache.tapestry5.jpa.EntityManagerManager;
 import org.slf4j.Logger;
 
+import javax.persistence.EntityManager;
+import javax.persistence.metamodel.EntityType;
+import javax.persistence.metamodel.SingularAttribute;
+import javax.persistence.metamodel.Type;
+
 public class JpaValueEncoder<E> implements ValueEncoder<E>
 {
     private final EntityType<E> entity;
@@ -52,7 +52,7 @@ public class JpaValueEncoder<E> implemen
 
         final SingularAttribute<? super E, ?> idAttribute = this.entity.getId(idType.getJavaType());
 
-        idPropertyName = idAttribute.getJavaMember().getName();
+        idPropertyName = idAttribute.getName();
 
         propertyAdapter = propertyAccess.getAdapter(entity.getJavaType()).getPropertyAdapter(
                 idPropertyName);

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java?rev=1186134&r1=1186133&r2=1186134&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceParser.java Wed Oct 19 12:05:42 2011
@@ -14,16 +14,16 @@
 
 package org.apache.tapestry5.internal.jpa;
 
-import java.io.InputStream;
-import java.util.List;
-
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
 import org.apache.tapestry5.jpa.TapestryPersistenceUnitInfo;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLReaderFactory;
 
-class PersistenceParser
+import java.io.InputStream;
+import java.util.List;
+
+public class PersistenceParser
 {
 
     public List<TapestryPersistenceUnitInfo> parse(final InputStream stream)

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app1/entities/User.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app1/entities/User.java?rev=1186134&r1=1186133&r2=1186134&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app1/entities/User.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app1/entities/User.java Wed Oct 19 12:05:42 2011
@@ -22,8 +22,6 @@ import javax.persistence.Version;
 @Entity
 public class User
 {
-    @Id
-    @GeneratedValue
     private Long id;
 
     private String firstName;
@@ -34,7 +32,6 @@ public class User
 
     private String encodedPassword;
 
-    @Version
     private int version;
 
     public String getEmail()
@@ -52,6 +49,8 @@ public class User
         return firstName;
     }
 
+     @Id
+    @GeneratedValue
     public Long getId()
     {
         return id;
@@ -62,28 +61,39 @@ public class User
         return lastName;
     }
 
+    @Version
     public int getVersion()
     {
         return version;
     }
 
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
     public void setEmail(final String email)
     {
         this.email = email;
-    }
+}
 
     public void setEncodedPassword(final String encodedPassword)
     {
         this.encodedPassword = encodedPassword;
-    }
+}
 
     public void setFirstName(final String firstName)
     {
         this.firstName = firstName;
-    }
+}
 
     public void setLastName(final String lastName)
     {
         this.lastName = lastName;
+}
+
+    public void setVersion(int version)
+    {
+        this.version = version;
     }
 }