You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Aaron Andersen (JIRA)" <ji...@apache.org> on 2012/07/12 15:58:34 UTC
[jira] [Updated] (CAY-1725) NullPointerException from call to
removeToManyTarget
[ https://issues.apache.org/jira/browse/CAY-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aaron Andersen updated CAY-1725:
--------------------------------
Attachment: cayenne.xml
KeysMap.map.xml
KeysDomainNode.driver.xml
The Cayenne configuration files used to create the database and java classes.
> NullPointerException from call to removeToManyTarget
> ----------------------------------------------------
>
> Key: CAY-1725
> URL: https://issues.apache.org/jira/browse/CAY-1725
> Project: Cayenne
> Issue Type: Bug
> Components: Core Library
> Affects Versions: 3.0.1, 3.0.2
> Reporter: Aaron Andersen
> Attachments: KeysDomainNode.driver.xml, KeysMap.map.xml, cayenne.xml
>
>
> I am using Cayenne version 3.0.1.
> In CayenneModeler I have created an "Approver" DbEntity and a "Department" DbEntity (as well as the corresponding ObjEntity classes). I have also created an "Authorization" DbEntity to act as a join table for the Approver and Department tables. Every Approver object has a list of Department objects associated with it, and vice versa so in CayenneModeler I have added a "departmentArray" relationship to the Approver object which has "to many, list" semantics.
> When I use the Approver method "void addToDepartmentArray (Department)" everything works fine, but when I use the Approver method "void removeFromDepartmentArray (Department)" (which simple calls removeToManyTarget) a NullPointerException is thrown. A backtrace and quick debug tells me the null pointer exception originates from:
> org.apache.cayenne.access.DataDomainFlattenedBucket.addFlattenedDelete(DataDomainFlattenedBucket.java:82)
> The code on lines 81 and 82 of this file are as follows:
> [81] List flattenedSnapshots = flattenedDeleteInfo.buildJoinSnapshotsForDelete(node);
> [82] if (!flattenedSnapshots.isEmpty()) {
> Inspecting flattenedSnapshots on line 82 shows that flattenedSnapshots is null hence accessing the isEmpty method is causing the null pointer exception.
> I have also tested with Cayenne 3.0.2 and the same error occurs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira