Class TemplateRestController
- java.lang.Object
-
- org.neotropic.kuwaiba.northbound.rest.aem.TemplateRestController
-
- All Implemented Interfaces:
TemplateRestOpenApi
@RestController @RequestMapping("/v2.1.1/template-manager/") public class TemplateRestController extends Object implements TemplateRestOpenApiTemplate Rest Controller.- Author:
- Mauricio Ruiz Beltrán <mauricio.ruiz@kuwaiba.org>
-
-
Constructor Summary
Constructors Constructor Description TemplateRestController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]copyTemplateElements(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId)Copy template elements within templates.String[]copyTemplateSpecialElement(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId)Copy template special elements within templates.String[]createBulkSpecialTemplateElement(String className, String parentClassName, String parentId, String namePattern, String sessionId)Creates multiple special template elements using a given name pattern.String[]createBulkTemplateElement(String className, String parentClassName, String parentId, String namePattern, String sessionId)Creates multiple template elements using a given name pattern.StringcreateTemplate(String className, String name, String sessionId)Creates a template.StringcreateTemplateElement(String className, String parentClassName, String parentId, String name, String sessionId)Creates an object inside a template.StringcreateTemplateSpecialElement(String className, String parentClassName, String parentId, String name, String sessionId)Create an special object inside an template.ChangeDescriptordeleteTemplateElement(String className, String id, String sessionId)Deletes an element within a template or a template itself.TemplateObjectgetTemplateElement(String className, String id, String sessionId)Retrieves all the information of a given template element.List<TemplateObjectLight>getTemplateElementChildren(String className, String id, String sessionId)Retrieves the children of a given template element.List<TemplateObjectLight>getTemplatesForClass(String className, String sessionId)Gets the templates available for a given class.List<TemplateObjectLight>getTemplateSpecialElementChildren(String className, String id, String sessionId)Retrieves the children of a given template special element.ChangeDescriptorupdateTemplateElement(String className, String id, String[] attributeNames, String[] attributeValues, String sessionId)Updates the value of an attribute of a template element.
-
-
-
Field Detail
-
PATH
public static final String PATH
Path that includes the Kuwaiba version and the module id- See Also:
- Constant Field Values
-
-
Method Detail
-
createTemplate
@RequestMapping(method=POST, value="createTemplate/{className}/{name}/{sessionId}", produces="application/json") public String createTemplate(@PathVariable("className") String className, @PathVariable("name") String name, @PathVariable("sessionId") String sessionId)Creates a template.- Specified by:
createTemplatein interfaceTemplateRestOpenApi- Parameters:
className- The class you want to create a template for.name- The name of the template. It can not be null.sessionId- The session token id.- Returns:
- The id of the newly created template.
-
createTemplateElement
@RequestMapping(method=POST, value="createTemplateElement/{className}/{parentClassName}/{parentId}/{name}/{sessionId}", produces="application/json") public String createTemplateElement(@PathVariable("className") String className, @PathVariable("parentClassName") String parentClassName, @PathVariable("parentId") String parentId, @PathVariable("name") String name, @PathVariable("sessionId") String sessionId)Creates an object inside a template.- Specified by:
createTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- Class of the object you want to create.parentClassName- Class of the parent to the object you want to create.parentId- Id of the parent to the object you want to create.name- Name of the element.sessionId- The session token id.- Returns:
- The id of the new object.
-
createTemplateSpecialElement
@RequestMapping(method=POST, value="createTemplateSpecialElement/{className}/{parentClassName}/{parentId}/{name}/{sessionId}", produces="application/json") public String createTemplateSpecialElement(@PathVariable("className") String className, @PathVariable("parentClassName") String parentClassName, @PathVariable("parentId") String parentId, @PathVariable("name") String name, @PathVariable("sessionId") String sessionId)Create an special object inside an template.- Specified by:
createTemplateSpecialElementin interfaceTemplateRestOpenApi- Parameters:
className- Template special element class.parentClassName- Template special element parent class name.parentId- Template special element parent Id.name- Template special element name.sessionId- The session token id.- Returns:
- The id of the new object.
-
createBulkTemplateElement
@RequestMapping(method=POST, value="createBulkTemplateElement/{className}/{parentClassName}/{parentId}/{sessionId}", produces="application/json") public String[] createBulkTemplateElement(@PathVariable("className") String className, @PathVariable("parentClassName") String parentClassName, @PathVariable("parentId") String parentId, @RequestBody String namePattern, @PathVariable("sessionId") String sessionId)Creates multiple template elements using a given name pattern.- Specified by:
createBulkTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- The class name of the new set of template elements.parentClassName- The parent class name of the new set of template elements.parentId- The parent id of the new set of template elements.namePattern- Name pattern of the new set of template elements.sessionId- The session token id.- Returns:
- An array of ids for the new template elements.
-
createBulkSpecialTemplateElement
@RequestMapping(method=POST, value="createBulkSpecialTemplateElement/{className}/{parentClassName}/{parentId}/{sessionId}", produces="application/json") public String[] createBulkSpecialTemplateElement(@PathVariable("className") String className, @PathVariable("parentClassName") String parentClassName, @PathVariable("parentId") String parentId, @RequestBody String namePattern, @PathVariable("sessionId") String sessionId)Creates multiple special template elements using a given name pattern.- Specified by:
createBulkSpecialTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- The class name of the new set of special template elements.parentClassName- The parent class name of the new set of special template elements.parentId- The parent id of the new set of special template elements.namePattern- Name pattern of the new set of special template elements.sessionId- The session token id.- Returns:
- An array if ids for the new special template elements.
-
updateTemplateElement
@RequestMapping(method=PUT, value="updateTemplateElement/{className}/{id}/{attributeNames}/{attributeValues}/{sessionId}", produces="application/json") public ChangeDescriptor updateTemplateElement(@PathVariable("className") String className, @PathVariable("id") String id, @PathVariable("attributeNames") String[] attributeNames, @PathVariable("attributeValues") String[] attributeValues, @PathVariable("sessionId") String sessionId)Updates the value of an attribute of a template element.- Specified by:
updateTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- Class of the element you want to update.id- Id of the element you want to update.attributeNames- Names of the attributes that you want to be updated as an array of strings.attributeValues- The values of the attributes you want to update. For list types, it's the id of the related type.sessionId- The session token id.- Returns:
- The summary of the changes.
-
deleteTemplateElement
@RequestMapping(method=DELETE, value="deleteTemplateElement/{className}/{id}/{sessionId}", produces="application/json") public ChangeDescriptor deleteTemplateElement(@PathVariable("className") String className, @PathVariable("id") String id, @PathVariable("sessionId") String sessionId)Deletes an element within a template or a template itself.- Specified by:
deleteTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- The template element class.id- The template element id.sessionId- The session token id.- Returns:
- The summary of the changes.
-
getTemplatesForClass
@RequestMapping(method=GET, value="getTemplatesForClass/{className}/{sessionId}", produces="application/json") public List<TemplateObjectLight> getTemplatesForClass(@PathVariable("className") String className, @PathVariable("sessionId") String sessionId)Gets the templates available for a given class.- Specified by:
getTemplatesForClassin interfaceTemplateRestOpenApi- Parameters:
className- Class whose templates we need.sessionId- The session token id.- Returns:
- A list of templates (actually, the top element) as a list of RemoteObjects.
-
getTemplateElementChildren
@RequestMapping(method=GET, value="getTemplateElementChildren/{className}/{id}/{sessionId}", produces="application/json") public List<TemplateObjectLight> getTemplateElementChildren(@PathVariable("className") String className, @PathVariable("id") String id, @PathVariable("sessionId") String sessionId)Retrieves the children of a given template element.- Specified by:
getTemplateElementChildrenin interfaceTemplateRestOpenApi- Parameters:
className- Template element class.id- Template element id.sessionId- The session token id.- Returns:
- The template element's children as a list of RemoteBusinessObjectLight instances.
-
getTemplateSpecialElementChildren
@RequestMapping(method=GET, value="getTemplateSpecialElementChildren/{className}/{id}/{sessionId}", produces="application/json") public List<TemplateObjectLight> getTemplateSpecialElementChildren(@PathVariable("className") String className, @PathVariable("id") String id, @PathVariable("sessionId") String sessionId)Retrieves the children of a given template special element.- Specified by:
getTemplateSpecialElementChildrenin interfaceTemplateRestOpenApi- Parameters:
className- Template special element class.id- Template special element id.sessionId- The session token id.- Returns:
- The template element's children as a list of RemoteBusinessObjectLight instances.
-
getTemplateElement
@RequestMapping(method=GET, value="getTemplateElement/{className}/{id}/{sessionId}", produces="application/json") public TemplateObject getTemplateElement(@PathVariable("className") String className, @PathVariable("id") String id, @PathVariable("sessionId") String sessionId)Retrieves all the information of a given template element.- Specified by:
getTemplateElementin interfaceTemplateRestOpenApi- Parameters:
className- Template element class.id- Template element id.sessionId- The session token id.- Returns:
- The template element information.
-
copyTemplateElements
@RequestMapping(method=PUT, value="copyTemplateElements/{sourceObjectsClassNames}/{sourceObjectsIds}/{newParentClassName}/{newParentId}/{sessionId}", produces="application/json") public String[] copyTemplateElements(@PathVariable("sourceObjectsClassNames") String[] sourceObjectsClassNames, @PathVariable("sourceObjectsIds") String[] sourceObjectsIds, @PathVariable("newParentClassName") String newParentClassName, @PathVariable("newParentId") String newParentId, @PathVariable("sessionId") String sessionId)Copy template elements within templates. Should not be used to copy entire templates.- Specified by:
copyTemplateElementsin interfaceTemplateRestOpenApi- Parameters:
sourceObjectsClassNames- Array with the class names of the elements to be copied.sourceObjectsIds- Array with the ids of the elements to be copied.newParentClassName- Class of the parent of the copied objects.newParentId- Id of the parent of the copied objects.sessionId- The session token id.- Returns:
- An array with the ids of the newly created elements in the same order they were provided.
-
copyTemplateSpecialElement
@RequestMapping(method=PUT, value="copyTemplateSpecialElement/{sourceObjectsClassNames}/{sourceObjectsIds}/{newParentClassName}/{newParentId}/{sessionId}", produces="application/json") public String[] copyTemplateSpecialElement(@PathVariable("sourceObjectsClassNames") String[] sourceObjectsClassNames, @PathVariable("sourceObjectsIds") String[] sourceObjectsIds, @PathVariable("newParentClassName") String newParentClassName, @PathVariable("newParentId") String newParentId, @PathVariable("sessionId") String sessionId)Copy template special elements within templates.- Specified by:
copyTemplateSpecialElementin interfaceTemplateRestOpenApi- Parameters:
sourceObjectsClassNames- Array with the class names of the special elements to be copied.sourceObjectsIds- Array with the ids of the special elements to be copied.newParentClassName- Class of the parent of the copied objects.newParentId- Id of the parent of the copied objects.sessionId- The session token id.- Returns:
- An array with the ids of the newly created special elements in the same order they were provided.
-
-