[
https://issues.apache.org/cayenne/browse/CAY-966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Øyvind Harboe updated CAY-966:
------------------------------
Attachment: DropColumnToModel.java
Duplicate list before iterating over it as the original list will be modified
during the loop.
I chose to duplicate the list as it has a very straightforward codepath rather
than the more fancy approach of adding all items to be removed to the list and
removing them afterwards. I can't imagine that this is performance sensitive
code so testability is probably what to optimise for.
> ObjRelationsship's are not removed processing DropColumnToModel
> ---------------------------------------------------------------
>
> Key: CAY-966
> URL: https://issues.apache.org/cayenne/browse/CAY-966
> Project: Cayenne
> Issue Type: Bug
> Components: Cayenne Core Library
> Affects Versions: 3.0
> Environment: all
> Reporter: Øyvind Harboe
> Assignee: Tore Halset
> Attachments: DbEntity.java, DropColumnToModel.java,
> DropColumnToModel.java, surefire-reports.zip
>
>
> I'll attatch a modified DbEntity.java that fixes the problem here....
> Basically the code below won't work right because the ObjRelationship's
> aren't removed.
> MergerContext mergerContext = new
> ExecutingMergerContext(
> payBackDataMap, dataNode);
> for (MergerToken token : tokens)
> {
> if (token.getDirection() ==
> MergeDirection.TO_DB)
> {
> token =
> token.createReverse(dataNode.getAdapter()
> .mergerFactory());
> }
> token.execute(mergerContext);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.