diff --git a/source/java/org/alfresco/web/app/servlet/CommandServlet.java b/source/java/org/alfresco/web/app/servlet/CommandServlet.java index 3b49327adc..5b7f918145 100644 --- a/source/java/org/alfresco/web/app/servlet/CommandServlet.java +++ b/source/java/org/alfresco/web/app/servlet/CommandServlet.java @@ -84,14 +84,14 @@ public class CommandServlet extends BaseServlet return; } + uri = uri.substring(req.getContextPath().length()); StringTokenizer t = new StringTokenizer(uri, "/"); int tokenCount = t.countTokens(); - if (tokenCount < 4) + if (tokenCount < 3) { throw new IllegalArgumentException("Command Servlet URL did not contain all required args: " + uri); } - t.nextToken(); // skip web app name t.nextToken(); // skip servlet name // get the command processor to execute the command e.g. "workflow" @@ -101,8 +101,8 @@ public class CommandServlet extends BaseServlet String command = t.nextToken(); // get any remaining uri elements to pass to the processor - String[] args = new String[tokenCount - 4]; - for (int i=0; i= 8) + if (tokenCount >= 7) { storeRef = new StoreRef(t.nextToken(), t.nextToken()); templateRef = new NodeRef(storeRef, t.nextToken()); @@ -165,7 +166,7 @@ public class TemplateContentServlet extends BaseServlet } // create the model - put the supplied noderef in as space/document as appropriate - Object model = getModel(serviceRegistry, req, res, nodeRef); + Object model = getModel(serviceRegistry, req.getSession(), req.getParameterMap(), nodeRef); // process the template against the node content directly to the response output stream // assuming the repo is capable of streaming in chunks, this should allow large files @@ -215,14 +216,15 @@ public class TemplateContentServlet extends BaseServlet * * @param services ServiceRegistry required for TemplateNode construction * @param session HttpSession for accessing current User + * @param paramMap Request parameter map * @param nodeRef NodeRef of the space/document to process template against * * @return an object model ready for executing template against */ - private Object getModel(ServiceRegistry services, HttpServletRequest req, HttpServletResponse res, NodeRef nodeRef) + private Object getModel(ServiceRegistry services, HttpSession session, Map paramMap, NodeRef nodeRef) { // build FreeMarker default model and merge - Map root = DefaultModelHelper.buildDefaultModel(services, Application.getCurrentUser(req.getSession())); + Map root = DefaultModelHelper.buildDefaultModel(services, Application.getCurrentUser(session)); // put the current NodeRef in as "space" and "document" TemplateNode node = new TemplateNode(nodeRef, services, this.imageResolver); diff --git a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java index fe5bbe4163..cef45fff85 100644 --- a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java +++ b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java @@ -306,9 +306,10 @@ public class ClipboardBean if (logger.isDebugEnabled()) logger.debug("Attempting to copy node ID: " + item.Node.getId() + " into node ID: " + destRef.getId()); - if (dd.isSubClass(item.Node.getType(), ContentModel.TYPE_CONTENT)) + if (dd.isSubClass(item.Node.getType(), ContentModel.TYPE_CONTENT) || + dd.isSubClass(item.Node.getType(), ContentModel.TYPE_FOLDER)) { - // call the node ops service to initiate the copy + // copy the file/folder this.fileFolderService.copy( item.Node.getNodeRef(), destRef, @@ -316,6 +317,7 @@ public class ClipboardBean } else { + // copy the node this.copyService.copy( item.Node.getNodeRef(), destRef, @@ -330,13 +332,14 @@ public class ClipboardBean if (logger.isDebugEnabled()) logger.debug("Attempting to move node ID: " + item.Node.getId() + " into node ID: " + destRef.getId()); - if (dd.isSubClass(item.Node.getType(), ContentModel.TYPE_CONTENT)) + if (dd.isSubClass(item.Node.getType(), ContentModel.TYPE_CONTENT) || + dd.isSubClass(item.Node.getType(), ContentModel.TYPE_FOLDER)) { - // move the node + // move the file/folder this.fileFolderService.move( item.Node.getNodeRef(), destRef, - name); // TODO: could add "Copy of ..." here if move fails + name); } else { diff --git a/source/web/jsp/browse/browse.jsp b/source/web/jsp/browse/browse.jsp index 7915bc0164..3d0b6e7859 100644 --- a/source/web/jsp/browse/browse.jsp +++ b/source/web/jsp/browse/browse.jsp @@ -155,7 +155,7 @@ <%-- View mode settings --%> - diff --git a/source/web/jsp/login.jsp b/source/web/jsp/login.jsp index e5b1552ac5..c7f4e1209a 100644 --- a/source/web/jsp/login.jsp +++ b/source/web/jsp/login.jsp @@ -112,7 +112,7 @@ <%-- language selection drop-down --%> - +