summaryrefslogtreecommitdiff
path: root/resources/boot/SC/InstantiateItem.xml
diff options
context:
space:
mode:
Diffstat (limited to 'resources/boot/SC/InstantiateItem.xml')
-rw-r--r--resources/boot/SC/InstantiateItem.xml23
1 files changed, 14 insertions, 9 deletions
diff --git a/resources/boot/SC/InstantiateItem.xml b/resources/boot/SC/InstantiateItem.xml
index 4cd84b5..0f16a65 100644
--- a/resources/boot/SC/InstantiateItem.xml
+++ b/resources/boot/SC/InstantiateItem.xml
@@ -2,19 +2,20 @@
<cristalscript>
<output name="errors" type="com.c2kernel.scripting.ErrorInfo"/>
<script language="javascript" name="InstantiateItem"><![CDATA[
+ importClass(Packages.com.c2kernel.lookup.DomainPath);
+ // Load contextual objects
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);
+
+ // Get parameters from outcome
+ var name = job.getOutcome().getField("ObjectName");
+ var folder = job.getOutcome().getField("SubFolder");
+ var domPath = "/" + (folder != null?folder:"");
+ // Create new Item
+ var params = new Array(2);
params[0] = name;
params[1] = domPath;
@@ -24,7 +25,11 @@
errorBuffer.addError("Could not create "+name+": "+e.message);
errorBuffer.setFatal();
}
-
+
+ // If this script is running in the Cristal GUI, open the new item.
+ var tree = Packages.com.c2kernel.gui.MainFrame.treeBrowser;
+ if (tree != null)
+ tree.push(new DomainPath(domPath+"/"+name));
errorBuffer;
]]></script>
</cristalscript>