From 0ed2c1124cf1b9e49a2ec1fa0126a8df09f9e758 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 7 Oct 2014 09:18:11 +0200 Subject: Repackage to org.cristalise --- .../org/cristalise/kernel/scripting/ErrorInfo.java | 75 +++ .../org/cristalise/kernel/scripting/Parameter.java | 72 +++ .../kernel/scripting/ParameterException.java | 40 ++ .../org/cristalise/kernel/scripting/Script.java | 572 +++++++++++++++++++++ .../cristalise/kernel/scripting/ScriptConsole.java | 234 +++++++++ .../kernel/scripting/ScriptErrorException.java | 50 ++ .../kernel/scripting/ScriptLoadingException.java | 44 ++ .../kernel/scripting/ScriptParsingException.java | 41 ++ .../kernel/scripting/ScriptingEngineException.java | 40 ++ 9 files changed, 1168 insertions(+) create mode 100644 src/main/java/org/cristalise/kernel/scripting/ErrorInfo.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/Parameter.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ParameterException.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/Script.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ScriptConsole.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ScriptErrorException.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ScriptLoadingException.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ScriptParsingException.java create mode 100644 src/main/java/org/cristalise/kernel/scripting/ScriptingEngineException.java (limited to 'src/main/java/org/cristalise/kernel/scripting') diff --git a/src/main/java/org/cristalise/kernel/scripting/ErrorInfo.java b/src/main/java/org/cristalise/kernel/scripting/ErrorInfo.java new file mode 100644 index 0000000..3ea4200 --- /dev/null +++ b/src/main/java/org/cristalise/kernel/scripting/ErrorInfo.java @@ -0,0 +1,75 @@ +/** + * 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 org.cristalise.kernel.scripting; + +import java.util.ArrayList; + +/************************************************************************** + * + * $Revision: 1.2 $ + * $Date: 2003/06/06 11:37:45 $ + * + * Copyright (C) 2003 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ +public class ErrorInfo { + ArrayList msg; + boolean fatal = false; + + public ErrorInfo() { + super(); + msg = new ArrayList(); + } + + public ErrorInfo(String error) { + this(); + msg.add(error); + } + + public void addError(String error) { + msg.add(error); + } + + @Override + public String toString() { + StringBuffer err = new StringBuffer(); + for (String element : msg) { + err.append(element+"\n"); + } + return err.toString(); + } + + public void setErrors(ArrayList msg) { + this.msg = msg; + } + + public ArrayList getErrors() { + return msg; + } + + public void setFatal() { + fatal=true; + } + + public boolean getFatal() { + return fatal; + } +} diff --git a/src/main/java/org/cristalise/kernel/scripting/Parameter.java b/src/main/java/org/cristalise/kernel/scripting/Parameter.java new file mode 100644 index 0000000..6b5e29a --- /dev/null +++ b/src/main/java/org/cristalise/kernel/scripting/Parameter.java @@ -0,0 +1,72 @@ +/** + * 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 org.cristalise.kernel.scripting; + + +/************************************************************************** +* Place holder for the Parameter details to be passed to the script. +**************************************************************************/ +public class Parameter { + + private String name; + private Class type; + private boolean initialised=false; + + public Parameter(String name) { + this.name = name; + } + + public Parameter(String name, Class type) { + this.name = name; + this.type = type; + } + + public void setName(String n) + { + name=n; + } + + public String getName() + { + return name; + } + + public void setType(Class t) + { + type=t; + } + + public Class getType() + { + return type; + } + + public void setInitialised(boolean state) + { + initialised=state; + } + + public boolean getInitialised() + { + return initialised; + } + +} diff --git a/src/main/java/org/cristalise/kernel/scripting/ParameterException.java b/src/main/java/org/cristalise/kernel/scripting/ParameterException.java new file mode 100644 index 0000000..8ecf806 --- /dev/null +++ b/src/main/java/org/cristalise/kernel/scripting/ParameterException.java @@ -0,0 +1,40 @@ +/** + * 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 org.cristalise.kernel.scripting; + +public class ParameterException extends ScriptingEngineException { + + /** + * Creates new ParameterException without detail message. + */ + public ParameterException() { + } + + /** + * Constructs an ParameterException with the specified detail message. + * @param msg the detail message. + */ + public ParameterException(String msg) { + super(msg); + } +} + + diff --git a/src/main/java/org/cristalise/kernel/scripting/Script.java b/src/main/java/org/cristalise/kernel/scripting/Script.java new file mode 100644 index 0000000..9b0d402 --- /dev/null +++ b/src/main/java/org/cristalise/kernel/scripting/Script.java @@ -0,0 +1,572 @@ +/** + * 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 org.cristalise.kernel.scripting; + +import java.io.PrintStream; +import java.io.PrintWriter; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.HashMap; + +import javax.script.Bindings; +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineFactory; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import javax.script.SimpleScriptContext; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.cristalise.kernel.common.ObjectNotFoundException; +import org.cristalise.kernel.entity.agent.Job; +import org.cristalise.kernel.entity.proxy.AgentProxy; +import org.cristalise.kernel.entity.proxy.ItemProxy; +import org.cristalise.kernel.process.Gateway; +import org.cristalise.kernel.utils.LocalObjectLoader; +import org.cristalise.kernel.utils.Logger; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; +import org.w3c.dom.Text; +import org.xml.sax.InputSource; + + +/************************************************************************** + * + * $Revision: 1.25 $ + * $Date: 2005/10/05 07:39:37 $ + * + * Copyright (C) 2003 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ +public class Script +{ + String mScript = ""; + CompiledScript mCompScript = null; + String mName; + Integer mVersion; + HashMap mInputParams = new HashMap(); + HashMap mAllInputParams = new HashMap(); + HashMap mOutputParams = new HashMap(); + ArrayList