execute script(a) with optional parameters b-j


Wichtiger Hinweis: Bitte beachten Sie, dass Lobster keinen Support für selbst entwickelte Klassen leisten kann.


Ermöglicht die Ausführung von Java-Code als Skript. Dabei kann in Parameter a entweder direkt der Java-Code oder der Name einer Datei (+Pfad) welche den gewünschten Java-Code enthält angegeben werden. Die Parameter b-j sind optional und können im Skript angesprochen werden.

Des Weiteren kann auf alle, im Profil angelegten, Variablen und alle verwendeten Maps und Listen innerhalb des Skriptes zugegriffen werden. Variablen können dabei direkt über den Variablennamen (z. B.: VAR_FILENAME) angesprochen werden. Dies ist allerdings nur lesend möglich. Änderungen an den Variableninhalten werden nicht übernommen.

Um Zugriff auf eine Map oder List zu bekommen können im Skript folgende Methoden aufgerufen werden.


  1. script.getMap("map_name") gibt ein Objekt vom Typ java.util.Map zurück.

  2. script.getList("list_name") gibt ein Objekt vom Typ java.util.List zurück.


Weiterhin besteht die Möglichkeit auf DOM-Objekte (org.jdom.Document) zuzugreifen, welche über die Funktion call SOAP-WebService(a,b,c,d,e,f,g,h,i,j,k,[l,m,n,o,p]) erzeugt werden können. Der Zugriff erfolgt über folgende Methode:


  1. script.getDocument("document_name") gibt ein Objekt vom Typ org.jdom.Document zurück.


Das DOM-Objekt kann innerhalb des Scripts über die Methode script.deleteDocument("document_name") oder über die Funktion delete DOM object(a) gelöscht werden.

Der Rückgabewert der Funktion wird am Ende des Scripts über return gesetzt.


Parameterbeschreibung


Parameter

Beschreibung

a

Skript oder Dateiname.

b

(optional) Skript-Parameter b.

c

(optional) Skript-Parameter c.

d

(optional) Skript-Parameter d.

e

(optional) Skript-Parameter e.

f

(optional) Skript-Parameter f.

g

(optional) Skript-Parameter g.

h

(optional) Skript-Parameter h.

i

(optional) Skript-Parameter i.

j

(optional) Skript-Parameter j.


Beispiele


Parameter a

Parameter b

Parameter c

Parameter d

..

Parameter j

Ergebnis

b+c

Demo

Skript




DemoSkript

return VAR_FILENAME;






demo.txt

./conf/MyScript.txt

30





yyyy-MM-dd

if(b.equals("demo")) return script.getMap(c).get("demo"); else return VAR_FILENAME;

test

map_demo




demo.txt

./conf/webservice/DOM_script.java

myDOM





[object as string]

MyScript.txt
int intValue = Integer.parseInt(b);
switch(intValue) {
case 10:
return "yyyyMMdd";
case 20:
return "dd.MM.yyyy";
case 30:
return "yyyy-MM-dd";
default:
return "yyyyMMdd";
}

DOM_script.java
//Imports
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
//Method to print JDOM element
private void printElement(List children, StringBuffer res, String tab){
for (int i = 0; i < children.size(); i++) {
Element child = (Element)children.get(i);
res.append(child.getName() +": "+ child.getText() + "\n");
printElement(child.getChildren(),res, tab+"\t");
}
}
//Get JDOM document for DOM name given in parameter b
Document dom = script.getDocument(b);
if(dom == null){
return "DOM Object does not exsist";
}
Element root = dom.getRootElement();
List children = root.getChildren();
StringBuffer res = new StringBuffer();
//Call method from above
printElement(children, res, "");
//Returns string as function result
return res.toString();

printXML_script.java
//Imports
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
//Get JDOM document for DOM name given in parameter b
Document dom = script.getDocument(b);
if(dom == null){
return "DOM Object does not exsist";
}
/Return JDOM Document as XML string
XMLOutputter outputter = new XMLOutputter();
outputter.setFormat(Format.getPrettyFormat());
return outputter.outputString(dom);