summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-04-02 15:30:06 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-04-02 15:30:06 +0200
commitaaa9509c6f4e5ac0edb308041d1ffa361b468a5f (patch)
tree14798719434e754fc84ca954ede84a6c913aba12 /src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java
parentdd91089106edeb9bf1cdfe415c98a051585797c2 (diff)
ResourceImportHandler interface to allow custom <Resource> types or
override the structure of standard ones. Specify with ResourceImportHandler.<resType> c2kprop. DefaultResourceImportHandler is used if not defined, which handled the 5 standard types (CA,EA,OD,SC,SM). Fixes #178
Diffstat (limited to 'src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java')
-rw-r--r--src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java b/src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java
new file mode 100644
index 0000000..8f825b5
--- /dev/null
+++ b/src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java
@@ -0,0 +1,47 @@
+package com.c2kernel.process.resource;
+
+import java.util.Set;
+
+import com.c2kernel.lookup.DomainPath;
+import com.c2kernel.persistency.outcome.Outcome;
+import com.c2kernel.property.PropertyDescriptionList;
+
+public interface ResourceImportHandler {
+
+
+ /** Returns the DomainPath for a specific resource
+ * @param ns - module namespace
+ * @param name - resource name
+ * @return
+ */
+ public DomainPath getPath(String name, String ns) throws Exception;
+
+ /** Generates the outcomes that the resource should contain.
+ * @param res - the module resource definition
+ * @return a set of outcomes to be synced with the resource item.
+ * @throws Exception - if the supplied resources are not valid
+ */
+ public Set<Outcome> getResourceOutcomes(String name, String ns, String location, int version) throws Exception;
+
+ /** Gives the CompActDef name to instantiate to provide the workflow for this type of resource.
+ * Should be found in the CA typeroot (/desc/ActivityDesc/)
+ * @return String workflow name
+ * @throws Exception
+ */
+ public String getWorkflowName() throws Exception;
+
+ /** Should return all of the Properties the resource Item
+ * will have on creation. The Property 'Name' will be created and populated automatically, even if not declared.
+ * @return a PropertyDescriptionList - an arraylist of PropertyDescriptions
+ * @throws Exception
+ */
+ public PropertyDescriptionList getPropDesc() throws Exception;
+
+ /** The directory context to search for existing resources. The name of the resource must be unique below this point.
+ * @return Root path
+ */
+ public DomainPath getTypeRoot();
+
+ public String getName();
+
+}