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
This commit is contained in:
Britt Park
2007-06-16 16:29:43 +00:00
parent e59e2ab976
commit 7640f0b32b
2 changed files with 9 additions and 3 deletions

View File

@@ -37,8 +37,6 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import javax.transaction.NotSupportedException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction; import javax.transaction.UserTransaction;
import org.alfresco.config.JNDIConstants; 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.Indexer;
import org.alfresco.repo.search.impl.lucene.AVMLuceneIndexer; import org.alfresco.repo.search.impl.lucene.AVMLuceneIndexer;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; 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.RetryingTransactionHelper;
import org.alfresco.repo.transaction.TransactionUtil; import org.alfresco.repo.transaction.TransactionUtil;
import org.alfresco.service.cmr.avm.AVMBadArgumentException; import org.alfresco.service.cmr.avm.AVMBadArgumentException;
@@ -261,6 +258,11 @@ public class AVMServiceTest extends AVMServiceTestBase
{ {
DeploymentService depService = (DeploymentService) fContext.getBean("DeploymentService"); DeploymentService depService = (DeploymentService) fContext.getBean("DeploymentService");
setupBasicTree(); 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(); // TestDeploymentCallback callback = new TestDeploymentCallback();
fService.createStore("target"); fService.createStore("target");
DeploymentReport report = depService.deployDifference(-1, "main:/a", "localhost", 50500, "admin", "admin", DeploymentReport report = depService.deployDifference(-1, "main:/a", "localhost", 50500, "admin", "admin",

View File

@@ -490,6 +490,10 @@ public class DeploymentServiceImpl implements DeploymentService
List<QName> aspects = fAVMService.getAspects(version, src.getPath()); List<QName> aspects = fAVMService.getAspects(version, src.getPath());
for (QName aspect : aspects) for (QName aspect : aspects)
{ {
if (remote.hasAspect(-1, dst.getPath(), aspect))
{
continue;
}
remote.addAspect(dst.getPath(), aspect); remote.addAspect(dst.getPath(), aspect);
} }
remote.setGuid(dst.getPath(), src.getGuid()); remote.setGuid(dst.getPath(), src.getGuid());