summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/lifecycle/gui
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/lifecycle/gui')
-rw-r--r--source/com/c2kernel/lifecycle/gui/model/WfDefGraphPanel.java59
-rw-r--r--source/com/c2kernel/lifecycle/gui/model/WfEdgeDefFactory.java30
-rw-r--r--source/com/c2kernel/lifecycle/gui/model/WfVertexDefFactory.java97
-rw-r--r--source/com/c2kernel/lifecycle/gui/model/WfVertexDefOutlineCreator.java51
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/ActivitySlotDefRenderer.java71
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/CompActDefOutcomeHandler.java233
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java161
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/SplitJoinDefRenderer.java138
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/WfDirectedEdgeDefRenderer.java134
-rw-r--r--source/com/c2kernel/lifecycle/gui/view/WfVertexDefRenderer.java30
10 files changed, 0 insertions, 1004 deletions
diff --git a/source/com/c2kernel/lifecycle/gui/model/WfDefGraphPanel.java b/source/com/c2kernel/lifecycle/gui/model/WfDefGraphPanel.java
deleted file mode 100644
index e0f4f65..0000000
--- a/source/com/c2kernel/lifecycle/gui/model/WfDefGraphPanel.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*Created on 21 nov. 2003 */
-package com.c2kernel.lifecycle.gui.model;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.graph.view.GraphPanel;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.NextDef;
-
-/** @author XSeb74*/
-public class WfDefGraphPanel extends GraphPanel
-{
- public WfDefGraphPanel(DirectedEdgeRenderer d,VertexRenderer v)
- {
- super(d,v);
- }
- // Draws the highlight of the specified edge
- @Override
- protected void drawEdgeHighlight(Graphics2D g2d, DirectedEdge edge)
- {
- GraphPoint originPoint = edge.getOriginPoint();
- GraphPoint terminusPoint = edge.getTerminusPoint();
- GraphPoint midPoint = new GraphPoint();
-
- if ("Straight".equals(((NextDef)edge).getProperties().get("Type")) || ((NextDef)edge).getProperties().get("Type") == null)
- {
- midPoint.x = originPoint.x + (terminusPoint.x - originPoint.x) / 2;
- midPoint.y = originPoint.y + (terminusPoint.y - originPoint.y) / 2;
- }
- else if (("Broken +".equals(((NextDef)edge).getProperties().get("Type"))))
- {
- midPoint.x = (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = (originPoint.y + terminusPoint.y) / 2;
- }
- else if (("Broken -".equals(((NextDef)edge).getProperties().get("Type"))))
- {
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? terminusPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : originPoint.y;
- }
- else if (("Broken |".equals(((NextDef)edge).getProperties().get("Type"))))
- {
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? originPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : terminusPoint.y;
- }
- int minX = midPoint.x - 10;
- int minY = midPoint.y - 10;
- int maxX = midPoint.x + 10;
- int maxY = midPoint.y + 10;
- g2d.drawLine(minX, minY, maxX, minY);
- g2d.drawLine(maxX, minY, maxX, maxY);
- g2d.drawLine(maxX, maxY, minX, maxY);
- g2d.drawLine(minX, maxY, minX, minY);
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/model/WfEdgeDefFactory.java b/source/com/c2kernel/lifecycle/gui/model/WfEdgeDefFactory.java
deleted file mode 100644
index 6e6727a..0000000
--- a/source/com/c2kernel/lifecycle/gui/model/WfEdgeDefFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.c2kernel.lifecycle.gui.model;
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.EdgeFactory;
-import com.c2kernel.graph.model.GraphModelManager;
-import com.c2kernel.graph.model.TypeNameAndConstructionInfo;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.lifecycle.NextDef;
-import com.c2kernel.lifecycle.WfVertexDef;
-public class WfEdgeDefFactory implements EdgeFactory
-{
- @Override
- public void create(
- GraphModelManager graphModelManager,
- Vertex origin,
- Vertex terminus,
- TypeNameAndConstructionInfo typeNameAndConstructionInfo)
- {
- if (validCreation(graphModelManager, origin, terminus))
- {
- NextDef nextDef = new NextDef((WfVertexDef) origin, (WfVertexDef) terminus);
- graphModelManager.getModel().addEdgeAndCreateId(nextDef, origin, terminus);
- }
- }
- private static boolean validCreation(GraphModelManager graphModelManager, Vertex origin, Vertex terminus)
- {
- DirectedEdge[] connectingEdgesAToB = graphModelManager.getModel().getConnectingEdges(origin.getID(), terminus.getID());
- DirectedEdge[] connectingEdgesBToA = graphModelManager.getModel().getConnectingEdges(terminus.getID(), origin.getID());
- return (origin != terminus) && (connectingEdgesAToB.length == 0) && (connectingEdgesBToA.length == 0);
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/model/WfVertexDefFactory.java b/source/com/c2kernel/lifecycle/gui/model/WfVertexDefFactory.java
deleted file mode 100644
index 132fdcf..0000000
--- a/source/com/c2kernel/lifecycle/gui/model/WfVertexDefFactory.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.c2kernel.lifecycle.gui.model;
-import java.awt.Point;
-import java.io.Serializable;
-import java.util.HashMap;
-
-import javax.swing.JOptionPane;
-
-import com.c2kernel.graph.model.GraphModelManager;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.TypeNameAndConstructionInfo;
-import com.c2kernel.graph.model.VertexFactory;
-import com.c2kernel.lifecycle.ActivityDef;
-import com.c2kernel.lifecycle.CompositeActivityDef;
-import com.c2kernel.lifecycle.chooser.ActivityChooser;
-import com.c2kernel.lifecycle.chooser.WorkflowDialogue;
-import com.c2kernel.utils.Language;
-import com.c2kernel.utils.LocalObjectLoader;
-import com.c2kernel.utils.Logger;
-import com.c2kernel.utils.Resource;
-public class WfVertexDefFactory implements VertexFactory, WorkflowDialogue
-{
- protected CompositeActivityDef mCompositeActivityDef = null;
- @Override
- public void create(GraphModelManager graphModelManager, Point location, TypeNameAndConstructionInfo typeNameAndConstructionInfo)
- {
- String vertexTypeId = null;
- if (mCompositeActivityDef != null && typeNameAndConstructionInfo.mInfo instanceof String)
- {
- vertexTypeId = (String) typeNameAndConstructionInfo.mInfo;
- if (vertexTypeId.equals("Atomic") || vertexTypeId.equals("Composite"))
- {
- // ask for a name
- HashMap<String, Serializable> mhm = new HashMap<String, Serializable>();
- mhm.put("P1", vertexTypeId);
- mhm.put("P2", location);
- //************************************************
- ActivityChooser a =
- new ActivityChooser(
- Language.translate("Please enter a Type for the new activityDef"),
- Language.translate("New " + vertexTypeId + " Activity"),
- Resource.findImage("graph/newvertex_large.png").getImage(),
- this,
- mhm);
- a.setVisible(true);
- }
- else
- mCompositeActivityDef.newChild("", vertexTypeId, location);
- }
- }
- @Override
- public void loadThisWorkflow(String newName, HashMap<?, ?> hashMap)
- {
- String vertexTypeId = (String) hashMap.get("P1");
- Point location = (Point) hashMap.get("P2");
- if (newName == null || newName.equals(""))
- return;
- Logger.debug(5, newName);
- ActivityDef act = (ActivityDef) mCompositeActivityDef.search(mCompositeActivityDef.getID() + "/" + newName);
- if (act != null)
- {
- String unicName = newName;
- while (unicName == null
- || unicName == ""
- || mCompositeActivityDef.search(mCompositeActivityDef.getID() + "/" + unicName) != null)
- unicName =
- (String) JOptionPane.showInputDialog(
- null,
- Language.translate("Please type a Name"),
- Language.translate("New " + vertexTypeId + " Activity"),
- JOptionPane.QUESTION_MESSAGE,
- Resource.findImage("graph/newvertex_large.png"),
- null,
- null);
- act = (ActivityDef) mCompositeActivityDef.search(mCompositeActivityDef.getID() + "/" + newName);
- mCompositeActivityDef.addExistingActivityDef(unicName, act, new GraphPoint(location.x, location.y));
- }
- else
- {
- try
- {
- act = LocalObjectLoader.getActDef(newName, "last");
- }
- catch (Exception ex)
- {
- Logger.exceptionDialog(ex);
- return;
- }
- mCompositeActivityDef.newChild(newName, vertexTypeId, location);
- }
- }
- @Override
- public void setCreationContext(Object newContext)
- {
- if (newContext != null && newContext instanceof CompositeActivityDef)
- mCompositeActivityDef = (CompositeActivityDef) newContext;
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/model/WfVertexDefOutlineCreator.java b/source/com/c2kernel/lifecycle/gui/model/WfVertexDefOutlineCreator.java
deleted file mode 100644
index 63d3b2f..0000000
--- a/source/com/c2kernel/lifecycle/gui/model/WfVertexDefOutlineCreator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.c2kernel.lifecycle.gui.model;
-
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.model.VertexOutlineCreator;
-import com.c2kernel.lifecycle.ActivitySlotDef;
-
-public class WfVertexDefOutlineCreator implements VertexOutlineCreator
-{
- private final int mActivityWidth = 130;
- private final int mActivityHeight = 60;
- private final int mSplitJoinWidth = 60;
- private final int mSplitJoinHeight = 25;
-
- @Override
- public void setOutline(Vertex vertex)
- {
- GraphPoint centrePoint = vertex.getCentrePoint();
- GraphPoint[] outlinePoints = new GraphPoint[ 4 ];
- int vertexWidth = 0;
- int vertexHeight = 0;
-
-
- if ( vertex instanceof ActivitySlotDef )
- {
- vertexWidth = mActivityWidth;
- vertexHeight = mActivityHeight;
- }
- else
- {
- vertexWidth = mSplitJoinWidth;
- vertexHeight = mSplitJoinHeight;
- }
-
- outlinePoints[ 0 ] = new GraphPoint();
- outlinePoints[ 0 ].x = centrePoint.x - vertexWidth / 2;
- outlinePoints[ 0 ].y = centrePoint.y - vertexHeight / 2;
- outlinePoints[ 1 ] = new GraphPoint();
- outlinePoints[ 1 ].x = centrePoint.x + vertexWidth / 2;
- outlinePoints[ 1 ].y = centrePoint.y - vertexHeight / 2;
- outlinePoints[ 2 ] = new GraphPoint();
- outlinePoints[ 2 ].x = centrePoint.x + vertexWidth / 2;
- outlinePoints[ 2 ].y = centrePoint.y + vertexHeight / 2;
- outlinePoints[ 3 ] = new GraphPoint();
- outlinePoints[ 3 ].x = centrePoint.x - vertexWidth / 2;
- outlinePoints[ 3 ].y = centrePoint.y + vertexHeight / 2;
-
- vertex.setOutlinePoints( outlinePoints );
- }
-}
-
diff --git a/source/com/c2kernel/lifecycle/gui/view/ActivitySlotDefRenderer.java b/source/com/c2kernel/lifecycle/gui/view/ActivitySlotDefRenderer.java
deleted file mode 100644
index c4309ee..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/ActivitySlotDefRenderer.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.c2kernel.lifecycle.gui.view;
-
-import java.awt.Color;
-import java.awt.FontMetrics;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.ActivitySlotDef;
-import com.c2kernel.utils.Language;
-
-public class ActivitySlotDefRenderer implements VertexRenderer
-{
- private Paint mInactivePaint = new Color(255, 255, 255);
- private Paint mErrorPaint = new Color( 255, 50, 0 );
- private Paint mCompositePaint= new Color(200, 200, 255);
- private Paint mTextPaint = Color.black;
-
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- ActivitySlotDef activitySlotDef = ( ActivitySlotDef )vertex;
- boolean hasError = activitySlotDef.verify();
- boolean isComposite = false;
- isComposite = activitySlotDef.getIsComposite();
- GraphPoint centrePoint = activitySlotDef.getCentrePoint();
- int vertexHeight = activitySlotDef.getHeight();
- int vertexWidth = activitySlotDef.getWidth();
-
- String[] linesOfText = new String[2+(hasError?0:1)];
- FontMetrics metrics = g2d.getFontMetrics();
- int lineWidth = 0;
- int lineHeight = metrics.getHeight();
- int linesHeight = lineHeight * linesOfText.length;
- int linesStartY = centrePoint.y - linesHeight / 2 + lineHeight * 2 / 3;
- int x = 0;
- int y = 0;
- int i = 0;
-
- linesOfText[0]="("+activitySlotDef.getActivityDef()+")";
- linesOfText[1]=(String)activitySlotDef.getProperties().get("Name");
-
- if (!hasError)linesOfText[2]=Language.translate(activitySlotDef.getErrors());
-
- g2d.setPaint( !hasError ? mErrorPaint : isComposite ? mCompositePaint : mInactivePaint );
- g2d.fill3DRect
- (
- centrePoint.x - vertexWidth / 2,
- centrePoint.y - vertexHeight / 2,
- vertexWidth,
- vertexHeight,
- true
- );
-
- g2d.setPaint( mTextPaint );
-
- // Draw the lines of text
- for ( i = 0; i < linesOfText.length; i++ )
- {
- if (linesOfText[i] == null) linesOfText[i] = "";
- lineWidth = metrics.stringWidth( linesOfText[ i ] );
- x = centrePoint.x - lineWidth / 2;
- y = linesStartY + i * lineHeight;
- g2d.drawString( linesOfText[ i ], x, y );
- }
- }
-}
-
diff --git a/source/com/c2kernel/lifecycle/gui/view/CompActDefOutcomeHandler.java b/source/com/c2kernel/lifecycle/gui/view/CompActDefOutcomeHandler.java
deleted file mode 100644
index 4c69f15..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/CompActDefOutcomeHandler.java
+++ /dev/null
@@ -1,233 +0,0 @@
-package com.c2kernel.lifecycle.gui.view;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-
-import javax.swing.JButton;
-import javax.swing.JFileChooser;
-import javax.swing.JPanel;
-import javax.swing.JSplitPane;
-
-import com.c2kernel.graph.layout.DefaultGraphLayoutGenerator;
-import com.c2kernel.graph.view.EditorPanel;
-import com.c2kernel.graph.view.VertexPropertyPanel;
-import com.c2kernel.gui.MainFrame;
-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.CompositeActivityDef;
-import com.c2kernel.lifecycle.gui.model.WfDefGraphPanel;
-import com.c2kernel.lifecycle.gui.model.WfEdgeDefFactory;
-import com.c2kernel.lifecycle.gui.model.WfVertexDefFactory;
-import com.c2kernel.lifecycle.gui.model.WfVertexDefOutlineCreator;
-import com.c2kernel.lifecycle.instance.gui.view.FindActDefPanel;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.CastorXMLUtility;
-import com.c2kernel.utils.FileStringUtility;
-import com.c2kernel.utils.Logger;
-import com.c2kernel.utils.Resource;
-
-/**************************************************************************
- *
- * $Revision: 1.14 $
- * $Date: 2005/09/07 13:46:31 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class CompActDefOutcomeHandler
- extends JPanel
- implements OutcomeHandler {
-
- protected JButton mLoadButton = new JButton(Resource.findImage("graph/load.png"));
- protected JButton mLayoutButton = new JButton(Resource.findImage("graph/autolayout.png"));
- protected JButton[] mOtherToolBarButtons = { mLayoutButton, mLoadButton };
-
- protected CompositeActivityDef mCompActDef = null;
- protected WfEdgeDefFactory mWfEdgeDefFactory = new WfEdgeDefFactory();
- protected WfVertexDefFactory mWfVertexDefFactory = new WfVertexDefFactory();
-
- protected EditorPanel mEditorPanel;
- protected VertexPropertyPanel mPropertyPanel;
- protected JSplitPane mSplitPane;
- boolean unsaved;
-
- public CompActDefOutcomeHandler() {
- super();
- mPropertyPanel = loadPropertyPanel();
- mPropertyPanel.createLayout(new FindActDefPanel());
- mEditorPanel =
- new EditorPanel(
- mWfEdgeDefFactory,
- mWfVertexDefFactory,
- new WfVertexDefOutlineCreator(),
- true,
- mOtherToolBarButtons,
- new WfDefGraphPanel(new WfDirectedEdgeDefRenderer(),
- new WfVertexDefRenderer()));
- }
-
- protected void createLayout()
- {
- mLoadButton.setToolTipText("Load from local disc");
- mLayoutButton.setToolTipText("Auto-Layout");
-
- // Add the editor pane
- GridBagLayout gridbag = new GridBagLayout();
- setLayout(gridbag);
- GridBagConstraints c = new GridBagConstraints();
- c.gridx = 0;
- c.gridy = 1;
- c.fill = GridBagConstraints.BOTH;
- c.weighty = 2.0;
- c.weightx = 2.0;
- mSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, mEditorPanel, mPropertyPanel);
- mSplitPane.setDividerSize(5);
- gridbag.setConstraints(mSplitPane, c);
- add(mSplitPane);
- }
-
- protected void createListeners()
- {
- mLoadButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- File selectedFile = null;
-
- int returnValue = MainFrame.xmlChooser.showOpenDialog(null);
-
- switch (returnValue)
- {
- case JFileChooser.APPROVE_OPTION :
- selectedFile = MainFrame.xmlChooser.getSelectedFile();
- try {
- String newWf = FileStringUtility.file2String(selectedFile);
- setOutcome(newWf);
- setUpGraphEditor();
- } catch (Exception e) {
- Logger.exceptionDialog(e);
- }
- case JFileChooser.CANCEL_OPTION :
- case JFileChooser.ERROR_OPTION :
-
- default :
- }
- }
- });
-
- mLayoutButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- DefaultGraphLayoutGenerator.layoutGraph(mEditorPanel.mGraphModelManager.getModel());
- }
- });
- }
-
- public void setUpGraphEditor() {
- mEditorPanel.mGraphModelManager.setModel(mCompActDef.getChildrenGraphModel());
- // Give the editor panel the edge and vertex types
- mEditorPanel.updateVertexTypes(mCompActDef.getVertexTypeNameAndConstructionInfo());
- mEditorPanel.updateEdgeTypes(mCompActDef.getEdgeTypeNameAndConstructionInfo());
- mEditorPanel.enterSelectMode();
- mWfVertexDefFactory.setCreationContext(mCompActDef);
- }
-
- /**
- *
- */
- @Override
- public void setOutcome(String outcome) throws InvalidOutcomeException {
- try {
- CompositeActivityDef newAct = (CompositeActivityDef)CastorXMLUtility.unmarshall(outcome);
- if (mCompActDef != null)
- newAct.setName(mCompActDef.getName());
- mCompActDef = newAct;
- } catch (Exception ex) {
- Logger.error(ex);
- throw new InvalidOutcomeException(ex.getMessage());
- }
- }
- /**
- *
- */
- @Override
- public void setDescription(String description)
- throws InvalidSchemaException {
- // ignore - always the same
- }
- /**
- *
- */
- @Override
- public void setReadOnly(boolean readOnly) {
- mLayoutButton.setEnabled(!readOnly);
- mLoadButton.setEnabled(!readOnly);
- mEditorPanel.setEditable(!readOnly);
- mPropertyPanel.setEditable(!readOnly);
- }
- /**
- *
- */
- @Override
- public JPanel getPanel() throws OutcomeNotInitialisedException {
- return this;
- }
- /**
- *
- */
- @Override
- public String getOutcome() throws OutcomeException {
- try {
- return CastorXMLUtility.marshall(mCompActDef);
- } catch (Exception ex) {
- throw new OutcomeException(ex.getMessage());
- }
- }
- /**
- *
- */
- @Override
- public void run() {
- Thread.currentThread().setName("Composite Act Def Viewer");
- createLayout();
- createListeners();
- mPropertyPanel.setGraphModelManager(mEditorPanel.mGraphModelManager);
- setUpGraphEditor();
- }
-
- public VertexPropertyPanel loadPropertyPanel()
- {
- String wfPanelClass = Gateway.getProperty("WfPropertyPanel");
- if (wfPanelClass != null) {
- try {
- Class<?> panelClass = Class.forName(wfPanelClass);
- return (VertexPropertyPanel)panelClass.newInstance();
- } catch (Exception ex) {
- Logger.error("Could not load wf props panel:"+wfPanelClass);
- Logger.error(ex);
- }
- }
- return new VertexPropertyPanel();
- }
-
- @Override
- public boolean isUnsaved() {
- return unsaved;
- }
-
- @Override
- public void saved() {
- unsaved = false;
- }
-
- @Override
- public void export(File targetFile) throws Exception {
- ElemActDefOutcomeHandler.exportAct(targetFile.getParentFile(), mCompActDef);
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java b/source/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java
deleted file mode 100644
index c37e5a7..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/ElemActDefOutcomeHandler.java
+++ /dev/null
@@ -1,161 +0,0 @@
-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<compActDef.getChildren().length; i++) {
- 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);
- }
- GraphableVertex[] childDefs = compActDef.getLayoutableChildren();
- for (GraphableVertex childDef : childDefs) {
- if (childDef instanceof ActivitySlotDef)
- exportAct(dir, ((ActivitySlotDef)childDef).getTheActivityDef());
- }
- }
- }
-
- public static void exportScript(String name, String version, File dir) {
- if (name == null || name.length()==0) return;
- try {
- FileStringUtility.string2File(new File(dir, name+"_"+version+".xml"),
- LocalObjectLoader.getScript(name, 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, String version, File dir) {
- if (name == null || name.length()==0) return;
- try {
- FileStringUtility.string2File(new File(dir, name+"_"+version+".xsd"),
- LocalObjectLoader.getSchema(name, Integer.parseInt(version)).schema);
- } catch (Exception ex) {
- Logger.error(ex);
- JOptionPane.showMessageDialog(null, "Could not export schema "+name+"_"+version, "Error", JOptionPane.ERROR_MESSAGE);
- }
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/view/SplitJoinDefRenderer.java b/source/com/c2kernel/lifecycle/gui/view/SplitJoinDefRenderer.java
deleted file mode 100644
index 84be70c..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/SplitJoinDefRenderer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.c2kernel.lifecycle.gui.view;
-
-import java.awt.Color;
-import java.awt.FontMetrics;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.AndSplitDef;
-import com.c2kernel.lifecycle.JoinDef;
-import com.c2kernel.lifecycle.LoopDef;
-import com.c2kernel.lifecycle.OrSplitDef;
-import com.c2kernel.lifecycle.WfVertexDef;
-import com.c2kernel.lifecycle.XOrSplitDef;
-import com.c2kernel.utils.Language;
-
-
-public class SplitJoinDefRenderer implements VertexRenderer
-{
- private Paint mTextPaint = Color.black;
- private Paint mBoxPaint = new Color( 204, 204, 204 );
- private Paint mErrorPaint = new Color( 255, 50, 0 );
- private boolean mTextOffsetsNotInitialised = true;
- private int mTextYOffset = 0;
- private String mAndText = "And";
- private int mAndTextXOffset = 0;
- private String mOrText = "Or";
- private int mOrTextXOffset = 0;
- private String mXOrText = "XOr";
- private int mXOrTextXOffset = 0;
- private String mJoinText = "Join";
- private int mJoinTextXOffset = 0;
- private String mLoopText = "Loop";
- private int mLoopTextXOffset = 0;
- private String mRouteText = "";
- private int mRouteTextXOffset = 0;
- private String mXXXText = "XXX";
- private int mXXXTextXOffset = 0;
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- GraphPoint centrePoint = vertex.getCentrePoint();
- String text = null;
- int textXOffset = 0;
- int vertexHeight = vertex.getHeight();
- int vertexWidth = vertex.getWidth();
- boolean hasError = !((WfVertexDef)vertex).verify();
-
-
- if ( mTextOffsetsNotInitialised )
- {
- initialiseTextOffsets( g2d );
- mTextOffsetsNotInitialised = false;
- }
- if ( vertex instanceof LoopDef )
- {
- text = Language.translate(mLoopText);
- textXOffset = mLoopTextXOffset;
- }
- else if ( vertex instanceof XOrSplitDef )
- {
- text = Language.translate(mXOrText);
- textXOffset = mXOrTextXOffset;
- }
- else if ( vertex instanceof OrSplitDef )
- {
- text = Language.translate(mOrText);
- textXOffset = mOrTextXOffset;
- }
- else if ( vertex instanceof AndSplitDef )
- {
- text = Language.translate(mAndText);
- textXOffset = mAndTextXOffset;
- }
- else if ( vertex instanceof JoinDef)
- {
- String type= (String)((JoinDef)vertex).getProperties().get("Type");
- if (type!=null && type.equals("Route"))
- {
- text = mRouteText;
- textXOffset = mRouteTextXOffset;
- }
- else
- {
- text = Language.translate(mJoinText);
- textXOffset = mJoinTextXOffset;
- }
- }
- else
- {
- text = mXXXText;
- textXOffset = mXXXTextXOffset;
- }
-
-
- g2d.setPaint( hasError ? mErrorPaint : mBoxPaint );
- g2d.fillRect
- (
- centrePoint.x - vertexWidth / 2,
- centrePoint.y - vertexHeight / 2,
- vertexWidth,
- vertexHeight
- );
- g2d.setPaint( mTextPaint );
- g2d.drawRect
- (
- centrePoint.x - vertexWidth / 2,
- centrePoint.y - vertexHeight / 2,
- vertexWidth,
- vertexHeight
- );
- g2d.drawString( text, centrePoint.x - textXOffset, centrePoint.y + mTextYOffset );
- if (hasError) {
- g2d.setPaint( mErrorPaint );
- String errors = Language.translate(((WfVertexDef)vertex).getErrors());
- int errorWidth = g2d.getFontMetrics().stringWidth( errors );
- g2d.drawString( errors, centrePoint.x - ( errorWidth / 2), centrePoint.y + vertexHeight );
- }
- }
-
- private void initialiseTextOffsets( Graphics2D g2d )
- {
- FontMetrics metrics = g2d.getFontMetrics();
-
-
- mTextYOffset = metrics.getHeight() / 3;
- mAndTextXOffset = metrics.stringWidth( Language.translate(mAndText) ) / 2;
- mOrTextXOffset = metrics.stringWidth( Language.translate(mOrText) ) / 2;
- mXOrTextXOffset = metrics.stringWidth( Language.translate(mXOrText) ) / 2;
- mJoinTextXOffset = metrics.stringWidth( Language.translate(mJoinText) ) / 2;
- mLoopTextXOffset = metrics.stringWidth( Language.translate(mJoinText) ) / 2;
- mRouteTextXOffset = metrics.stringWidth( Language.translate(mRouteText) ) / 2;
- }
-}
-
diff --git a/source/com/c2kernel/lifecycle/gui/view/WfDirectedEdgeDefRenderer.java b/source/com/c2kernel/lifecycle/gui/view/WfDirectedEdgeDefRenderer.java
deleted file mode 100644
index 12df7a1..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/WfDirectedEdgeDefRenderer.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package com.c2kernel.lifecycle.gui.view;
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.Shape;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;
-
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.lifecycle.NextDef;
-public class WfDirectedEdgeDefRenderer implements DirectedEdgeRenderer
-{
- private GeneralPath mArrowTemplate = new GeneralPath();
- public WfDirectedEdgeDefRenderer()
- {
- mArrowTemplate.moveTo(-5, 5);
- mArrowTemplate.lineTo(0, 0);
- mArrowTemplate.lineTo(5, 5);
- }
- @Override
- public void draw(Graphics2D g2d, DirectedEdge directedEdge)
- {
- GraphPoint originPoint = directedEdge.getOriginPoint();
- GraphPoint terminusPoint = directedEdge.getTerminusPoint();
- GraphPoint midPoint = new GraphPoint();
- AffineTransform transform = new AffineTransform();
- Shape arrow = null;
- NextDef nextDef = (NextDef) directedEdge;
- boolean hasError = !nextDef.verify();
- String text = (String) nextDef.getProperties().get("Alias");
- g2d.setPaint(hasError ? Color.red : Color.black);
- if (("Broken +".equals(nextDef.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, originPoint.x, (originPoint.y + terminusPoint.y) / 2);
- g2d.drawLine(originPoint.x, (originPoint.y + terminusPoint.y) / 2, terminusPoint.x, (originPoint.y + terminusPoint.y) / 2);
- g2d.drawLine(terminusPoint.x, (originPoint.y + terminusPoint.y) / 2, terminusPoint.x, terminusPoint.y);
- midPoint.x = (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = (originPoint.y + terminusPoint.y) / 2;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(
- calcArrowAngle(
- originPoint.x,
- originPoint.x - terminusPoint.x > -5
- && originPoint.x - terminusPoint.x < 5 ? originPoint.y : (originPoint.y + terminusPoint.y) / 2,
- terminusPoint.x,
- originPoint.x - terminusPoint.x > -5
- && originPoint.x - terminusPoint.x < 5 ? terminusPoint.y : (originPoint.y + terminusPoint.y) / 2));
- }
- else if (("Broken -".equals(nextDef.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, terminusPoint.x, originPoint.y);
- g2d.drawLine(terminusPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y);
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? terminusPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : originPoint.y;
- transform.translate(midPoint.x, midPoint.y);
- transform
- .rotate(
- calcArrowAngle(
- arrowOnY ? terminusPoint.x : originPoint.x,
- arrowOnY ? originPoint.y : originPoint.y,
- arrowOnY ? terminusPoint.x : terminusPoint.x,
- arrowOnY ? terminusPoint.y : originPoint.y));
- }
- else if (("Broken |".equals(nextDef.getProperties().get("Type"))))
- {
- g2d.drawLine(originPoint.x, originPoint.y, originPoint.x, terminusPoint.y);
- g2d.drawLine(originPoint.x, terminusPoint.y, terminusPoint.x, terminusPoint.y);
- boolean arrowOnY = !(originPoint.y - terminusPoint.y < 60 && originPoint.y - terminusPoint.y > -60);
- midPoint.x = arrowOnY ? originPoint.x : (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = arrowOnY ? (originPoint.y + terminusPoint.y) / 2 : terminusPoint.y;
- transform.translate(midPoint.x, midPoint.y);
- transform
- .rotate(
- calcArrowAngle(
- arrowOnY ? terminusPoint.x : originPoint.x,
- arrowOnY ? originPoint.y : originPoint.y,
- arrowOnY ? terminusPoint.x : terminusPoint.x,
- arrowOnY ? terminusPoint.y : originPoint.y));
- }
- else
- {
- g2d.drawLine(originPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y);
- midPoint.x = originPoint.x + (terminusPoint.x - originPoint.x) / 2;
- midPoint.y = originPoint.y + (terminusPoint.y - originPoint.y) / 2;
- transform.translate(midPoint.x, midPoint.y);
- transform.rotate(calcArrowAngle(originPoint.x, originPoint.y, terminusPoint.x, terminusPoint.y));
- }
-
- arrow = mArrowTemplate.createTransformedShape(transform);
- g2d.draw(arrow);
- if (text != null)
- g2d.drawString(text, midPoint.x + 10, midPoint.y);
- }
- private static double calcArrowAngle(int originX, int originY, int terminusX, int terminusY)
- {
- double width = terminusX - originX;
- double height = terminusY - originY;
- if ((width == 0) && (height > 0))
- {
- return Math.PI;
- }
- if ((width == 0) && (height < 0))
- {
- return 0;
- }
- if ((width > 0) && (height == 0))
- {
- return Math.PI / 2.0;
- }
- if ((width < 0) && (height == 0))
- {
- return -1.0 * Math.PI / 2.0;
- }
- if ((width > 0) && (height > 0))
- {
- return Math.PI / 2.0 + Math.atan(Math.abs(height) / Math.abs(width));
- }
- if ((width > 0) && (height < 0))
- {
- return Math.atan(Math.abs(width) / Math.abs(height));
- }
- if ((width < 0) && (height < 0))
- {
- return -1.0 * Math.atan(Math.abs(width) / Math.abs(height));
- }
- if ((width < 0) && (height > 0))
- {
- return -1.0 * (Math.PI / 2.0 + Math.atan(Math.abs(height) / Math.abs(width)));
- }
- return 0.0;
- }
-}
diff --git a/source/com/c2kernel/lifecycle/gui/view/WfVertexDefRenderer.java b/source/com/c2kernel/lifecycle/gui/view/WfVertexDefRenderer.java
deleted file mode 100644
index 9199615..0000000
--- a/source/com/c2kernel/lifecycle/gui/view/WfVertexDefRenderer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.c2kernel.lifecycle.gui.view;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.ActivitySlotDef;
-import com.c2kernel.lifecycle.AndSplitDef;
-import com.c2kernel.lifecycle.JoinDef;
-
-public class WfVertexDefRenderer implements VertexRenderer
-{
- protected ActivitySlotDefRenderer mActivitySlotDefRenderer = new ActivitySlotDefRenderer();
- protected SplitJoinDefRenderer mSplitJoinDefRenderer = new SplitJoinDefRenderer();
-
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- if ( vertex instanceof ActivitySlotDef )
- {
- mActivitySlotDefRenderer.draw( g2d, vertex);
- }
- else if ( ( vertex instanceof AndSplitDef ) || ( vertex instanceof JoinDef ) )
- {
- mSplitJoinDefRenderer.draw( g2d, vertex);
- }
- }
-}
-