summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2012-07-06 15:50:45 +0200
committerAndrew Branson <andrew.branson@cern.ch>2012-07-06 15:50:45 +0200
commitb53164978a9a264fbe26679c07e32731a4d495f9 (patch)
treeb0f0335625c4ee11012d51df3da5daae270bdd2f /src/main/java/com/c2kernel/lifecycle
parent24314dc1699c7e73048fa24e33729f1aa1ec0e86 (diff)
Remove XML parsing from module processing, use Castor unmarshalling
instead. Create module item with collection of imported Items and module XML registered as an outcome.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java14
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java17
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java26
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java12
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java26
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java56
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java11
7 files changed, 32 insertions, 130 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java
index 88d9249..40e0604 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java
@@ -2,9 +2,6 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation;
import java.util.ArrayList;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
import com.c2kernel.collection.MembershipException;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.graph.model.GraphPoint;
@@ -29,17 +26,6 @@ public class Aggregation implements java.io.Serializable {
this.isDescription = isDescription;
}
- public Aggregation(Element agg) {
- name = agg.getAttribute("name");
- isDescription = agg.getAttribute("isDescription").equals("true");
- NodeList depmemnl = agg.getElementsByTagName("AggregationMember");
- for (int k=0; k<depmemnl.getLength(); k++) {
- Element memElem = (Element)depmemnl.item(k);
- AggregationMember newAggMem = new AggregationMember(memElem);
- aggregationMemberList.add(newAggMem);
- }
- }
-
public com.c2kernel.collection.Aggregation create() throws MembershipException, ObjectNotFoundException {
com.c2kernel.collection.Aggregation newAgg = isDescription?new com.c2kernel.collection.AggregationDescription(name):new com.c2kernel.collection.AggregationInstance(name);
newAgg.setName(name);
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java
index 64215da..82c0437 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java
@@ -1,9 +1,5 @@
package com.c2kernel.lifecycle.instance.predefined.entitycreation;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
import com.c2kernel.utils.CastorHashMap;
import com.c2kernel.utils.KeyValuePair;
@@ -27,19 +23,6 @@ public class AggregationMember implements java.io.Serializable {
this.geometry = geometry;
}
- public AggregationMember(Element memElem) {
- Element geom = (Element)memElem.getElementsByTagName("Geometry").item(0);
- this.slotNo = Integer.parseInt(memElem.getAttribute("slotNo"));
- this.itemDescriptionPath = memElem.getAttribute("itemDescriptionPath");
- this.itemPath = memElem.getAttribute("itemPath");
- this.geometry = new Geometry(Integer.parseInt(geom.getAttribute("x")), Integer.parseInt(geom.getAttribute("y")),
- Integer.parseInt(geom.getAttribute("width")), Integer.parseInt(geom.getAttribute("height")));
- NodeList cmpnl = memElem.getElementsByTagName("MemberProperty");
- for (int l=0; l<cmpnl.getLength(); l++) {
- Element p = (Element)cmpnl.item(l);
- props.put(p.getAttribute("name"), ((Text)p.getFirstChild()).getData());
- }
- }
public KeyValuePair[] getKeyValuePairs() {
return props.getKeyValuePairs();
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
index a0d7a1e..9cb3894 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java
@@ -2,10 +2,6 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation;
import java.util.ArrayList;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
import com.c2kernel.collection.MembershipException;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.lookup.DomainPath;
@@ -14,6 +10,7 @@ import com.c2kernel.property.PropertyDescriptionList;
import com.c2kernel.property.PropertyUtility;
import com.c2kernel.utils.CastorHashMap;
import com.c2kernel.utils.KeyValuePair;
+import com.c2kernel.utils.Logger;
public class Dependency implements java.io.Serializable {
@@ -22,32 +19,16 @@ public class Dependency implements java.io.Serializable {
public String itemDescriptionPath;
public ArrayList<DependencyMember> dependencyMemberList = new ArrayList<DependencyMember>();
public CastorHashMap props = new CastorHashMap();
- Element elem;
public Dependency() {
super();
}
- public Dependency(String itemDesc) {
+ public Dependency(String name) {
this();
- this.itemDescriptionPath = itemDesc;
+ this.name = name;
}
- public Dependency(Element dep) {
- elem = dep;
- name = dep.getAttribute("name");
- isDescription = dep.getAttribute("isDescription").equals("true");
- NodeList cpnl = dep.getElementsByTagName("CollectionProperty");
- for (int k=0; k<cpnl.getLength(); k++) {
- Element p = (Element)cpnl.item(k);
- props.put(p.getAttribute("name"), ((Text)p.getFirstChild()).getData());
- }
- NodeList depmemnl = dep.getElementsByTagName("DependencyMember");
- for (int k=0; k<depmemnl.getLength(); k++) {
- Element p = (Element)depmemnl.item(k);
- dependencyMemberList.add(new DependencyMember(p));
- }
- }
public KeyValuePair[] getKeyValuePairs() {
return props.getKeyValuePairs();
}
@@ -62,6 +43,7 @@ public class Dependency implements java.io.Serializable {
public com.c2kernel.collection.Dependency create() throws MembershipException, ObjectNotFoundException {
com.c2kernel.collection.Dependency newDep = isDescription?new com.c2kernel.collection.DependencyDescription(name):new com.c2kernel.collection.Dependency(name);
if (itemDescriptionPath != null && itemDescriptionPath.length()>0) {
+ Logger.debug(itemDescriptionPath);
PropertyDescriptionList propList = PropertyUtility.getPropertyDescriptionOutcome(new DomainPath(itemDescriptionPath).getSysKey());
StringBuffer classProps = new StringBuffer();
for (PropertyDescription pd : propList.list) {
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java
index e20fe8b..573cdc8 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java
@@ -1,10 +1,6 @@
package com.c2kernel.lifecycle.instance.predefined.entitycreation;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
import com.c2kernel.utils.CastorHashMap;
import com.c2kernel.utils.KeyValuePair;
@@ -23,14 +19,6 @@ public class DependencyMember implements java.io.Serializable {
}
- public DependencyMember(Element elem) {
- itemPath = elem.getAttribute("itemPath");
- NodeList cmpnl = elem.getElementsByTagName("MemberProperty");
- for (int l=0; l<cmpnl.getLength(); l++) {
- Element p = (Element)cmpnl.item(l);
- props.put(p.getAttribute("name"), ((Text)p.getFirstChild()).getData());
- }
- }
public KeyValuePair[] getKeyValuePairs() {
return props.getKeyValuePairs();
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java
index 07d2250..f13bced 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java
@@ -3,10 +3,6 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
import com.c2kernel.common.CannotManageException;
import com.c2kernel.common.ObjectAlreadyExistsException;
import com.c2kernel.common.ObjectCannotBeUpdated;
@@ -15,7 +11,6 @@ import com.c2kernel.entity.agent.ActiveEntity;
import com.c2kernel.lookup.AgentPath;
import com.c2kernel.lookup.RolePath;
import com.c2kernel.process.Gateway;
-import com.c2kernel.process.module.Module;
import com.c2kernel.process.module.ModuleImport;
import com.c2kernel.property.Property;
import com.c2kernel.property.PropertyArrayList;
@@ -29,29 +24,13 @@ public class NewAgent extends ModuleImport implements java.io.Serializable {
public ArrayList<Property> properties = new ArrayList<Property>();
public NewAgent() {
- super(null);
}
public NewAgent(String name, String password) {
- super(null);
this.name = name;
this.password = password;
}
- public NewAgent(Element imp) {
- super(imp);
- password = imp.getAttribute("password");
- NodeList rolenl = imp.getElementsByTagName("Role");
- for (int j=0; j<rolenl.getLength(); j++) {
- roles.add(((Text)rolenl.item(j).getFirstChild()).getData());
- }
- NodeList pnl = imp.getElementsByTagName("Property");
- for (int j=0; j<pnl.getLength(); j++) {
- Element p = (Element)pnl.item(j);
- properties.add(Module.newProperty(p));
- }
- }
-
public void create(int agentId) throws ObjectNotFoundException, ObjectCannotBeUpdated, NoSuchAlgorithmException, CannotManageException, ObjectAlreadyExistsException {
AgentPath newAgent = Gateway.getLDAPLookup().getNextKeyManager().generateNextAgentKey();
newAgent.setAgentName(name);
@@ -78,4 +57,9 @@ public class NewAgent extends ModuleImport implements java.io.Serializable {
}
}
+
+ @Override
+ public String getPath(String ns) {
+ return null;
+ }
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
index 050615f..caa53e4 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java
@@ -3,10 +3,6 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation;
import java.util.ArrayList;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
import com.c2kernel.collection.MembershipException;
import com.c2kernel.common.CannotManageException;
import com.c2kernel.common.ObjectAlreadyExistsException;
@@ -23,13 +19,11 @@ import com.c2kernel.lookup.EntityPath;
import com.c2kernel.persistency.ClusterStorageException;
import com.c2kernel.persistency.outcome.Viewpoint;
import com.c2kernel.process.Gateway;
-import com.c2kernel.process.module.Module;
import com.c2kernel.process.module.ModuleImport;
import com.c2kernel.property.Property;
import com.c2kernel.property.PropertyArrayList;
import com.c2kernel.utils.LocalObjectLoader;
import com.c2kernel.utils.Logger;
-import com.c2kernel.utils.Resource;
/**
* Complete Structure for new item
@@ -45,10 +39,9 @@ public class NewItem extends ModuleImport {
public ArrayList<Aggregation> aggregationList = new ArrayList<Aggregation>();
public ArrayList<Dependency> dependencyList = new ArrayList<Dependency>();
public ArrayList<Outcome> outcomes = new ArrayList<Outcome>();
- public String ns;
+ private String ns;
public NewItem() {
- super(null);
}
public NewItem(String name, String initialPath, String wf) {
@@ -58,41 +51,13 @@ public class NewItem extends ModuleImport {
this.workflow = wf;
}
- public NewItem(String ns, Element elem) {
- super(elem);
+ public void setNamespace(String ns) {
this.ns = ns;
- workflow = elem.getAttribute("workflow");
- if (elem.hasAttribute("initialPath"))
- initialPath = elem.getAttribute("initialPath");
- else
- initialPath = "/desc/"+ns;
- NodeList pnl = elem.getElementsByTagName("Property");
- for (int j=0; j<pnl.getLength(); j++) {
- Element p = (Element)pnl.item(j);
- properties.add(Module.newProperty(p));
- }
- NodeList ocnl = elem.getElementsByTagName("Outcome");
- for (int j=0; j<ocnl.getLength(); j++) {
- Element oc = (Element)ocnl.item(j);
- outcomes.add(new Outcome(oc.getAttribute("schema"), oc.getAttribute("version"), oc.getAttribute("viewname"), ((Text)oc.getFirstChild()).getData()));
- }
-
- NodeList depnl = elem.getElementsByTagName("Dependency");
- for (int j=0; j<depnl.getLength(); j++) {
- Element dep = (Element)depnl.item(j);
- Dependency newDep = new Dependency(dep);
- dependencyList.add(newDep);
- }
- NodeList aggnl = elem.getElementsByTagName("Aggregation");
- for (int j=0; j<aggnl.getLength(); j++) {
- Element agg = (Element)aggnl.item(j);
- Aggregation newAgg = new Aggregation(agg);
- aggregationList.add(newAgg);
- }
+ if (initialPath == null) initialPath = "/desc/"+ns;
}
-
- public void setNs(String ns) {
- this.ns = ns;
+
+ public String getNamespace() {
+ return ns;
}
public void create(int agentId) throws ObjectCannotBeUpdated, ObjectNotFoundException, CannotManageException, ObjectAlreadyExistsException {
@@ -127,9 +92,8 @@ public class NewItem extends ModuleImport {
History hist = new History(entPath.getSysKey(), null);
for (Outcome thisOutcome : outcomes) {
- String data = Resource.getTextResource(ns, thisOutcome.path);
Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", States.FINISHED);
- com.c2kernel.persistency.outcome.Outcome newOutcome = new com.c2kernel.persistency.outcome.Outcome(newEvent.getID(), data, thisOutcome.schema, thisOutcome.version);
+ com.c2kernel.persistency.outcome.Outcome newOutcome = new com.c2kernel.persistency.outcome.Outcome(newEvent.getID(), thisOutcome.getData(ns), thisOutcome.schema, thisOutcome.version);
Viewpoint newLastView = new Viewpoint(entPath.getSysKey(), thisOutcome.schema, thisOutcome.viewname, thisOutcome.version, newEvent.getID());
try {
Gateway.getStorage().put(entPath.getSysKey(), newOutcome, null);
@@ -168,4 +132,10 @@ public class NewItem extends ModuleImport {
domPath.setEntity(entPath);
Gateway.getLDAPLookup().add(domPath);
}
+
+ @Override
+ public String getPath(String ns) {
+ setNamespace(ns);
+ return initialPath;
+ }
}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java
index c0e62ec..a8431de 100644
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java
@@ -1,7 +1,10 @@
package com.c2kernel.lifecycle.instance.predefined.entitycreation;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.utils.Resource;
+
public class Outcome {
- public String schema, viewname, path;
+ public String schema, viewname, path, data;
public int version;
public Outcome() {
@@ -14,5 +17,11 @@ public class Outcome {
this.viewname = viewname;
this.path = path;
}
+
+ public String getData(String ns) throws ObjectNotFoundException {
+ if (data == null)
+ data = Resource.getTextResource(ns, path);
+ return data;
+ }
}