diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.desc.xml
index 4a67176194..96a69a74c9 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.desc.xml
@@ -4,8 +4,8 @@
Used to receive authorisation callbacks from publishing service providers
]]>
- /api/publishing/channel/{store_protocol}/{store_id}/{node_id}/authcallback
-
+ /api/publishing/channels/{store_protocol}/{store_id}/{node_id}/authcallback
+
user
required
public_api
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.html.ftl
new file mode 100644
index 0000000000..ff9ae7ab42
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authcallback.get.html.ftl
@@ -0,0 +1,5 @@
+
+
+AuthStatus == ${authStatus}
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.get.desc.xml
index cb2db8700a..2ef40b4998 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.get.desc.xml
@@ -3,7 +3,7 @@
- /api/publishing/channel/{store_protocol}/{store_id}/{node_id}/authform
+ /api/publishing/channels/{store_protocol}/{store_id}/{node_id}/authform
user
required
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.desc.xml
index bfc817ee7e..d3ced1f806 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.desc.xml
@@ -1,10 +1,12 @@
Channel Authorisation Form
- /api/publishing/channel/{store_protocol}/{store_id}/{node_id}/authform
-
+ /api/publishing/channels/{store_protocol}/{store_id}/{node_id}/authform
+
user
required
public_api
@@ -22,4 +24,16 @@
The identifier of the node that represents the relevant publishing channel.
+
+
+ json
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.json.ftl
new file mode 100644
index 0000000000..99e9ee20cd
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authform.post.json.ftl
@@ -0,0 +1,6 @@
+<#-- Response to a request to create a publishing channel -->
+<#escape x as jsonUtils.encodeJSONString(x)>
+{
+ "authStatus" : "${authStatus}",
+}
+#escape>
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.desc.xml
deleted file mode 100644
index 9bdecd5671..0000000000
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.desc.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
- Authorisation status check for a new publishing channel
-
- PENDING - we haven't finished the necessary exchanges with the service provider yet.
- REJECTED - our request to authorise the channel has been rejected. The channel creation has failed.
- AUTHORISED - the channel has been authorised and is now ready to be used.
-
- ]]>
-
- /api/publishing/channel/{store_protocol}/{store_id}/{node_id}/authstatus
-
- user
- required
- public_api
-
-
- store_protocol
- The protocol of the store in which the relevant publishing channel lives.
-
-
- store_id
- The identifier of the store in which the relevant publishing channel lives.
-
-
- node_id
- The identifier of the node that represents the relevant publishing channel.
-
-
-
-
- json
-
-
-
-
-
-
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.json.ftl
deleted file mode 100644
index 5619b794bf..0000000000
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/authstatus.get.json.ftl
+++ /dev/null
@@ -1,10 +0,0 @@
-<#-- Response to a request to check the authorisation status of a publishing channel -->
-<#escape x as jsonUtils.encodeJSONString(x)>
-{
- "data":
- {
- "channelId" : "${channelId}",
- "authStatus": "${authStatus}",
- }
-}
-#escape>
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-type-icon.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-type-icon.get.desc.xml
index dcfea9ab2c..706da1e05e 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-type-icon.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-type-icon.get.desc.xml
@@ -11,7 +11,7 @@
are missing then a 400 status code is returned.
]]>
- /api/publishing/channel-type/{channelType}/icon/{iconSize}
+ /api/publishing/channel-types/{channelType}/icon/{iconSize}
user
required
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.delete.desc.xml
new file mode 100644
index 0000000000..b79d3ed365
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.delete.desc.xml
@@ -0,0 +1,34 @@
+
+ Delete specified publishing channel
+
+ Response status indicates result:
+
+ - 200
- deletion successful
+ - 400
- invalid data received from caller
+ - 401
- user doesn't have permission to delete the specified channel
+ - 404
- the specified channel cannot be found
+
+
+ ]]>
+ /api/publishing/channels/{store_protocol}/{store_id}/{node_id}
+
+ user
+ required
+ public_api
+
+
+ store_protocol
+ The protocol of the store in which the relevant publishing channel lives.
+
+
+ store_id
+ The identifier of the store in which the relevant publishing channel lives.
+
+
+ node_id
+ The identifier of the node that represents the relevant publishing channel.
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.get.desc.xml
index e836184c39..16a8fc30c1 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.get.desc.xml
@@ -41,6 +41,7 @@
"id": string,
"name": string,
"title": string,
+ "authorised": boolean,
"channelType":
{
"id": string,
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.post.json.ftl
index ea6e9e7467..ae16ba8c9c 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.post.json.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channels.post.json.ftl
@@ -4,7 +4,6 @@
"data":
{
"channelId" : "${channelId}",
- "pollUrl": "${pollUrl}",
"authoriseUrl": "${authoriseUrl}",
"authCallbackUrl": "${authCallbackUrl}"
}
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/publishing.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/publishing.lib.ftl
index a5213f8a42..18fdf0ffb7 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/publishing.lib.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/publishing.lib.ftl
@@ -78,6 +78,7 @@
"id": "${channel.id}",
"name": "${channel.name}",
"title": "${channel.title}",
+ "authorised": "${channel.authorised}",
"channelType":
<@channelTypeJSON type=channel.channelType />
}
diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml
index 42b28d68c4..5d0ead8c3f 100644
--- a/config/alfresco/web-scripts-application-context.xml
+++ b/config/alfresco/web-scripts-application-context.xml
@@ -1130,25 +1130,18 @@
class="org.alfresco.repo.web.scripts.publishing.ChannelsPostWebScript"
parent="webscript">
+
-
-
-
-
-
-
@@ -1168,6 +1161,12 @@
+
+
+
+
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/AuthCallbackWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/AuthCallbackWebScript.java
index 10976b7c69..f749e94cf4 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/AuthCallbackWebScript.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/AuthCallbackWebScript.java
@@ -19,46 +19,33 @@
package org.alfresco.repo.web.scripts.publishing;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
-import org.alfresco.repo.publishing.PublishingModel;
import org.alfresco.service.cmr.publishing.channels.Channel;
import org.alfresco.service.cmr.publishing.channels.ChannelService;
+import org.alfresco.service.cmr.publishing.channels.ChannelType;
import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.cmr.repository.NodeService;
-import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.springframework.extensions.webscripts.AbstractWebScript;
+import org.springframework.extensions.webscripts.Cache;
+import org.springframework.extensions.webscripts.DeclarativeWebScript;
+import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
-import org.springframework.extensions.webscripts.WebScriptResponse;
-public class AuthCallbackWebScript extends AbstractWebScript
+public class AuthCallbackWebScript extends DeclarativeWebScript
{
private final static Log log = LogFactory.getLog(AuthCallbackWebScript.class);
- private NodeService nodeService;
private ChannelService channelService;
- public void setNodeService(NodeService nodeService)
- {
- this.nodeService = nodeService;
- }
-
public void setChannelService(ChannelService channelService)
{
this.channelService = channelService;
}
@Override
- public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException
+ protected Map executeImpl(WebScriptRequest req, Status status, Cache cache)
{
- res.setContentType("text/html");
- res.setContentEncoding("UTF-8");
-
Map templateVars = req.getServiceMatch().getTemplateVars();
Map params = new TreeMap();
Map headers = new TreeMap();
@@ -87,24 +74,10 @@ public class AuthCallbackWebScript extends AbstractWebScript
NodeRef channelNodeRef = new NodeRef(channelNodeStoreProtocol, channelNodeStoreId, channelNodeUuid);
Channel channel = channelService.getChannelById(channelNodeRef.toString());
- if (channel.getChannelType().acceptAuthorisationCallback(channel, headers, params))
- {
- Map props = new HashMap();
- props.put(PublishingModel.PROP_AUTHORISATION_COMPLETE, Boolean.TRUE);
- channelService.updateChannel(channel, props);
- res.getWriter().write("Authorisation granted!");
- }
- else
- {
- Boolean authorised = (Boolean)nodeService.getProperty(channelNodeRef, PublishingModel.PROP_AUTHORISATION_COMPLETE);
- if (authorised != null && !authorised)
- {
- //If we have not been granted access by the service provider then we
- //simply delete this publishing channel
- channelService.deleteChannel(channel);
- }
- res.getWriter().write("Authorisation denied!");
- }
+ ChannelType.AuthStatus authStatus = channel.getChannelType().acceptAuthorisationCallback(channel, headers, params);
+
+ Map model = new TreeMap();
+ model.put("authStatus", authStatus.name());
+ return model;
}
-
}
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelPostWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelPostWebScript.java
deleted file mode 100644
index 3b5e791d69..0000000000
--- a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelPostWebScript.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2005-2010 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-package org.alfresco.repo.web.scripts.publishing;
-
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.alfresco.service.cmr.publishing.channels.Channel;
-import org.alfresco.service.cmr.publishing.channels.ChannelService;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.springframework.extensions.webscripts.Cache;
-import org.springframework.extensions.webscripts.DeclarativeWebScript;
-import org.springframework.extensions.webscripts.Status;
-import org.springframework.extensions.webscripts.WebScriptRequest;
-
-public class ChannelPostWebScript extends DeclarativeWebScript
-{
- private ChannelService channelService;
-
- public void setChannelService(ChannelService channelService)
- {
- this.channelService = channelService;
- }
-
- @Override
- protected Map executeImpl(WebScriptRequest req, Status status, Cache cache)
- {
- String channelType = req.getParameter("channelType");
- String siteId = req.getParameter("siteId");
- String channelName = req.getParameter("channelName");
-
- Channel newChannel = channelService.createChannel(channelType, channelName, null);
-
- NodeRef channelNodeRef = newChannel.getNodeRef();
- StringBuilder urlBuilder = new StringBuilder(req.getServerPath());
- urlBuilder.append(req.getServiceContextPath());
- urlBuilder.append("/api/publishing/channel/");
- urlBuilder.append(channelNodeRef.getStoreRef().getProtocol());
- urlBuilder.append('/');
- urlBuilder.append(channelNodeRef.getStoreRef().getIdentifier());
- urlBuilder.append('/');
- urlBuilder.append(channelNodeRef.getId());
- urlBuilder.append('/');
-
- String baseUrl = urlBuilder.toString();
- String pollUrl = baseUrl + "authstatus";
- String callbackUrl = baseUrl + "authcallback";
-
- String authoriseUrl = channelService.getChannelType(channelType).getAuthorisationUrl(newChannel, callbackUrl);
- if (authoriseUrl == null)
- {
- // If a channel type returns null as the authorise URL then we
- // assume credentials are to be supplied to us directly. We'll point the
- // user at our own credential-gathering form.
- authoriseUrl = baseUrl + "authform";
- }
-
- Map model = new TreeMap();
- model.put("pollUrl", pollUrl);
- model.put("authoriseUrl", authoriseUrl);
- model.put("channelId", channelNodeRef.toString());
-
- return model;
- }
-}
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelTypeIconGetWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelTypeIconGetWebScript.java
index 8b89e038c5..b7005e17a5 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelTypeIconGetWebScript.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelTypeIconGetWebScript.java
@@ -27,8 +27,6 @@ import java.util.Map;
import org.alfresco.service.cmr.publishing.channels.ChannelService;
import org.alfresco.service.cmr.publishing.channels.ChannelType;
import org.alfresco.service.cmr.repository.MimetypeService;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.springframework.core.io.Resource;
import org.springframework.extensions.webscripts.AbstractWebScript;
import org.springframework.extensions.webscripts.WebScriptRequest;
@@ -37,7 +35,6 @@ import org.springframework.util.FileCopyUtils;
public class ChannelTypeIconGetWebScript extends AbstractWebScript
{
- private final static Log log = LogFactory.getLog(ChannelTypeIconGetWebScript.class);
private ChannelService channelService;
private MimetypeService mimetypeService;
@@ -73,15 +70,7 @@ public class ChannelTypeIconGetWebScript extends AbstractWebScript
return;
}
- Resource iconFile = null;
- if (iconSize.equals("16"))
- {
- iconFile = channelType.getIcon16();
- }
- else if (iconSize.equals("32"))
- {
- iconFile = channelType.getIcon32();
- }
+ Resource iconFile = channelType.getIcon(iconSize);
if (iconFile == null || !iconFile.exists())
{
res.setStatus(404); //Not found
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/AuthStatusGetWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsDeleteWebScript.java
similarity index 52%
rename from source/java/org/alfresco/repo/web/scripts/publishing/AuthStatusGetWebScript.java
rename to source/java/org/alfresco/repo/web/scripts/publishing/ChannelsDeleteWebScript.java
index 78e857e72a..9b3982890b 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/AuthStatusGetWebScript.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsDeleteWebScript.java
@@ -19,52 +19,57 @@
package org.alfresco.repo.web.scripts.publishing;
+import java.io.IOException;
import java.util.Map;
-import java.util.TreeMap;
-import org.alfresco.repo.publishing.PublishingModel;
+import org.alfresco.repo.security.permissions.AccessDeniedException;
+import org.alfresco.service.cmr.publishing.channels.Channel;
+import org.alfresco.service.cmr.publishing.channels.ChannelService;
import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.cmr.repository.NodeService;
-import org.springframework.extensions.webscripts.Cache;
-import org.springframework.extensions.webscripts.DeclarativeWebScript;
+import org.springframework.extensions.webscripts.AbstractWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
+import org.springframework.extensions.webscripts.WebScriptResponse;
-public class AuthStatusGetWebScript extends DeclarativeWebScript
+public class ChannelsDeleteWebScript extends AbstractWebScript
{
- private NodeService nodeService;
+ private ChannelService channelService;
- public void setNodeService(NodeService nodeService)
+ public void setChannelService(ChannelService channelService)
{
- this.nodeService = nodeService;
+ this.channelService = channelService;
}
@Override
- protected Map executeImpl(WebScriptRequest req, Status status, Cache cache)
+ public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException
{
Map templateVars = req.getServiceMatch().getTemplateVars();
+
String channelNodeUuid = templateVars.get("node_id");
String channelNodeStoreProtocol = templateVars.get("store_protocol");
String channelNodeStoreId = templateVars.get("store_id");
- String authStatus = "REJECTED";
- NodeRef channelNodeRef = new NodeRef(channelNodeStoreProtocol, channelNodeStoreId, channelNodeUuid);
- if (nodeService.exists(channelNodeRef))
+ if (channelNodeStoreId == null || channelNodeStoreProtocol == null || channelNodeUuid == null)
{
- Boolean authComplete = (Boolean)nodeService.getProperty(channelNodeRef, PublishingModel.PROP_AUTHORISATION_COMPLETE);
- if (authComplete)
- {
- authStatus = "AUTHORISED";
- }
- else
- {
- authStatus = "PENDING";
- }
+ res.setStatus(Status.STATUS_BAD_REQUEST);
+ return;
}
- Map model = new TreeMap();
- model.put("channelId", channelNodeRef.toString());
- model.put("authStatus", authStatus);
- return model;
+ NodeRef channelNodeRef = new NodeRef(channelNodeStoreProtocol, channelNodeStoreId, channelNodeUuid);
+ Channel channel = channelService.getChannelById(channelNodeRef.toString());
+ if (channel == null)
+ {
+ res.setStatus(Status.STATUS_NOT_FOUND);
+ return;
+ }
+
+ try
+ {
+ channelService.deleteChannel(channel);
+ }
+ catch (AccessDeniedException ex)
+ {
+ res.setStatus(Status.STATUS_UNAUTHORIZED);
+ }
}
}
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsPostWebScript.java b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsPostWebScript.java
index b417cfba32..131ae07b72 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsPostWebScript.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/ChannelsPostWebScript.java
@@ -22,9 +22,11 @@ package org.alfresco.repo.web.scripts.publishing;
import java.util.Map;
import java.util.TreeMap;
+import org.alfresco.repo.admin.SysAdminParams;
import org.alfresco.service.cmr.publishing.channels.Channel;
import org.alfresco.service.cmr.publishing.channels.ChannelService;
import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.util.UrlUtil;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
@@ -33,12 +35,18 @@ import org.springframework.extensions.webscripts.WebScriptRequest;
public class ChannelsPostWebScript extends DeclarativeWebScript
{
private ChannelService channelService;
+ private SysAdminParams sysAdminParams;
public void setChannelService(ChannelService channelService)
{
this.channelService = channelService;
}
+ public void setSysAdminParams(SysAdminParams sysAdminParams)
+ {
+ this.sysAdminParams = sysAdminParams;
+ }
+
@Override
protected Map executeImpl(WebScriptRequest req, Status status, Cache cache)
{
@@ -48,9 +56,8 @@ public class ChannelsPostWebScript extends DeclarativeWebScript
Channel newChannel = channelService.createChannel(channelType, channelName, null);
NodeRef channelNodeRef = newChannel.getNodeRef();
- StringBuilder urlBuilder = new StringBuilder(req.getServerPath());
- urlBuilder.append(req.getServiceContextPath());
- urlBuilder.append("/api/publishing/channel/");
+ StringBuilder urlBuilder = new StringBuilder(UrlUtil.getShareUrl(sysAdminParams));
+ urlBuilder.append("/proxy/alfresco/api/publishing/channels/");
urlBuilder.append(channelNodeRef.getStoreRef().getProtocol());
urlBuilder.append('/');
urlBuilder.append(channelNodeRef.getStoreRef().getIdentifier());
@@ -59,7 +66,6 @@ public class ChannelsPostWebScript extends DeclarativeWebScript
urlBuilder.append('/');
String baseUrl = urlBuilder.toString();
- String pollUrl = baseUrl + "authstatus";
String callbackUrl = baseUrl + "authcallback";
String authoriseUrl = channelService.getChannelType(channelType).getAuthorisationUrl(newChannel, callbackUrl);
@@ -72,9 +78,8 @@ public class ChannelsPostWebScript extends DeclarativeWebScript
}
Map model = new TreeMap();
- model.put("pollUrl", pollUrl);
model.put("authoriseUrl", authoriseUrl);
- model.put("channelId", channelNodeRef.toString());
+ model.put("channelId", newChannel.getId());
model.put("authCallbackUrl", callbackUrl);
return model;
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingModelBuilder.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingModelBuilder.java
index 9197ea5bf2..ec00debea3 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingModelBuilder.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingModelBuilder.java
@@ -21,29 +21,6 @@ package org.alfresco.repo.web.scripts.publishing;
import static org.alfresco.repo.web.scripts.WebScriptUtil.buildCalendarModel;
import static org.alfresco.repo.web.scripts.WebScriptUtil.buildDateModel;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CAN_PUBLISH;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CAN_PUBLISH_STATUS_UPDATES;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CAN_UNPUBLISH;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CHANNEL;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CHANNEL_NODE_TYPE;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CHANNEL_TYPE;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.COMMENT;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CREATED_TIME;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.CREATOR;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.ICON;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.ID;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.MAX_STATUS_LENGTH;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.NAME;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.NODEREF;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.PUBLISH_NODES;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.SCHEDULED_TIME;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.STATUS;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.SUPPORTED_CONTENT_TYPES;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.SUPPORTED_MIME_TYPES;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.TITLE;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.UNPUBLISH_NODES;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.URL;
-import static org.alfresco.repo.web.scripts.publishing.PublishingWebScriptConstants.VERSION;
import static org.alfresco.util.collections.CollectionUtils.toListOfStrings;
import static org.alfresco.util.collections.CollectionUtils.transform;
@@ -71,7 +48,7 @@ import org.springframework.extensions.surf.util.URLEncoder;
* @since 4.0
*
*/
-public class PublishingModelBuilder
+public class PublishingModelBuilder implements PublishingWebScriptConstants
{
public Map buildPublishingEvent(PublishingEvent event, ChannelService channelService)
@@ -122,6 +99,7 @@ public class PublishingModelBuilder
//TODO Localize the title.
model.put(TITLE, channel.getName());
model.put(CHANNEL_TYPE, buildChannelType(channel.getChannelType()));
+ model.put(CHANNEL_AUTH_STATUS, toString(channel.isAuthorised()));
return model;
}
@@ -153,7 +131,7 @@ public class PublishingModelBuilder
model.put(CAN_UNPUBLISH, toString(type.canUnpublish()));
model.put(MAX_STATUS_LENGTH, type.getMaximumStatusLength());
- model.put(ICON, "");
+ model.put(ICON, getUrl(type) + "/icon/");
return model;
}
@@ -175,7 +153,7 @@ public class PublishingModelBuilder
public static String getUrl(ChannelType type)
{
- return "api/publishing/channelTypes/"+URLEncoder.encode(type.getId());
+ return "api/publishing/channel-types/"+URLEncoder.encode(type.getId());
}
public static String getUrl(Channel channel)
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 548d3bd305..a9a2627790 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingRestApiTest.java
@@ -580,7 +580,7 @@ public class PublishingRestApiTest extends BaseWebScriptTest
check(ID, jsonType, channelType.getId());
check(TITLE, jsonType, channelType.getId());
- String expUrl = "api/publishing/channelTypes/"+URLEncoder.encode(channelType.getId());
+ String expUrl = "api/publishing/channel-types/"+URLEncoder.encode(channelType.getId());
check(URL, jsonType, expUrl);
check(CHANNEL_NODE_TYPE, jsonType, channelType.getChannelNodeType().toString());
diff --git a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingWebScriptConstants.java b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingWebScriptConstants.java
index a84c046f26..9c230abf86 100644
--- a/source/java/org/alfresco/repo/web/scripts/publishing/PublishingWebScriptConstants.java
+++ b/source/java/org/alfresco/repo/web/scripts/publishing/PublishingWebScriptConstants.java
@@ -48,6 +48,7 @@ public interface PublishingWebScriptConstants
// Channel Keys
public static final String NAME = "name";
public static final String CHANNEL_TYPE = "channelType";
+ public static final String CHANNEL_AUTH_STATUS = "authorised";
// Publishing Event Model Keys
public static final String CHANNEL = "channel";