NodeData child = srcChilds.get(i);
if (!child.getIdentifier().equals(node.getIdentifier()))
{
if ((child.getQPath().getName()).getAsString().equals((node.getQPath().getName()).getAsString()))
{
QPath siblingPath = QPath.makeChildPath(srcParent.getQPath(), child.getQPath().getName(), srcIndex);
TransientNodeData sibling =
new TransientNodeData(siblingPath, child.getIdentifier(), child.getPersistedVersion() + 1, child
.getPrimaryTypeName(), child.getMixinTypeNames(), child.getOrderNumber(), child
.getParentIdentifier(), child.getACL());
addStates.add(new ItemState(sibling, ItemState.UPDATED, true, ancestorToSave, false, true));
srcIndex++;
}
// find index on destination in case when destination the same as source
if (srcChilds == destChilds && (child.getQPath().getName().equals(destNodeName))) // NOSONAR
{
destIndex++;
}
}
}
}
else
{
qname = node.getQPath().getName();
destIndex = node.getQPath().getIndex();
destOrderNum = node.getOrderNumber();
}
String id = keepIdentifiers ? node.getIdentifier() : IdGenerator.generate();
QPath qpath = QPath.makeChildPath(destParent.getQPath(), qname, destIndex);
AccessControlList acl = destParent.getACL();
boolean isPrivilegeable =
ntManager.isNodeType(Constants.EXO_PRIVILEGEABLE, node.getPrimaryTypeName(), node.getMixinTypeNames());