diff --git a/config/alfresco/templates/webscripts/org/alfresco/index_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/index.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/index_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/index.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/index_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/index.get.html.ftl similarity index 88% rename from config/alfresco/templates/webscripts/org/alfresco/index_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/index.get.html.ftl index 701a31f037..e503d6ab17 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/index_get_html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/index.get.html.ftl @@ -33,9 +33,8 @@ Authentication:${desc.requiredAuthentication} Transaction:${desc.requiredTransaction} - Store:${desc.sourceStore} - Location:${desc.sourceLocation} Id:${desc.id} + Description:${desc.storePath}/${desc.descPath}
diff --git a/config/alfresco/templates/webscripts/org/alfresco/index_get_wiki.ftl b/config/alfresco/templates/webscripts/org/alfresco/index.get.mediawiki.ftl similarity index 93% rename from config/alfresco/templates/webscripts/org/alfresco/index_get_wiki.ftl rename to config/alfresco/templates/webscripts/org/alfresco/index.get.mediawiki.ftl index 632685d392..b1808d5ce0 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/index_get_wiki.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/index.get.mediawiki.ftl @@ -31,8 +31,7 @@ Requirements: * Transaction: ${desc.requiredTransaction} Definition: -* Store: ${desc.sourceStore} -* Location: ${desc.sourceLocation} * Id: ${desc.id} +* Store: ${desc.storePath}/${desc.descPath} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/index_post_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/index.post.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/index_post_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/index.post.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/index_post_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/index.post.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/index_post_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/index.post.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/docActions_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/docActions.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/docActions_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/docActions.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/docActions_get.js b/config/alfresco/templates/webscripts/org/alfresco/office/docActions.get.js similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/docActions_get.js rename to config/alfresco/templates/webscripts/org/alfresco/office/docActions.get.js diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/documentDetails_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/documentDetails.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/documentDetails_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/documentDetails.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/documentDetails_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/documentDetails.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/documentDetails_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/office/documentDetails.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/office/myAlfresco.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/navigation_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/navigation_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/navigation_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/navigation_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/search_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/search.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/search_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/search.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/search_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/search_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/versionHistory_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/office/versionHistory.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/versionHistory_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/office/versionHistory.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/versionHistory_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/versionHistory.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/office/versionHistory_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/office/versionHistory.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_atom.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.atom.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_atom.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.atom.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_portlet.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.portlet.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_portlet.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.portlet.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_query_.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.query_.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_query_.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.query_.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_rss.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.rss.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch_get_rss.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearch.get.rss.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription_get_opensearchdescription.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription.get.opensearchdescription.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription_get_opensearchdescription.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/keywordsearchdescription.get.opensearchdescription.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_atom.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.atom.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_atom.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.atom.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.html.ftl similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/searchengines_get_html.ftl rename to config/alfresco/templates/webscripts/org/alfresco/repository/searchengines.get.html.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/searchproxy_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/searchproxy.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/repository/searchproxy_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/repository/searchproxy.get.desc.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/scriptdescription_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/scriptdescription.get.desc.xml similarity index 100% rename from config/alfresco/templates/webscripts/org/alfresco/scriptdescription_get_desc.xml rename to config/alfresco/templates/webscripts/org/alfresco/scriptdescription.get.desc.xml diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml index d4f1cdab88..0372569cac 100644 --- a/config/alfresco/web-scripts-application-context.xml +++ b/config/alfresco/web-scripts-application-context.xml @@ -106,7 +106,7 @@ application/rss+xml application/json application/opensearchdescription+xml - text/plain + text/plain text/html @@ -165,27 +165,27 @@ - + - + - + - + - + - + - + diff --git a/source/java/org/alfresco/web/scripts/ClassPathStore.java b/source/java/org/alfresco/web/scripts/ClassPathStore.java index ad1c0dc856..9ce6276b4f 100644 --- a/source/java/org/alfresco/web/scripts/ClassPathStore.java +++ b/source/java/org/alfresco/web/scripts/ClassPathStore.java @@ -96,7 +96,7 @@ public class ClassPathStore implements WebScriptStore, InitializingBean { int filePathLength = fileDir.getAbsolutePath().length() +1; List documentPaths = new ArrayList(); - Resource[] resources = resolver.getResources("classpath*:" + classPath + "/**/*_desc.xml"); + Resource[] resources = resolver.getResources("classpath*:" + classPath + "/**/*.desc.xml"); for (Resource resource : resources) { if (resource instanceof FileSystemResource) diff --git a/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java b/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java index 35794cdafc..a790cd67fa 100644 --- a/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java +++ b/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java @@ -53,7 +53,7 @@ public class DeclarativeWebScript extends AbstractWebScript // Logger private static final Log logger = LogFactory.getLog(DeclarativeWebScript.class); - private String baseTemplatePath; + private String basePath; private ScriptLocation executeScript; @@ -64,10 +64,10 @@ public class DeclarativeWebScript extends AbstractWebScript public void init(WebScriptRegistry apiRegistry) { super.init(apiRegistry); - baseTemplatePath = getDescription().getId().replace('.', '/'); + basePath = getDescription().getId(); // Test for "execute" script - String scriptPath = baseTemplatePath + ".js"; + String scriptPath = basePath + ".js"; executeScript = getWebScriptRegistry().getScriptProcessor().findScript(scriptPath); } @@ -210,7 +210,7 @@ public class DeclarativeWebScript extends AbstractWebScript final protected void renderFormatTemplate(String format, Map model, Writer writer) { format = (format == null) ? "" : format; - String templatePath = baseTemplatePath + "_" + format + ".ftl"; + String templatePath = basePath + "." + format + ".ftl"; if (logger.isDebugEnabled()) logger.debug("Rendering template '" + templatePath + "'"); diff --git a/source/java/org/alfresco/web/scripts/DeclarativeWebScriptRegistry.java b/source/java/org/alfresco/web/scripts/DeclarativeWebScriptRegistry.java index 5d6b8d0750..357ddd7790 100644 --- a/source/java/org/alfresco/web/scripts/DeclarativeWebScriptRegistry.java +++ b/source/java/org/alfresco/web/scripts/DeclarativeWebScriptRegistry.java @@ -222,8 +222,8 @@ public class DeclarativeWebScriptRegistry extends AbstractLifecycleBean { WebScript existingService = webscriptsById.get(id); WebScriptDescription existingDesc = existingService.getDescription(); - String msg = "Web Script description document " + serviceDesc.getSourceStore() + "/" + serviceDesc.getSourceLocation(); - msg += " overridden by " + existingDesc.getSourceStore() + "/" + existingDesc.getSourceLocation(); + String msg = "Web Script description document " + serviceDesc.getStorePath() + "/" + serviceDesc.getDescPath(); + msg += " overridden by " + existingDesc.getStorePath() + "/" + existingDesc.getDescPath(); logger.debug(msg); } continue; @@ -231,13 +231,14 @@ public class DeclarativeWebScriptRegistry extends AbstractLifecycleBean // construct service implementation ApplicationContext applicationContext = getApplicationContext(); - String serviceImplName = (applicationContext.containsBean("webscript." + id)) ? "webscript." + id : defaultWebScript; + String beanName = "webscript." + id.replace('/', '.'); + String serviceImplName = (applicationContext.containsBean(beanName)) ? beanName : defaultWebScript; AbstractWebScript serviceImpl = (AbstractWebScript)applicationContext.getBean(serviceImplName); serviceImpl.setDescription(serviceDesc); serviceImpl.init(this); if (logger.isDebugEnabled()) - logger.debug("Found Web Script " + serviceDescPath + " (id: " + id + ", impl: " + serviceImplName + ", auth: " + serviceDesc.getRequiredAuthentication() + ", trx: " + serviceDesc.getRequiredTransaction() + ")"); + logger.debug("Found Web Script " + id + " (desc: " + serviceDescPath + ", impl: " + serviceImplName + ", auth: " + serviceDesc.getRequiredAuthentication() + ", trx: " + serviceDesc.getRequiredTransaction() + ")"); // register service and its urls webscriptsById.put(id, serviceImpl); @@ -263,7 +264,7 @@ public class DeclarativeWebScriptRegistry extends AbstractLifecycleBean WebScript existingService = webscriptsByURL.get(uriIdx); if (!existingService.getDescription().getId().equals(serviceDesc.getId())) { - String msg = "Web Script document " + serviceDesc.getSourceLocation() + " is attempting to define the url '" + uriIdx + "' already defined by " + existingService.getDescription().getSourceLocation(); + String msg = "Web Script document " + serviceDesc.getDescPath() + " is attempting to define the url '" + uriIdx + "' already defined by " + existingService.getDescription().getDescPath(); throw new WebScriptException(msg); } } @@ -303,16 +304,19 @@ public class DeclarativeWebScriptRegistry extends AbstractLifecycleBean throw new WebScriptException("Expected root element - found <" + rootElement.getName() + ">"); } - // retrieve id - String id = serviceDescPath.substring(0, serviceDescPath.lastIndexOf("_desc.xml")).replace('/', '.'); + // retrieve script path + String scriptPath = serviceDescPath.substring(0, serviceDescPath.lastIndexOf('/')); + + // retrieve script id + String id = serviceDescPath.substring(0, serviceDescPath.lastIndexOf(".desc.xml")); // retrieve http method - int methodIdx = id.lastIndexOf('_'); + int methodIdx = id.lastIndexOf('.'); if (methodIdx == id.length() - 1) { - throw new WebScriptException("Unable to establish HTTP Method from web script description: naming convention must be __desc.xml"); + throw new WebScriptException("Unable to establish HTTP Method from web script description: naming convention must be ..desc.xml"); } - String method = id.substring(id.lastIndexOf('_') + 1).toUpperCase(); + String method = id.substring(id.lastIndexOf('.') + 1).toUpperCase(); // retrieve short name Element shortNameElement = rootElement.element("shortname"); @@ -400,8 +404,9 @@ public class DeclarativeWebScriptRegistry extends AbstractLifecycleBean // construct service description WebScriptDescriptionImpl serviceDesc = new WebScriptDescriptionImpl(); - serviceDesc.setSourceStore(store); - serviceDesc.setSourceLocation(serviceDescPath); + serviceDesc.setStore(store); + serviceDesc.setScriptPath(scriptPath); + serviceDesc.setDescPath(serviceDescPath); serviceDesc.setId(id); serviceDesc.setShortName(shortName); serviceDesc.setDescription(description); diff --git a/source/java/org/alfresco/web/scripts/RepoStore.java b/source/java/org/alfresco/web/scripts/RepoStore.java index fb7dad3fb7..91f53aa109 100644 --- a/source/java/org/alfresco/web/scripts/RepoStore.java +++ b/source/java/org/alfresco/web/scripts/RepoStore.java @@ -268,14 +268,17 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli int baseDirLength = baseDir.length() +1; List documentPaths = new ArrayList(); - String query = "PATH:\"" + repoPath + "//*\" AND @cm\\:name:\"*_desc.xml\""; + String query = "PATH:\"" + repoPath + "//*\" AND @cm\\:name:\"*desc.xml\""; ResultSet resultSet = searchService.query(repoStore, SearchService.LANGUAGE_LUCENE, query); List nodes = resultSet.getNodeRefs(); for (NodeRef nodeRef : nodes) { String nodeDir = getPath(nodeRef); - String documentPath = nodeDir.substring(baseDirLength); - documentPaths.add(documentPath); + if (nodeDir.endsWith(".desc.xml")) + { + String documentPath = nodeDir.substring(baseDirLength); + documentPaths.add(documentPath); + } } return documentPaths.toArray(new String[documentPaths.size()]); diff --git a/source/java/org/alfresco/web/scripts/TestWebScriptServer.java b/source/java/org/alfresco/web/scripts/TestWebScriptServer.java index 70262eaf76..78a62153f5 100644 --- a/source/java/org/alfresco/web/scripts/TestWebScriptServer.java +++ b/source/java/org/alfresco/web/scripts/TestWebScriptServer.java @@ -126,7 +126,6 @@ public class TestWebScriptServer */ public void init() { - registry.initWebScripts(); Config config = configService.getConfig("Server"); serverConfig = (ServerConfigElement)config.getConfigElement(ServerConfigElement.CONFIG_ELEMENT_ID); } diff --git a/source/java/org/alfresco/web/scripts/WebScriptDescription.java b/source/java/org/alfresco/web/scripts/WebScriptDescription.java index 9a5220dc51..aa11645800 100644 --- a/source/java/org/alfresco/web/scripts/WebScriptDescription.java +++ b/source/java/org/alfresco/web/scripts/WebScriptDescription.java @@ -54,29 +54,36 @@ public interface WebScriptDescription required, requiresnew } - + /** - * Gets the source document of this web script + * Gets the root path of the store of this web script * - * @return source document + * @return root path of store */ - public InputStream getSourceDocument() - throws IOException; - + public String getStorePath(); + /** - * Gets the store this web script is located in + * Gets the path within the store of this web script * - * @return path to store + * @return path within store */ - public String getSourceStore(); + public String getScriptPath(); /** - * Gets the source document location of this service description + * Gets the path of the description xml document for this web script * * @return document location (path) */ - public String getSourceLocation(); + public String getDescPath(); + + /** + * Gets the description xml document for this web script + * + * @return source document + */ + public InputStream getDescDocument() + throws IOException; /** * Gets the id of this service diff --git a/source/java/org/alfresco/web/scripts/WebScriptDescriptionImpl.java b/source/java/org/alfresco/web/scripts/WebScriptDescriptionImpl.java index 37b15af190..654eb9c2c0 100644 --- a/source/java/org/alfresco/web/scripts/WebScriptDescriptionImpl.java +++ b/source/java/org/alfresco/web/scripts/WebScriptDescriptionImpl.java @@ -37,8 +37,9 @@ import java.util.Map; */ public class WebScriptDescriptionImpl implements WebScriptDescription { - private WebScriptStore sourceStore; - private String sourceLocation; + private WebScriptStore store; + private String scriptPath; + private String descPath; private String id; private String shortName; private String description; @@ -51,48 +52,66 @@ public class WebScriptDescriptionImpl implements WebScriptDescription /** - * Sets the source store + * Sets the web description store * - * @param store source store + * @param store store */ - public void setSourceStore(WebScriptStore store) + public void setStore(WebScriptStore store) { - this.sourceStore = store; + this.store = store; } - + /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptDescription#getSourceDocument() + * @see org.alfresco.web.scripts.WebScriptDescription#getStorePath() */ - public InputStream getSourceDocument() - throws IOException + public String getStorePath() { - return this.sourceStore.getDescriptionDocument(sourceLocation); - } - - /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptDescription#getSourceStore() - */ - public String getSourceStore() - { - return this.sourceStore.getBasePath(); + return store.getBasePath(); } /** - * Sets the source location + * Sets the script path * - * @param sourceLocation + * @param scriptPath */ - public void setSourceLocation(String sourceLocation) + public void setScriptPath(String scriptPath) { - this.sourceLocation = sourceLocation; + this.scriptPath = scriptPath; } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptDescription#getSourceLocation() + * @see org.alfresco.web.scripts.WebScriptDescription#getScriptPath() */ - public String getSourceLocation() + public String getScriptPath() { - return this.sourceLocation; + return scriptPath; + } + + /** + * Sets the desc path + * + * @param descPath + */ + public void setDescPath(String descPath) + { + this.descPath = descPath; + } + + /* (non-Javadoc) + * @see org.alfresco.web.scripts.WebScriptDescription#getDescPath() + */ + public String getDescPath() + { + return descPath; + } + + /* (non-Javadoc) + * @see org.alfresco.web.scripts.WebScriptDescription#getDescDocument() + */ + public InputStream getDescDocument() + throws IOException + { + return store.getDescriptionDocument(descPath); } /** diff --git a/source/java/org/alfresco/web/scripts/bean/ServiceDescription.java b/source/java/org/alfresco/web/scripts/bean/ServiceDescription.java index 9125f8d7e4..953b135490 100644 --- a/source/java/org/alfresco/web/scripts/bean/ServiceDescription.java +++ b/source/java/org/alfresco/web/scripts/bean/ServiceDescription.java @@ -48,12 +48,11 @@ public class ServiceDescription extends AbstractWebScript public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException { // extract web script id - String extensionPath = req.getExtensionPath(); - if (extensionPath == null || extensionPath.length() == 0) + String scriptId = req.getExtensionPath(); + if (scriptId == null || scriptId.length() == 0) { throw new WebScriptException("Web Script Id not provided"); } - String scriptId = extensionPath.replace("/", "."); // locate web script WebScript script = getWebScriptRegistry().getWebScript(scriptId); @@ -67,7 +66,7 @@ public class ServiceDescription extends AbstractWebScript InputStream serviceDescIS = null; try { - serviceDescIS = desc.getSourceDocument(); + serviceDescIS = desc.getDescDocument(); OutputStream out = res.getOutputStream(); res.setContentType(MimetypeMap.MIMETYPE_XML + ";charset=UTF-8"); byte[] buffer = new byte[2048]; diff --git a/source/java/org/alfresco/web/ui/repo/component/UIOpenSearch.java b/source/java/org/alfresco/web/ui/repo/component/UIOpenSearch.java index 982c24f414..91040502f4 100644 --- a/source/java/org/alfresco/web/ui/repo/component/UIOpenSearch.java +++ b/source/java/org/alfresco/web/ui/repo/component/UIOpenSearch.java @@ -268,7 +268,7 @@ public class UIOpenSearch extends SelfRenderingComponent ConfigService cfgSvc = (ConfigService)FacesContextUtils. getRequiredWebApplicationContext(context).getBean("webscripts.config"); SearchProxy searchProxy = (SearchProxy)FacesContextUtils. - getRequiredWebApplicationContext(context).getBean("webscript.org.alfresco.repository.searchproxy_get"); + getRequiredWebApplicationContext(context).getBean("webscript.org.alfresco.repository.searchproxy.get"); if (cfgSvc != null) { // get the OpenSearch configuration