From aa6ea33e25ceba3d4f86032cdf983acc4e418044 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Mon, 29 Jun 2009 08:57:29 +0000 Subject: [PATCH] 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 --- .../org/alfresco/repo/version/VersionMigrator.java | 4 +++- .../org/alfresco/repo/version/VersionMigratorTest.java | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/repo/version/VersionMigrator.java b/source/java/org/alfresco/repo/version/VersionMigrator.java index 13b99de918..3ab6eabc03 100644 --- a/source/java/org/alfresco/repo/version/VersionMigrator.java +++ b/source/java/org/alfresco/repo/version/VersionMigrator.java @@ -197,7 +197,9 @@ public class VersionMigrator Map 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); diff --git a/source/java/org/alfresco/repo/version/VersionMigratorTest.java b/source/java/org/alfresco/repo/version/VersionMigratorTest.java index 74c3a22013..15ba85ab2d 100644 --- a/source/java/org/alfresco/repo/version/VersionMigratorTest.java +++ b/source/java/org/alfresco/repo/version/VersionMigratorTest.java @@ -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); }