blob: b30037b2184b85ed65a3d6849fc5cadc7c200e46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?xml version="1.0" encoding="UTF-8"?>
<cristalscript>
<output name="errors" type="org.cristalise.kernel.scripting.ErrorInfo" />
<script language="javascript" name="LocalObjectDefCreator"><![CDATA[
importClass(org.cristalise.kernel.process.Gateway);
importClass(org.cristalise.kernel.process.Bootstrap);
importClass(org.cristalise.kernel.lifecycle.CompositeActivityDef);
importClass(org.cristalise.kernel.lifecycle.ActivityDef);
importClass(org.cristalise.kernel.lookup.DomainPath);
importClass(org.cristalise.kernel.process.resource.DefaultResourceImportHandler);
var name = job.getOutcome().getField("ObjectName");
var folder = job.getOutcome().getField("SubFolder");
var handler = new DefaultResourceImportHandler(job.getActPropString("NewType"));
// Find the root of that object type
var domPath = handler.getTypeRoot();
if (folder != null) domPath = domPath + "/" + folder;
var params = new Array(2);
params[0] = name;
params[1] = domPath;
// Create the new item
try {
agent.execute(item, "CreateItemFromDescription", params);
} catch (e) {
throw "Could not create "+name+": "+e.message;
}
// If this script is running in the Cristal GUI, open the new item.
try {
var tree = Packages.org.cristalise.gui.MainFrame.treeBrowser;
if (tree != null) // open new item in the gui
tree.push(new DomainPath(domPath+"/"+name));
} catch (e) { // hopefully catch any classloading errors on headless systems. hopefully.
}
]]></script>
</cristalscript>
|