execute script(a) with optional parameters b-j
Gruppe |
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.
script.getMap("map_name") gibt ein Objekt vom Typ java.util.Map zurück.
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:
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] |
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"
;
}
//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();
//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);