summaryrefslogtreecommitdiff
path: root/resources/boot/SC/InstantiateItem.xml
diff options
context:
space:
mode:
authorabranson <andrew.branson@cern.ch>2012-03-13 15:31:25 +0100
committerabranson <andrew.branson@cern.ch>2012-03-13 15:31:25 +0100
commit160f610b24ee3802a109bcd32e00bfa2dde31ec2 (patch)
tree55db2fc501953f004dd66291df3fdc8ebce292b8 /resources/boot/SC/InstantiateItem.xml
parent7d36c0df166e6eacd6c37a8295ef5ac0ac68bdd4 (diff)
Added Description Factory
Diffstat (limited to 'resources/boot/SC/InstantiateItem.xml')
-rw-r--r--resources/boot/SC/InstantiateItem.xml30
1 files changed, 30 insertions, 0 deletions
diff --git a/resources/boot/SC/InstantiateItem.xml b/resources/boot/SC/InstantiateItem.xml
new file mode 100644
index 0000000..4cd84b5
--- /dev/null
+++ b/resources/boot/SC/InstantiateItem.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cristalscript>
+ <output name="errors" type="com.c2kernel.scripting.ErrorInfo"/>
+ <script language="javascript" name="InstantiateItem"><![CDATA[
+
+ var job = bsf.lookupBean("job");
+ var item = bsf.lookupBean("item");
+ var agent = bsf.lookupBean("agent");
+ var errorBuffer = bsf.lookupBean("errors");
+
+ var name = job.getOutcome().getDOM().getDocumentElement().
+ getElementsByTagName("ObjectName").item(0).getFirstChild().getData();
+ var folder = job.getOutcome().getDOM().getDocumentElement().
+ getElementsByTagName("SubFolder").item(0).getFirstChild();
+ var domPath = "/" + (folder != null?folder.getData():"");
+
+ var params = new Array(2);
+ params[0] = name;
+ params[1] = domPath;
+
+ try {
+ agent.execute(item, "CreateItemFromDescription", params);
+ } catch (e) {
+ errorBuffer.addError("Could not create "+name+": "+e.message);
+ errorBuffer.setFatal();
+ }
+
+ errorBuffer;
+ ]]></script>
+</cristalscript>