execute script(a) with optional parameters b-j
|
Gruppe |
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";}//Importsimport java.util.List;import org.jdom.Document;import org.jdom.Element; //Method to print JDOM elementprivate 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 bDocument 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 aboveprintElement(children, res, "");//Returns string as function resultreturn res.toString();//Importsimport 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 bDocument dom = script.getDocument(b);if(dom == null){ return "DOM Object does not exsist";}/Return JDOM Document as XML stringXMLOutputter outputter = new XMLOutputter();outputter.setFormat(Format.getPrettyFormat());return outputter.outputString(dom);