From 53cee95d128aa8482c70ebc22d7e23c868587dc5 Mon Sep 17 00:00:00 2001 From: Gavin Cornwell Date: Tue, 13 Jul 2010 13:13:16 +0000 Subject: [PATCH] Changing workflow REST API URLs to be plural for consistency with other services and also some minor formatting of FTL git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21127 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../workflow/task-instances.get.desc.xml | 9 +- .../workflow/task-instances.get.json.ftl | 13 +-- .../alfresco/repository/workflow/task.lib.ftl | 84 +++++++++---------- .../workflow/WorkflowModelBuilder.java | 4 +- .../workflow/WorkflowModelBuilderTest.java | 4 +- 5 files changed, 53 insertions(+), 61 deletions(-) diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml index 3092e66a8a..b4f8db4fb1 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.desc.xml @@ -4,14 +4,7 @@ Lists all Workflow Task Instances associated with an authority and of a given State. The list of returned tasks also includes pooled tasks which the specified authority is eligible to claim. - /api/task-instance - /api/task-instance?authority={authority?} - /api/task-instance?state={state?} - /api/task-instance?properties={properties?} - /api/task-instance?authority={authority?}&?state={state?} - /api/task-instance?authority={authority?}&?properties={properties?} - /api/task-instance?state={state?}&?properties={properties?} - /api/task-instance?authority={authority?}&?state={state?}&?properties={properties?} + /api/task-instances?authority={authority?}&state={state?}&properties={properties?} user required diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl index d6eb9daa20..ecbe22df49 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task-instances.get.json.ftl @@ -2,10 +2,11 @@ <#import "task.lib.ftl" as taskLib /> { - "data": [ - <#list taskInstances as task> - <@taskLib.taskJSON task=task /> - <#if task_has_next>, - - ] + "data": + [ + <#list taskInstances as task> + <@taskLib.taskJSON task=task /> + <#if task_has_next>, + + ] } \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task.lib.ftl index 2321ced2f7..cb983462ae 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task.lib.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/workflow/task.lib.ftl @@ -1,55 +1,53 @@ <#-- Renders a task instance. --> <#macro taskJSON task > - { - "id": "${task.id}", - "url": "${task.url}", - "name": "${task.name}", - "title": "${task.title}", - "description": "${task.description}", - "state": "${task.state}", - "typeDefinitionTitle": "${task.typeDefinitionTitle}", - "isPooled": ${task.isPooled?string}, - "owner": - <#if task.owner??> - { - "userName": "${task.owner.userName}", - "firstName": "${task.owner.firstName}", - "lastName": "${task.owner.lastName}" - }, - <#else> - null, - - "properties": - <@propertiesJSON properties=task.properties /> - } + { + "id": "${task.id}", + "url": "${task.url}", + "name": "${task.name}", + "title": "${task.title}", + "description": "${task.description}", + "state": "${task.state}", + "typeDefinitionTitle": "${task.typeDefinitionTitle}", + "isPooled": ${task.isPooled?string}, + "owner": + <#if task.owner??> + { + "userName": "${task.owner.userName}", + "firstName": "${task.owner.firstName}", + "lastName": "${task.owner.lastName}" + }, + <#else> + null, + + "properties": + <@propertiesJSON properties=task.properties /> + } <#-- Renders a map of properties --> <#macro propertiesJSON properties> - { - <#list properties?keys as key> - "${key}" : - <#if properties[key]??> - <#assign val=properties[key]> + { + <#list properties?keys as key> + "${key}" : + <#if properties[key]??> + <#assign val=properties[key]> <#if val?is_boolean == true> - ${val?string} + ${val?string} <#elseif val?is_number == true> - ${val?c} + ${val?c} <#elseif val?is_sequence> - [ - <#list val as element> - "${jsonUtils.encodeJSONString(element?string)}"<#if (element_has_next)>, - - ] + [ + <#list val as element> + "${jsonUtils.encodeJSONString(element?string)}"<#if (element_has_next)>, + + ] <#else> - "${jsonUtils.encodeJSONString(shortQName(val?string))}" + "${jsonUtils.encodeJSONString(shortQName(val?string))}" - <#else> - null - - <#if (key_has_next)>, - - } + <#else> + null + + <#if (key_has_next)>, + + } - - \ No newline at end of file diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java index 67991d9a7c..f09747e6e8 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilder.java @@ -232,12 +232,12 @@ public class WorkflowModelBuilder private String getUrl(WorkflowTask task) { - return "api/task-instance/" + task.id; + return "api/task-instances/" + task.id; } private String getUrl(WorkflowDefinition workflowDefinition) { - return "api/workflow-definition/" + workflowDefinition.id; + return "api/workflow-definitions/" + workflowDefinition.id; } } diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilderTest.java b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilderTest.java index fc64d228a5..decfa31ebe 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilderTest.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowModelBuilderTest.java @@ -92,7 +92,7 @@ public class WorkflowModelBuilderTest extends TestCase Object id = model.get(WorkflowModelBuilder.TASK_ID); assertEquals(task.id, id); Object url = model.get(WorkflowModelBuilder.TASK_URL); - assertEquals("api/task-instance/"+task.id, url); + assertEquals("api/task-instances/"+task.id, url); assertEquals(task.name, model.get(WorkflowModelBuilder.TASK_NAME)); assertEquals(task.title, model.get(WorkflowModelBuilder.TASK_TITLE)); assertEquals(task.description, model.get(WorkflowModelBuilder.TASK_DESCRIPTION)); @@ -143,7 +143,7 @@ public class WorkflowModelBuilderTest extends TestCase Map model = builder.buildSimple(workflowDefinition); assertEquals(workflowDefinition.id, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_ID)); - assertEquals("api/workflow-definition/" + workflowDefinition.id, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_URL)); + assertEquals("api/workflow-definitions/" + workflowDefinition.id, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_URL)); assertEquals(workflowDefinition.name, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_NAME)); assertEquals(workflowDefinition.title, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_TITLE)); assertEquals(workflowDefinition.description, model.get(WorkflowModelBuilder.WORKFLOW_DEFINITION_DESCRIPTION));