From 570c8a7f03383e331ae1ab0ea3fd8b3e10906c1b Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Fri, 18 Jun 2010 09:29:54 +0000 Subject: [PATCH] Test fix (RepoAdminServiceImplTest.testConcurrentDynamicModelDelete) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20697 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/bootstrap-context.xml | 2 +- .../repo/admin/RepoAdminServiceImplTest.java | 61 ++++++++----------- .../DictionaryRepositoryBootstrap.java | 5 +- 3 files changed, 29 insertions(+), 39 deletions(-) diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml index b145e1a739..cc5379e981 100644 --- a/config/alfresco/bootstrap-context.xml +++ b/config/alfresco/bootstrap-context.xml @@ -163,7 +163,7 @@ - + diff --git a/source/java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java b/source/java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java index f35f3ddea2..f9f4a7ec50 100644 --- a/source/java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java +++ b/source/java/org/alfresco/repo/admin/RepoAdminServiceImplTest.java @@ -40,8 +40,6 @@ import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.security.authentication.AuthenticationUtil; -import org.alfresco.repo.transaction.AlfrescoTransactionSupport; -import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.service.cmr.admin.RepoAdminService; import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; @@ -53,7 +51,6 @@ import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; -import org.alfresco.service.transaction.TransactionService; import org.alfresco.util.ApplicationContextHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -72,8 +69,6 @@ public class RepoAdminServiceImplTest extends TestCase private RepoAdminService repoAdminService; private DictionaryService dictionaryService; - private TransactionService transactionService; - private NodeService nodeService; private ContentService contentService; private SearchService searchService; @@ -83,7 +78,7 @@ public class RepoAdminServiceImplTest extends TestCase final static String MKR = "{MKR}"; public static final String MODEL_MKR_XML = - "" + + "" + " Test model "+MKR+"" + " Alfresco" + @@ -96,17 +91,17 @@ public class RepoAdminServiceImplTest extends TestCase " " + " " + - " " + + " " + " " + " " + - " " + + " " + " Base" + " The Base Type" + " cm:content" + " " + - " " + + " " + " d:text" + " " + " " + @@ -123,8 +118,6 @@ public class RepoAdminServiceImplTest extends TestCase repoAdminService = (RepoAdminService) ctx.getBean("RepoAdminService"); dictionaryService = (DictionaryService) ctx.getBean("DictionaryService"); - transactionService = (TransactionService) ctx.getBean("TransactionService"); - nodeService = (NodeService) ctx.getBean("NodeService"); contentService = (ContentService) ctx.getBean("ContentService"); searchService = (SearchService) ctx.getBean("SearchService"); @@ -472,6 +465,12 @@ public class RepoAdminServiceImplTest extends TestCase String model = MODEL_MKR_XML.replace(MKR, i+""); InputStream modelStream = new ByteArrayInputStream(model.getBytes("UTF-8")); repoAdminService.deployModel(modelStream, modelPrefix+i); + + logger.info("["+i+"] Deployed - test model: "+modelPrefix+i); + } + else + { + logger.warn("["+i+"] Already deployed - test model: "+modelPrefix+i); } } } @@ -592,30 +591,22 @@ public class RepoAdminServiceImplTest extends TestCase { AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); - transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() + if (opType == 1) { - public Object execute() throws Throwable - { - if (opType == 1) - { - // Deploy model - String model = MODEL_MKR_XML.replace(MKR, i+""); - InputStream modelStream = new ByteArrayInputStream(model.getBytes("UTF-8")); - repoAdminService.deployModel(modelStream, modelPrefix+i); - - logger.info("["+i+"] Deploying test model: "+modelPrefix+i+" ["+AlfrescoTransactionSupport.getTransactionId()+"]"); - } - else if (opType == 2) - { - // Undeploy model - repoAdminService.undeployModel(modelPrefix+i); - - logger.info("["+i+"] Undeployed test model: "+modelPrefix+i+" ["+AlfrescoTransactionSupport.getTransactionId()+"]"); - } - - return null; - } - }); + // Deploy model + String model = MODEL_MKR_XML.replace(MKR, i+""); + InputStream modelStream = new ByteArrayInputStream(model.getBytes("UTF-8")); + repoAdminService.deployModel(modelStream, modelPrefix+i); + + logger.info("["+i+"] Deploying - test model: "+modelPrefix+i); + } + else if (opType == 2) + { + // Undeploy model + repoAdminService.undeployModel(modelPrefix+i); + + logger.info("["+i+"] Undeployed - test model: "+modelPrefix+i); + } } catch (Throwable t) { @@ -623,7 +614,7 @@ public class RepoAdminServiceImplTest extends TestCase t.printStackTrace(new PrintWriter(sw)); errorStackTrace = sw.toString(); - logger.error("["+i+"] Failed to deploy test model: "+t); + logger.error("["+i+"] Failed to "+(opType == 1 ? "deploy" : "undeploy")+" test model: "+t); } } } diff --git a/source/java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrap.java b/source/java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrap.java index 44c1dff2b0..b88e9893e3 100644 --- a/source/java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrap.java +++ b/source/java/org/alfresco/repo/dictionary/DictionaryRepositoryBootstrap.java @@ -50,7 +50,6 @@ import org.alfresco.util.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.ApplicationEvent; -import org.springframework.dao.ConcurrencyFailureException; import org.springframework.extensions.surf.util.AbstractLifecycleBean; /** @@ -285,10 +284,10 @@ public class DictionaryRepositoryBootstrap extends AbstractLifecycleBean impleme // ignore - model no longer exists if (logger.isDebugEnabled()) { - logger.debug("onDictionaryInit: "+inre+" (assume concurrency failure)"); + logger.debug("onDictionaryInit: "+inre+" (assume concurrently deleted)"); } - throw new ConcurrencyFailureException(inre.getMessage()); + continue; } } }