[ 
https://issues.apache.org/jira/browse/OPENJPA-315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523286
 ] 

Patrick Linskey commented on OPENJPA-315:
-----------------------------------------

> Please review and apply this test. 

What is "this test"? Are you referring to the patch associated with this issue? 
If so, how do the changes in http://svn.apache.org/viewcvs?view=rev&rev=567875 
not resolve this issue? Note that if you hit the 'subversion commits' tab (or 
the 'all' tab) in the comments section, you'll see all commits associated with 
a particular JIRA issue.

Also, from a process standpoint, it's fine to create test case patches that 
will cause the build to fail when they are applied; presumably, the person who 
grabs the patch and applies it expects to use the test case to validate that a 
fix works.

> Unenhanced generated id field of a primitive wrapper type causes NPE
> --------------------------------------------------------------------
>
>                 Key: OPENJPA-315
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-315
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Dain Sundstrom
>            Priority: Critical
>             Fix For: 1.0.0
>
>         Attachments: OPENJPA-315.patch
>
>
> Unenhanced generated id field of a primitive wrapper type causes NPE because 
> the field value is null.  This bug only occurs when the id field is an object 
> type as primitive fields are automatically initialized to 0.  I believe this 
> is a critical bug because when using a primitive field the system appears to 
> work but the id field is always 0 which could cause data corruption.  The 
> following stack trace shows the bug:
> <openjpa-0.0.0-r420667:564688M nonfatal general error> 
> org.apache.openjpa.persistence.PersistenceException: null
>       at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2437)
>       at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2251)
>       at 
> org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1010)
>       at 
> org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:541)
>       at 
> org.apache.openjpa.enhance.AbstractUnenhancedClassTest.getObjectIdHelper(AbstractUnenhancedClassTest.java:134)
>       at 
> org.apache.openjpa.enhance.AbstractUnenhancedClassTest.testGetObjectIdOnOpenJPAType(AbstractUnenhancedClassTest.java:115)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.openjpa.util.ApplicationIds.fromPKValues(ApplicationIds.java:152)
>       at 
> org.apache.openjpa.enhance.ReflectingPersistenceCapable.pcNewObjectIdInstance(ReflectingPersistenceCapable.java:257)
>       at 
> org.apache.openjpa.util.ApplicationIds.create(ApplicationIds.java:384)
>       at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2405)
>       ... 23 more
> The attached patch reproduces this bug.  The patch is a clone of 
> TestUnenhancedFieldAccess that simply changes the id field to type Integer. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to