[
https://issues.apache.org/cayenne/browse/CAY-935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12619
]
Andrus Adamchik commented on CAY-935:
-------------------------------------
Unfortunately we can't _consistently_ refresh namespace on DataMap children
changes. Changes to almost all properties of an entity (e.g. "name" ) would
result in namespace being in an inconsistent state. So the current mode of
operation is that if a user changes something in the DataMap in runtime, user
is responsible for resetting EntityResolver via 'clearCache'... Otherwise we'd
have to implement full child-parent event notification mechanism in the mapping
layer (something we started doing ca. 1.0 with a Modeler in mind, but never
cared enough to actually finish).
> DataMap.remove*Entity does not remove
> -------------------------------------
>
> Key: CAY-935
> URL: https://issues.apache.org/cayenne/browse/CAY-935
> Project: Cayenne
> Issue Type: Bug
> Components: Cayenne Core Library
> Affects Versions: 3.0
> Environment: trunk as of today
> Reporter: Tore Halset
> Assignee: Andrus Adamchik
> Fix For: 3.0
>
>
> I am writing a junit test and are trying to do a DataMap.removeObjEntity and
> DataMap.removeDbEntity. The DataMaps dbEntityMap and objEntityMap are updated
> as expected, but DataMap.getObjEntity and DataMap.getDbEntity still finds the
> removed entities. The "problem" seem to be that the namespace still have them.
> So perhaps DataMap.remove*Entity should clear/reset the namespace?
> map.removeObjEntity(objEntity.getName(), true);
> map.removeDbEntity(dbEntity.getName(), true);
> assertNull(map.getObjEntity(objEntity.getName())); // fails
> assertNull(map.getDbEntity(dbEntity.getName())); // fails
> Am I doing something wrong?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.