From e73468fd08cc27aa31f76a27c916e45d5987c628 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 5 Jun 2014 16:47:41 +0200 Subject: Moved old entitycreation package from the predefined step package to a new 'imports' package under entity. Renamed most classed with an 'Import' prefix to avoid clashes with other API classes. Fixes #194 --- .../predefined/ServerPredefinedStepContainer.java | 4 +- .../predefined/entitycreation/Aggregation.java | 51 ------ .../entitycreation/AggregationMember.java | 33 ---- .../predefined/entitycreation/CreateNewAgent.java | 42 ----- .../predefined/entitycreation/CreateNewItem.java | 41 ----- .../predefined/entitycreation/Dependency.java | 66 -------- .../entitycreation/DependencyMember.java | 29 ---- .../predefined/entitycreation/Geometry.java | 29 ---- .../predefined/entitycreation/NewAgent.java | 60 ------- .../predefined/entitycreation/NewItem.java | 187 --------------------- .../predefined/entitycreation/NewRole.java | 19 --- .../predefined/entitycreation/Outcome.java | 27 --- .../instance/predefined/server/CreateNewAgent.java | 43 +++++ .../instance/predefined/server/CreateNewItem.java | 42 +++++ 14 files changed, 87 insertions(+), 586 deletions(-) delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Geometry.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java delete mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java create mode 100644 src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewItem.java (limited to 'src/main/java/com/c2kernel/lifecycle') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ServerPredefinedStepContainer.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ServerPredefinedStepContainer.java index 667ae5d..32cf7b2 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ServerPredefinedStepContainer.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ServerPredefinedStepContainer.java @@ -1,9 +1,9 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.graph.model.GraphPoint; -import com.c2kernel.lifecycle.instance.predefined.entitycreation.CreateNewAgent; -import com.c2kernel.lifecycle.instance.predefined.entitycreation.CreateNewItem; import com.c2kernel.lifecycle.instance.predefined.server.AddDomainContext; +import com.c2kernel.lifecycle.instance.predefined.server.CreateNewAgent; +import com.c2kernel.lifecycle.instance.predefined.server.CreateNewItem; import com.c2kernel.lifecycle.instance.predefined.server.RemoveAgent; import com.c2kernel.lifecycle.instance.predefined.server.RemoveDomainContext; import com.c2kernel.lifecycle.instance.predefined.server.SetAgentPassword; 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 deleted file mode 100644 index 40e0604..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Aggregation.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import java.util.ArrayList; - -import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.graph.model.GraphPoint; -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.property.PropertyDescription; -import com.c2kernel.property.PropertyDescriptionList; -import com.c2kernel.property.PropertyUtility; - -public class Aggregation implements java.io.Serializable { - - public boolean isDescription; - public ArrayList aggregationMemberList = new ArrayList(); - public String name; - - public Aggregation() { - super(); - } - - public Aggregation(String name, boolean isDescription) { - this(); - this.name = name; - this.isDescription = isDescription; - } - - 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); - for (AggregationMember thisMem : aggregationMemberList) { - StringBuffer classProps = new StringBuffer(); - if (thisMem.itemDescriptionPath != null && thisMem.itemDescriptionPath.length()>0) { - PropertyDescriptionList propList = PropertyUtility.getPropertyDescriptionOutcome(new DomainPath(thisMem.itemDescriptionPath).getSysKey()); - for (PropertyDescription pd : propList.list) { - thisMem.props.put(pd.getName(), pd.getDefaultValue()); - if (pd.getIsClassIdentifier()) - classProps.append((classProps.length()>0?",":"")).append(pd.getName()); - } - } - if (thisMem.itemPath != null && thisMem.itemPath.length()>0) { - int syskey = new DomainPath(thisMem.itemPath).getSysKey(); - if (syskey == -1) - throw new MembershipException("Cannot find "+thisMem.itemPath+" specified for collection."); - newAgg.addMember(syskey, thisMem.props, classProps.toString(), new GraphPoint(thisMem.geometry.x, thisMem.geometry.y), thisMem.geometry.width, thisMem.geometry.height); - } - } - return newAgg; - } -} 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 deleted file mode 100644 index 82c0437..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/AggregationMember.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import com.c2kernel.utils.CastorHashMap; -import com.c2kernel.utils.KeyValuePair; - -public class AggregationMember implements java.io.Serializable { - - public int slotNo; - public String itemDescriptionPath; - public String itemPath; - public Geometry geometry; - public CastorHashMap props = new CastorHashMap(); - - - public AggregationMember() { - super(); - } - - public AggregationMember(int slotNo, String itemDescPath, String itemPath, Geometry geometry) { - this.slotNo = slotNo; - this.itemDescriptionPath = itemDescPath; - this.itemPath = itemPath; - this.geometry = geometry; - } - - public KeyValuePair[] getKeyValuePairs() { - return props.getKeyValuePairs(); - } - - public void setKeyValuePairs(KeyValuePair[] pairs) { - props.setKeyValuePairs(pairs); - } -} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java deleted file mode 100644 index 7715e2a..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java +++ /dev/null @@ -1,42 +0,0 @@ -/************************************************************************** - * CreateNewAgent.java - * - * Copyright (C) 2001 CERN - European Organization for Nuclear Research - * All rights reserved. - **************************************************************************/ - -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; -import com.c2kernel.lookup.AgentPath; -import com.c2kernel.process.Gateway; -import com.c2kernel.utils.Logger; - -public class CreateNewAgent extends PredefinedStep -{ - public CreateNewAgent() - { - super(); - getProperties().put("SchemaType", "Agent"); - } - - //requestdata is xmlstring - @Override - protected String runActivityLogic(AgentPath agent, int itemSysKey, - int transitionID, String requestData) throws InvalidDataException { - - String redactedRequestData; - try { - NewAgent newAgent = (NewAgent)Gateway.getMarshaller().unmarshall(requestData); - newAgent.create(agent.getSysKey()); - newAgent.password = "REDACTED"; - redactedRequestData = Gateway.getMarshaller().marshall(newAgent); - return redactedRequestData; - } catch (Exception ex) { - Logger.error(ex); - throw new InvalidDataException("Error creating agent", ""); - } - - } -} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java deleted file mode 100644 index bddb39f..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java +++ /dev/null @@ -1,41 +0,0 @@ -/************************************************************************** - * CreateNewItem - * - * Copyright (C) 2005 CERN - European Organization for Nuclear Research - * All rights reserved. - **************************************************************************/ - -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - - - - -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; -import com.c2kernel.lookup.AgentPath; -import com.c2kernel.process.Gateway; -import com.c2kernel.utils.Logger; - -public class CreateNewItem extends PredefinedStep -{ - public CreateNewItem() - { - super(); - getProperties().put("SchemaType", "Item"); - } - - //requestdata is xmlstring - @Override - protected String runActivityLogic(AgentPath agent, int itemSysKey, - int transitionID, String requestData) throws InvalidDataException { - - try { - NewItem item = (NewItem)Gateway.getMarshaller().unmarshall(requestData); - item.create(agent.getSysKey(), false); - return requestData; - } catch (Exception ex) { - Logger.error(ex); - throw new InvalidDataException("Error creating item", ""); - } - } -} 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 deleted file mode 100644 index b3be9d1..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Dependency.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import java.util.ArrayList; - -import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.property.PropertyDescription; -import com.c2kernel.property.PropertyDescriptionList; -import com.c2kernel.property.PropertyUtility; -import com.c2kernel.utils.CastorHashMap; -import com.c2kernel.utils.KeyValuePair; - -public class Dependency implements java.io.Serializable { - - public String name; - public boolean isDescription; - public String itemDescriptionPath; - public ArrayList dependencyMemberList = new ArrayList(); - public CastorHashMap props = new CastorHashMap(); - - public Dependency() { - super(); - } - - public Dependency(String name) { - this(); - this.name = name; - } - - public KeyValuePair[] getKeyValuePairs() { - return props.getKeyValuePairs(); - } - - public void setKeyValuePairs(KeyValuePair[] pairs) { - props.setKeyValuePairs(pairs); - } - - /** - * @return - */ - 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) { - PropertyDescriptionList propList = PropertyUtility.getPropertyDescriptionOutcome(new DomainPath(itemDescriptionPath).getSysKey()); - StringBuffer classProps = new StringBuffer(); - for (PropertyDescription pd : propList.list) { - props.put(pd.getName(), pd.getDefaultValue()); - if (pd.getIsClassIdentifier()) - classProps.append((classProps.length()>0?",":"")).append(pd.getName()); - } - newDep.setProperties(props); - newDep.setClassProps(classProps.toString()); - } - - for (DependencyMember thisMem : dependencyMemberList) { - int syskey = new DomainPath(thisMem.itemPath).getSysKey(); - if (syskey == -1) - throw new MembershipException("Cannot find "+thisMem.itemPath+" specified for collection."); - com.c2kernel.collection.DependencyMember newDepMem = newDep.addMember(syskey); - newDepMem.getProperties().putAll(thisMem.props); - } - return newDep; - } - -} 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 deleted file mode 100644 index 573cdc8..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/DependencyMember.java +++ /dev/null @@ -1,29 +0,0 @@ - -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import com.c2kernel.utils.CastorHashMap; -import com.c2kernel.utils.KeyValuePair; - -public class DependencyMember implements java.io.Serializable { - - - public String itemPath; - public CastorHashMap props = new CastorHashMap(); - - public DependencyMember() { - super(); - } - - public DependencyMember(String itemPath) { - this.itemPath = itemPath; - - } - - public KeyValuePair[] getKeyValuePairs() { - return props.getKeyValuePairs(); - } - - public void setKeyValuePairs(KeyValuePair[] pairs) { - props.setKeyValuePairs(pairs); - } -} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Geometry.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Geometry.java deleted file mode 100644 index f18b6d4..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Geometry.java +++ /dev/null @@ -1,29 +0,0 @@ - - -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - - - -public class Geometry implements java.io.Serializable { - - - public int x; - - public int y; - - public int width; - - public int height; - - public Geometry() { - super(); - } - - public Geometry(int x, int y, int width, int height) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; - } - -} 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 deleted file mode 100644 index 10e5e6f..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewAgent.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; - -import com.c2kernel.common.CannotManageException; -import com.c2kernel.common.ObjectAlreadyExistsException; -import com.c2kernel.common.ObjectCannotBeUpdated; -import com.c2kernel.common.ObjectNotFoundException; -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.ModuleImport; -import com.c2kernel.property.Property; -import com.c2kernel.property.PropertyArrayList; -import com.c2kernel.utils.Logger; - -public class NewAgent extends ModuleImport implements java.io.Serializable { - - public String password; - - public ArrayList roles = new ArrayList(); - public ArrayList properties = new ArrayList(); - - public NewAgent() { - } - - public NewAgent(String name, String password) { - this.name = name; - this.password = password; - } - - public void create(int agentId) throws ObjectNotFoundException, ObjectCannotBeUpdated, NoSuchAlgorithmException, CannotManageException, ObjectAlreadyExistsException { - AgentPath newAgent = Gateway.getNextKeyManager().generateNextAgentKey(); - newAgent.setAgentName(name); - newAgent.setPassword(password); - ActiveEntity newAgentEnt = (ActiveEntity)Gateway.getCorbaServer().createEntity(newAgent); - Gateway.getLookup().add(newAgent); - // assemble properties - properties.add(new com.c2kernel.property.Property("Name", name, true)); - properties.add(new com.c2kernel.property.Property("Type", "Agent", false)); - try { - newAgentEnt.initialise(agentId, Gateway.getMarshaller().marshall(new PropertyArrayList(properties)), null, null); - } catch (Exception ex) { - Logger.error(ex); - throw new CannotManageException("Error initialising new agent"); - } - for (String role : roles) { - RolePath thisRole; - try { - thisRole = Gateway.getLookup().getRolePath(role); - } catch (ObjectNotFoundException ex) { - throw new ObjectNotFoundException("Role "+role+" does not exist."); - } - thisRole.addAgent(newAgent); - } - - } -} 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 deleted file mode 100644 index b1ef0e4..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewItem.java +++ /dev/null @@ -1,187 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - - -import java.util.ArrayList; - -import org.custommonkey.xmlunit.Diff; -import org.custommonkey.xmlunit.XMLUnit; - -import com.c2kernel.collection.CollectionArrayList; -import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.CannotManageException; -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.ObjectAlreadyExistsException; -import com.c2kernel.common.ObjectCannotBeUpdated; -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.entity.TraceableEntity; -import com.c2kernel.events.Event; -import com.c2kernel.events.History; -import com.c2kernel.lifecycle.CompositeActivityDef; -import com.c2kernel.lifecycle.instance.stateMachine.Transition; -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.lookup.ItemPath; -import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.persistency.ClusterStorageException; -import com.c2kernel.persistency.outcome.Viewpoint; -import com.c2kernel.process.Gateway; -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; - -/** - * Complete Structure for new item - * - * @version $Revision: 1.8 $ $Date: 2006/03/03 13:52:21 $ - */ - -public class NewItem extends ModuleImport { - - public String initialPath; - public String workflow; - public Integer workflowVer; - public ArrayList properties = new ArrayList(); - public ArrayList aggregationList = new ArrayList(); - public ArrayList dependencyList = new ArrayList(); - public ArrayList outcomes = new ArrayList(); - private String ns; - - public NewItem() { - } - - public NewItem(String name, String initialPath, String wf, int wfVer) { - this(); - this.name = name; - this.initialPath = initialPath; - this.workflow = wf; - this.workflowVer = wfVer; - } - - public void setNamespace(String ns) { - this.ns = ns; - if (initialPath == null) initialPath = "/desc/"+ns; - } - - public String getNamespace() { - return ns; - } - - public void create(int agentId, boolean reset) throws ObjectCannotBeUpdated, ObjectNotFoundException, CannotManageException, ObjectAlreadyExistsException { - DomainPath domPath = new DomainPath(new DomainPath(initialPath), name); - - ItemPath entPath; TraceableEntity newItem; - if (domPath.exists()) { - entPath = domPath.getEntity(); - newItem = Gateway.getCorbaServer().getItem(entPath.getSysKey()); - } - else { - // create item - entPath = Gateway.getNextKeyManager().generateNextEntityKey(); - newItem = (TraceableEntity)Gateway.getCorbaServer().createEntity(entPath); - Gateway.getLookup().add(entPath); - } - - // set the name property - properties.add(new Property("Name", name, true)); - - // find workflow def - CompositeActivityDef compact; - // default workflow version is 0 if not given - int usedWfVer; - if (workflowVer == null) usedWfVer = 0; - else usedWfVer = workflowVer.intValue(); - try { - compact = (CompositeActivityDef)LocalObjectLoader.getActDef(workflow, usedWfVer); - } catch (ObjectNotFoundException ex) { - throw new CannotManageException("Could not find workflow "+workflow+"v"+usedWfVer+" for item "+domPath, ""); - } catch (InvalidDataException e) { - throw new CannotManageException("Workflow def "+workflow+" v"+usedWfVer+" for item "+domPath+" was not valid", ""); - } - - // create collections - CollectionArrayList colls = new CollectionArrayList(); - for (Dependency element: dependencyList) { - try { - com.c2kernel.collection.Dependency newDep = element.create(); - colls.put(newDep); - } catch (MembershipException ex) { - Logger.error(ex); - throw new CannotManageException("A specified member is not of the correct type in "+element.name, ""); - } - } - - for (Aggregation element : aggregationList) { - try { - com.c2kernel.collection.Aggregation newAgg = element.create(); - colls.put(newAgg); - } catch (MembershipException ex) { - Logger.error(ex); - throw new CannotManageException("A specified member is not of the correct type in "+element.name, ""); - } - } - - // (re)initialise the new item with properties, workflow and collections - try { - newItem.initialise( - agentId, - Gateway.getMarshaller().marshall(new PropertyArrayList(properties)), - Gateway.getMarshaller().marshall(compact.instantiate()), - Gateway.getMarshaller().marshall(colls)); - } catch (Exception ex) { - Logger.error("Error initialising new item "+name ); - Logger.error(ex); - throw new CannotManageException("Problem initialising new item. See server log.", ""); - } - - // import outcomes - XMLUnit.setIgnoreWhitespace(true); - XMLUnit.setIgnoreComments(true); - History hist = new History(entPath.getSysKey(), null); - for (Outcome thisOutcome : outcomes) { - com.c2kernel.persistency.outcome.Outcome newOutcome = new com.c2kernel.persistency.outcome.Outcome(-1, thisOutcome.getData(ns), thisOutcome.schema, thisOutcome.version); - Viewpoint impView; - try { - impView = (Viewpoint)Gateway.getStorage().get(entPath.getSysKey(), ClusterStorage.VIEWPOINT+"/"+thisOutcome.schema+"/"+thisOutcome.viewname, null); - - Diff xmlDiff = new Diff(newOutcome.getDOM(), impView.getOutcome().getDOM()); - if (xmlDiff.identical()) { - Logger.msg(5, "NewItem.create() - View "+thisOutcome.schema+"/"+thisOutcome.viewname+" in "+name+" identical, no update required"); - continue; - } - else { - Logger.msg("NewItem.create() - Difference found in view "+thisOutcome.schema+"/"+thisOutcome.viewname+" in "+name+": "+xmlDiff.toString()); - if (!reset && !impView.getEvent().getStepPath().equals("Import")) { - Logger.msg("Last edit was not done by import, and reset not requested. Not overwriting."); - continue; - } - } - } catch (ObjectNotFoundException ex) { - Logger.msg(3, "View "+thisOutcome.schema+"/"+thisOutcome.viewname+" not found in "+name+". Creating."); - impView = new Viewpoint(entPath.getSysKey(), thisOutcome.schema, thisOutcome.viewname, thisOutcome.version, -1); - } catch (ClusterStorageException e) { - throw new ObjectCannotBeUpdated("Could not check data for view "+thisOutcome.schema+"/"+thisOutcome.viewname+" in "+name); - } catch (InvalidDataException e) { - throw new ObjectCannotBeUpdated("Could not check previous event for view "+thisOutcome.schema+"/"+thisOutcome.viewname+" in "+name); - } - - // write new view/outcome/event - Transition predefDone = new Transition(0, "Done", 0, 0); - Event newEvent = hist.addEvent("system", "Admin", "Import", "Import", "Import", thisOutcome.schema, thisOutcome.version, "PredefinedStep", 0, predefDone, thisOutcome.viewname); - newOutcome.setID(newEvent.getID()); - impView.setEventId(newEvent.getID()); - try { - Gateway.getStorage().put(entPath.getSysKey(), newOutcome, null); - Gateway.getStorage().put(entPath.getSysKey(), impView, null); - } catch (ClusterStorageException e) { - throw new ObjectCannotBeUpdated("Could not store data for view "+thisOutcome.schema+"/"+thisOutcome.viewname+" in "+name); - } - } - - // register domain path (before collections in case of recursive collections) - if (!domPath.exists()) { - domPath.setEntity(entPath); - Gateway.getLookup().add(domPath); - } - } -} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java deleted file mode 100644 index 74415a5..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/NewRole.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import com.c2kernel.common.ObjectAlreadyExistsException; -import com.c2kernel.common.ObjectCannotBeUpdated; -import com.c2kernel.process.Gateway; -import com.c2kernel.process.module.ModuleImport; - -public class NewRole extends ModuleImport { - - public boolean jobList; - - public NewRole() { - } - - public void create(int agentId) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated { - Gateway.getLookup().createRole(name, jobList); - } - -} 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 deleted file mode 100644 index 1a966b5..0000000 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/Outcome.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.c2kernel.lifecycle.instance.predefined.entitycreation; - -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.process.Gateway; - -public class Outcome { - public String schema, viewname, path, data; - public int version; - - public Outcome() { - } - - public Outcome(String schema, int version, String viewname, String path) { - super(); - this.schema = schema; - this.version = version; - this.viewname = viewname; - this.path = path; - } - - public String getData(String ns) throws ObjectNotFoundException { - if (data == null) - data = Gateway.getResource().getTextResource(ns, path); - return data; - } - -} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java new file mode 100644 index 0000000..f2396da --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewAgent.java @@ -0,0 +1,43 @@ +/************************************************************************** + * CreateNewAgent.java + * + * Copyright (C) 2001 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ + +package com.c2kernel.lifecycle.instance.predefined.server; + +import com.c2kernel.common.InvalidDataException; +import com.c2kernel.entity.imports.ImportAgent; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.Logger; + +public class CreateNewAgent extends PredefinedStep +{ + public CreateNewAgent() + { + super(); + getProperties().put("SchemaType", "Agent"); + } + + //requestdata is xmlstring + @Override + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + + String redactedRequestData; + try { + ImportAgent newAgent = (ImportAgent)Gateway.getMarshaller().unmarshall(requestData); + newAgent.create(agent.getSysKey()); + newAgent.password = "REDACTED"; + redactedRequestData = Gateway.getMarshaller().marshall(newAgent); + return redactedRequestData; + } catch (Exception ex) { + Logger.error(ex); + throw new InvalidDataException("Error creating agent", ""); + } + + } +} diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewItem.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewItem.java new file mode 100644 index 0000000..19fd80a --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/CreateNewItem.java @@ -0,0 +1,42 @@ +/************************************************************************** + * CreateNewItem + * + * Copyright (C) 2005 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ + +package com.c2kernel.lifecycle.instance.predefined.server; + + + + +import com.c2kernel.common.InvalidDataException; +import com.c2kernel.entity.imports.ImportItem; +import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; +import com.c2kernel.lookup.AgentPath; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.Logger; + +public class CreateNewItem extends PredefinedStep +{ + public CreateNewItem() + { + super(); + getProperties().put("SchemaType", "Item"); + } + + //requestdata is xmlstring + @Override + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + + try { + ImportItem item = (ImportItem)Gateway.getMarshaller().unmarshall(requestData); + item.create(agent.getSysKey(), false); + return requestData; + } catch (Exception ex) { + Logger.error(ex); + throw new InvalidDataException("Error creating item", ""); + } + } +} -- cgit v1.2.3