From 34a3a961e88f6fc5bd7b4219afd6633cf101317b Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 30 Nov 2012 15:33:51 +0100 Subject: Export CompositeActivityDefs into module format, include Resource elements for module XML. refs #38 --- .../lifecycle/desc/ElemActDefOutcomeHandler.java | 39 ++++++++++++++-------- 1 file changed, 25 insertions(+), 14 deletions(-) (limited to 'src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java') 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; iboot/CA/"+compActDef.getActName()+".xml\n"); + } + else { + FileStringUtility.string2File(new File(new File(dir, "EA"), actDef.getActName()+".xml"), Gateway.getMarshaller().marshall(actDef)); + if (imports!=null) imports.write("boot/EA/"+actDef.getActName()+".xml\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("boot/SC/"+name+".xml\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("boot/OD/"+name+".xsd\n"); } catch (Exception ex) { Logger.error(ex); JOptionPane.showMessageDialog(null, "Could not export schema "+name+"_"+version, "Error", JOptionPane.ERROR_MESSAGE); -- cgit v1.2.3