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.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",

View File

@@ -490,6 +490,10 @@ public class DeploymentServiceImpl implements DeploymentService
List<QName> 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());