diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-04-03 08:44:17 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-04-03 08:44:17 +0200 |
| commit | 2f855591dea0eb5ffbcce490dd7a7eb9c2f00a23 (patch) | |
| tree | 851a855b9c1f2c0853e33c70d83e391ed8f4bc98 /src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java | |
| parent | edbcf27952c6608e2d471e1494ee37a7108cffcf (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
Conflicts:
src/main/java/com/c2kernel/process/Bootstrap.java
src/main/java/com/c2kernel/process/module/Module.java
Diffstat (limited to 'src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java')
| -rw-r--r-- | src/main/java/com/c2kernel/process/resource/ResourceImportHandler.java | 47 |
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();
+
+}
|
