diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml index d57e1d3207..fe0922f02b 100644 --- a/config/alfresco/web-scripts-application-context.xml +++ b/config/alfresco/web-scripts-application-context.xml @@ -1122,9 +1122,9 @@ parent="webscript"> - + @@ -1158,7 +1158,6 @@ parent="webscript"> - diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PUblishingEventsQueryPost.java b/source/java/org/alfresco/repo/web/scripts/publishing/PUblishingEventsQueryPost.java index 9bb7aba111..5d8f7e0099 100644 --- a/source/java/org/alfresco/repo/web/scripts/publishing/PUblishingEventsQueryPost.java +++ b/source/java/org/alfresco/repo/web/scripts/publishing/PUblishingEventsQueryPost.java @@ -25,9 +25,8 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.alfresco.repo.web.scripts.WebScriptUtil; -import org.alfresco.service.cmr.publishing.Environment; import org.alfresco.service.cmr.publishing.PublishingEvent; -import org.alfresco.util.Pair; +import org.alfresco.service.cmr.publishing.PublishingQueue; import org.springframework.extensions.webscripts.Cache; import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptException; @@ -46,14 +45,13 @@ public class PUblishingEventsQueryPost extends PublishingEnvironmentWebScript @Override protected Map executeImpl(WebScriptRequest req, Status status, Cache cache) { - Pair siteAndEnvironment = getSiteAndEnvironment(req); - String siteId = siteAndEnvironment.getFirst(); - Environment environment = siteAndEnvironment.getSecond(); + String siteId = getSiteId(req); + PublishingQueue queue = getQueue(siteId); String content = null; try { content = WebScriptUtil.getContent(req); - List events = jsonParser.query(environment, content); + List events = jsonParser.query(queue, content); List> model = builder.buildPublishingEvents(events, channelService, siteId); return WebScriptUtil.createBaseModel(model); } diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingEnvironmentWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingEnvironmentWebScript.java index a2d1f1faba..eeaf3aaac2 100644 --- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingEnvironmentWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingEnvironmentWebScript.java @@ -25,10 +25,9 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; -import org.alfresco.service.cmr.publishing.Environment; +import org.alfresco.service.cmr.publishing.PublishingQueue; import org.alfresco.service.cmr.publishing.PublishingService; import org.alfresco.service.cmr.publishing.channels.ChannelService; -import org.alfresco.util.Pair; import org.springframework.extensions.webscripts.DeclarativeWebScript; import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; @@ -45,9 +44,8 @@ public abstract class PublishingEnvironmentWebScript extends DeclarativeWebScrip protected PublishingService publishingService; protected ChannelService channelService; - private String defaultEnvironmentId; - protected Pair getSiteAndEnvironment(WebScriptRequest req) + protected String getSiteId(WebScriptRequest req) { Map params = req.getServiceMatch().getTemplateVars(); String siteId = params.get(SITE_ID); @@ -57,26 +55,18 @@ public abstract class PublishingEnvironmentWebScript extends DeclarativeWebScrip String msg = "A Site ID must be specified!"; throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, msg); } - if (defaultEnvironmentId == null) - { - String msg = "An Environment ID must be specified!"; - throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, msg); - } - Environment environment = publishingService.getEnvironment(siteId, defaultEnvironmentId); - if(environment == null) - { - String msg = "Environment " + defaultEnvironmentId + " does not exist in site " +siteId; - throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, msg); - } - return new Pair(siteId, environment); + return siteId; } - /** - * @param defaultEnvironmentId the defaultEnvironmentId to set - */ - public void setDefaultEnvironmentId(String defaultEnvironmentId) + protected PublishingQueue getQueue(WebScriptRequest req) { - this.defaultEnvironmentId = defaultEnvironmentId; + String siteId = getSiteId(req); + return getQueue(siteId); + } + + protected PublishingQueue getQueue(String siteId) + { + return publishingService.getPublishingQueue(siteId); } /** diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingJsonParser.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingJsonParser.java index 651d1281bb..45abb67b93 100644 --- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingJsonParser.java +++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingJsonParser.java @@ -39,7 +39,6 @@ import java.util.Collections; import java.util.List; import org.alfresco.repo.node.NodeUtils; -import org.alfresco.service.cmr.publishing.Environment; import org.alfresco.service.cmr.publishing.MutablePublishingPackage; import org.alfresco.service.cmr.publishing.PublishingEvent; import org.alfresco.service.cmr.publishing.PublishingEventFilter; @@ -71,20 +70,20 @@ public class PublishingJsonParser return new JSONObject(); } - public List query(Environment environment, String content) throws JSONException + public List query(PublishingQueue queue, String content) throws JSONException { JSONObject json = getJson(content); - PublishingEventFilter filter = buildFilter(environment, json); - return environment.getPublishingEvents(filter); + PublishingEventFilter filter = buildFilter(queue, json); + return queue.getPublishingEvents(filter); } - private PublishingEventFilter buildFilter(Environment environment, JSONObject json) + private PublishingEventFilter buildFilter(PublishingQueue queue, JSONObject json) { List publishNodes = toNodes(json.optJSONArray(PUBLISH_NODES)); List unpublishNodes = toNodes(json.optJSONArray(UNPUBLISH_NODES)); List ids = JsonUtils.toListOfStrings(json.optJSONArray(IDS)); - PublishingEventFilter filter = environment.createPublishingEventFilter() + PublishingEventFilter filter = queue.createPublishingEventFilter() .setIds(ids) .setPublishedNodes(publishNodes) .setUnpublishedNodes(unpublishNodes); diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingQueuePost.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingQueuePost.java index 182738e483..b6e19b04f3 100644 --- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingQueuePost.java +++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingQueuePost.java @@ -24,10 +24,8 @@ import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.alfresco.repo.web.scripts.WebScriptUtil; -import org.alfresco.service.cmr.publishing.Environment; import org.alfresco.service.cmr.publishing.PublishingEvent; import org.alfresco.service.cmr.publishing.PublishingQueue; -import org.alfresco.util.Pair; import org.springframework.extensions.webscripts.Cache; import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptException; @@ -46,10 +44,8 @@ public class PublishingQueuePost extends PublishingEnvironmentWebScript @Override protected Map executeImpl(WebScriptRequest req, Status status, Cache cache) { - Pair siteAndEnvironment = getSiteAndEnvironment(req); - String siteId = siteAndEnvironment.getFirst(); - Environment environment = siteAndEnvironment.getSecond(); - PublishingQueue queue = environment.getPublishingQueue(); + String siteId = getSiteId(req); + PublishingQueue queue = getQueue(siteId); String content = null; try diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java index c55e9a0b15..e988f7185d 100644 --- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java @@ -79,6 +79,7 @@ import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.content.transform.AbstractContentTransformerTest; import org.alfresco.repo.publishing.ChannelHelper; import org.alfresco.repo.publishing.ChannelServiceImpl; +import org.alfresco.repo.publishing.EnvironmentImpl; import org.alfresco.repo.publishing.PublishServiceImpl; import org.alfresco.repo.publishing.PublishingObjectFactory; import org.alfresco.repo.security.authentication.AuthenticationUtil; @@ -86,7 +87,6 @@ import org.alfresco.repo.web.scripts.BaseWebScriptTest; import org.alfresco.repo.web.scripts.WebScriptUtil; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.model.FileFolderService; -import org.alfresco.service.cmr.publishing.Environment; import org.alfresco.service.cmr.publishing.MutablePublishingPackage; import org.alfresco.service.cmr.publishing.NodeSnapshot; import org.alfresco.service.cmr.publishing.PublishingEvent; @@ -125,7 +125,6 @@ import org.springframework.extensions.webscripts.TestWebScriptServer.Response; */ public class PublishingRestApiTest extends BaseWebScriptTest { - private static final String environmentName = "live"; private static final String publishPdfType = "publishPdfForTest"; private static final String publishAnyType = "publishAnyForTest"; private static final String statusUpdateType = "statusUpdateForTest"; @@ -144,10 +143,11 @@ public class PublishingRestApiTest extends BaseWebScriptTest private ChannelService channelService; private PublishingService publishingService; private ChannelHelper channelHelper; + private PublishingQueue queue; - private Environment environment; private NodeRef docLib; private String siteId; + private EnvironmentImpl environment; public void testGetChannelsForNode() throws Exception { @@ -261,8 +261,8 @@ public class PublishingRestApiTest extends BaseWebScriptTest // Post JSON content. sendRequest(new PostRequest(pubQueueUrl, jsonStr, JSON), 200); - PublishingEventFilter filter = environment.createPublishingEventFilter(); - List events = environment.getPublishingEvents(filter); + PublishingEventFilter filter = queue.createPublishingEventFilter(); + List events = queue.getPublishingEvents(filter); assertEquals(1, events.size()); PublishingEvent event = events.get(0); assertEquals(publishChannel.getName(), event.getChannelName()); @@ -342,7 +342,6 @@ public class PublishingRestApiTest extends BaseWebScriptTest assertEquals(0, data.length()); // Create publishing event for textNode1. - PublishingQueue queue = environment.getPublishingQueue(); MutablePublishingPackage pckg1 = queue.createPublishingPackage(); pckg1.addNodesToPublish(textNode1); StatusUpdate statusUpdate = null; @@ -742,15 +741,16 @@ public class PublishingRestApiTest extends BaseWebScriptTest SiteVisibility.PUBLIC); this.docLib = siteService.createContainer(siteId, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null); - this.environment = factory.createEnvironmentObject(siteId, environmentName); + this.environment = factory.createEnvironmentObject(siteId); + this.queue = environment.getPublishingQueue(); } @Override public void tearDown() throws Exception { //FInd all events - PublishingEventFilter filter = environment.createPublishingEventFilter(); - List events = environment.getPublishingEvents(filter); + PublishingEventFilter filter = queue.createPublishingEventFilter(); + List events = queue.getPublishingEvents(filter); for (PublishingEvent event : events) { try