From 7640f0b32b4395be9091025c09e0968846879a33 Mon Sep 17 00:00:00 2001 From: Britt Park Date: Sat, 16 Jun 2007 16:29:43 +0000 Subject: [PATCH] Fixes WCM-495, in which second deployments don't work. Problem was aspects being added willy nilly, regardless of their existence. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/repo/avm/AVMServiceTest.java | 8 +++++--- .../org/alfresco/repo/deploy/DeploymentServiceImpl.java | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/avm/AVMServiceTest.java b/source/java/org/alfresco/repo/avm/AVMServiceTest.java index cdc50e3709..453d314464 100644 --- a/source/java/org/alfresco/repo/avm/AVMServiceTest.java +++ b/source/java/org/alfresco/repo/avm/AVMServiceTest.java @@ -37,8 +37,6 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; -import javax.transaction.NotSupportedException; -import javax.transaction.SystemException; import javax.transaction.UserTransaction; import org.alfresco.config.JNDIConstants; @@ -57,7 +55,6 @@ import org.alfresco.repo.search.IndexMode; import org.alfresco.repo.search.Indexer; import org.alfresco.repo.search.impl.lucene.AVMLuceneIndexer; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; -import org.alfresco.repo.search.impl.lucene.analysis.NumericEncoder; import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.TransactionUtil; import org.alfresco.service.cmr.avm.AVMBadArgumentException; @@ -261,6 +258,11 @@ public class AVMServiceTest extends AVMServiceTestBase { DeploymentService depService = (DeploymentService) fContext.getBean("DeploymentService"); setupBasicTree(); + fService.addAspect("main:/a", ContentModel.ASPECT_REFERENCEABLE); + fService.addAspect("main:/a/b", ContentModel.ASPECT_REFERENCEABLE); + fService.addAspect("main:/a/b/c", ContentModel.ASPECT_REFERENCEABLE); + fService.addAspect("main:/a/b/c/foo", ContentModel.ASPECT_REFERENCEABLE); + fService.addAspect("main:/a/b/c/bar", ContentModel.ASPECT_REFERENCEABLE); // TestDeploymentCallback callback = new TestDeploymentCallback(); fService.createStore("target"); DeploymentReport report = depService.deployDifference(-1, "main:/a", "localhost", 50500, "admin", "admin", diff --git a/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java b/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java index 1f2a76aee9..d10da7bbfb 100644 --- a/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java +++ b/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java @@ -490,6 +490,10 @@ public class DeploymentServiceImpl implements DeploymentService List aspects = fAVMService.getAspects(version, src.getPath()); for (QName aspect : aspects) { + if (remote.hasAspect(-1, dst.getPath(), aspect)) + { + continue; + } remote.addAspect(dst.getPath(), aspect); } remote.setGuid(dst.getPath(), src.getGuid());