From ec600def091dee8d4da36f95b9967a094ba44d20 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 31 Aug 2011 10:02:45 +0000 Subject: [PATCH] Wrap part of the setup in a retrying transaction, to avoid intermittent build issues git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30139 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../discussion/DiscussionRestApiTest.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java index 85cb36ebff..6dbaf058fa 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java @@ -120,19 +120,26 @@ public class DiscussionRestApiTest extends BaseWebScriptTest siteInfo = this.siteService.createSite("DiscussionSitePreset", SITE_SHORT_NAME_DISCUSSION, "DiscussionSiteTitle", "DiscussionSiteDescription", SiteVisibility.PUBLIC); } + final NodeRef siteNodeRef = siteInfo.getNodeRef(); // Create the forum - String forumNodeName = "TestForum"; + final String forumNodeName = "TestForum"; FORUM_NODE = nodeService.getChildByName(siteInfo.getNodeRef(), ContentModel.ASSOC_CONTAINS, forumNodeName); if (FORUM_NODE == null) { - Map props = new HashMap(5); - props.put(ContentModel.PROP_NAME, forumNodeName); - props.put(ContentModel.PROP_TITLE, forumNodeName); - FORUM_NODE = nodeService.createNode( - siteInfo.getNodeRef(), ContentModel.ASSOC_CONTAINS, - QName.createQName(forumNodeName), ForumModel.TYPE_FORUM - ).getChildRef(); + FORUM_NODE = transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback() { + @Override + public NodeRef execute() throws Throwable { + Map props = new HashMap(5); + props.put(ContentModel.PROP_NAME, forumNodeName); + props.put(ContentModel.PROP_TITLE, forumNodeName); + + return nodeService.createNode( + siteNodeRef, ContentModel.ASSOC_CONTAINS, + QName.createQName(forumNodeName), ForumModel.TYPE_FORUM, props + ).getChildRef(); + } + }); } // Create users @@ -1151,4 +1158,4 @@ public class DiscussionRestApiTest extends BaseWebScriptTest assertEquals(0, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); } -} \ No newline at end of file +}