From 0546224e236e0bd4913e4712394a8b33c07dcb4a Mon Sep 17 00:00:00 2001 From: Erik Winlof Date: Wed, 3 Sep 2014 12:01:49 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 78403: Merged EOL (5.0/Cloud) to HEAD-BUG-FIX (5.0/Cloud) 75700: ACE-2149: EOL AVM / WCM - Remove most of the AVM and WCM beans, scripts, classes, patches, etc - The Explorer client is very broken for compilation - TODO: Remove all WCM-related functionality, which I thought would be best left to a UI dev I've murdered many of the classes and beans but there's more to do - The repository compiles TODO: Get it running again - TODO: Check if we can wipe the 'deployment' project as well git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82540 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../avm/applyavmcustomview.get.desc.xml | 8 - .../avm/applyavmcustomview.get.html.ftl | 52 -- .../avm/applyavmcustomview.post.desc.xml | 8 - .../avm/applyavmcustomview.post.html.ftl | 19 - .../alfresco/avm/applyavmcustomview.post.js | 27 - .../wcm/membership/membership.delete.desc.xml | 17 - .../wcm/membership/membership.delete.js | 29 - .../wcm/membership/membership.delete.json.ftl | 1 - .../wcm/membership/membership.get.desc.xml | 12 - .../wcm/membership/membership.get.js | 41 -- .../wcm/membership/membership.get.json.ftl | 4 - .../wcm/membership/membership.lib.ftl | 24 - .../wcm/membership/memberships.get.desc.xml | 12 - .../wcm/membership/memberships.get.js | 43 -- .../wcm/membership/memberships.get.json.ftl | 12 - .../wcm/membership/memberships.post.desc.xml | 20 - .../wcm/membership/memberships.post.json.ftl | 4 - .../wcm/membership/memberships.post.json.js | 57 -- .../wcm/sandbox/Asset/asset.delete.desc.xml | 21 - .../wcm/sandbox/Asset/asset.delete.js | 59 -- .../wcm/sandbox/Asset/asset.delete.json.ftl | 6 - .../wcm/sandbox/Asset/asset.get.desc.xml | 42 -- .../repository/wcm/sandbox/Asset/asset.get.js | 56 -- .../wcm/sandbox/Asset/asset.get.json.ftl | 6 - .../wcm/sandbox/Asset/asset.lib.ftl | 38 -- .../wcm/sandbox/Asset/asset.post.desc.xml | 35 -- .../wcm/sandbox/Asset/asset.post.json.ftl | 6 - .../wcm/sandbox/Asset/asset.post.json.js | 99 --- .../wcm/sandbox/Asset/asset.put.desc.xml | 26 - .../wcm/sandbox/Asset/asset.put.json.ftl | 5 - .../wcm/sandbox/Asset/asset.put.json.js | 73 --- .../wcm/sandbox/Asset/content.get.desc.xml | 15 - .../wcm/sandbox/Asset/content.get.js | 55 -- .../wcm/sandbox/Asset/content.get.json.ftl | 4 - .../wcm/sandbox/Asset/modified.get.desc.xml | 19 - .../wcm/sandbox/Asset/modified.get.js | 46 -- .../wcm/sandbox/Asset/modified.get.json.ftl | 11 - .../sandbox/Asset/properties.post.desc.xml | 14 - .../sandbox/Asset/properties.post.json.ftl | 4 - .../wcm/sandbox/Asset/properties.post.json.js | 72 --- .../wcm/sandbox/Asset/revert.post.desc.xml | 25 - .../wcm/sandbox/Asset/revert.post.json.ftl | 6 - .../wcm/sandbox/Asset/revert.post.json.js | 99 --- .../wcm/sandbox/Asset/submit.post.desc.xml | 27 - .../wcm/sandbox/Asset/submit.post.json.ftl | 6 - .../wcm/sandbox/Asset/submit.post.json.js | 114 ---- .../wcm/sandbox/sandbox.delete.desc.xml | 11 - .../repository/wcm/sandbox/sandbox.delete.js | 43 -- .../wcm/sandbox/sandbox.delete.json.ftl | 1 - .../wcm/sandbox/sandbox.get.desc.xml | 28 - .../repository/wcm/sandbox/sandbox.get.js | 34 -- .../wcm/sandbox/sandbox.get.json.ftl | 6 - .../repository/wcm/sandbox/sandbox.lib.ftl | 19 - .../wcm/sandbox/sandbox.post.desc.xml | 19 - .../wcm/sandbox/sandbox.post.json.ftl | 6 - .../wcm/sandbox/sandbox.post.json.js | 40 -- .../wcm/sandbox/sandboxes.get.desc.xml | 14 - .../repository/wcm/sandbox/sandboxes.get.js | 33 - .../wcm/sandbox/sandboxes.get.json.ftl | 13 - .../repository/wcm/webproject.delete.desc.xml | 14 - .../repository/wcm/webproject.delete.js | 41 -- .../repository/wcm/webproject.delete.json.ftl | 1 - .../repository/wcm/webproject.get.desc.xml | 10 - .../alfresco/repository/wcm/webproject.get.js | 37 -- .../repository/wcm/webproject.get.json.ftl | 5 - .../repository/wcm/webproject.lib.ftl | 25 - .../repository/wcm/webproject.post.desc.xml | 28 - .../repository/wcm/webproject.post.json.ftl | 5 - .../repository/wcm/webproject.post.json.js | 41 -- .../repository/wcm/webproject.put.desc.xml | 26 - .../repository/wcm/webproject.put.json.ftl | 5 - .../repository/wcm/webproject.put.json.js | 55 -- .../repository/wcm/webprojects.get.desc.xml | 16 - .../repository/wcm/webprojects.get.js | 27 - .../repository/wcm/webprojects.get.json.ftl | 10 - .../repo/web/scripts/bean/AVMRemoteStore.java | 567 ------------------ .../web/scripts/NodeBrowserScript.java | 66 +- .../org/alfresco/rest/api/tests/TestCMIS.java | 4 - 78 files changed, 2 insertions(+), 2627 deletions(-) delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.html.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.html.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.lib.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.lib.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.lib.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.lib.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.ftl delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.desc.xml delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.js delete mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.json.ftl delete mode 100644 source/java/org/alfresco/repo/web/scripts/bean/AVMRemoteStore.java diff --git a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.desc.xml deleted file mode 100644 index fe995ae216..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.desc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - Apply AVM Custom View - Simple UI to help apply a WebScript based custom view to an AVM folder - /avm/applyavmcustomview - extension - user - required - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.html.ftl deleted file mode 100644 index 2dcf2f349a..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.get.html.ftl +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Apply AVM WebScript Custom View - - - - -
- -
- Store: -
e.g. website1--admin
-
- -
- Folder Path: -
e.g. /ROOT/images
-
- -
- WebScript URL: -
e.g. /utils/avmview
A well known token {path} can be used in the url and will be replaced by the current AVM folder path at runtime.
-
- -
- -
- -
- - - - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.desc.xml deleted file mode 100644 index f8b05a54a3..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.desc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - Apply AVM Custom View POST - Simple UI to help apply a WebScript based custom view to an AVM folder - /avm/applyavmcustomview - extension - user - required - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.html.ftl deleted file mode 100644 index 94508d81ae..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.html.ftl +++ /dev/null @@ -1,19 +0,0 @@ - - - - Apply AVM WebScript Custom View - Done - - - - <#if success> - Operation Complete. - <#else> - Operation FAILED. Unable to find store or node. - - - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.js b/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.js deleted file mode 100644 index 24ab94c6bd..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/avm/applyavmcustomview.post.js +++ /dev/null @@ -1,27 +0,0 @@ -// check that search term has been provided -if (args.store == undefined || args.store.length == 0 || - args.path == undefined || args.path.length == 0 || - args.view == undefined || args.view.length == 0) -{ - status.code = 400; - status.message = "Mandatory arguments not set - please complete all form fields."; - status.redirect = true; -} -else -{ - // lookup the root on the store - var storeRootNode = avm.lookupStoreRoot(args.store); - if (storeRootNode != null) - { - var path = storeRootNode.path + args.path; - var node = avm.lookupNode(path); - if (node != null) - { - // add the custom view aspect - node.addAspect("cm:webscriptable"); - node.properties["cm:webscript"] = "/wcs" + args.view; - node.save(); - model.success = true; - } - } -} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.desc.xml deleted file mode 100644 index eff8ac6ae5..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.desc.xml +++ /dev/null @@ -1,17 +0,0 @@ - - Delete Web Project Membership - - Note that the user's sandboxes are deleted even if they have unsubmitted content. -
- Returns 200, STATUS_OK on success. - ]]> -
- /api/wcm/webprojects/{webprojectref}/memberships/{username} - argument - user - required - WCM/Membership - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.js deleted file mode 100644 index c3a261212b..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.js +++ /dev/null @@ -1,29 +0,0 @@ -function main() -{ - // Get the url values - var urlElements = url.extension.split("/"); - var webProjectRef = urlElements[0]; - var userName = urlElements[2]; - - // Get the web project - var webproject = webprojects.getWebProject(webProjectRef); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The web project " + webProjectRef + " does not exist."); - return; - } - - var role = webproject.getMembersRole(userName); - if (role == null) - { - // Person is not a member of the site - status.setCode(status.STATUS_NOT_FOUND, "The person with user name (" + userName + ") is not a member of the webproject " + webProjectRef ); - return; - } - - // Remove the user from the site - webproject.removeMembership(userName); -} - -main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.json.ftl deleted file mode 100644 index 9e26dfeeb6..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.delete.json.ftl +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.desc.xml deleted file mode 100644 index 7014f6a017..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.desc.xml +++ /dev/null @@ -1,12 +0,0 @@ - - Get Membership - - /api/wcm/webprojects/{webprojectref}/memberships/{username} - argument - user - required - WCM/Membership - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.js deleted file mode 100644 index f05a9b6d1d..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.js +++ /dev/null @@ -1,41 +0,0 @@ -function main() -{ - // Get the url values - var urlElements = url.extension.split("/"); - var webProjectRef = urlElements[0]; - var userName = urlElements[2]; - - // Get the web project - var webproject = webprojects.getWebProject(webProjectRef); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject: (" + webProjectRef + ") does not exist."); - return; - } - - var person = people.getPerson(userName); - if (person == null) - { - // Person cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The person with user name (" + userName + ") does not exist."); - return; - } - - // Get the role of the user - var role = webproject.getMembersRole(userName); - if (role == null) - { - // Person is not a member of the site - status.setCode(status.STATUS_NOT_FOUND, "The person with user name (" + userName + ") is not a member of the webproject " + webProjectRef ); - return; - } - - // Pass the values to the template - model.webproject = webproject; - model.person = person; - model.role = role; -} - -main(); - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.json.ftl deleted file mode 100644 index 9e08a1649a..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.get.json.ftl +++ /dev/null @@ -1,4 +0,0 @@ -<#import "membership.lib.ftl" as membershipLib/> -{ - "data":<@membershipLib.membershipJSON webproject=webproject role=role person=person/> -} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.lib.ftl deleted file mode 100644 index 643831a639..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/membership.lib.ftl +++ /dev/null @@ -1,24 +0,0 @@ -<#macro membershipJSON webproject role person> - <#escape x as jsonUtils.encodeJSONString(x)> - { - "role" : "${role}", - "person": - { - "userName" : "${person.properties.userName}", - "firstName" : "${person.properties.firstName}", - "lastName" : "${person.properties.lastName}", - <#if person.assocs["cm:avatar"]??> - "avatar" : "${"api/node/" + person.assocs["cm:avatar"][0].nodeRef?string?replace('://','/') + "/content/thumbnails/avatar"}", - - <#if person.properties.jobtitle??> - "jobtitle" : "${person.properties.jobtitle}", - - <#if person.properties.organization??> - "organization" : "${person.properties.organization}", - - "url" : "${url.serviceContext + "/api/people/" + person.properties.userName}" - }, - "url" : "${url.serviceContext + "/api/wcm/webproject/" + webproject.webProjectRef + "/membership/" + person.properties.userName}" - } - - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.desc.xml deleted file mode 100644 index d8f2ac2548..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.desc.xml +++ /dev/null @@ -1,12 +0,0 @@ - - List Memberships - - /api/wcm/webprojects/{webprojectref}/memberships - argument - user - required - WCM/Membership - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.js deleted file mode 100644 index 133574c2fe..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Get the memberships for a web project - */ -function main() -{ - var shortName = url.extension.split("/")[0]; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject " + shortName + " does not exist."); - return; - } - - // Get all the memberships - var memberships = webproject.listMembers(); - - // Get a list of all the users resolved to person nodes - var peopleList = Array(); - for (userName in memberships) - { - var person = people.getPerson(userName); - peopleList["_" + userName] = person; // make sure the keys are strings - } - - // also copy over the memberships. - var mems = {}; - var pos = 0; // memberships[userName] won't return the correct value if userName is a digit-only value - for (userName in memberships) - { - var membershipType = memberships[pos]; - mems["_" + userName] = membershipType; // make sure the keys are strings - pos++; - } - - // Pass the information to the template - model.webproject = webproject; - model.memberships = mems; - model.peoplelist = peopleList; -} - -main() \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.json.ftl deleted file mode 100644 index 43d40eb523..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.get.json.ftl +++ /dev/null @@ -1,12 +0,0 @@ -<#import "membership.lib.ftl" as membershipLib/> -{ - "data":[ - <#if memberships??> - <#assign userNames = memberships?keys /> - <#list userNames as userName> - <@membershipLib.membershipJSON webproject=webproject role=memberships[userName] person=peoplelist[userName]/> - <#if userName_has_next>, - - - ] -} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.desc.xml deleted file mode 100644 index 2d09b010cd..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.desc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - Add user to web project - - Input -
-
role
The role that the person should have
-
person
Details of the person.
-
-
- Returns 200, STATUS_OK - ]]>
- /api/wcm/webprojects/{webprojectref}/memberships - argument - user - required - WCM/Membership - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.ftl deleted file mode 100644 index 9e08a1649a..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.ftl +++ /dev/null @@ -1,4 +0,0 @@ -<#import "membership.lib.ftl" as membershipLib/> -{ - "data":<@membershipLib.membershipJSON webproject=webproject role=role person=person/> -} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.js deleted file mode 100644 index f59560d693..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/membership/memberships.post.json.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Create a new web project membership - * @return - */ - -function main() -{ - // Get the web project - var shortName = url.extension.split("/")[0]; - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The web project " + shortName + " does not exist."); - return; - } - - // Get the role - - if (! json.has("role")) - { - status.setCode(status.STATUS_BAD_REQUEST, "The role has not been set."); - return; - } - var role = json.get("role"); - - // Get the person - if(! json.has("person")) - { - status.setCode(status.STATUS_BAD_REQUEST, "The person has not been set."); - return; - } - - // Get the user name - var userName = json.getJSONObject("person").get("userName"); - if (userName == null) - { - status.setCode(status.STATUS_BAD_REQUEST, "The user name has not been set."); - return; - } - var person = people.getPerson(userName); - if (person == null) - { - status.setCode(status.STATUS_NOT_FOUND, "The person with user name " + userName + " could not be found."); - return; - } - - // Set the membership details - webproject.addMembership(userName, role); - - // Pass the details to the template - model.webproject = webproject; - model.role = role; - model.person = person; -} - -main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.desc.xml deleted file mode 100644 index ae51e14030..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.desc.xml +++ /dev/null @@ -1,21 +0,0 @@ - - Delete the specified asset - - - If the optional webApp argument is specified then the path is relative to the webapp e.g. /index.htm -
- If webApp is not specified then the path is will be absolute e.g. /www/avm_webapps/ROOT/index.htm -
- Returns STATUS_OK(200) for success. - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path} - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path}?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.js deleted file mode 100644 index b2f0b8b613..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Delete the specified asset from within a sandbox - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(4); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - var sandbox; - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - var webApp = args["webApp"]; - - var asset ; - - if(webApp != null) - { - asset = sandbox.getAssetWebApp(webApp, path); - } - else - { - asset = sandbox.getAsset(path); - - } - if (asset == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The asset, " + path + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // now do the delete of the asset - asset.deleteAsset(); - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.json.ftl deleted file mode 100644 index a61d406f6d..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.delete.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.desc.xml deleted file mode 100644 index c08b2809c6..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.desc.xml +++ /dev/null @@ -1,42 +0,0 @@ - - Get the details of the specified asset within the specified web project and sandbox - - - If the asset is a folder, includes the children of that folder. -
- If the asset is a file, gives the size of the file. -
- If the optional webApp argument is specified then returns the asset relative to that web app e.g. /index.htm -
- If webApp is not specified then the path is will be absolute e.g. /www/avm_webapps/ROOT/index.htm - -
Return STATUS_OK, 200 -
- Output - The asset in JSON format - - data: - path, the full path of the asset. - name, the name of the asset - creator - createdDate, iso8601, - modifier - modifiedDate, iso8601, - isLocked, boolean - isFile, boolean - isFolder, boolean - isDeleted, boolean - children, JSON array, only present for folder - fileSize, numeric, only present for files - - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path} - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path}?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.js deleted file mode 100644 index 6ae8f0bc9c..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Get asset script - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(4); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - var sandbox; - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - var webApp = args["webApp"]; - - var asset; - - if(webApp != null) - { - asset = sandbox.getAssetWebApp(webApp, path); - } - else - { - asset = sandbox.getAsset(path); - } - - if (asset == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The asset, " + path + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - model.asset = asset -} - -main() - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.json.ftl deleted file mode 100644 index cd436e2544..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.get.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - data: <@assetLib.assetJSON asset=asset depth=1 /> -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.lib.ftl deleted file mode 100644 index c814f97dca..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.lib.ftl +++ /dev/null @@ -1,38 +0,0 @@ -<#macro assetJSON asset depth=1> -<#escape x as jsonUtils.encodeJSONString(x)> - { - "path" : "${asset.path}", - "name" : "${asset.name}", - "creator" : "${asset.creator}", - "createdDate" : { "iso8601" : "${sandbox.createdDateAsISO8601}" }, - "modifier" : "${asset.modifier}", - "modifiedDate" : { "iso8601" : "${asset.modifiedDateAsISO8601}" }, - "isLocked" : ${asset.locked?string("true", "false")}, - "isFile" : ${asset.file?string("true", "false")}, - "isFolder" : ${asset.folder?string("true", "false")}, - "isDeleted" : ${asset.deleted?string("true", "false")}, - "properties" : { - <#list asset.properties?keys as id> - <#if (asset.properties[id]??)> - "${id}" : "${asset.properties[id]}"<#if id_has_next>, - - - }, - <#if (asset.folder) > - <#if (depth > 0) > - "children" : [ - <#list asset.children as child > - <@assetJSON child depth-1 /> - <#if child_has_next>, - - ], - - <#else> - "version" : ${asset.version?c}, - "fileSize" : ${asset.fileSize?c}, - - "url" : "${url.serviceContext + "/api/wcm/webprojects/" + webproject.webProjectRef + "/sandboxes/" + sandbox.sandboxRef + "/assets" + asset.path}", - "contentURL" : "${url.serviceContext + "/api/path/content/avm/" + sandbox.sandboxRef + asset.path}" - } - - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.desc.xml deleted file mode 100644 index ddd9f65a30..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.desc.xml +++ /dev/null @@ -1,35 +0,0 @@ - - Create a new WCM asset - - - If the optional webApp argument is specified then the path is relative to the webapp. -
- If webApp is not specified then the path is will be absolute e.g. /www/avm_webapps/ROOT -
- JSON Input values -
-
name
mandatory name of this asset
-
type
mandatory "file" or "folder"
-
content/dt>
optional, string content of the new file, this is a convenience method, normally content is added - by using the file upload which gives greater control over the content.
-
- - JSON Return value: -
-  	data:The newly created asset in JSON format.
-  
- - ]]> -
- - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path} - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path}?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api - -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.ftl deleted file mode 100644 index 55145f9add..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - data: <@assetLib.assetJSON asset=asset depth=0/> -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.js deleted file mode 100644 index 078772e5af..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.post.json.js +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Post -create a new asset file/folder - * optionally created with properties and/or simple content - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(4); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - var sandbox; - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - var webApp = args["webApp"]; - - var parent = null; - if(webApp != null) - { - if(path=="") - { - path = "/"; - } - parent = sandbox.getAssetWebApp(webApp, path); - } - else - { - parent = sandbox.getAsset(path); - } - - if (parent == null) - { - // parent cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The folder, " + path + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // Now read the values from the json form - if(!json.has("type")) - { - status.setCode(status.BAD_REQUEST, "JSON property 'type' must specified"); - return; - } - if(!json.has("name") || json.get("name").length() == 0) - { - status.setCode(status.BAD_REQUEST, "JSON property 'name' must specified"); - return; - } - - var name = json.get("name"); - var type = json.get("type"); - var content = null; - var properties = null - - if(json.has("content")) - { - content = json.get("content"); - } - - if(type == "file") - { - // create a new file - parent.createFile(name, content); - } - else - { - // create a new folder - parent.createFolder(name); - } - - // Get the newly created asset - var asset = sandbox.getAsset(parent.path + "/" + name); - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - model.asset = asset; - - status.code = status.STATUS_CREATED - -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.desc.xml deleted file mode 100644 index 9ce249f0e5..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.desc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - Update a WCM asset - - - JSON Input properties -
-
name
optional rename this file or folder to this new name
-
path
optional move this file or folder to this path. The destination folder must already exist.
-
-
- JSON Return - data: - - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path} - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/{path}?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.ftl deleted file mode 100644 index 2a241c6e09..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.ftl +++ /dev/null @@ -1,5 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - data: <@assetLib.assetJSON asset=asset depth=0 /> -} - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.js deleted file mode 100644 index e166bccb22..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/asset.put.json.js +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Update asset - put method - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(4); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // webproject cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - var sandbox; - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // sandbox cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - var webApp = args["webApp"]; - - var asset = null; - - if(webApp != null) - { - asset = sandbox.getAssetWebApp(webApp, path); - } - else - { - asset = sandbox.getAsset(path); - } - - if (asset == null) - { - // parent cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The asset, " + path + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // Is this a rename ?? - if(json.has("name") && json.get("name").length() > 0) - { - asset = asset.rename(json.get("name")); - } - - // Is this a move ?? - if(json.has("path") && json.get("path").length() > 0) - { - asset = asset.move(json.get("path")); - } - - // Is this a set properties? - if(json.has("properties")) - { - var properties = json.getJSONObject("properties"); - asset.setProperties(properties); - } - - // set model properties - model.asset = asset; - model.sandbox = sandbox; - model.webproject = webproject; -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.desc.xml deleted file mode 100644 index f79e7b103d..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.desc.xml +++ /dev/null @@ -1,15 +0,0 @@ - - Get the content of the specified asset - - - - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/content/{path} - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/content/{path}?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.js deleted file mode 100644 index 20f7b01eb1..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Get asset content script - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(5); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (null == webproject) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject '" + shortName + "' does not exist."); - return; - } - - var sandbox; - sandbox = webproject.getSandbox(boxName); - if (null == sandbox) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox '" + boxName + "' in webproject '" + shortName + "' does not exist."); - return; - } - - var webApp = args["webApp"]; - - var asset; - - if(null != webApp) - { - asset = sandbox.getAssetWebApp(webApp, path); - } - else - { - asset = sandbox.getAsset(path); - } - - if (null == asset) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The asset '" + path + "' in webproject '" + shortName + "' does not exist."); - return; - } - - // set model properties - model.sandbox = sandbox; - model.webproject = asset.getContent(); - model.asset = asset; -} - -main(); diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.json.ftl deleted file mode 100644 index dd6eb79a4b..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/content.get.json.ftl +++ /dev/null @@ -1,4 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - "content": "${asset.content}" -} diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.desc.xml deleted file mode 100644 index 91d52469fd..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.desc.xml +++ /dev/null @@ -1,19 +0,0 @@ - - Get modified assets within the specified sandbox - - - If a folder has been added then only the folders's properties are returned (not folder plus assets within that new folder). -
- If the optional webApp argument is specified then returns the modified assets within that web app. - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/modified - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/modified?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.js deleted file mode 100644 index e0b8664111..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Get the modified items within a sandbox - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - - var sandbox; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - var webApp = args["webApp"]; - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - - if(webApp != null) - { - - model.assets = sandbox.getModifiedAssetsWebApp(webApp); - } - else - { - model.assets = sandbox.modifiedAssets; - } -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.json.ftl deleted file mode 100644 index 2ecbbe4ba4..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/modified.get.json.ftl +++ /dev/null @@ -1,11 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - data: [ - <#list assets as asset> - <@assetLib.assetJSON asset=asset depth=0 /> - <#if asset_has_next>, - - ] -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.desc.xml deleted file mode 100644 index ae48440705..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.desc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - Update a WCM asset - - - - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/assets/properties/{path} - argument - user - required - WCM/Asset - draft_public_api - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.ftl deleted file mode 100644 index 1229613d38..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.ftl +++ /dev/null @@ -1,4 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - data: <@assetLib.assetJSON asset=asset depth=0/> -} diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.js deleted file mode 100644 index 3605bd577c..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/properties.post.json.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Post -update a asset file/folder - * optionally updates simple content - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - var pathArray = urlElements.slice(5); - var path = pathArray.join("/"); - - var webproject = webprojects.getWebProject(shortName); - if (null == webproject) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - var sandbox = webproject.getSandbox(boxName); - if (null == sandbox) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - var asset = sandbox.getAsset(path); - - if (null == asset) - { - status.setCode(status.STATUS_NOT_FOUND, "The asset, " + path + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // Now read the values from the json form -// if(!json.has("properties")) -// { -// status.setCode(status.BAD_REQUEST, "JSON property 'properties' must specified"); -// return; -// } - - var properties = null; - if (json.has("properties")) - { - properties = json.get("properties"); - } - var content = null; - - if(json.has("content")) - { - content = json.get("content"); - } - - if (null != properties) - { - asset.setProperties(properties); - asset.save(); - } - if (null != content) - { - asset.writeContent(content); - } - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - model.asset = asset; - - status.code = status.STATUS_ACCEPTED; -} - -main(); diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.desc.xml deleted file mode 100644 index 6d2abc0dbe..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.desc.xml +++ /dev/null @@ -1,25 +0,0 @@ - - Revert modified assets within the specified author sandbox - - - If the optional webApp argument is specified then reverts the modified assets within that web app. -
- JSON data fileds -
-
all
boolean is this submit all? (optional)
-
assets
array, of JSON objects containing a path property (optional). If the "all" option is true then this parameter is ignored
-
paths
array, of String paths. If the "all" option is true then this parameter is ignored
-
- - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/reverter - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/reverter?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.ftl deleted file mode 100644 index 523c5b1639..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.js deleted file mode 100644 index 419eafabbf..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/revert.post.json.js +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Revert the modified items within a sandbox (JSON) - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Web Project cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - var sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // URL - var webApp = args["webApp"]; - - // Optional - var isAll = false; - if(json.has("all")) - { - isAll = json.getBoolean("all"); - } - var assets = null; - if(json.has("assets")) - { - assets = json.getJSONArray("assets"); - } - var paths = null; - if(json.has("paths")) - { - paths = json.getJSONArray("paths"); - } - - if(paths == null && assets == null && isAll == false ) - { - status.setCode(status.STATUS_BAD_REQUEST, "One of 'all', 'assets' or 'paths' must be specified"); - return; - } - - // Now do the revert - if(isAll) - { - if(webApp != null) - { - sandbox.revertAllWebApp(webApp); - } - else - { - sandbox.revertAll(); - } - } - else - { - var i = 0; - var input = new Array(); - - if(assets != null) - { - for(var x = 0; x < assets.length(); x++) - { - var jsonObj = assets.getJSONObject(x); - input[i++] = jsonObj.get("path"); - } - } - - if(paths != null) - { - for(var k = 0; k < paths.length(); k++) - { - var path = paths.get(k); - input[i++] = path; - } - } - - // submit a list of files and directories - sandbox.revert(input); - } - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - - status.setCode(status.STATUS_OK, "Reverted"); -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.desc.xml deleted file mode 100644 index 916a75634f..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.desc.xml +++ /dev/null @@ -1,27 +0,0 @@ - - Submit modified assets from within the specified author sandbox - - - If the optional webApp argument is specified then submits the modified assets within that web app. -
- JSON data fileds -
-
label
string label for this submission (mandatory)
-
comment
string comment for this submission (mandatory)
-
all
boolean is this submit all? (optional)
-
assets
array, of JSON objects containing a path property (optional). If the "all" option is true then this parameter is ignored
-
paths
array, of String paths. If the "all" option is true then this parameter is ignored
-
- - ]]> -
- /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/submitter - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref}/submitter?webApp={webApp?} - argument - user - required - WCM/Asset - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.ftl deleted file mode 100644 index 523c5b1639..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "asset.lib.ftl" as assetLib/> -{ - -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.js deleted file mode 100644 index 9c1295a96e..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/Asset/submit.post.json.js +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Submit the modified items within a sandbox (JSON) - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - - - if(!json.has("label")) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'label' missing when submitting"); - return; - } - - if(!json.has("comment")) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'comment' missing when submitting"); - return; - } - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Web Project cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - var sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - // URL - var webApp = args["webApp"]; - // Mandatory - var label = json.get("label"); - var comment = json.get("comment"); - // Optional - var isAll = false; - if(json.has("all")) - { - isAll = json.getBoolean("all"); - } - var assets = null; - if(json.has("assets")) - { - assets = json.getJSONArray("assets"); - } - var paths = null; - if(json.has("paths")) - { - paths = json.getJSONArray("paths"); - } - - if(paths == null && assets == null && isAll == false ) - { - status.setCode(status.STATUS_BAD_REQUEST, "One of 'all', 'assets' or 'paths' must be specified"); - return; - } - - // Now do the submit - if(isAll) - { - if(webApp != null) - { - sandbox.submitAllWebApp(webApp, label, comment); - } - else - { - sandbox.submitAll(label, comment); - } - } - else - { - var i = 0; - var input = new Array(); - - if(assets != null) - { - for(var x = 0; x < assets.length(); x++) - { - var jsonObj = assets.getJSONObject(x); - input[i++] = jsonObj.get("path"); - } - } - - if(paths != null) - { - for(var k = 0; k < paths.length(); k++) - { - var path = paths.get(k); - input[i++] = path; - } - } - - // submit a list of files and directories - sandbox.submit(input, label, comment); - } - - // set model properties - model.sandbox = sandbox; - model.webproject = webproject; - - status.setCode(status.STATUS_OK, "Submitted"); -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.desc.xml deleted file mode 100644 index dc94f8b402..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.desc.xml +++ /dev/null @@ -1,11 +0,0 @@ - - Delete Sandbox - Deletes a WCM sandbox and all its contents. - - argument - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxRef} - user - required - WCM/Sandbox - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.js deleted file mode 100644 index 85ca6986fb..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.js +++ /dev/null @@ -1,43 +0,0 @@ - -/** - * Delete a wcm web project sandbox - */ - -function main() { - - - var urlElements = url.extension.split("/"); - var webprojectref = urlElements[0]; - var boxName = urlElements[2]; - - if (webprojectref == null || webprojectref.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "Delete sandbox. webprojectref missing or blank"); - return; - } - - var webproject = webprojects.getWebProject(webprojectref); - - - if(webproject != null) - { - var sandbox = webproject.getSandbox(boxName); - if(sandbox != null) - { - sandbox.deleteSandbox(); - status.setCode(status.STATUS_OK, "Webproject " + webprojectref + " deleted"); - } - else - { - status.setCode(status.STATUS_NOT_FOUND, "Unable to delete : Webproject: " + webprojectref + "Sandbox: " + boxName + ", does not exist"); - } - } - else - { - // Return 404 - status.setCode(status.STATUS_NOT_FOUND, "Unable to delete : Webproject: " + webprojectref + " does not exist"); - return; - } -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.json.ftl deleted file mode 100644 index 0967ef424b..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.delete.json.ftl +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.desc.xml deleted file mode 100644 index 95ecaac231..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.desc.xml +++ /dev/null @@ -1,28 +0,0 @@ - - Get Web Project Sandbox - - data: sandboxref - name - creator - createdDate.iso8601 - storeNames" : [ ] - isAuthorSandbox - isStagingSandbox - url - - - Returns STATUS_OK, 200 - - ]]> - - /api/wcm/webprojects/{webprojectref}/sandboxes/{sandboxref} - argument - user - required - WCM/Sandbox - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.js deleted file mode 100644 index fb476cce3e..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Get the sandbox for a web project - */ -function main() -{ - var urlElements = url.extension.split("/"); - var shortName = urlElements[0]; - var boxName = urlElements[2]; - - var sandbox; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject, " + shortName + ", does not exist."); - return; - } - - sandbox = webproject.getSandbox(boxName); - if (sandbox == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The sandbox, " + boxName + ", in webproject, " + shortName + ", does not exist."); - return; - } - - - model.sandbox = sandbox; - model.webproject = webproject; -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.json.ftl deleted file mode 100644 index 19e0aad2fe..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.get.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "sandbox.lib.ftl" as sandboxLib/> -{ - "data":<@sandboxLib.sandboxJSON webproject=webproject sandbox=sandbox/> -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.lib.ftl deleted file mode 100644 index 6e9f1ba6ed..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.lib.ftl +++ /dev/null @@ -1,19 +0,0 @@ -<#macro sandboxJSON webproject sandbox> - <#escape x as jsonUtils.encodeJSONString(x)> - { - "sandboxref" : "${sandbox.sandboxRef}", - "name" : "${sandbox.name}", - "creator" : "${sandbox.creator}", - "createdDate" : { "iso8601" : "${sandbox.createdDateAsISO8601}" }, - "storeNames" : [ - <#assign names = sandbox.storeNames /> - <#list names as name> - "${name}" <#if name_has_next>, - - ], - "isAuthorSandbox" : ${sandbox.authorSandbox?string("true", "false")}, - "isStagingSandbox" : ${sandbox.stagingSandbox?string("true", "false")}, - "url" : "${url.serviceContext + "/api/wcm/webprojects/" + webproject.webProjectRef + "/sandboxes/" + sandbox.sandboxRef}" - } - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.desc.xml deleted file mode 100644 index 6ebe5bf915..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.desc.xml +++ /dev/null @@ -1,19 +0,0 @@ - - Create user sandbox - The following fields are required in the body of the request: -
    -
  • userName
  • -
-
- Returns STATUS_CREATED,201 on success. - ]]> -
- argument - /api/wcm/webprojects/{webprojectref}/sandboxes - user - required - WCM/Sandbox - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.ftl deleted file mode 100644 index 19e0aad2fe..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#import "sandbox.lib.ftl" as sandboxLib/> -{ - "data":<@sandboxLib.sandboxJSON webproject=webproject sandbox=sandbox/> -} - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.js deleted file mode 100644 index ea76951a1b..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandbox.post.json.js +++ /dev/null @@ -1,40 +0,0 @@ - -/** - * Post (create) wcm web project - * @return the wcm web project ref - */ - -function main() { - - if (!json.has("userName")) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'userName' missing when creating sandbox"); - return; - } - - var userName = json.get("userName"); - - if (userName.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'userName' blank when creating sandbox"); - return; - } - - var shortName = url.extension.split("/")[0]; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject " + shortName + " does not exist."); - return; - } - - var sandbox = webproject.createSandbox(userName); - - // Set Return value - model.webproject = webproject; - model.sandbox = sandbox; -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.desc.xml deleted file mode 100644 index 07c155e5ac..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.desc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - Web Project Sandboxes - If userName is specified then returns the sandboxes for the specified user. - ]]> - /api/wcm/webprojects/{webprojectref}/sandboxes?userName={userName?} - /api/wcm/webprojects/{webprojectref}/sandboxes - argument - user - required - WCM/Sandboxes - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.js deleted file mode 100644 index 51d38f1baf..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Get the sandboxes for a web project - */ -function main() -{ - var shortName = url.extension.split("/")[0]; - - var sandboxes; - - var webproject = webprojects.getWebProject(shortName); - if (webproject == null) - { - // Site cannot be found - status.setCode(status.STATUS_NOT_FOUND, "The webproject " + shortName + " does not exist."); - return; - } - - var userFilter = args["userName"]; - - if(userFilter != null) - { - sandboxes = webproject.getSandboxes(userFilter); - } - else - { - sandboxes = webproject.getSandboxes(); - } - model.sandboxes = sandboxes; - model.webproject = webproject; -} - -main() - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.json.ftl deleted file mode 100644 index f614bbcb3e..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/sandbox/sandboxes.get.json.ftl +++ /dev/null @@ -1,13 +0,0 @@ -<#import "sandbox.lib.ftl" as sandboxLib/> -{ - "data":[ - <#if sandboxes??> - <#assign boxNames = sandboxes?keys /> - <#list boxNames as boxName> - <@sandboxLib.sandboxJSON webproject=webproject sandbox=sandboxes[boxName]/> - <#if boxName_has_next>, - - - ] -} - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.desc.xml deleted file mode 100644 index c8f6041e00..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.desc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - Delete Web Project - webprojectref specifies which project to delete and will have been returned by a prior call to get, create or list web project. - ]]> - - argument - /api/wcm/webprojects/{webprojectref} - user - required - WCM/WebProject - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.js deleted file mode 100644 index c936f84b27..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.js +++ /dev/null @@ -1,41 +0,0 @@ - -/** - * Delete a wcm web project - */ - -function getWebProject(webprojectref){ - - var service = webprojects; - - var data = service.getWebProject(webprojectref) - - return data; -} - -function main() { - - // Get the webproject ref - var webprojectref = url.extension; - - if (webprojectref == null || webprojectref.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "Delete web project. webprojectref missing or blank"); - return; - } - - var webproject = webprojects.getWebProject(webprojectref); - - if(webproject != null) - { - webproject.deleteWebProject(); - status.setCode(status.STATUS_OK, "Webproject " + webprojectref + " deleted"); - } - else - { - // Return 404 - status.setCode(status.STATUS_NOT_FOUND, "Unable to delete : Webproject: " + webprojectref + " does not exist"); - return; - } -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.json.ftl deleted file mode 100644 index 8b13789179..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.delete.json.ftl +++ /dev/null @@ -1 +0,0 @@ - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.desc.xml deleted file mode 100644 index b3f5c2ea5f..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.desc.xml +++ /dev/null @@ -1,10 +0,0 @@ - - Get Web Project - Get a single WCM web project in JSON format. - argument - /api/wcm/webprojects/{webprojectref} - user - required - WCM/WebProject - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.js deleted file mode 100644 index 91c741881c..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.js +++ /dev/null @@ -1,37 +0,0 @@ - -/** - * Get wcm web project - * @return the wcm web project - */ - -function getWebProject(webprojectref){ - - var service = webprojects; - - var data = service.getWebProject(webprojectref); - - return data; -} - -function main() { - - // Get the siteref - var webprojectref = url.extension; - - //var webproject = data; - var webproject = getWebProject(webprojectref); - - if (webproject != null) - { - // Pass the webproject to the diaplay template - model.webproject = webproject; - } - else - { - // Return 404 - status.setCode(404, "Webproject " + webprojectref + " does not exist"); - return; - } -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.json.ftl deleted file mode 100644 index 1a6e283380..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.get.json.ftl +++ /dev/null @@ -1,5 +0,0 @@ -<#import "webproject.lib.ftl" as webprojectLib/> -{ - data:<@webprojectLib.webprojectJSON webproject=webproject/> -} - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.lib.ftl deleted file mode 100644 index 05f09ea702..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.lib.ftl +++ /dev/null @@ -1,25 +0,0 @@ -<#macro webprojectJSON webproject> - -{ - - "url" : <#escape x as jsonUtils.encodeJSONString(x)> "${url.serviceContext + "/api/wcm/webprojects/" + webproject.webProjectRef}", - "webprojectref" : <#escape x as jsonUtils.encodeJSONString(x)> "${webproject.webProjectRef}", - "name" : <#escape x as jsonUtils.encodeJSONString(x)> "${webproject.name}", - "title" : <#escape x as jsonUtils.encodeJSONString(x)> "${webproject.title}", - "description" : <#escape x as jsonUtils.encodeJSONString(x)> "${webproject.description}", - "isTemplate" : ${webproject.template?string("true", "false")}, - "node" : <@nodeJSON nodeRef=webproject.nodeRef/> -} - - - -// Render a scriptNode for JSON -<#macro nodeJSON nodeRef> -<#escape y as jsonUtils.encodeJSONString(y)> -{ - "id" : "${nodeRef.id}", - "nodeRef" : "${nodeRef}" -} - - - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.desc.xml deleted file mode 100644 index 3995faef30..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.desc.xml +++ /dev/null @@ -1,28 +0,0 @@ - - Create Web Project - - The following fields are required in the body of the request: -
-
-
name
Human readable name for the web project.
-
title
Human readable title for the web project.
-
dnsName
The name of the web project which will become part of the URL. Should be short and unique.
-
-
- The following fields are optional: -
-
description
description about the web project
-
-
- Returns 201, STATUS_CREATED on success. The body of the return will contain the new Web Project. - ]]> -
- argument - /api/wcm/webprojects - user - required - WCM/WebProject - draft_public_api -
\ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.ftl deleted file mode 100644 index 154ecb2e06..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.ftl +++ /dev/null @@ -1,5 +0,0 @@ -<#import "webproject.lib.ftl" as webprojectLib/> -{ - "data":<@webprojectLib.webprojectJSON webproject=webproject/> -} - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.js deleted file mode 100644 index b40964db8e..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.post.json.js +++ /dev/null @@ -1,41 +0,0 @@ - -/** - * Post (create) wcm web project - * @return the wcm web project ref - */ - -function main() { - - var name = json.get("name"); - var title = json.get("title"); - var dnsName = json.get("dnsName"); - var description = json.get("description"); - - if (name == null || name.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'Name' missing when creating web site"); - return; - } - if (title == null || title.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "Property 'Title' missing when creating web site"); - return; - } - if (dnsName == null || dnsName.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "property 'dnsName' missing when creating web site"); - return; - } - - if(description == null) - { - description = "web project" + name; - } - - var webproject = webprojects.createWebProject(dnsName, name, title, description); - - // Set Return value - model.webproject = webproject; -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.desc.xml deleted file mode 100644 index b1ee996249..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.desc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - Update Web Project - - - webprojectref is the unique reference returned by an earlier call to list, get or create web project -
- The following fields are may be updated in the body of the request: -
    -
  • name
  • -
  • title
  • -
  • description
  • -
  • isTemplate
  • -
      -
      - Returns 200 STATUS_OK, the body of the return will contain the updated web project. - ]]> - - /api/wcm/webprojects/{webprojectref} - argument - user - required - WCM/WebProject - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.ftl deleted file mode 100644 index 154ecb2e06..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.ftl +++ /dev/null @@ -1,5 +0,0 @@ -<#import "webproject.lib.ftl" as webprojectLib/> -{ - "data":<@webprojectLib.webprojectJSON webproject=webproject/> -} - diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.js deleted file mode 100644 index d75757b6dd..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webproject.put.json.js +++ /dev/null @@ -1,55 +0,0 @@ - -/** - * PUT (UPDATE) wcm web project - * @return the updatedwcm web project - */ - -function main() { - - // Get the webproject ref - var webprojectref = url.extension; - - if (webprojectref == null || webprojectref.length == 0) - { - status.setCode(status.STATUS_BAD_REQUEST, "Delete web project. webprojectref missing or blank"); - return; - } - - var webproject = webprojects.getWebProject(webprojectref); - - if(webproject == null) - { - // Return 404 - status.setCode(status.STATUS_NOT_FOUND, "Webproject " + webprojectref + " does not exist"); - return; - } - - if (json.has("name") ) - { - var name = json.get("name"); - webproject.setName(name); - } - if (json.has("title")) - { - var title = json.get("title"); - webproject.setTitle(title); - } - if(json.has("description")) - { - var description = json.get("description"); - webproject.setDescription(description); - } - if(json.has("isTemplate")) - { - var isTemplate = json.get("isTemplate"); - webproject.setTemplate(isTemplate); - } - - // update the web project - webproject.save(); - - // Set Return value - model.webproject = webproject; -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.desc.xml deleted file mode 100644 index 8b654a73bc..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.desc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - Web Projects - userName is an optional argument that if specified then only those web projects for the - specified user are returned else all web projects are returned. - ]]> - - argument - /api/wcm/webprojects?userName={userName?} - /api/wcm/webprojects - user - required - WCM - draft_public_api - \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.js deleted file mode 100644 index c71ea6c61a..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.js +++ /dev/null @@ -1,27 +0,0 @@ - -/** - * Get list of wcm web projects - * @return the wcm web projects - */ - -function main() -{ - var service = webprojects; - - var userFilter = args["userName"]; - - var result; - - if(userFilter != null) - { - result = service.listWebProjects(userFilter); - } - else - { - result = service.listWebProjects(); - } - - model.webprojects = result; -} - -main() diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.json.ftl deleted file mode 100644 index a60ec99b4b..0000000000 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/wcm/webprojects.get.json.ftl +++ /dev/null @@ -1,10 +0,0 @@ -<#import "webproject.lib.ftl" as webprojectLib/> - -{ - "data":[ - <#list webprojects as webproject> - <@webprojectLib.webprojectJSON webproject=webproject/> - <#if webproject_has_next>, - - ] -} diff --git a/source/java/org/alfresco/repo/web/scripts/bean/AVMRemoteStore.java b/source/java/org/alfresco/repo/web/scripts/bean/AVMRemoteStore.java deleted file mode 100644 index 015857704b..0000000000 --- a/source/java/org/alfresco/repo/web/scripts/bean/AVMRemoteStore.java +++ /dev/null @@ -1,567 +0,0 @@ -/* - * Copyright (C) 2005-2011 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.bean; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.Writer; -import java.net.SocketException; -import java.util.HashSet; -import java.util.Set; -import java.util.SortedMap; -import java.util.StringTokenizer; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.alfresco.repo.avm.AVMNodeConverter; -import org.alfresco.repo.content.MimetypeMap; -import org.alfresco.repo.security.authentication.AuthenticationUtil; -import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; -import org.alfresco.repo.security.permissions.AccessDeniedException; -import org.alfresco.service.cmr.avm.AVMExistsException; -import org.alfresco.service.cmr.avm.AVMNodeDescriptor; -import org.alfresco.service.cmr.avm.AVMNotFoundException; -import org.alfresco.service.cmr.avm.AVMService; -import org.alfresco.service.cmr.repository.ContentIOException; -import org.alfresco.service.cmr.repository.ContentReader; -import org.alfresco.service.cmr.repository.ContentWriter; -import org.alfresco.service.cmr.search.SearchService; -import org.apache.axis.utils.ByteArrayOutputStream; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.extensions.surf.util.URLDecoder; -import org.springframework.extensions.webscripts.Status; -import org.springframework.extensions.webscripts.WebScriptException; -import org.springframework.extensions.webscripts.WebScriptResponse; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -/** - * AVM Remote Store service. - * - * @see BaseRemoteStore for the available API methods. - * - * @author Kevin Roast - */ -public class AVMRemoteStore extends BaseRemoteStore -{ - private static final Log logger = LogFactory.getLog(AVMRemoteStore.class); - private String rootPath = "/"; - private AVMService avmService; - private SearchService searchService; - - - /** - * @param rootPath the root path under which to process store requests - */ - public void setRootPath(String rootPath) - { - if (rootPath == null || rootPath.length() == 0) - { - throw new IllegalArgumentException("Root path must be specified."); - } - - this.rootPath = rootPath; - } - - /** - * @param avmService the AVMService to set - */ - public void setAvmService(AVMService avmService) - { - this.avmService = avmService; - } - - /** - * @param searchService the SearchService to set - */ - public void setSearchService(SearchService searchService) - { - this.searchService = searchService; - } - - /** - * Gets the last modified timestamp for the document. - * - * @param store the store id - * @param path document path to an existing document - */ - @Override - protected void lastModified(WebScriptResponse res, String store, String path) - throws IOException - { - String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor desc = this.avmService.lookup(-1, avmPath); - if (desc == null) - { - throw new WebScriptException("Unable to locate AVM file: " + avmPath); - } - - Writer out = res.getWriter(); - out.write(Long.toString(desc.getModDate())); - out.close(); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.lastModified() " + Long.toString(desc.getModDate())); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#getDocument(org.alfresco.web.scripts.WebScriptResponse, java.lang.String) - */ - @Override - protected void getDocument(final WebScriptResponse res, final String store, final String path) throws IOException - { - final String avmPath = buildAVMPath(store, path); - final AVMNodeDescriptor desc = this.avmService.lookup(-1, avmPath); - if (desc == null) - { - res.setStatus(Status.STATUS_NOT_FOUND); - return; - } - - AuthenticationUtil.runAs(new RunAsWork() - { - @SuppressWarnings("synthetic-access") - public Void doWork() throws Exception - { - ContentReader reader; - try - { - reader = avmService.getContentReader(-1, avmPath); - - if (reader == null) - { - throw new WebScriptException("No content found for AVM file: " + avmPath); - } - - // establish mimetype - String mimetype = reader.getMimetype(); - if (mimetype == null || mimetype.length() == 0) - { - mimetype = MimetypeMap.MIMETYPE_BINARY; - int extIndex = path.lastIndexOf('.'); - if (extIndex != -1) - { - String ext = path.substring(extIndex + 1); - mimetype = mimetypeService.getMimetype(ext); - } - } - - // set mimetype for the content and the character encoding + length for the stream - res.setContentType(mimetype); - res.setContentEncoding(reader.getEncoding()); - res.setHeader("Last-Modified", Long.toString(desc.getModDate())); - res.setHeader("Content-Length", Long.toString(reader.getSize())); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.getDocument() " + mimetype + " of size: " + reader.getSize()); - - // get the content and stream directly to the response output stream - // assuming the repository is capable of streaming in chunks, this should allow large files - // to be streamed directly to the browser response stream. - try - { - reader.getContent(res.getOutputStream()); - } - catch (SocketException e1) - { - // the client cut the connection - our mission was accomplished apart from a little error message - if (logger.isInfoEnabled()) - logger.info("Client aborted stream read:\n\tnode: " + avmPath + "\n\tcontent: " + reader); - } - catch (ContentIOException e2) - { - if (logger.isInfoEnabled()) - logger.info("Client aborted stream read:\n\tnode: " + avmPath + "\n\tcontent: " + reader); - } - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - catch (AVMNotFoundException avmErr) - { - res.setStatus(Status.STATUS_NOT_FOUND); - } - return null; - } - }, AuthenticationUtil.getSystemUserName()); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#hasDocument(org.alfresco.web.scripts.WebScriptResponse, java.lang.String) - */ - @Override - protected void hasDocument(WebScriptResponse res, String store, String path) throws IOException - { - String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor desc = this.avmService.lookup(-1, avmPath); - - Writer out = res.getWriter(); - out.write(Boolean.toString(desc != null)); - out.close(); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.hasDocument() " + Boolean.toString(desc != null)); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#createDocument(org.alfresco.web.scripts.WebScriptResponse, java.lang.String, java.io.InputStream) - */ - @Override - protected void createDocument(final WebScriptResponse res, final String store, final String path, final InputStream content) - { - AuthenticationUtil.runAs(new RunAsWork() - { - @SuppressWarnings("synthetic-access") - public Void doWork() throws Exception - { - String avmPath = buildAVMPath(store, path); - try - { - String[] parts = AVMNodeConverter.SplitBase(avmPath); - String[] dirs = parts[0].split("/"); - String parentPath = dirs[0] + "/" + dirs[1]; - int index = 2; - while (index < dirs.length) - { - String dirPath = parentPath + "/" + dirs[index]; - if (avmService.lookup(-1, dirPath) == null) - { - avmService.createDirectory(parentPath, dirs[index]); - } - parentPath = dirPath; - index++; - } - - avmService.createFile(parts[0], parts[1], content); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.createDocument() " + avmPath + " of size: " + avmService.lookup(-1, avmPath).getLength()); - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - catch (AVMExistsException avmErr) - { - res.setStatus(Status.STATUS_CONFLICT); - } - return null; - } - }, AuthenticationUtil.getSystemUserName()); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#createDocuments(org.alfresco.web.scripts.WebScriptResponse, java.lang.String, java.io.InputStream) - */ - @Override - protected void createDocuments(final WebScriptResponse res, final String store, final InputStream in) - { - AuthenticationUtil.runAs(new RunAsWork() - { - @SuppressWarnings("synthetic-access") - public Void doWork() throws Exception - { - try - { - Set checkedPaths = new HashSet(16); - DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - Document document = documentBuilder.parse(in); - Element docEl = document.getDocumentElement(); - Transformer transformer = AVMRemoteStore.this.transformer.get(); - for (Node n = docEl.getFirstChild(); n != null; n = n.getNextSibling()) - { - if (!(n instanceof Element)) - { - continue; - } - String avmPath = buildAVMPath(store, ((Element) n).getAttribute("path")); - String[] parts = AVMNodeConverter.SplitBase(avmPath); - String[] dirs = parts[0].split("/"); - String parentPath = dirs[0] + "/" + dirs[1]; - int index = 2; - while (index < dirs.length) - { - String dirPath = parentPath + "/" + dirs[index]; - if (!checkedPaths.contains(dirPath)) - { - if (avmService.lookup(-1, dirPath) == null) - { - avmService.createDirectory(parentPath, dirs[index]); - } - checkedPaths.add(dirPath); - } - parentPath = dirPath; - index++; - } - - // Turn the first element child into a document - Document content = documentBuilder.newDocument(); - Node child; - for (child = n.getFirstChild(); child != null ; child=child.getNextSibling()) - { - if (child instanceof Element) - { - content.appendChild(content.importNode(child, true)); - break; - } - } - ByteArrayOutputStream out = new ByteArrayOutputStream(1024); - transformer.transform(new DOMSource(content), new StreamResult(out)); - out.close(); - avmService.createFile(parts[0], parts[1], new ByteArrayInputStream(out.toByteArray())); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.createDocument() " + avmPath + " of size: " - + avmService.lookup(-1, avmPath).getLength()); - } - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - catch (AVMExistsException avmErr) - { - res.setStatus(Status.STATUS_CONFLICT); - } - return null; - } - }, AuthenticationUtil.getSystemUserName()); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#updateDocument(org.alfresco.web.scripts.WebScriptResponse, java.lang.String, java.io.InputStream) - */ - @Override - protected void updateDocument(final WebScriptResponse res, final String store, final String path, final InputStream content) - { - final String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor desc = this.avmService.lookup(-1, avmPath); - if (desc == null) - { - res.setStatus(Status.STATUS_NOT_FOUND); - return; - } - - AuthenticationUtil.runAs(new RunAsWork() - { - @SuppressWarnings("synthetic-access") - public Void doWork() throws Exception - { - try - { - ContentWriter writer = avmService.getContentWriter(avmPath, true); - writer.putContent(content); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.updateDocument() " + avmPath + " of size: " + avmService.lookup(-1, avmPath).getLength()); - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - return null; - } - }, AuthenticationUtil.getSystemUserName()); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#deleteDocument(org.alfresco.web.scripts.WebScriptResponse, java.lang.String) - */ - @Override - protected void deleteDocument(final WebScriptResponse res, final String store, final String path) - { - final String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor desc = this.avmService.lookup(-1, avmPath); - if (desc == null) - { - res.setStatus(Status.STATUS_NOT_FOUND); - return; - } - - AuthenticationUtil.runAs(new RunAsWork() - { - @SuppressWarnings("synthetic-access") - public Void doWork() throws Exception - { - try - { - avmService.removeNode(avmPath); - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.deleteDocument() " + avmPath); - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - return null; - } - }, AuthenticationUtil.getSystemUserName()); - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#listDocuments(org.alfresco.web.scripts.WebScriptResponse, java.lang.String, boolean) - */ - @Override - protected void listDocuments(WebScriptResponse res, String store, String path, boolean recurse) throws IOException - { - res.setContentType("text/plain;charset=UTF-8"); - - String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor node = this.avmService.lookup(-1, avmPath); - if (node == null) - { - res.setStatus(Status.STATUS_NOT_FOUND); - return; - } - - try - { - traverseNode(res.getWriter(), store, node, recurse); - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.listDocuments() " + path + " Recursive: " + recurse); - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - finally - { - res.getWriter().close(); - } - } - - /* (non-Javadoc) - * @see org.alfresco.repo.web.scripts.bean.BaseRemoteStore#listDocuments(org.alfresco.web.scripts.WebScriptResponse, java.lang.String, java.lang.String) - */ - @Override - protected void listDocuments(WebScriptResponse res, final String store, String path, String pattern) throws IOException - { - res.setContentType("text/plain;charset=UTF-8"); - - String avmPath = buildAVMPath(store, path); - AVMNodeDescriptor node = this.avmService.lookup(-1, avmPath); - if (node == null) - { - res.setStatus(Status.STATUS_NOT_FOUND); - return; - } - - if (pattern == null || pattern.length() == 0) - { - pattern = "*"; - } - - try - { - final Writer out = res.getWriter(); - int cropPoint = store.length() + this.rootPath.length() + 1; - // need to ensure match pattern is AVM file path encoded - but don't encode * character! - StringBuilder buf = new StringBuilder(pattern.length() + 8); - for (StringTokenizer t = new StringTokenizer(pattern, "*"); t.hasMoreTokens(); /**/) - { - buf.append(encodePath(t.nextToken())); - if (t.hasMoreTokens()) - { - buf.append('*'); - } - } - // ensure the escape character is itself escaped - String encpattern = buf.toString().replace("\\", "\\\\"); - boolean encoded = (encpattern.length() != pattern.length()); - SortedMap listing = this.avmService.getDirectoryListing(node, encpattern); - for (AVMNodeDescriptor n : listing.values()) - { - if (n.isFile()) - { - String p = n.getPath().substring(cropPoint); - out.write(encoded ? URLDecoder.decode(p) : p); - out.write("\n"); - } - } - - if (logger.isDebugEnabled()) - logger.debug("AVMRemoteStore.listDocuments() " + path + " Pattern: " + pattern); - } - catch (AccessDeniedException ae) - { - res.setStatus(Status.STATUS_UNAUTHORIZED); - } - finally - { - res.getWriter().close(); - } - } - - /** - * @param store the AVM store id - * @param path root path relative - * - * @return full AVM path to document including store and root path components - */ - private String buildAVMPath(String store, String path) - { - if (path.startsWith("/")) - { - path = path.substring(1); - } - return store + ":" + this.rootPath + (path != null ? encodePath(path) : ""); - } - - /** - * Traverse a Node and recursively output the file paths it contains. - * - * @param out Writer for output - relative paths separated by newline characters - * @param store AVM Store name - * @param node The AVM Node to traverse - * @param recurse True to recurse sub-directories - * - * @throws IOException - */ - private void traverseNode(Writer out, String store, AVMNodeDescriptor node, boolean recurse) - throws IOException - { - /** - * The node path appears as such: - * project1:/www/avm_webapps/ROOT/WEB-INF/classes/alfresco/site-data/template-instances/file.xml - */ - int cropPoint = store.length() + this.rootPath.length() + 1; - SortedMap listing = this.avmService.getDirectoryListing(node); - for (AVMNodeDescriptor n : listing.values()) - { - if (n.isFile()) - { - out.write(n.getPath().substring(cropPoint)); - out.write("\n"); - } - else if (recurse && n.isDirectory()) - { - traverseNode(out, store, n, recurse); - } - } - } -} diff --git a/source/java/org/alfresco/slingshot/web/scripts/NodeBrowserScript.java b/source/java/org/alfresco/slingshot/web/scripts/NodeBrowserScript.java index 0fb28b4fe0..dfa7ea8eed 100644 --- a/source/java/org/alfresco/slingshot/web/scripts/NodeBrowserScript.java +++ b/source/java/org/alfresco/slingshot/web/scripts/NodeBrowserScript.java @@ -33,7 +33,6 @@ import javax.servlet.http.HttpServletResponse; import org.alfresco.repo.domain.PropertyValue; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; -import org.alfresco.service.cmr.avm.AVMService; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.PropertyDefinition; @@ -97,7 +96,6 @@ public class NodeBrowserScript extends DeclarativeWebScript transient private NamespaceService namespaceService; transient private PermissionService permissionService; transient private OwnableService ownableService; - transient private AVMService avmService; /** * @param transactionService transaction service @@ -187,19 +185,6 @@ public class NodeBrowserScript extends DeclarativeWebScript return ownableService; } - /** - * @param avmService AVM service - */ - public void setAVMService(AVMService avmService) - { - this.avmService = avmService; - } - - private AVMService getAVMService() - { - return avmService; - } - /** * Gets the list of repository stores * @@ -354,22 +339,8 @@ public class NodeBrowserScript extends DeclarativeWebScript */ public List getStorePermissionMasks(NodeRef nodeRef) { - List permissionMasks = null; - if (nodeRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_AVM)) - { - permissionMasks = new ArrayList(); - for (Iterator iterator = getPermissionService().getAllSetPermissions(nodeRef.getStoreRef()).iterator(); iterator - .hasNext();) - { - AccessPermission ap = iterator.next(); - permissionMasks.add(new Permission(ap.getPermission(), ap.getAuthority(), ap.getAccessStatus().toString())); - } - } - else - { - permissionMasks = new ArrayList(1); - permissionMasks.add(new NoStoreMask()); - } + List permissionMasks = new ArrayList(1); + permissionMasks.add(new NoStoreMask()); return permissionMasks; } @@ -437,39 +408,6 @@ public class NodeBrowserScript extends DeclarativeWebScript return assocs; } - public boolean getInAVMStore(NodeRef nodeRef) - { - return nodeRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_AVM); - } - - public List> getAVMStoreProperties(NodeRef nodeRef) - { - List> avmStoreProps = null; - // work out the store name from current nodeRef - String store = nodeRef.getStoreRef().getIdentifier(); - Map props = getAVMService().getStoreProperties(store); - List> storeProperties = new ArrayList>(); - - for (Map.Entry property : props.entrySet()) - { - Map map = new HashMap(2); - map.put("name", property.getKey().toString()); - map.put("type", property.getValue().getActualTypeString()); - String val = property.getValue().getStringValue(); - if (val == null) - { - val = "null"; - } - map.put("value", val); - - storeProperties.add(map); - } - - avmStoreProps = storeProperties; - - return avmStoreProps; - } - /** * Action to submit search * diff --git a/source/test-java/org/alfresco/rest/api/tests/TestCMIS.java b/source/test-java/org/alfresco/rest/api/tests/TestCMIS.java index 9a8809f378..952c30433d 100644 --- a/source/test-java/org/alfresco/rest/api/tests/TestCMIS.java +++ b/source/test-java/org/alfresco/rest/api/tests/TestCMIS.java @@ -24,7 +24,6 @@ import org.alfresco.cmis.client.AlfrescoFolder; import org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl; import org.alfresco.cmis.client.type.AlfrescoType; import org.alfresco.model.ContentModel; -import org.alfresco.model.WCMModel; import org.alfresco.opencmis.CMISDispatcherRegistry.Binding; import org.alfresco.opencmis.dictionary.CMISStrictDictionaryService; import org.alfresco.opencmis.dictionary.QNameFilter; @@ -1222,9 +1221,6 @@ public class TestCMIS extends EnterpriseTestApi @Test public void testTypeFiltering() throws Exception { - // check that the parent type is excluded - assertTrue(cmisTypeExclusions.isExcluded(WCMModel.TYPE_AVM_CONTENT)); - // Test that a type defined with this excluded parent type does not break the CMIS dictionary DictionaryBootstrap bootstrap = new DictionaryBootstrap(); List bootstrapModels = new ArrayList();