You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2010/10/21 20:14:16 UTC

[jira] Closed: (CAY-1489) NPE using DataContext.objectFromDataRow for a nested context

     [ https://issues.apache.org/jira/browse/CAY-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik closed CAY-1489.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 3.1M1
                   3.0.2

COmmitted the latest set of patches. Awesome. Thanks!

> NPE using DataContext.objectFromDataRow for a nested context
> ------------------------------------------------------------
>
>                 Key: CAY-1489
>                 URL: https://issues.apache.org/jira/browse/CAY-1489
>             Project: Cayenne
>          Issue Type: Bug
>    Affects Versions: 3.0.1
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.0.2, 3.1M1
>
>         Attachments: CAY-1489.patch, STABLE-3.0-CAY-1489.patch
>
>
> Getting an NPE trying to build an object from DataRow via a nested context. Exception and a test case shown below.
> java.lang.NullPointerException
> 	at org.apache.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:117)
> 	at org.apache.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:94)
> 	at org.apache.cayenne.access.DataContext.objectsFromDataRows(DataContext.java:598)
> 	at org.apache.cayenne.access.DataContext.objectFromDataRow(DataContext.java:646)
> 	at org.apache.cayenne.access.NestedDataContextReadTest.testObjectFromDataRow(NestedDataContextReadTest.java:490)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> diff --git a/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextReadTest.java b/framework/ca
> index 7edddf7..117646c 100644
> --- a/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextReadTest.java
> +++ b/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/NestedDataContextReadTest.java
> @@ -26,6 +26,7 @@ import org.apache.art.Artist;
>  import org.apache.art.Painting;
>  import org.apache.cayenne.DataObject;
>  import org.apache.cayenne.DataObjectUtils;
> +import org.apache.cayenne.DataRow;
>  import org.apache.cayenne.ObjectContext;
>  import org.apache.cayenne.ObjectId;
>  import org.apache.cayenne.PersistenceState;
> @@ -475,4 +476,19 @@ public class NestedDataContextReadTest extends CayenneCase {
>              unblockQueries();
>          }
>      }
> +    
> +    public void testObjectFromDataRow() throws Exception {
> +        deleteTestData();
> +
> +        DataContext context = createDataContext();
> +        DataContext childContext = (DataContext) context.createChildContext();
> +
> +        DataRow row = new DataRow(8);
> +        row.put("ARTIST_ID", 5l);
> +        row.put("ARTIST_NAME", "A");
> +        
> +        Artist a = childContext.objectFromDataRow(Artist.class, row, true);
> +        assertNotNull(a);
> +    }
> +

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