diff options
Diffstat (limited to 'src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java')
| -rw-r--r-- | src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java index f75632d..521b9cf 100644 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java +++ b/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java @@ -1,5 +1,6 @@ package com.c2kernel.gui.lifecycle.desc;
+import java.io.BufferedWriter;
import java.io.File;
import javax.swing.JOptionPane;
@@ -111,48 +112,58 @@ public class ElemActDefOutcomeHandler extends VertexPropertyPanel implements Out @Override
public void export(File targetFile) throws Exception {
- exportAct(targetFile.getParentFile(), act);
+ exportAct(targetFile.getParentFile(), null, act);
}
- public static void exportAct(File dir, ActivityDef actDef) throws Exception {
- FileStringUtility.string2File(new File(dir, actDef.getActName()+".xml"), Gateway.getMarshaller().marshall(actDef));
+ public static void exportAct(File dir, BufferedWriter imports, ActivityDef actDef) throws Exception {
+
// Export associated schema
- exportSchema((String)actDef.getProperties().get("SchemaType"), (String)actDef.getProperties().get("SchemaVersion"), dir);
+ exportSchema((String)actDef.getProperties().get("SchemaType"), (String)actDef.getProperties().get("SchemaVersion"), imports, new File(dir, "OD"));
// Export associated script
- exportScript((String)actDef.getProperties().get("ScriptName"), (String)actDef.getProperties().get("ScriptVersion"), dir);
+ exportScript((String)actDef.getProperties().get("ScriptName"), (String)actDef.getProperties().get("ScriptVersion"), imports, new File(dir, "SC"));
//Export child act if composite
if (actDef instanceof CompositeActivityDef) {
CompositeActivityDef compActDef = (CompositeActivityDef)actDef;
- for (int i=0; i<compActDef.getChildren().length; i++) {
+ for (int i=0; i<compActDef.getChildren().length; i++) { // export slot defined scripts and schemas
GraphableVertex vert = compActDef.getChildren()[i];
- exportScript((String)vert.getProperties().get("ScriptName"), (String)vert.getProperties().get("ScriptVersion"), dir);
- exportScript((String)vert.getProperties().get("RoutingScriptName"), (String)vert.getProperties().get("RoutingScriptVersion"), dir);
+ exportScript((String)vert.getProperties().get("ScriptName"), (String)vert.getProperties().get("ScriptVersion"), imports, new File(dir, "SC"));
+ exportScript((String)vert.getProperties().get("RoutingScriptName"), (String)vert.getProperties().get("RoutingScriptVersion"), imports, new File(dir, "SC"));
+ exportSchema((String)vert.getProperties().get("SchemaType"), (String)vert.getProperties().get("SchemaVersion"), imports, new File(dir, "OD"));
}
GraphableVertex[] childDefs = compActDef.getLayoutableChildren();
for (GraphableVertex childDef : childDefs) {
if (childDef instanceof ActivitySlotDef)
- exportAct(dir, ((ActivitySlotDef)childDef).getTheActivityDef());
+ exportAct(dir, imports, ((ActivitySlotDef)childDef).getTheActivityDef());
}
+ // export marshalled compAct
+ FileStringUtility.string2File(new File(new File(dir, "CA"), compActDef.getActName()+".xml"), Gateway.getMarshaller().marshall(compActDef));
+ if (imports!=null) imports.write("<Resource name=\""+compActDef.getActName()+"\" type=\"CA\">boot/CA/"+compActDef.getActName()+".xml</Resource>\n");
+ }
+ else {
+ FileStringUtility.string2File(new File(new File(dir, "EA"), actDef.getActName()+".xml"), Gateway.getMarshaller().marshall(actDef));
+ if (imports!=null) imports.write("<Resource name=\""+actDef.getActName()+"\" type=\"EA\">boot/EA/"+actDef.getActName()+".xml</Resource>\n");
}
}
- public static void exportScript(String name, String version, File dir) {
- if (name == null || name.length()==0) return;
+ public static void exportScript(String name, String version, BufferedWriter imports, File dir) {
+ if (name == null || name.length()==0 || name.contains(":")) return;
try {
- FileStringUtility.string2File(new File(dir, name+"_"+version+".xml"),
+ FileStringUtility.string2File(new File(dir, name+".xml"),
LocalObjectLoader.getScript(name, version));
+ if (imports!=null) imports.write("<Resource name=\""+name+"\" type=\"SC\">boot/SC/"+name+".xml</Resource>\n");
} catch (Exception ex) {
Logger.error(ex);
JOptionPane.showMessageDialog(null, "Could not export script "+name+"_"+version, "Error", JOptionPane.ERROR_MESSAGE);
}
}
- public static void exportSchema(String name, String version, File dir) {
+ public static void exportSchema(String name, String version, BufferedWriter imports, File dir) {
if (name == null || name.length()==0) return;
try {
- FileStringUtility.string2File(new File(dir, name+"_"+version+".xsd"),
+ FileStringUtility.string2File(new File(dir, name+".xsd"),
LocalObjectLoader.getSchema(name, Integer.parseInt(version)).schema);
+ if (imports!=null) imports.write("<Resource name=\""+name+"\" type=\"OD\">boot/OD/"+name+".xsd</Resource>\n");
} catch (Exception ex) {
Logger.error(ex);
JOptionPane.showMessageDialog(null, "Could not export schema "+name+"_"+version, "Error", JOptionPane.ERROR_MESSAGE);
|
