summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java222
1 files changed, 0 insertions, 222 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java b/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
deleted file mode 100644
index 9bf0fd4..0000000
--- a/src/main/java/com/c2kernel/lifecycle/instance/WfVertex.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**
- * This file is part of the CRISTAL-iSE kernel.
- * Copyright (c) 2001-2014 The CRISTAL Consortium. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or (at
- * your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * http://www.fsf.org/licensing/licenses/lgpl.html
- */
-package com.c2kernel.lifecycle.instance;
-
-
-
-import java.util.HashMap;
-
-import com.c2kernel.common.AccessRightsException;
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.InvalidTransitionException;
-import com.c2kernel.common.ObjectAlreadyExistsException;
-import com.c2kernel.common.ObjectCannotBeUpdated;
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.common.PersistencyException;
-import com.c2kernel.graph.model.GraphableVertex;
-import com.c2kernel.lifecycle.routingHelpers.ViewpointDataHelper;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.lookup.ItemPath;
-import com.c2kernel.persistency.ClusterStorage;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.scripting.Script;
-import com.c2kernel.scripting.ScriptingEngineException;
-import com.c2kernel.utils.KeyValuePair;
-import com.c2kernel.utils.Logger;
-
-/**
- * @version $Revision: 1.38 $ $Date: 2005/09/07 13:46:31 $
- * @author $Author: abranson $
- */
-public abstract class WfVertex extends GraphableVertex
-{
- /**sets the activity available to be executed on start of Workflow or composite activity (when it is the first one of the
- * (sub)process
- * @throws InvalidDataException
- * @throws ObjectAlreadyExistsException
- * @throws ObjectNotFoundException
- * @throws AccessRightsException
- * @throws InvalidTransitionException
- * @throws PersistencyException
- * @throws ObjectCannotBeUpdated */
- public abstract void runFirst(AgentPath agent, ItemPath itemPath) throws InvalidDataException;
-
- /**
- * @see java.lang.Object#Object()
- */
- public WfVertex()
- {
- super();
- setIsLayoutable(true);
- setIsComposite(false);
- }
-
- /**
- * Method runNext.
- * @throws InvalidDataException
- * @throws ObjectNotFoundException
- * @throws AccessRightsException
- * @throws InvalidTransitionException
- * @throws PersistencyException
- * @throws ObjectAlreadyExistsException
- * @throws ObjectCannotBeUpdated
- */
- public void runNext(AgentPath agent, ItemPath itemPath) throws InvalidDataException
- {
- try
- {
- ((CompositeActivity)getParent()).request(agent, itemPath, CompositeActivity.COMPLETE, null);
- }
- catch (Exception e)
- {
- //Logger.error(e);
- }
-
- }
-
- /**
- * Method reinit.
- * @param idLoop
- * @throws InvalidDataException
- * @throws ObjectNotFoundException
- */
- public abstract void reinit( int idLoop ) throws InvalidDataException;
-
- /**
- * Method verify.
- * @return boolean
- */
- public abstract boolean verify();
-
- /**
- * Method getErrors.
- * @return String
- */
- public abstract String getErrors();
-
- /**
- * Method run.
- * @throws InvalidDataException
- * @throws ObjectAlreadyExistsException
- * @throws ObjectNotFoundException
- * @throws AccessRightsException
- * @throws InvalidTransitionException
- * @throws PersistencyException
- * @throws ObjectCannotBeUpdated
- */
- public abstract void run(AgentPath agent, ItemPath itemPath) throws InvalidDataException;
-
- /**
- * Method loop.
- * @return boolean
- */
- public abstract boolean loop();
-
- /**
- * Method addNext.
- * @param vertex
- */
- public abstract Next addNext(WfVertex vertex);
-
- protected Object evaluateScript(String scriptName, Integer scriptVersion, ItemPath itemPath) throws ScriptingEngineException
- {
-
- try
- {
- Script script = getScript(scriptName, scriptVersion);
-
- KeyValuePair[] k = getProperties().getKeyValuePairs();
- HashMap<?, ?> requiredInput = script.getAllInputParams();
- for (KeyValuePair element : k) {
- if (requiredInput.containsKey(element.getKey()))
- {
- String value = element.getStringValue();
- Object inputParam = value;
-
- if (value.startsWith("viewpoint//"))
- {
- value = value.substring(11);
- if (value.startsWith("."))
- value = itemPath.getUUID() + value.substring(1);
- try {
- inputParam = ViewpointDataHelper.get(value)[0];
- } catch (ArrayIndexOutOfBoundsException ex) {
- throw new InvalidDataException("Could not retrieve data from viewpoint: "+value);
- }
- }
- if (value.startsWith("property//"))
- {
- value = value.substring(10);
- try {
- inputParam = Gateway.getStorage().get(itemPath, ClusterStorage.PROPERTY+"/"+value, null);
- } catch (ObjectNotFoundException ex) {
- inputParam = null;
- }
- }
- Logger.msg(5, "Split.evaluateScript() - Setting param " + element.getKey() + " to " + inputParam);
- script.setInputParamValue(element.getKey(), inputParam);
- }
- }
-
- //TODO: is this right?
- if (requiredInput.containsKey("item")) {
- script.setInputParamValue("item", Gateway.getProxyManager().getProxy(itemPath));
- }
- if (requiredInput.containsKey("agent")) {
- AgentPath systemAgent = Gateway.getLookup().getAgentPath("system");
- script.setInputParamValue("agent", Gateway.getProxyManager().getProxy(systemAgent));
- }
- Object retVal = script.execute();
- Logger.msg(2, "Split.evaluateScript() - Script returned "+retVal);
- if (retVal == null) retVal = "";
- return retVal;
- }
- catch (Exception e)
- {
- Logger.msg(1, "Split.evaluateScript() - Error: Script " + scriptName);
- Logger.error(e);
- throw new ScriptingEngineException();
- }
- }
-
- private static Script getScript(String name, Integer version) throws ScriptingEngineException
- {
- if (name == null || name.length() == 0)
- throw new ScriptingEngineException("Script name is empty");
- Script script;
- if (version!=null) {
- script = new Script(name, version);
- }
- else { // empty version: try expression
- int split = name.indexOf(":");
- script = new Script(name.substring(0, split), name.substring(split + 1));
- }
-
- return script;
- }
-
-
- public Workflow getWf()
- {
- return ((CompositeActivity)getParent()).getWf();
- }
-}
-