diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2012-11-30 15:33:51 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2012-11-30 15:33:51 +0100 |
| commit | 34a3a961e88f6fc5bd7b4219afd6633cf101317b (patch) | |
| tree | f43cea5a931cc1d6cf1463b9567b1235ab385a9a /src/main/java/com/c2kernel | |
| parent | f6c0524ece1ad6c85cde59e4dcefb7587ffc6ab8 (diff) | |
Export CompositeActivityDefs into module format, include Resource
elements for module XML. refs #38
Diffstat (limited to 'src/main/java/com/c2kernel')
| -rw-r--r-- | src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java | 12 | ||||
| -rw-r--r-- | src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java | 39 |
2 files changed, 36 insertions, 15 deletions
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java index c47931f..75b3ff7 100644 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java +++ b/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java @@ -4,7 +4,9 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.BufferedWriter;
import java.io.File;
+import java.io.FileWriter;
import javax.swing.JButton;
import javax.swing.JFileChooser;
@@ -225,6 +227,14 @@ public class CompActDefOutcomeHandler @Override
public void export(File targetFile) throws Exception {
- ElemActDefOutcomeHandler.exportAct(targetFile.getParentFile(), mCompActDef);
+ //Make sure module structure is present
+ File parentDir = targetFile.getParentFile();
+ FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/CA");
+ FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/EA");
+ FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/OD");
+ FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/SC");
+ BufferedWriter imports = new BufferedWriter(new FileWriter(new File(parentDir, mCompActDef.getActName()+"Imports.xml")));
+ ElemActDefOutcomeHandler.exportAct(targetFile.getParentFile(), imports, mCompActDef);
+ imports.close();
}
}
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);
|
