From d43164830403245353080f5d6f838ed9f56d9a35 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 18 Nov 2013 09:48:03 +0100 Subject: 3.0-SNAPSHOT (Will be first open source version) New StateMachine desc IssueID #28 --- .../instance/predefined/AddC2KObject.java | 46 +++++++------------- .../instance/predefined/AddDomainPath.java | 18 +++----- .../instance/predefined/AddMemberToCollection.java | 21 +++------ .../lifecycle/instance/predefined/AddNewSlot.java | 21 +++------ .../predefined/AddStepsFromDescription.java | 20 ++++----- .../instance/predefined/AssignItemToSlot.java | 21 +++------ .../lifecycle/instance/predefined/ClearSlot.java | 22 +++------- .../predefined/CreateItemFromDescription.java | 40 ++++++++--------- .../lifecycle/instance/predefined/Erase.java | 23 ++++------ .../lifecycle/instance/predefined/Import.java | 25 +++++------ .../instance/predefined/PredefinedStep.java | 15 ++++--- .../predefined/PredefinedStepContainer.java | 5 --- .../instance/predefined/RemoveC2KObject.java | 17 +++----- .../instance/predefined/RemoveDomainPath.java | 15 ++----- .../predefined/RemoveSlotFromCollection.java | 23 +++------- .../instance/predefined/ReplaceDomainWorkflow.java | 17 +++----- .../instance/predefined/WriteProperty.java | 50 ++++++++-------------- .../predefined/entitycreation/CreateNewAgent.java | 13 ++---- .../predefined/entitycreation/CreateNewItem.java | 14 ++---- .../predefined/entitycreation/NewItem.java | 8 ++-- .../predefined/entitycreation/Outcome.java | 4 +- 21 files changed, 152 insertions(+), 286 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddC2KObject.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddC2KObject.java index df0c62f..2f0cf95 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddC2KObject.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddC2KObject.java @@ -11,12 +11,9 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.process.Gateway; import com.c2kernel.utils.Logger; @@ -37,38 +34,25 @@ public class AddC2KObject extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { Logger.msg(1, "AddC2KObject::request() - Starting."); - checkAccessRights(agent); - EntityPath entityPath = getItemEntityPath(); - - if (entityPath!=null) + try { - try - { - - Logger.msg(5, "AddC2KObject::request() - data:" + getDataList(requestData)[0]); - C2KLocalObject obj = (C2KLocalObject)Gateway.getMarshaller().unmarshall(getDataList(requestData)[0]); - Gateway.getStorage().put(entityPath.getSysKey(), obj, null ); - sendEventStoreOutcome(transitionID, requestData, agent); - } - catch( Exception ex ) - { - Logger.error("AddC2KObject::request() - during unmarshall."); - Logger.error(ex); - throw new InvalidDataException(ex.toString(), ""); - } - - Logger.msg(1, "AddC2KObject::request() - DONE."); + Logger.msg(5, "AddC2KObject::request() - data:" + getDataList(requestData)[0]); + C2KLocalObject obj = (C2KLocalObject)Gateway.getMarshaller().unmarshall(getDataList(requestData)[0]); + Gateway.getStorage().put(itemSysKey, obj, null ); + Logger.msg(1, "AddC2KObject::request() - DONE."); + return requestData; + } + catch( Exception ex ) + { + Logger.error("AddC2KObject::request() - during unmarshall."); + Logger.error(ex); + throw new InvalidDataException(ex.toString(), ""); } - else - throw new InvalidDataException("EntityPath is null.", ""); } -} +} \ No newline at end of file diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddDomainPath.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddDomainPath.java index 2cf619e..d28fe3c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddDomainPath.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddDomainPath.java @@ -10,9 +10,7 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.EntityPath; @@ -30,25 +28,22 @@ public class AddDomainPath extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(8,"AddAlias::request()"); LDAPLookup lookupManager = Gateway.getLDAPLookup(); Logger.msg(1,"AddAlias::request() - Starting."); - checkAccessRights(agent); try { - EntityPath entityPath = getItemEntityPath(); - DomainPath domainPath = new DomainPath(getDataList(requestData)[0], entityPath); + DomainPath domainPath = new DomainPath(getDataList(requestData)[0], new EntityPath(itemSysKey)); lookupManager.add(domainPath); - Logger.msg(8,"AddDomainPath::request() - systemKey:" + entityPath.getSysKey() + + Logger.msg(8,"AddDomainPath::request() - systemKey:" + itemSysKey + ". Adding dompath. DONE."); + return requestData; } catch (InvalidEntityPathException ex) { @@ -62,6 +57,5 @@ public class AddDomainPath extends PredefinedStep throw new InvalidDataException(ex.toString(), ""); } - sendEventStoreOutcome(transitionID, requestData, agent); } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java index 106a9aa..7153c52 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddMemberToCollection.java @@ -14,13 +14,10 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Dependency; import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -50,23 +47,17 @@ public class AddMemberToCollection extends PredefinedStep * 1 - target entity key */ @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - EntityPath entityPath = getItemEntityPath(); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + String collName; int entityKey; Dependency dep; Logger.msg(1, "AddMemberToCollection::request() - Starting."); - checkAccessRights(agent); - // extract parameters try { - entityPath = getItemEntityPath(); String[] params = getDataList(requestData); collName = params[0]; entityKey = Integer.parseInt(params[1]); @@ -77,7 +68,7 @@ public class AddMemberToCollection extends PredefinedStep // load collection C2KLocalObject collObj; try { - collObj = Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + collObj = Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); } catch (ObjectNotFoundException ex) { throw new InvalidDataException("Collection '"+collName+"' not found in this Item", ""); } catch (ClusterStorageException ex) { @@ -95,13 +86,13 @@ public class AddMemberToCollection extends PredefinedStep } try { - Gateway.getStorage().put(entityPath.getSysKey(), dep, null); + Gateway.getStorage().put(itemSysKey, dep, null); } catch (ClusterStorageException e) { Logger.error(e); throw new InvalidDataException("Error storing collection", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); Logger.msg(1, "AddMemberToCollection::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java index 1bc13ef..e38f71d 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddNewSlot.java @@ -13,13 +13,10 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Aggregation; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -53,23 +50,17 @@ public class AddNewSlot extends PredefinedStep * 1 - Item Description key (optional) */ @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - EntityPath entityPath = getItemEntityPath(); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + String collName; int descKey=-1; Aggregation agg; Logger.msg(1, "AddNewSlot::request() - Starting."); - checkAccessRights(agent); - // extract parameters try { - entityPath = getItemEntityPath(); String[] params = getDataList(requestData); collName = params[0]; if (params.length > 1) descKey = Integer.parseInt(params[1]); @@ -80,7 +71,7 @@ public class AddNewSlot extends PredefinedStep // load collection C2KLocalObject collObj; try { - collObj = Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + collObj = Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); } catch (ObjectNotFoundException ex) { throw new InvalidDataException("Collection '"+collName+"' not found in this Item", ""); } catch (ClusterStorageException ex) { @@ -110,13 +101,13 @@ public class AddNewSlot extends PredefinedStep agg.addSlot(props, classProps.toString()); try { - Gateway.getStorage().put(entityPath.getSysKey(), agg, null); + Gateway.getStorage().put(itemSysKey, agg, null); } catch (ClusterStorageException e) { Logger.error(e); throw new InvalidDataException("Error storing collection", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); Logger.msg(1, "AddNewSlot::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java index 5a23424..30d014c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AddStepsFromDescription.java @@ -1,9 +1,7 @@ package com.c2kernel.lifecycle.instance.predefined; //Java -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.graph.model.GraphPoint; import com.c2kernel.lifecycle.CompositeActivityDef; import com.c2kernel.lifecycle.instance.CompositeActivity; @@ -20,18 +18,16 @@ public class AddStepsFromDescription extends PredefinedStep } @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, InvalidTransitionException, InvalidDataException - { - Workflow lifeCycle = getWf(); - + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + + Logger.msg(1, "AddStepsFromDescription::request() - Starting "); - checkAccessRights(agent); + Workflow lifeCycle = getWf(); try { - Logger.msg(8, "AddStepsFromDescription::request() - data:" + getDataList(requestData)[0]); lifeCycle.getChildGraphModel().removeVertex(lifeCycle.search("workflow/domain")); CompositeActivityDef actDef = (CompositeActivityDef) Gateway.getMarshaller().unmarshall(getDataList(requestData)[0]); @@ -39,10 +35,10 @@ public class AddStepsFromDescription extends PredefinedStep lifeCycle.initChild(domain, true, new GraphPoint(150, 100)); domain.setName("domain"); domain.setType(actDef.getName()); - lifeCycle.run(agent); - Gateway.getStorage().put(getItemEntityPath().getSysKey(), lifeCycle, null); + lifeCycle.run(agent, itemSysKey); + Gateway.getStorage().put(itemSysKey, lifeCycle, null); Logger.msg(1, "AddStepsFromDescription::request() - DONE."); - sendEventStoreOutcome(transitionID, requestData, agent); + return requestData; } catch (Exception ex) { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java index f16d76d..7d36f35 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/AssignItemToSlot.java @@ -15,13 +15,10 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Aggregation; import com.c2kernel.collection.AggregationMember; import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.C2KLocalObject; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -50,12 +47,9 @@ public class AssignItemToSlot extends PredefinedStep * 2 - target entity key */ @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - EntityPath entityPath = getItemEntityPath(); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + String collName; int slotNo; int entityKey; @@ -63,11 +57,9 @@ public class AssignItemToSlot extends PredefinedStep Logger.msg(1, "AssignItemToSlot::request() - Starting."); - checkAccessRights(agent); // extract parameters try { - entityPath = getItemEntityPath(); String[] params = getDataList(requestData); collName = params[0]; slotNo = Integer.parseInt(params[1]); @@ -79,7 +71,7 @@ public class AssignItemToSlot extends PredefinedStep // load collection C2KLocalObject collObj; try { - collObj = Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + collObj = Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); } catch (ObjectNotFoundException ex) { throw new InvalidDataException("Collection '"+collName+"' not found in this Item", ""); } catch (ClusterStorageException ex) { @@ -110,13 +102,12 @@ public class AssignItemToSlot extends PredefinedStep try { - Gateway.getStorage().put(entityPath.getSysKey(), agg, null); + Gateway.getStorage().put(itemSysKey, agg, null); } catch (ClusterStorageException e) { Logger.error(e); throw new InvalidDataException("Error storing collection", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); - Logger.msg(1, "AssignItemToSlot::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java index 66df3b2..60e63f1 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ClearSlot.java @@ -14,12 +14,9 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Aggregation; import com.c2kernel.collection.AggregationMember; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -47,23 +44,17 @@ public class ClearSlot extends PredefinedStep * 1 - slot number */ @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - EntityPath entityPath = getItemEntityPath(); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + String collName; int slotNo; Aggregation agg; Logger.msg(1, "ClearSlot::request() - Starting."); - checkAccessRights(agent); - // extract parameters try { - entityPath = getItemEntityPath(); String[] params = getDataList(requestData); collName = params[0]; slotNo = Integer.parseInt(params[1]); @@ -73,7 +64,7 @@ public class ClearSlot extends PredefinedStep // load collection try { - agg = (Aggregation)Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + agg = (Aggregation)Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); } catch (ObjectNotFoundException ex) { throw new InvalidDataException("Collection '"+collName+"' not found in this Item", ""); } catch (ClusterStorageException ex) { @@ -98,13 +89,12 @@ public class ClearSlot extends PredefinedStep try { - Gateway.getStorage().put(entityPath.getSysKey(), agg, null); + Gateway.getStorage().put(itemSysKey, agg, null); } catch (ClusterStorageException e) { Logger.error(e); throw new InvalidDataException("Error storing collection", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); - Logger.msg(1, "ClearSlot::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java index ce5ec73..10e54d1 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/CreateItemFromDescription.java @@ -19,13 +19,11 @@ import com.c2kernel.collection.CollectionDescription; import com.c2kernel.collection.CollectionMember; import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectAlreadyExistsException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.entity.CorbaServer; import com.c2kernel.entity.TraceableEntity; import com.c2kernel.lifecycle.CompositeActivityDef; -import com.c2kernel.lifecycle.instance.stateMachine.Transitions; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.EntityPath; @@ -54,15 +52,15 @@ public class CreateItemFromDescription extends PredefinedStep //requestdata is xmlstring @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, InvalidTransitionException, InvalidDataException,ObjectAlreadyExistsException - { - String[] input = getDataList(requestData); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + + String[] input = getDataList(requestData); String newName = input[0]; String domPath = input[1]; CompositeActivityDef wfDef; String wfDefName = null; - String wfDefVer = null; + int wfDefVer = -1; if (input.length > 2) // override wf wfDefName = input[2]; @@ -70,8 +68,6 @@ public class CreateItemFromDescription extends PredefinedStep Logger.msg(1, "AddNewItem::request() - Starting."); TransactionManager storage = Gateway.getStorage(); LDAPLookup lookup = Gateway.getLDAPLookup(); - EntityPath myPath = getItemEntityPath(); - checkAccessRights(agent); try { // check if the path is already taken @@ -81,13 +77,13 @@ public class CreateItemFromDescription extends PredefinedStep throw new ObjectAlreadyExistsException("The item name " +newName+ " exists already.", ""); // get init objects - String[] collNames = storage.getClusterContents(myPath.getSysKey(), ClusterStorage.COLLECTION); + String[] collNames = storage.getClusterContents(itemSysKey, ClusterStorage.COLLECTION); ArrayList collections = new ArrayList(); // loop through collections to instantiate for (String collName : collNames) { - Collection thisCol = (Collection)storage.get(myPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + Collection thisCol = (Collection)storage.get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); if (thisCol instanceof CollectionDescription) { CollectionDescription thisDesc = (CollectionDescription)thisCol; collections.add(Gateway.getMarshaller().marshall(thisDesc.newInstance())); @@ -97,14 +93,19 @@ public class CreateItemFromDescription extends PredefinedStep // get the first member from the wf collection CollectionMember wfMember = members.get(0); wfDefName = wfMember.resolveEntity().getName(); - wfDefVer = (String)wfMember.getProperties().get("Version"); + Object wfVerObj = wfMember.getProperties().get("Version"); + try { + wfDefVer = Integer.parseInt(wfVerObj.toString()); + } catch (NumberFormatException ex) { + throw new InvalidDataException("Invalid workflow version number: "+wfVerObj.toString(), ""); + } } } // load workflow def if (wfDefName == null) throw new InvalidDataException("No workflow given or defined", ""); - if (wfDefVer == null) + if (wfDefVer == -1) throw new InvalidDataException("No workflow def version given",""); try { @@ -117,7 +118,7 @@ public class CreateItemFromDescription extends PredefinedStep // copy properties -- intend to create from propdesc - PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(myPath.getSysKey()); + PropertyDescriptionList pdList = PropertyUtility.getPropertyDescriptionOutcome(itemSysKey); props = pdList.instanciate(); // set Name prop or create if not present boolean foundName = false; @@ -162,7 +163,8 @@ public class CreateItemFromDescription extends PredefinedStep String[] colls = new String[1]; for (Iterator iter = collections.iterator(); iter.hasNext();) { colls[0] = iter.next(); - newItem.requestAction(agent.getSysKey(), "workflow/predefined/AddC2KObject", Transitions.DONE, PredefinedStep.bundleData(colls)); + // TODO: initialize + newItem.requestAction(agent.getSysKey(), "workflow/predefined/AddC2KObject", PredefinedStep.DONE, PredefinedStep.bundleData(colls)); } } @@ -170,17 +172,11 @@ public class CreateItemFromDescription extends PredefinedStep Logger.msg(3, "CreateItemFromDescription - Creating "+context); context.setEntity(entityPath); Gateway.getLDAPLookup().add(context); - } catch (ObjectAlreadyExistsException e) { - Logger.error(e); - throw e; - } catch (AccessRightsException e) { - Logger.error(e); - throw e; + return requestData; } catch (Exception e) { Logger.error(e); throw new InvalidDataException(e.getMessage(), ""); } - sendEventStoreOutcome(transitionID, requestData, agent); } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java index 84b1b78..20c9fb7 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Erase.java @@ -15,9 +15,7 @@ package com.c2kernel.lifecycle.instance.predefined; import java.util.Enumeration; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.EntityPath; @@ -42,35 +40,31 @@ public class Erase extends PredefinedStep //requestdata is xmlstring @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(1, "Erase::request() - Starting."); - checkAccessRights(agent); try { - EntityPath entityPath = getItemEntityPath(); // FIXME: This should search for the entity key. Name shouldn't be unique. // find entity name - Property name = (Property)Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.PROPERTY+"/Name", null); + Property name = (Property)Gateway.getStorage().get(itemSysKey, ClusterStorage.PROPERTY+"/Name", null); // get all domain paths Enumeration domPaths = Gateway.getLDAPLookup().search(new DomainPath(), name.getValue()); while (domPaths.hasMoreElements()) { DomainPath path = (DomainPath)domPaths.nextElement(); // delete them - if (path.getSysKey() == entityPath.getSysKey()) + if (path.getSysKey() == itemSysKey) Gateway.getLDAPLookup().delete(path); } //clear out all storages - Gateway.getStorage().removeCluster(entityPath.getSysKey(), "", null); + Gateway.getStorage().removeCluster(itemSysKey, "", null); - //remove domain path - Gateway.getLDAPLookup().delete(entityPath); + //remove entity path + Gateway.getLDAPLookup().delete(new EntityPath(itemSysKey)); } catch( Exception ex ) { @@ -80,6 +74,7 @@ public class Erase extends PredefinedStep } Logger.msg(1, "Erase::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java index cbdc33b..9b25546 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/Import.java @@ -7,9 +7,7 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.events.Event; import com.c2kernel.events.History; import com.c2kernel.lookup.AgentPath; @@ -39,17 +37,13 @@ public class Import extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(8,"Import::request()"); Logger.msg(1,"Import::request() - Starting."); - checkAccessRights(agent); - String[] params = getDataList(requestData); @@ -75,22 +69,23 @@ public class Import extends PredefinedStep timestamp = Event.timeToString(Event.getGMT()); // write event, outcome and viewpoints to storage - int syskey = getItemEntityPath().getSysKey(); + TransactionManager storage = Gateway.getStorage(); Object locker = getWf(); History hist = getWf().getHistory(); - Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), transitionID, getName(), getPath(), getType(), schemaName, schemaVersion, viewpoint, getCurrentState(), timestamp); + Event event = hist.addEvent(agent.getAgentName(), getCurrentAgentRole(), getName(), getPath(), getType(), schemaName, schemaVersion, getStateMachine().getName(), getStateMachine().getVersion(), getStateMachine().getTransition(transitionID), viewpoint, timestamp); try { - storage.put(syskey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), locker); - storage.put(syskey, new Viewpoint(syskey, schemaName, viewpoint, schemaVersion, event.getID()), locker); + storage.put(itemSysKey, new Outcome(event.getID(), requestData, schemaName, schemaVersion), this); + storage.put(itemSysKey, new Viewpoint(itemSysKey, schemaName, viewpoint, schemaVersion, event.getID()), this); if (!"last".equals(viewpoint)) - storage.put(syskey, new Viewpoint(syskey, schemaName, "last", schemaVersion, event.getID()), locker); + storage.put(itemSysKey, new Viewpoint(itemSysKey, schemaName, "last", schemaVersion, event.getID()), this); } catch (ClusterStorageException e) { Logger.error(e); storage.abort(locker); throw new InvalidDataException("Could not store imported outcome. Rolled back."); } - storage.commit(locker); + storage.commit(this); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java index 9531ede..3cf73ba 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStep.java @@ -19,11 +19,12 @@ import com.c2kernel.utils.Logger; * @author $Author: sgaspard $ $Date: 2004/09/21 10:32:17 $ * @version $Revision: 1.14 $ **********************************************************************************************************************************************************************************************************************************************************************************************************/ -public class PredefinedStep extends Activity +public abstract class PredefinedStep extends Activity { /******************************************************************************************************************************************************************************************************************************************************************************************************* * predefined Steps are always Active, and have only one transition subclasses could override this method (if necessary) ******************************************************************************************************************************************************************************************************************************************************************************************************/ + private boolean isPredefined = false; @Override public boolean getActive() @@ -33,14 +34,14 @@ public class PredefinedStep extends Activity else return super.getActive(); } + + public static final int DONE = 0; + public static final int AVAILABLE = 0; @Override - public String getTransitions() - { - if (isPredefined) - return "done"; - else - return super.getTransitions(); + protected String getDefaultSMName() { + return "PredefinedStep"; } + @Override public String getErrors() { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStepContainer.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStepContainer.java index f17e5e8..b57dca4 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStepContainer.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/PredefinedStepContainer.java @@ -58,9 +58,4 @@ public class PredefinedStepContainer extends CompositeActivity { return true; } - @Override - public String getTransitions() - { - return ""; - } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java index c9513a8..583e214 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveC2KObject.java @@ -13,11 +13,8 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.process.Gateway; import com.c2kernel.utils.Logger; @@ -36,24 +33,19 @@ public class RemoveC2KObject extends PredefinedStep //requestdata is xmlstring @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(1, "RemoveC2KObject::request() - Starting."); - checkAccessRights(agent); String path = null; try { path = getDataList(requestData)[0]; - EntityPath entityPath = getItemEntityPath(); Logger.msg(5, "RemoveC2KObject::request() - path:"+path); - Gateway.getStorage().remove( entityPath.getSysKey(), path, null ); - sendEventStoreOutcome(transitionID, requestData, agent); + Gateway.getStorage().remove( itemSysKey, path, null ); } catch( Exception ex ) { @@ -63,5 +55,6 @@ public class RemoveC2KObject extends PredefinedStep } Logger.msg(1, "RemoveC2KObject::request() - DONE."); + return requestData; } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveDomainPath.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveDomainPath.java index 19ff7c6..642cf64 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveDomainPath.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveDomainPath.java @@ -10,9 +10,7 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.LDAPLookup; @@ -28,24 +26,20 @@ public class RemoveDomainPath extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + Logger.msg(8,"RemoveDomainPath::request()"); LDAPLookup lookupManager = Gateway.getLDAPLookup(); Logger.msg(1,"RemoveDomainPath::request() - Starting."); - checkAccessRights(agent); - try { DomainPath domainPath = new DomainPath(getDataList(requestData)[0]); lookupManager.delete(domainPath); Logger.msg(8,"AddAlias::request() - context:" + domainPath.toString() + " DONE."); - + return requestData; } catch( Exception ex ) { @@ -54,6 +48,5 @@ public class RemoveDomainPath extends PredefinedStep throw new InvalidDataException(ex.toString(), ""); } - sendEventStoreOutcome(transitionID, requestData, agent); } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java index 897183d..3cc9f7c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/RemoveSlotFromCollection.java @@ -15,12 +15,9 @@ package com.c2kernel.lifecycle.instance.predefined; import com.c2kernel.collection.Collection; import com.c2kernel.collection.CollectionMember; import com.c2kernel.collection.MembershipException; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.ClusterStorageException; import com.c2kernel.process.Gateway; @@ -49,12 +46,9 @@ public class RemoveSlotFromCollection extends PredefinedStep * 2 - target entity key */ @Override - public void request(AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - EntityPath entityPath = getItemEntityPath(); + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { + String collName; int slotNo; int entityKey = -1; @@ -62,11 +56,8 @@ public class RemoveSlotFromCollection extends PredefinedStep Logger.msg(1, "RemoveSlotFromCollection::request() - Starting."); - checkAccessRights(agent); - // extract parameters try { - entityPath = getItemEntityPath(); String[] params = getDataList(requestData); collName = params[0]; slotNo = params[1].length()>0?Integer.parseInt(params[1]):-1; @@ -80,7 +71,7 @@ public class RemoveSlotFromCollection extends PredefinedStep // load collection try { - coll = (Collection)Gateway.getStorage().get(entityPath.getSysKey(), ClusterStorage.COLLECTION+"/"+collName, null); + coll = (Collection)Gateway.getStorage().get(itemSysKey, ClusterStorage.COLLECTION+"/"+collName, null); } catch (ObjectNotFoundException ex) { throw new InvalidDataException("Collection '"+collName+"' not found in this Item", ""); } catch (ClusterStorageException ex) { @@ -109,13 +100,13 @@ public class RemoveSlotFromCollection extends PredefinedStep // Store the collection try { - Gateway.getStorage().put(entityPath.getSysKey(), coll, null); + Gateway.getStorage().put(itemSysKey, coll, null); } catch (ClusterStorageException e) { Logger.error(e); throw new InvalidDataException("Error storing collection", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); - Logger.msg(1, "RemoveSlotFromCollection::request() - DONE."); + return requestData; + } } diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ReplaceDomainWorkflow.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ReplaceDomainWorkflow.java index 77ed919..9b7b3f0 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/ReplaceDomainWorkflow.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/ReplaceDomainWorkflow.java @@ -1,9 +1,7 @@ package com.c2kernel.lifecycle.instance.predefined; //Java -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.graph.model.GraphPoint; import com.c2kernel.lifecycle.instance.CompositeActivity; import com.c2kernel.lifecycle.instance.Workflow; @@ -19,15 +17,12 @@ public class ReplaceDomainWorkflow extends PredefinedStep } @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, InvalidTransitionException, InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { Workflow lifeCycle = getWf(); Logger.msg(1, "ReplaceDomainWorkflow::request() - Starting "); - checkAccessRights(agent); - try { Logger.msg(8, "ReplaceDomainWorkflow::request() - data:" + getDataList(requestData)[0]); @@ -36,13 +31,13 @@ public class ReplaceDomainWorkflow extends PredefinedStep domain.setName("domain"); lifeCycle.initChild(domain, true, new GraphPoint(150, 100)); // if new workflow, activate it, otherwise refresh the jobs - if (!domain.active) lifeCycle.run(agent); - else lifeCycle.refreshJobs(); + if (!domain.active) lifeCycle.run(agent, itemSysKey); + else lifeCycle.refreshJobs(itemSysKey); // store new wf - Gateway.getStorage().put(getItemEntityPath().getSysKey(), lifeCycle, null); + Gateway.getStorage().put(itemSysKey, lifeCycle, null); Logger.msg(1, "ReplaceDomainWorkflow::request() - DONE."); - sendEventStoreOutcome(transitionID, requestData, agent); + return requestData; } catch (Exception ex) { diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteProperty.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteProperty.java index 77a0b43..1eef4f5 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteProperty.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/WriteProperty.java @@ -11,11 +11,8 @@ package com.c2kernel.lifecycle.instance.predefined; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lookup.AgentPath; -import com.c2kernel.lookup.EntityPath; import com.c2kernel.process.Gateway; import com.c2kernel.property.Property; import com.c2kernel.utils.Logger; @@ -37,41 +34,30 @@ public class WriteProperty extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { + protected String runActivityLogic(AgentPath agent, int itemSysKey, + int transitionID, String requestData) throws InvalidDataException { Logger.msg(1, "WriteProperty::request() - Starting."); - checkAccessRights(agent); - EntityPath entityPath = getItemEntityPath(); - - if (entityPath!=null) + String[] params = getDataList(requestData); + if (params.length != 2) + throw new InvalidDataException("WriteProperty::request() - need 2 params - name and value", ""); + try { - String[] params = getDataList(requestData); - if (params.length != 2) - throw new InvalidDataException("WriteProperty::request() - need 2 params - name and value", ""); - try - { - - Logger.msg(5, "WriteProperty::request() - name:" + params[0] +" val:"+params[1]); - Property newProp = new Property(params[0], params[1]); - Gateway.getStorage().put(entityPath.getSysKey(), newProp, null ); - sendEventStoreOutcome(transitionID, requestData, agent); - } - catch( Exception ex ) - { - Logger.error("WriteProperty::request() - during unmarshall."); - Logger.error(ex); - throw new InvalidDataException(ex.toString(), ""); - } + Logger.msg(5, "WriteProperty::request() - name:" + params[0] +" val:"+params[1]); - Logger.msg(1, "WriteProperty::request() - DONE."); + Property newProp = new Property(params[0], params[1]); + Gateway.getStorage().put(itemSysKey, newProp, null ); } - else - throw new InvalidDataException("EntityPath is null.", ""); + catch( Exception ex ) + { + Logger.error("WriteProperty::request() - during unmarshall."); + Logger.error(ex); + throw new InvalidDataException(ex.toString(), ""); + } + + Logger.msg(1, "WriteProperty::request() - DONE."); + return requestData; } } 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 index 9ec6519..c9ec808 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewAgent.java @@ -7,9 +7,7 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; import com.c2kernel.lookup.AgentPath; import com.c2kernel.process.Gateway; @@ -24,23 +22,20 @@ public class CreateNewAgent extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - checkAccessRights(agent); + 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 requestData; } catch (Exception ex) { Logger.error(ex); throw new InvalidDataException("Error creating agent", ""); } - sendEventStoreOutcome(transitionID, redactedRequestData, 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 index 5776a5a..2db4fe6 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/entitycreation/CreateNewItem.java @@ -10,9 +10,7 @@ package com.c2kernel.lifecycle.instance.predefined.entitycreation; -import com.c2kernel.common.AccessRightsException; import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.InvalidTransitionException; import com.c2kernel.lifecycle.instance.predefined.PredefinedStep; import com.c2kernel.lookup.AgentPath; import com.c2kernel.process.Gateway; @@ -27,20 +25,16 @@ public class CreateNewItem extends PredefinedStep //requestdata is xmlstring @Override - public void request( AgentPath agent, int transitionID, String requestData) - throws AccessRightsException, - InvalidTransitionException, - InvalidDataException - { - checkAccessRights(agent); - + 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", ""); } - sendEventStoreOutcome(transitionID, requestData, agent); } } 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 ed6fd20..dacb1a3 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 @@ -16,8 +16,7 @@ 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.States; -import com.c2kernel.lifecycle.instance.stateMachine.Transitions; +import com.c2kernel.lifecycle.instance.stateMachine.Transition; import com.c2kernel.lookup.DomainPath; import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; @@ -87,7 +86,7 @@ public class NewItem extends ModuleImport { try { // find workflow def - CompositeActivityDef compact = (CompositeActivityDef)LocalObjectLoader.getActDef(workflow, "0"); + CompositeActivityDef compact = (CompositeActivityDef)LocalObjectLoader.getActDef(workflow, 0); newItem.initialise( agentId, Gateway.getMarshaller().marshall(new PropertyArrayList(properties)), @@ -130,7 +129,8 @@ public class NewItem extends ModuleImport { } // write new view/outcome/event - Event newEvent = hist.addEvent("system", "Admin", Transitions.DONE, "Import", "Import", "Import", thisOutcome.schema, thisOutcome.version, thisOutcome.viewname, States.FINISHED); + 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 { 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 a8431de..9ab5793 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 @@ -10,10 +10,10 @@ public class Outcome { public Outcome() { } - public Outcome(String schema, String version, String viewname, String path) { + public Outcome(String schema, int version, String viewname, String path) { super(); this.schema = schema; - this.version = Integer.parseInt(version); + this.version = version; this.viewname = viewname; this.path = path; } -- cgit v1.2.3