blob: c57cbc1eb6b9a8c1954ec397456e41e7150b2bfb (
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<?xml version="1.0" encoding="UTF-8"?>
<cristalscript>
<output name="errors" type="com.c2kernel.scripting.ErrorInfo"/>
<script language="javascript" name="LocalObjectDefCreator"><![CDATA[
importClass(Packages.com.c2kernel.utils.CastorXMLUtility);
importClass(Packages.com.c2kernel.utils.Resource);
importClass(Packages.com.c2kernel.process.Bootstrap);
importClass(Packages.com.c2kernel.lifecycle.CompositeActivityDef);
importClass(Packages.com.c2kernel.lifecycle.ActivityDef);
var job = bsf.lookupBean("job");
var item = bsf.lookupBean("item");
var agent = bsf.lookupBean("agent");
var errorBuffer = bsf.lookupBean("errors");
var type = job.getActPropString("NewType");
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 = Bootstrap.getTypeRoot(type).toString();
if (folder != null) domPath = domPath + "/" + folder.getData();
var params = new Array(2);
params[0] = name;
params[1] = domPath;
if (!(errorBuffer.getFatal())) {
try {
agent.execute(item, "CreateItemFromDescription", params);
} catch (e) {
errorBuffer.addError("Could not create "+name+": "+e.message);
errorBuffer.setFatal();
}
}
if (!(errorBuffer.getFatal())) { // store an outcome in the new desc
var newObj;
if (type.equals("EA") || type.equals("CA")) {
var newAct = type.equals("CA")?new CompositeActivityDef(): new ActivityDef();
newAct.setName(name);
newObj = CastorXMLUtility.marshall(newAct);
}
else
newObj = Resource.getTextResource("boot/"+type+"/New.xml");
var newPath = new Packages.com.c2kernel.lookup.DomainPath(domPath+"/"+name);
var newItem = agent.getItem(newPath);
newItem.requestAction(agent.getSystemKey(), "workflow/domain/EditDefinition", 4, newObj);
var tree = Packages.com.c2kernel.gui.MainFrame.treeBrowser;
if (tree != null) // open new item in the gui
tree.push(newPath);
}
errorBuffer;
]]></script>
</cristalscript>
|