diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-03-06 16:40:35 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-03-06 16:40:35 +0100 |
| commit | 458169a9729b9bd4b509285ce79e8517b3853c9b (patch) | |
| tree | 076e5345abd525c939f0fea477aefe09b8ffb177 | |
| parent | 7381a549557ff474469b7b805f2506eba8220420 (diff) | |
Added space to schema column in HistoryPane
Fixed NullPointer on workflow export
Prevent CompositeActivityDefs in error from being submitted
3 files changed, 27 insertions, 10 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 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; i<compActDef.getChildren().length; i++) { // export slot defined scripts and schemas
GraphableVertex vert = compActDef.getChildren()[i];
- exportScript((String)vert.getProperties().get("ScriptName"), Integer.parseInt(actDef.getProperties().get("ScriptVersion").toString()), imports, new File(dir, "SC"));
- exportScript((String)vert.getProperties().get("RoutingScriptName"), Integer.parseInt(actDef.getProperties().get("RoutingScriptVersion").toString()), imports, new File(dir, "SC"));
- exportSchema((String)vert.getProperties().get("SchemaType"), Integer.parseInt(actDef.getProperties().get("SchemaVersion").toString()), imports, new File(dir, "OD"));
+ exportScript((String)vert.getProperties().get("ScriptName"), actDef.getProperties().get("ScriptVersion"), imports, new File(dir, "SC"));
+ exportScript((String)vert.getProperties().get("RoutingScriptName"), actDef.getProperties().get("RoutingScriptVersion"), imports, new File(dir, "SC"));
+ exportSchema((String)vert.getProperties().get("SchemaType"), actDef.getProperties().get("SchemaVersion"), imports, new File(dir, "OD"));
}
GraphableVertex[] childDefs = compActDef.getLayoutableChildren();
for (GraphableVertex childDef : childDefs) {
@@ -148,24 +148,37 @@ public class ElemActDefOutcomeHandler extends VertexPropertyPanel implements Out }
}
- public static void exportScript(String name, Integer version, BufferedWriter imports, File dir) {
+ public static void exportScript(String name, Object version, BufferedWriter imports, File dir) {
if (name == null || name.length()==0 || name.contains(":")) 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+".xml"),
- LocalObjectLoader.getScript(name, version));
+ LocalObjectLoader.getScript(name, intVersion));
if (imports!=null) imports.write("<Resource name=\""+name+"\" "+(version==null?"":"version=\""+version+"\" ")+"type=\"SC\">boot/SC/"+name+".xml</Resource>\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("<Resource name=\""+name+"\" "+(version==null?"":"version=\""+version+"\" ")+"type=\"OD\">boot/OD/"+name+".xsd</Resource>\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 "";
}
|
