cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: NullPointerException from call to removeToManyTarget
Date Thu, 12 Jul 2012 11:07:43 GMT
Hi Aaron,

sorry for the late reply..

Are add... and remove... called in sequence after each other or is there a commit between
them? 

Also going through release notes for 3.0.2, there were a few fixes related to flattened relationships.
While I can't say for sure that your issue was addressed there, maybe it is worth upgrading
before we dig any deeper?

Cheers,
Andrus


On Jul 5, 2012, at 4:23 AM, Aaron Andersen wrote:

> Hello,
> 
> I am using Cayenne version 3.0.1 and having an issue.
> 
> 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.
> 
> A couple of obvious points I can list off are:
> - both the approver and the department are not null
> - the department does belong to the approvers list of departments
> - both objects are in the same context
> 
> I'm not sure what I am doing incorrect to cause this null pointer exception 
> but I would really appreciate any help.
> 
> Thank you for your time!
> Aaron
> 
> 


Mime
View raw message