David Caviedes created JCR-3877:
-----------------------------------
Summary: XML bootstrap import: Bad "if" conditions when resolving
UUID conflicts
Key: JCR-3877
URL: https://issues.apache.org/jira/browse/JCR-3877
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: jackrabbit-core
Affects Versions: 2.8
Environment: Windows 7 64 bits // Java 1.7.0_67
Reporter: David Caviedes
There is a bad "if" condition in class
org.apache.jackrabbit.core.xml.SessionImporter when trying to resolve UUID
conflicts at line 377:
{code:title=SessionImporter .java|borderStyle=solid}// edge case: colliding
node does have same uuid
// (see http://issues.apache.org/jira/browse/JCR-1128)
if (!(existing.getId().equals(id)
&& (uuidBehavior ==
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING
|| uuidBehavior ==
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING))) {
throw new ItemExistsException(
"Node with the same UUID exists:" + existing);
}{code}
In our case, the old id is filled and the new id is null, so
"existing.getId().equals(id)" will always return false so the "if" condition
will always be true, what is not correct, because uuids are not the same (as
the exception says).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)