From 458169a9729b9bd4b509285ce79e8517b3853c9b Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Thu, 6 Mar 2014 16:40:35 +0100 Subject: Added space to schema column in HistoryPane Fixed NullPointer on workflow export Prevent CompositeActivityDefs in error from being submitted --- .../lifecycle/desc/CompActDefOutcomeHandler.java | 4 +++ .../lifecycle/desc/ElemActDefOutcomeHandler.java | 31 +++++++++++++++------- .../java/com/c2kernel/gui/tabs/HistoryPane.java | 2 +- 3 files changed, 27 insertions(+), 10 deletions(-) (limited to 'src/main/java/com/c2kernel') 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 3cdefee..fef2438 100644 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java +++ b/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java @@ -14,6 +14,7 @@ import javax.swing.JPanel; import javax.swing.JSplitPane; import com.c2kernel.graph.layout.DefaultGraphLayoutGenerator; +import com.c2kernel.graph.model.GraphableVertex; import com.c2kernel.gui.ImageLoader; import com.c2kernel.gui.MainFrame; import com.c2kernel.gui.graph.view.EditorPanel; @@ -26,6 +27,7 @@ import com.c2kernel.gui.tabs.outcome.OutcomeHandler; import com.c2kernel.gui.tabs.outcome.OutcomeNotInitialisedException; import com.c2kernel.lifecycle.CompositeActivityDef; import com.c2kernel.lifecycle.WfVertexDefOutlineCreator; +import com.c2kernel.lifecycle.instance.WfVertex; import com.c2kernel.process.Gateway; import com.c2kernel.utils.FileStringUtility; import com.c2kernel.utils.Logger; @@ -182,6 +184,8 @@ public class CompActDefOutcomeHandler */ @Override public String getOutcome() throws OutcomeException { + if (!mCompActDef.verify()) + throw new OutcomeException(mCompActDef.getErrors()); try { return Gateway.getMarshaller().marshall(mCompActDef); } catch (Exception ex) { 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 08cbf4c..1e11f1f 100644 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java +++ b/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java @@ -118,18 +118,18 @@ public class ElemActDefOutcomeHandler extends VertexPropertyPanel implements Out public static void exportAct(File dir, BufferedWriter imports, ActivityDef actDef) throws Exception { // Export associated schema - exportSchema((String)actDef.getProperties().get("SchemaType"), Integer.parseInt(actDef.getProperties().get("SchemaVersion").toString()), imports, new File(dir, "OD")); + exportSchema((String)actDef.getProperties().get("SchemaType"), actDef.getProperties().get("SchemaVersion"), imports, new File(dir, "OD")); // Export associated script - exportScript((String)actDef.getProperties().get("ScriptName"), Integer.parseInt(actDef.getProperties().get("ScriptVersion").toString()), imports, new File(dir, "SC")); + exportScript((String)actDef.getProperties().get("ScriptName"), 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/SC/"+name+".xml\n"); + } catch (NumberFormatException ex) { + JOptionPane.showMessageDialog(null, "Invalid version number in script version:"+version); } 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, Integer version, BufferedWriter imports, File dir) { + public static void exportSchema(String name, Object version, BufferedWriter imports, File dir) { if (name == null || name.length()==0) return; try { + int intVersion; + if (version instanceof String) intVersion = Integer.parseInt((String)version); + else if (version instanceof Integer) intVersion = ((Integer)version).intValue(); + else return; FileStringUtility.string2File(new File(dir, name+".xsd"), - LocalObjectLoader.getSchema(name, version).schema); + LocalObjectLoader.getSchema(name, intVersion).schema); if (imports!=null) imports.write("boot/OD/"+name+".xsd\n"); + } catch (NumberFormatException ex) { + JOptionPane.showMessageDialog(null, "Invalid version number in script version:"+version); } catch (Exception ex) { Logger.error(ex); JOptionPane.showMessageDialog(null, "Could not export schema "+name+"_"+version, "Error", JOptionPane.ERROR_MESSAGE); diff --git a/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java b/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java index 8384dd8..1e03a41 100644 --- a/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java +++ b/src/main/java/com/c2kernel/gui/tabs/HistoryPane.java @@ -269,7 +269,7 @@ public class HistoryPane extends EntityTabPane implements ActionListener, Entity case 3: return event[rowIndex].getTimeString(); case 4: return event[rowIndex].getAgentName(); case 5: return event[rowIndex].getAgentRole(); - case 6: return event[rowIndex].getSchemaName()+"v"+event[rowIndex].getSchemaVersion(); + case 6: return event[rowIndex].getSchemaName()+" v"+event[rowIndex].getSchemaVersion(); case 7: return event[rowIndex].getViewName(); default: return ""; } -- cgit v1.2.3