ALFCOM-2658 - version migrator fix to maintain uuid (of frozen state nodeRef)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14987 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2009-06-29 08:57:29 +00:00
parent b2d5f4d235
commit aa6ea33e25
2 changed files with 12 additions and 2 deletions

View File

@@ -197,7 +197,9 @@ public class VersionMigrator
Map<QName, Serializable> nodeProperties = versionNodeService.getProperties(frozenStateNodeRef);
long nodeDbId = (Long)nodeProperties.get(ContentModel.PROP_NODE_DBID);
nodeProperties.remove(ContentModel.PROP_NODE_UUID); // else will try to persist with this node uuid (see AbstractNodeServiceImpl.generateGuid)
// ALFCOM-2658
nodeProperties.put(ContentModel.PROP_NODE_UUID, frozenStateNodeRef.getId());
int versionNumber = (Integer)dbNodeService.getProperty(VersionUtil.convertNodeRef(frozenStateNodeRef), VersionModel.PROP_QNAME_VERSION_NUMBER);

View File

@@ -192,7 +192,10 @@ public class VersionMigratorTest extends BaseVersionStoreTest
assertEquals(""+key, oldVersionProps.get(key), newVersionProps.get(key));
}
}
// ALFCOM-2658
assertEquals(oldVersion.getFrozenStateNodeRef().getId(), newVersion.getFrozenStateNodeRef().getId());
logger.info("testMigrateOneVersion: Migrated from oldVHNodeRef = " + oldVHNodeRef + " to newVHNodeRef = " + newVHNodeRef);
}
@@ -264,6 +267,11 @@ public class VersionMigratorTest extends BaseVersionStoreTest
checkVersion(beforeVersionTime2, nextVersion2, nextVersionLabel2, newVersions[1], versionableNode);
checkNewVersion(beforeVersionTime3, nextVersion3, nextVersionLabel3, newVersions[0], versionableNode);
// ALFCOM-2658
assertEquals(version1.getFrozenStateNodeRef().getId(), newVersions[2].getFrozenStateNodeRef().getId());
assertEquals(version2.getFrozenStateNodeRef().getId(), newVersions[1].getFrozenStateNodeRef().getId());
assertEquals(version3.getFrozenStateNodeRef().getId(), newVersions[0].getFrozenStateNodeRef().getId());
logger.info("testMigrateMultipleVersions: Migrated from oldVHNodeRef = " + oldVHNodeRef + " to newVHNodeRef = " + newVHNodeRef);
}