From b086f57f56bf0eb9dab9cf321a0f69aaaae84347 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 30 May 2012 08:37:45 +0200 Subject: Initial Maven Conversion --- .../gui/view/ElemActDefOutcomeHandler.java | 161 +++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 src/main/java/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java (limited to 'src/main/java/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java') diff --git a/src/main/java/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java b/src/main/java/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java new file mode 100644 index 0000000..c37e5a7 --- /dev/null +++ b/src/main/java/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java @@ -0,0 +1,161 @@ +package com.c2kernel.lifecycle.gui.view; + +import java.io.File; + +import javax.swing.JOptionPane; +import javax.swing.JPanel; + +import com.c2kernel.graph.model.GraphableVertex; +import com.c2kernel.graph.view.VertexPropertyPanel; +import com.c2kernel.gui.tabs.outcome.InvalidOutcomeException; +import com.c2kernel.gui.tabs.outcome.InvalidSchemaException; +import com.c2kernel.gui.tabs.outcome.OutcomeException; +import com.c2kernel.gui.tabs.outcome.OutcomeHandler; +import com.c2kernel.gui.tabs.outcome.OutcomeNotInitialisedException; +import com.c2kernel.lifecycle.ActivityDef; +import com.c2kernel.lifecycle.ActivitySlotDef; +import com.c2kernel.lifecycle.CompositeActivityDef; +import com.c2kernel.utils.CastorXMLUtility; +import com.c2kernel.utils.FileStringUtility; +import com.c2kernel.utils.LocalObjectLoader; +import com.c2kernel.utils.Logger; + +/************************************************************************** + * + * $Revision: 1.5 $ + * $Date: 2005/10/05 07:39:37 $ + * + * Copyright (C) 2003 CERN - European Organization for Nuclear Research + * All rights reserved. + **************************************************************************/ + +public class ElemActDefOutcomeHandler extends VertexPropertyPanel implements OutcomeHandler { + + ActivityDef act; + boolean unsaved; + public ElemActDefOutcomeHandler() { + super(); + createLayout(null); + } + + /** + * + */ + @Override + public void setOutcome(String outcome) throws InvalidOutcomeException { + try { + act = (ActivityDef)CastorXMLUtility.unmarshall(outcome); + setVertex(act); + } catch (Exception ex) { + Logger.error(ex); + throw new InvalidOutcomeException(); + } + } + + /** + * + */ + @Override + public void setDescription(String description) + throws InvalidSchemaException { + // ignore + } + + /** + * + */ + @Override + public void setReadOnly(boolean readOnly) { + setEditable(!readOnly); + + } + + /** + * + */ + @Override + public JPanel getPanel() throws OutcomeNotInitialisedException { + return this; + } + + /** + * + */ + @Override + public String getOutcome() throws OutcomeException { + try { + return CastorXMLUtility.marshall(act); + } catch (Exception ex) { + Logger.error(ex); + throw new OutcomeException(); + } + } + + /** + * + */ + @Override + public void run() { + validate(); + } + + @Override + public boolean isUnsaved() { + return unsaved; + } + + @Override + public void saved() { + unsaved = false; + } + + @Override + public void export(File targetFile) throws Exception { + exportAct(targetFile.getParentFile(), act); + } + + public static void exportAct(File dir, ActivityDef actDef) throws Exception { + FileStringUtility.string2File(new File(dir, actDef.getActName()+".xml"), CastorXMLUtility.marshall(actDef)); + // Export associated schema + exportSchema((String)actDef.getProperties().get("SchemaType"), (String)actDef.getProperties().get("SchemaVersion"), dir); + // Export associated script + exportScript((String)actDef.getProperties().get("ScriptName"), (String)actDef.getProperties().get("ScriptVersion"), dir); + + //Export child act if composite + if (actDef instanceof CompositeActivityDef) { + CompositeActivityDef compActDef = (CompositeActivityDef)actDef; + for (int i=0; i