diff options
Diffstat (limited to 'src/main/java/com/c2kernel/gui/lifecycle')
22 files changed, 0 insertions, 2306 deletions
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/chooser/ActivityChooser.java b/src/main/java/com/c2kernel/gui/lifecycle/chooser/ActivityChooser.java deleted file mode 100644 index 32830f7..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/chooser/ActivityChooser.java +++ /dev/null @@ -1,194 +0,0 @@ -/*
- * Created on 1 sept. 2003
- *
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package com.c2kernel.gui.lifecycle.chooser;
-
-import java.awt.Container;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Image;
-import java.awt.Toolkit;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.HashMap;
-
-import javax.swing.BorderFactory;
-import javax.swing.Box;
-import javax.swing.BoxLayout;
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-
-import com.c2kernel.gui.ImageLoader;
-import com.c2kernel.utils.Language;
-import com.c2kernel.utils.Logger;
-
-/**
- * @author Developpement
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ActivityChooser extends JFrame
-{
- private LDAPFileChooser mLDAPFileChooserActivity = null;
-
- private JButton mButtonOK = null;
-
- private JButton mButtonCancel = null;
-
- private JPanel mJPanelVertical = null;
-
- private JPanel mJPanelHorizontal = null;
-
- private String mMessage = "Choose or modify";
-
- private WorkflowDialogue mParent = null;
-
- private JLabel label = null;
-
- HashMap<String, Object> mhashmap = null;
-
- public ActivityChooser(String message, String title, Image img, WorkflowDialogue parent, HashMap<String, Object> hashmap)
- {
- super(title);
- mMessage = message;
- img = ImageLoader.findImage("graph/newvertex_large.png").getImage();
- setIconImage(img);
- mParent = parent;
- mhashmap = hashmap;
- initialize();
- }
-
- private JButton getJButtonOK()
- {
- if (mButtonOK == null)
- mButtonOK = new JButton(Language.translate("OK"));
- return mButtonOK;
- }
-
- private JButton getJButtonCancel()
- {
- if (mButtonCancel == null)
- mButtonCancel = new JButton(Language.translate("Cancel"));
- return mButtonCancel;
- }
-
- private LDAPFileChooser getLDAPFileChooserActivity()
- {
- if (mLDAPFileChooserActivity == null)
- {
- try
- {
- mLDAPFileChooserActivity = new LDAPFileChooser(LDAPFileChooser.ACTIVITY_CHOOSER);
- mLDAPFileChooserActivity.setName("LDAPFileChooserRouting");
- mLDAPFileChooserActivity.setEditable(false);
- //mLDAPFileChooserActivity.setBounds(125, 13, 400, 19);
- } catch (Exception mExc)
- {
- Logger.error(mExc);
- }
- }
- return mLDAPFileChooserActivity;
- }
-
- private void initialize()
- {
- getJButtonOK().addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- Logger.debug(5, "mLDAPFileChooserActivity.getEntryName()" + mLDAPFileChooserActivity.getEntryName());
- setCursor(new Cursor(Cursor.WAIT_CURSOR));
- mParent.loadThisWorkflow(mLDAPFileChooserActivity.getEntryName(), mhashmap);
- setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
- close();
- }
- });
- getJButtonCancel().addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- close();
- }
- });
- //getContentPane().add(getJPanelVertical());
- Container contentPane = getContentPane();
- contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
- contentPane.add(getJPanelVertical());
- contentPane.add(getJPanelHorizontal());
- contentPane.add(Box.createGlue());
- Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
- setLocation((d.width - getWidth()) / 2, (d.height - getHeight()) / 2);
- setResizable(true);
- pack();
- setSize(new Dimension(getWidth(), getJButtonCancel().getHeight() + getLDAPFileChooserActivity().getHeight() + label.getHeight() + 100));
- setVisible(true);
- setVisible(true);
- }
-
- private void close()
- {
- mParent = null;
- this.setEnabled(false);
- this.setVisible(false);
- }
-
- private JPanel getJPanelVertical()
- {
- if (mJPanelVertical == null)
- {
- try
- {
- Logger.debug(8, "Panel button");
- mJPanelVertical = new JPanel();
- mJPanelVertical.setName("JPanelV");
- mJPanelVertical.setLayout(new BoxLayout(mJPanelVertical, BoxLayout.Y_AXIS));
- label = new JLabel(mMessage);
- JPanel labelP = new JPanel();
- labelP.setLayout(new BoxLayout(labelP, BoxLayout.X_AXIS));
- labelP.add(label);
- labelP.add(Box.createGlue());
- mJPanelVertical.add(labelP);
- mJPanelVertical.add(Box.createRigidArea(new Dimension(0, 5)));
- mJPanelVertical.add(getLDAPFileChooserActivity(), getLDAPFileChooserActivity().getName());
- //mJPanelVertical.add(Box.createRigidArea(new Dimension(0,
- // 10)));
- mJPanelVertical.add(Box.createGlue());
- mJPanelVertical.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
- mJPanelVertical.setVisible(true);
- } catch (java.lang.Throwable mExc)
- {
- //handleException(mExc);
- }
- }
- return mJPanelVertical;
- }
-
- private JPanel getJPanelHorizontal()
- {
- if (mJPanelHorizontal == null)
- {
- try
- {
- Logger.debug(8, "Panel button");
- mJPanelHorizontal = new JPanel();
- mJPanelHorizontal.setName("JPanelH");
- mJPanelHorizontal.setLayout(new BoxLayout(mJPanelHorizontal, BoxLayout.X_AXIS));
- mJPanelHorizontal.add(getJButtonOK(), getJButtonOK().getName());
- mJPanelHorizontal.add(Box.createRigidArea(new Dimension(10, 0)));
- mJPanelHorizontal.add(getJButtonCancel(), getJButtonCancel().getName());
- mJPanelHorizontal.setVisible(true);
- } catch (java.lang.Throwable mExc)
- {
- //handleException(mExc);
- }
- }
- return mJPanelHorizontal;
- }
-}
\ No newline at end of file diff --git a/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPEntryChooser.java b/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPEntryChooser.java deleted file mode 100644 index 7245618..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPEntryChooser.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.c2kernel.gui.lifecycle.chooser;
-/**
- * @version $Revision: 1.2 $ $Date: 2005/12/01 14:23:15 $
- * @author $Author: abranson $
- */
-
-import java.awt.Dimension;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-
-import javax.swing.JComboBox;
-
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.lookup.DomainPath;
-import com.c2kernel.process.Gateway;
-
-public class LDAPEntryChooser extends JComboBox
-{
-
- DomainPath mDomainPath = null;
- ArrayList<String> allItems = new ArrayList<String>();
-
- public LDAPEntryChooser(DomainPath domPath, boolean editable)
- {
- super();
- setEditable(editable);
- mDomainPath = domPath;
- initialise();
- }
-
- private void initialise()
- {
- try
- {
- Iterator<?> children = Gateway.getLookup().search(mDomainPath, "*");
- while (children.hasNext())
- {
- DomainPath domPath = (DomainPath)children.next();
- allItems.add(domPath.getName());
- }
- }
- catch (Exception ex)
- {
- MainFrame.exceptionDialog(ex);
- }
-
- Collections.sort(allItems);
- addItem("");
- for (String element : allItems) {
- addItem(element);
- }
-
- }
-
- public void reload()
- {
- removeAllItems();
- initialise();
- }
-
- @Override
- public synchronized Dimension getSize()
- {
- if (Gateway.getProperties().getInt("ResizeCombo") > 0)
- return new Dimension(super.getSize().width<400?400:super.getSize().width,super.getSize().height);
- return super.getSize();
- }
-
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPFileChooser.java b/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPFileChooser.java deleted file mode 100644 index 8901c17..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/chooser/LDAPFileChooser.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.c2kernel.gui.lifecycle.chooser;
-import java.awt.Dimension;
-import java.awt.event.ItemListener;
-
-import javax.swing.BoxLayout;
-import javax.swing.JPanel;
-
-import com.c2kernel.lookup.DomainPath;
-import com.c2kernel.persistency.ClusterStorage;
-import com.c2kernel.utils.Logger;
-
-//import fr.agilium.gui.tabs.wfPropertiesViewer.JPanelTabbedProperties;
-/**
- * @version $Revision: 1.2 $ $Date: 2005/06/27 15:16:12 $
- * @author $Author: abranson $
- */
-
-public class LDAPFileChooser extends JPanel
-{
- public static String SCRIPT_CHOOSER = "Script";
- public static String SCHEMA_CHOOSER = "Schema";
- public static String ACTIVITY_CHOOSER = "Activity";
- private String chooserMode = null;
- public LDAPEntryChooser mLec;
- private boolean mEditable = false;
- DomainPath domainPath;
- String itemQuery = null;
- boolean showversion = true;
-
- public LDAPFileChooser(String choose)
- {
- super();
- chooserMode = choose;
- initialise();
- }
-
- private void initialise()
- {
- if (chooserMode.equals(SCHEMA_CHOOSER))
- {
- itemQuery = ClusterStorage.VIEWPOINT + "/Schema/all";
- domainPath = new DomainPath("/desc/OutcomeDesc/");
- }
- else if (chooserMode.equals(SCRIPT_CHOOSER))
- {
- itemQuery = ClusterStorage.VIEWPOINT + "/Script/all";
- domainPath = new DomainPath("/desc/Script/");
- }
- else if (chooserMode.equals(ACTIVITY_CHOOSER))
- {
- domainPath = new DomainPath("/desc/ActivityDesc/");
- showversion = false;
- }
- else
- return;
- mLec = new LDAPEntryChooser(domainPath, mEditable);
-
- mLec.setPreferredSize(new Dimension(220, 19));
- mLec.setMaximumSize(new Dimension(3000, 22));
- mLec.setMinimumSize(new Dimension(50, 19));
- //mLec.getRenderer().getListCellRendererComponent();
-
- BoxLayout blyt = new BoxLayout(this, BoxLayout.X_AXIS);
- setLayout(blyt);
- add(mLec);
- mLec.setVisible(true);
- this.validate();
- this.setVisible(true);
-
- }
-
- public String getEntryName()
- {
- return (String) mLec.getSelectedItem();
- }
-
- public void addItemListener(ItemListener il)
- {
- mLec.addItemListener(il);
- }
- public void setSelectedItem(String name, String version)
- {
- Logger.debug(5,"setSelectedItem " + name + " " + version);
- if (name == null||name.equals("-1")) name="";
- mLec.setSelectedItem(name);
- }
-
- public void reload()
- {
- mLec.reload();
- }
-
- public void removeAllItems()
- {
- mLec.removeAllItems();
- }
-
- /**
- * @param b
- */
- public void setEditable(boolean b)
- {
- mEditable = b;
- mLec.setEditable(b);
- }
-
- @Override
- public void updateUI()
- {
- if (mLec!=null) mLec.updateUI();
- super.updateUI();
- }
-
- @Override
- public void setEnabled(boolean enabled)
- {
- mLec.setEnabled(enabled);
- }
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/chooser/WorkflowDialogue.java b/src/main/java/com/c2kernel/gui/lifecycle/chooser/WorkflowDialogue.java deleted file mode 100644 index 61b70b5..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/chooser/WorkflowDialogue.java +++ /dev/null @@ -1,20 +0,0 @@ -/*
- * Created on 2 sept. 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package com.c2kernel.gui.lifecycle.chooser;
-
-import java.util.HashMap;
-
-/**
- * @author Developpement
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public interface WorkflowDialogue
-{
- public void loadThisWorkflow(String name, HashMap<String, Object> mhashmap);
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/desc/ActivitySlotDefRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/ActivitySlotDefRenderer.java deleted file mode 100644 index 56cb44d..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/ActivitySlotDefRenderer.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-
-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.gui.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/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java deleted file mode 100644 index 87f4a9b..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/CompActDefOutcomeHandler.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-
-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.gui.ImageLoader;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.graph.view.EditorPanel;
-import com.c2kernel.gui.graph.view.VertexPropertyPanel;
-import com.c2kernel.gui.lifecycle.instance.FindActDefPanel;
-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.WfVertexDefOutlineCreator;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.FileStringUtility;
-import com.c2kernel.utils.Logger;
-
-/**************************************************************************
- *
- * $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(ImageLoader.findImage("graph/load.png"));
- protected JButton mLayoutButton = new JButton(ImageLoader.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 file");
- 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);
- revalidate();
- }
-
- 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) {
- MainFrame.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)Gateway.getMarshaller().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 {
- if (!mCompActDef.verify())
- throw new OutcomeException(mCompActDef.getErrors());
- try {
- return Gateway.getMarshaller().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.getProperties().getString("WfPropertyPanel");
- if (wfPanelClass != null) {
- try {
- return (VertexPropertyPanel)Gateway.getProperties().getInstance("WfPropertyPanel");
- } 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 {
- //Make sure module structure is present
- File parentDir = targetFile.getParentFile();
- FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/CA");
- FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/EA");
- FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/OD");
- FileStringUtility.createNewDir(parentDir.getAbsolutePath()+"/SC");
- BufferedWriter imports = new BufferedWriter(new FileWriter(new File(parentDir, mCompActDef.getActName()+"Imports.xml")));
- ElemActDefOutcomeHandler.exportAct(targetFile.getParentFile(), imports, mCompActDef);
- imports.close();
- }
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java deleted file mode 100644 index f02e2f7..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/ElemActDefOutcomeHandler.java +++ /dev/null @@ -1,227 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-
-import java.io.BufferedWriter;
-import java.io.File;
-
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.entity.agent.Job;
-import com.c2kernel.entity.proxy.ItemProxy;
-import com.c2kernel.graph.model.GraphableVertex;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.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.persistency.ClusterStorage;
-import com.c2kernel.persistency.outcome.Viewpoint;
-import com.c2kernel.process.Gateway;
-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)Gateway.getMarshaller().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 Gateway.getMarshaller().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(), null, act);
- }
-
- public static void exportAct(File dir, BufferedWriter imports, ActivityDef actDef) throws Exception {
-
- // Export associated schema
- exportSchema((String)actDef.getProperties().get("SchemaType"), actDef.getProperties().get("SchemaVersion"), imports, new File(dir, "OD"));
- // Export associated script
- 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"), 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) {
- if (childDef instanceof ActivitySlotDef) {
- if ("last".equals(childDef.getProperties().get("Version"))) {
- resolveRealVersion((ActivitySlotDef)childDef);
- }
- exportAct(dir, imports, ((ActivitySlotDef)childDef).getTheActivityDef());
- }
- }
- // export marshalled compAct
- FileStringUtility.string2File(new File(new File(dir, "CA"), compActDef.getActName()+".xml"), Gateway.getMarshaller().marshall(compActDef));
- if (imports!=null) {
- imports.write("<Resource name=\""+compActDef.getActName()+"\" "+(compActDef.getVersion()==-1?"":"version=\""+compActDef.getVersion()+"\" ")+"type=\"CA\">boot/CA/"+compActDef.getActName()+".xml</Resource>\n");
- }
- }
- else {
- FileStringUtility.string2File(new File(new File(dir, "EA"), actDef.getActName()+".xml"), Gateway.getMarshaller().marshall(actDef));
- if (imports!=null) imports.write("<Resource name=\""+actDef.getActName()+"\" "+(actDef.getVersion()==-1?"":"version=\""+actDef.getVersion()+"\" ")+"type=\"EA\">boot/EA/"+actDef.getActName()+".xml</Resource>\n");
- }
- }
-
- private static void resolveRealVersion(ActivitySlotDef childDef) throws ObjectNotFoundException {
- String defName = childDef.getActName();
- ItemProxy actDefItem = LocalObjectLoader.loadLocalObjectDef("/desc/ActivityDesc/", defName);
- String actType = actDefItem.getProperty("Complexity");
- Viewpoint last = actDefItem.getViewpoint( actType + "ActivityDef", "last");
- String[] viewpoints = actDefItem.getContents(ClusterStorage.VIEWPOINT+"/"+actType + "ActivityDef");
- for (String viewName : viewpoints) {
- try {
- Integer.parseInt(viewName);
- } catch (NumberFormatException e) {
- continue; // only count integer viewnames
- }
- Viewpoint thisView = actDefItem.getViewpoint(actType + "ActivityDef", viewName);
- if (thisView.getEventId() == last.getEventId()) {
- JOptionPane.showMessageDialog(null, defName+" defined as 'last'. Will use view "+viewName+" instead");
- childDef.getProperties().put("Version", viewName);
- return;
- }
- }
- JOptionPane.showMessageDialog(null, "Last view for "+defName+" has not been materialized. Executing CreateFromLast");
- try {
- Job createJob = actDefItem.getJobByName("AssignNewActivityVersionFromLast", MainFrame.userAgent);
- MainFrame.userAgent.execute(createJob);
- } catch (Exception e) {
- Logger.error(e);
- throw new ObjectNotFoundException("Could not create new version of "+defName+" from last");
- }
- resolveRealVersion(childDef);
- }
-
- 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, 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, 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, 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/lifecycle/desc/SplitJoinDefRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/SplitJoinDefRenderer.java deleted file mode 100644 index f756696..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/SplitJoinDefRenderer.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-
-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.gui.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/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDefGraphPanel.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDefGraphPanel.java deleted file mode 100644 index 7177a4d..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDefGraphPanel.java +++ /dev/null @@ -1,59 +0,0 @@ -/*Created on 21 nov. 2003 */
-package com.c2kernel.gui.lifecycle.desc;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.gui.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.gui.graph.view.GraphPanel;
-import com.c2kernel.gui.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/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDirectedEdgeDefRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDirectedEdgeDefRenderer.java deleted file mode 100644 index 695934b..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/WfDirectedEdgeDefRenderer.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-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.gui.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/src/main/java/com/c2kernel/gui/lifecycle/desc/WfEdgeDefFactory.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/WfEdgeDefFactory.java deleted file mode 100644 index 082a4a2..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/WfEdgeDefFactory.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-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/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefFactory.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefFactory.java deleted file mode 100644 index f08f916..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefFactory.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-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.gui.ImageLoader;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.lifecycle.chooser.ActivityChooser;
-import com.c2kernel.gui.lifecycle.chooser.WorkflowDialogue;
-import com.c2kernel.lifecycle.ActivityDef;
-import com.c2kernel.lifecycle.CompositeActivityDef;
-import com.c2kernel.utils.Language;
-import com.c2kernel.utils.LocalObjectLoader;
-import com.c2kernel.utils.Logger;
-public class WfVertexDefFactory implements VertexFactory, WorkflowDialogue
-{
- protected CompositeActivityDef mCompositeActivityDef = null;
- @Override
- public void create(GraphModelManager graphModelManager, GraphPoint 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, Object> mhm = new HashMap<String, Object>();
- 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"),
- ImageLoader.findImage("graph/newvertex_large.png").getImage(),
- this,
- mhm);
- a.setVisible(true);
- }
- else
- mCompositeActivityDef.newChild("", vertexTypeId, location);
- }
- }
- @Override
- public void loadThisWorkflow(String newName, HashMap<String, Object> hashMap)
- {
- String vertexTypeId = (String) hashMap.get("P1");
- GraphPoint location = (GraphPoint) 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,
- ImageLoader.findImage("graph/newvertex_large.png"),
- null,
- null);
- act = (ActivityDef) mCompositeActivityDef.search(mCompositeActivityDef.getID() + "/" + newName);
- mCompositeActivityDef.addExistingActivityDef(unicName, act, location);
- }
- else
- {
- try
- {
- act = LocalObjectLoader.getActDef(newName, 0);
- }
- catch (Exception ex)
- {
- MainFrame.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/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefRenderer.java deleted file mode 100644 index 6ba6c49..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/desc/WfVertexDefRenderer.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.c2kernel.gui.lifecycle.desc;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.gui.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);
- }
- }
-}
-
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/ActivityRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/ActivityRenderer.java deleted file mode 100644 index a13d610..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/ActivityRenderer.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-import java.awt.Color;
-import java.awt.FontMetrics;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-import java.awt.Polygon;
-
-import com.c2kernel.common.GTimeStamp;
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.gui.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.utils.DateUtility;
-import com.c2kernel.utils.Language;
-public class ActivityRenderer implements VertexRenderer
-{
- private Paint mActivePaint = new Color(100, 255, 100);
- private Paint mActiveCompPaint = new Color(100, 255, 255);
- private Paint mInactivePaint = new Color(255, 255, 255);
- private Paint mInactiveCompPaint = new Color(200, 200, 255);
- private Paint mErrorPaint = new Color(255, 50, 0);
- private Paint mTextPaint = Color.black;
- @Override
- public void draw(Graphics2D g2d, Vertex vertex)
- {
- Activity activity = (Activity) vertex;
- boolean active = activity.getActive();
- boolean hasError = !activity.verify();
- boolean isComposite = activity.getIsComposite();
- GraphPoint centrePoint = activity.getCentrePoint();
- //String description = activity.getDescription();
- String[] linesOfText = new String[3];
- linesOfText[0] = "(" + activity.getType() + ")";
- linesOfText[1] = activity.getName();
- if (hasError)
- linesOfText[2] = Language.translate(activity.getErrors());
- else
- {
- boolean showTime = activity.getActive() && ((Boolean) activity.getProperties().get("Show time")).booleanValue();
- String stateName = "Invalid State";
- try {
- stateName = activity.getStateName();
- } catch (InvalidDataException ex) { }
-
- linesOfText[2] =
- Language.translate(stateName) + (showTime ? " " + getWaitTime(activity.getStateDate()) : "");
- }
-
- 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;
- GraphPoint[] outline = vertex.getOutlinePoints();
- Paint actColour;
- if (hasError)
- actColour = mErrorPaint;
- else if (active)
- if (isComposite)
- actColour = mActiveCompPaint;
- else
- actColour = mActivePaint;
- else if (isComposite)
- actColour = mInactiveCompPaint;
- else
- actColour = mInactivePaint;
- g2d.setPaint(actColour);
- //g2d.fill3DRect( centrePoint.x - mSize.width / 2, centrePoint.y - mSize.height / 2, mSize.width, mSize.height, true );
- g2d.fill(graphPointsToPolygon(outline));
- g2d.setPaint(mTextPaint);
- for (i = 0; i < linesOfText.length; i++)
- {
- lineWidth = metrics.stringWidth(linesOfText[i]);
- x = centrePoint.x - lineWidth / 2;
- y = linesStartY + i * lineHeight;
- g2d.drawString(linesOfText[i], x, y);
- }
- }
- private static Polygon graphPointsToPolygon(GraphPoint[] points)
- {
- Polygon polygon = new Polygon();
- int i = 0;
- for (i = 0; i < points.length; i++)
- {
- polygon.addPoint(points[i].x, points[i].y);
- }
- return polygon;
- }
- private static String getWaitTime(GTimeStamp date)
- {
- GTimeStamp now = new GTimeStamp();
- DateUtility.setToNow(now);
- long diff = DateUtility.diff(now, date);
- long secondes = diff % 60;
- long minutes = (diff / 60) % 60;
- long hours = (diff / 3600) % 24;
- long days = (diff / 3600 / 24);
- if (days > 0)
- return days + " " + Language.translate("d") + " " + hours + " " + Language.translate("h");
- if (hours > 0)
- return hours + " " + Language.translate("h") + " " + minutes + " " + Language.translate("min");
- if (minutes > 0)
- return minutes + " " + Language.translate("min");
- return secondes + " " + Language.translate("sec");
- }
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/FindActDefPanel.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/FindActDefPanel.java deleted file mode 100644 index 233dbf2..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/FindActDefPanel.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Iterator;
-
-import javax.swing.JButton;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.graph.view.SelectedVertexPanel;
-import com.c2kernel.lifecycle.ActivitySlotDef;
-import com.c2kernel.lookup.DomainPath;
-import com.c2kernel.lookup.Path;
-import com.c2kernel.process.Gateway;
-
-/**************************************************************************
- *
- * $Revision: 1.3 $
- * $Date: 2005/12/01 14:23:15 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class FindActDefPanel extends SelectedVertexPanel {
-
- JButton findButton;
- ActivitySlotDef currentAct;
-
- public FindActDefPanel() {
- super();
- findButton = new JButton("Open Definition");
- findButton.setEnabled(false);
- add(findButton);
- findButton.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- Iterator<Path> acts = Gateway.getLookup().search(new DomainPath("/desc/ActivityDesc/"), currentAct.getActivityDef());
- if (acts.hasNext()) MainFrame.treeBrowser.push((DomainPath)acts.next());
- }
- });
- }
-
- /**
- *
- */
-
- @Override
- public void select(Vertex vert) {
- if (vert instanceof ActivitySlotDef) {
- findButton.setEnabled(true);
- currentAct = (ActivitySlotDef)vert;
- }
- else
- clear();
-
- }
-
- /**
- *
- */
-
- @Override
- public void clear() {
- findButton.setEnabled(false);
- currentAct = null;
- }
-
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/SplitJoinRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/SplitJoinRenderer.java deleted file mode 100644 index 3152772..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/SplitJoinRenderer.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-
-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.gui.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.AndSplit;
-import com.c2kernel.lifecycle.instance.Join;
-import com.c2kernel.lifecycle.instance.Loop;
-import com.c2kernel.lifecycle.instance.OrSplit;
-import com.c2kernel.lifecycle.instance.WfVertex;
-import com.c2kernel.lifecycle.instance.XOrSplit;
-import com.c2kernel.utils.Language;
-
-public class SplitJoinRenderer implements VertexRenderer
-{
- private Paint mTextPaint = Color.black;
- private Paint mBoxPaint = new Color( 204, 204, 204 );
- private Paint mErrorPaint = new Color( 255, 0, 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 mLoopText = "Loop";
- private int mLoopTextXOffset = 0;
- private String mXOrText = "XOr";
- private int mXOrTextXOffset = 0;
- private String mJoinText = "Join";
- private int mJoinTextXOffset = 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();
-
-
- if ( mTextOffsetsNotInitialised )
- {
- initialiseTextOffsets( g2d );
- mTextOffsetsNotInitialised = false;
- }
- if ( vertex instanceof AndSplit )
- {
- text = Language.translate(mAndText);
- textXOffset = mAndTextXOffset;
- }
- else if ( vertex instanceof OrSplit )
- {
- text = Language.translate(mOrText);
- textXOffset = mOrTextXOffset;
- }
- else if ( vertex instanceof Loop )
- {
- text = Language.translate(mLoopText);
- textXOffset = mLoopTextXOffset;
- }
- else if ( vertex instanceof XOrSplit )
- {
- text = Language.translate(mXOrText);
- textXOffset = mXOrTextXOffset;
- }
- else if ( vertex instanceof Join )
- {
- text = Language.translate(mJoinText);
- textXOffset = mJoinTextXOffset;
- }
- else if ( vertex instanceof Join)
- {
- String type= (String)((Join)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;
- }
-
- boolean hasErrors = ((WfVertex)vertex).verify();
- g2d.setPaint( hasErrors ? mBoxPaint : mErrorPaint );
- 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 (!hasErrors) {
- g2d.setPaint( mErrorPaint );
- String errors = Language.translate(((WfVertex)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(mLoopText) ) / 2;
- }
-}
-
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/TransitionPanel.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/TransitionPanel.java deleted file mode 100644 index f9a1a81..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/TransitionPanel.java +++ /dev/null @@ -1,214 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Map;
-
-import javax.swing.Box;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.entity.agent.Job;
-import com.c2kernel.entity.proxy.ItemProxy;
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.gui.MainFrame;
-import com.c2kernel.gui.graph.view.SelectedVertexPanel;
-import com.c2kernel.gui.tabs.ItemTabPane;
-import com.c2kernel.gui.tabs.execution.Executor;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.stateMachine.State;
-import com.c2kernel.lifecycle.instance.stateMachine.StateMachine;
-import com.c2kernel.lifecycle.instance.stateMachine.Transition;
-import com.c2kernel.utils.Logger;
-
-/**************************************************************************
- *
- * $Revision: 1.8 $
- * $Date: 2005/09/07 13:46:31 $
- *
- * Copyright (C) 2003 CERN - European Organization for Nuclear Research
- * All rights reserved.
- **************************************************************************/
-
-public class TransitionPanel extends SelectedVertexPanel implements ActionListener {
- protected Activity mCurrentAct;
- protected GridBagLayout gridbag;
- protected GridBagConstraints c;
- protected Box transBox;
- protected JComboBox executors;
- protected JComboBox states = new JComboBox();
- protected JCheckBox active = new JCheckBox();
- protected JLabel status = new JLabel();
- protected ItemProxy mItem;
-
- public TransitionPanel() {
- super();
- gridbag = new GridBagLayout();
- setLayout(gridbag);
- c = new GridBagConstraints();
- c.gridx=0; c.gridy=0;
- c.weightx=1; c.weighty=0;
- c.fill=GridBagConstraints.HORIZONTAL;
-
- JLabel title = new JLabel("Available Transitions");
- title.setFont(ItemTabPane.titleFont);
- gridbag.setConstraints(title, c);
- add(title);
-
- c.gridy++;
- gridbag.setConstraints(status, c);
- add(status);
- c.gridy++;
-
- transBox = Box.createHorizontalBox();
- gridbag.setConstraints(transBox, c);
- add(transBox);
-
- c.weightx=0; c.gridx++;
- executors = MainFrame.getExecutionPlugins();
- if (executors.getItemCount() > 1) {
- gridbag.setConstraints(executors, c);
- add(executors);
- }
-
-
-
- if (MainFrame.isAdmin) {
- c.gridx=0; c.gridy++;
- title = new JLabel("State Hacking");
- title.setFont(ItemTabPane.titleFont);
- gridbag.setConstraints(title, c);
- add(title);
- Box hackBox = Box.createHorizontalBox();
- hackBox.add(states);
- hackBox.add(Box.createHorizontalGlue());
- hackBox.add(new JLabel("Active:"));
- hackBox.add(active);
- c.gridy++;
- gridbag.setConstraints(hackBox, c);
- add(hackBox);
- states.addActionListener(this);
- active.addActionListener(this);
- }
-
- clear();
-
- }
- /**
- *
- */
- @Override
- public void select(Vertex vert) {
- clear();
- if (!(vert instanceof Activity)) return;
- mCurrentAct = (Activity)vert;
- StateMachine sm;
- try {
- sm = mCurrentAct.getStateMachine();
- } catch (InvalidDataException e) {
- status.setText("Invalid state machine.");
- Logger.error(e);
- return;
- }
- states.removeAllItems();
- int currentState;
- try {
- currentState = mCurrentAct.getState();
- } catch (InvalidDataException e) {
- status.setText("Could not find activity state");
- Logger.error(e);
- return;
- }
- for (State thisState : sm.getStates()) {
- states.addItem(thisState);
- if (currentState == thisState.getId())
- states.setSelectedItem(thisState);
- }
- states.setEnabled(true);
- active.setSelected(mCurrentAct.active);
- active.setEnabled(true);
- Logger.msg(1, "Retrieving possible transitions for activity "+mCurrentAct.getName());
- Map<Transition, String> transitions;
- try {
- transitions = mCurrentAct.getStateMachine().getPossibleTransitions(mCurrentAct, MainFrame.userAgent.getPath());
- } catch (Exception e) {
- status.setText("Error loading possible transitions of activity. See log.");
- Logger.error(e);
- return;
- }
-
- if (transitions.size() == 0) {
- status.setText("None");
- return;
- }
-
- for (Transition trans:transitions.keySet()) {
- boolean hasOutcome = trans.hasOutcome(mCurrentAct.getProperties());
- if (!hasOutcome || (hasOutcome && !trans.getOutcome().isRequired())) {
- JButton thisTrans = new JButton(trans.getName());
- thisTrans.setActionCommand("Trans:"+trans.getId());
- thisTrans.addActionListener(this);
- transBox.add(thisTrans);
- transBox.add(Box.createHorizontalGlue());
- }
- status.setText(transitions.size()+" transitions possible.");
- }
- revalidate();
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == active && mCurrentAct != null) {
- mCurrentAct.active = active.isSelected();
- return;
- }
- if (e.getSource() == states && mCurrentAct != null) {
- mCurrentAct.setState(states.getSelectedIndex());
- return;
- }
- if (!e.getActionCommand().startsWith("Trans:")) return;
- int transition = Integer.parseInt(e.getActionCommand().substring(6));
- Logger.msg("Requesting transition "+transition);
- try {
- StateMachine actSM = mCurrentAct.getStateMachine();
- Job thisJob = new Job(mCurrentAct,
- mItem.getPath(),
- actSM.getTransition(transition),
- MainFrame.userAgent.getPath(),
- "Admin");
- Executor selectedExecutor = (Executor)executors.getSelectedItem();
- selectedExecutor.execute(thisJob, status);
- } catch (Exception ex) {
- String className = ex.getClass().getName();
- className = className.substring(className.lastIndexOf('.')+1);
- Logger.error(ex);
- JOptionPane.showMessageDialog(null, ex.getMessage(), className, JOptionPane.ERROR_MESSAGE);
- }
-
- }
-
- @Override
- public void clear() {
- mCurrentAct = null;
- transBox.removeAll();
- status.setText("No activity selected");
- states.setEnabled(false);
- active.setSelected(false);
- active.setEnabled(false);
- revalidate();
- }
-
-
- /**
- * @param item The mItem to set.
- */
- public void setItem(ItemProxy item) {
- mItem = item;
- }
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfDirectedEdgeRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/WfDirectedEdgeRenderer.java deleted file mode 100644 index 484b2fc..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfDirectedEdgeRenderer.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-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.gui.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.lifecycle.instance.Next;
-public class WfDirectedEdgeRenderer implements DirectedEdgeRenderer
-{
- private GeneralPath mArrowTemplate = new GeneralPath();
- public WfDirectedEdgeRenderer()
- {
- 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;
- Next next = (Next) directedEdge;
- String text = (String) next.getProperties().get("Alias");
- g2d.setPaint(Color.black);
- if (("Broken +".equals(next.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(next.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(next.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/src/main/java/com/c2kernel/gui/lifecycle/instance/WfEdgeFactory.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/WfEdgeFactory.java deleted file mode 100644 index 06f7462..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfEdgeFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-
-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.instance.WfVertex;
-
-public class WfEdgeFactory implements EdgeFactory
-{
- @Override
- public void create
- (
- GraphModelManager graphModelManager,
- Vertex origin,
- Vertex terminus,
- TypeNameAndConstructionInfo typeNameAndConstructionInfo
- )
- {
- if ( validCreation( graphModelManager, origin, terminus ) )
- ((WfVertex)origin).addNext((WfVertex)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/src/main/java/com/c2kernel/gui/lifecycle/instance/WfGraphPanel.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/WfGraphPanel.java deleted file mode 100644 index 91257cb..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfGraphPanel.java +++ /dev/null @@ -1,59 +0,0 @@ -/*Created on 21 nov. 2003 */
-package com.c2kernel.gui.lifecycle.instance;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.DirectedEdge;
-import com.c2kernel.graph.model.GraphPoint;
-import com.c2kernel.gui.graph.view.DirectedEdgeRenderer;
-import com.c2kernel.gui.graph.view.GraphPanel;
-import com.c2kernel.gui.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.Next;
-
-/** @author XSeb74*/
-public class WfGraphPanel extends GraphPanel
-{
- public WfGraphPanel(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(((Next)edge).getProperties().get("Type")) || ((Next)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(((Next)edge).getProperties().get("Type"))))
- {
- midPoint.x = (originPoint.x + terminusPoint.x) / 2;
- midPoint.y = (originPoint.y + terminusPoint.y) / 2;
- }
- else if (("Broken -".equals(((Next)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(((Next)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/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexFactory.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexFactory.java deleted file mode 100644 index 91a0837..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexFactory.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-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.gui.ImageLoader;
-import com.c2kernel.gui.lifecycle.chooser.ActivityChooser;
-import com.c2kernel.gui.lifecycle.chooser.WorkflowDialogue;
-import com.c2kernel.lifecycle.ActivityDef;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.CompositeActivity;
-import com.c2kernel.utils.Language;
-import com.c2kernel.utils.LocalObjectLoader;
-public class WfVertexFactory implements VertexFactory, WorkflowDialogue
-{
- protected CompositeActivity mRootAct = null;
- @Override
- public void create(GraphModelManager graphModelManager, GraphPoint location, TypeNameAndConstructionInfo typeNameAndConstructionInfo)
- {
- String vertexTypeId = null;
- if (mRootAct != null && typeNameAndConstructionInfo.mInfo instanceof String)
- {
- vertexTypeId = (String) typeNameAndConstructionInfo.mInfo;
- if (vertexTypeId.equals("Atomic") || vertexTypeId.equals("Composite"))
- {
- HashMap<String, Object> mhm = new HashMap<String, Object>();
- mhm.put("P1", vertexTypeId);
- mhm.put("P2", location);
- //************************************************
- ActivityChooser a =
- new ActivityChooser(
- Language.translate("Please enter a Type for the new activity"),
- Language.translate("New " + vertexTypeId + " Activity"),
- ImageLoader.findImage("graph/newvertex_large.png").getImage(),
- this,
- mhm);
- a.setVisible(true);
- }
- else
- mRootAct.newChild(vertexTypeId, location);
- }
- }
- @Override
- public void setCreationContext(Object newContext)
- {
- if (newContext != null && newContext instanceof CompositeActivity)
- mRootAct = (CompositeActivity) newContext;
- }
- @Override
- public void loadThisWorkflow(String newName, HashMap<String, Object> hashMap)
- {
- String vertexTypeId = (String) hashMap.get("P1");
- GraphPoint location = (GraphPoint) hashMap.get("P2");
- if (newName == null)
- return;
-
-
- String unicName = newName;
- while (mRootAct.search(mRootAct.getPath() + "/" + unicName) != null)
- {
- unicName =
- (String) JOptionPane.showInputDialog(
- null,
- Language.translate("Activity name not unique. Please give another."),
- Language.translate("New " + vertexTypeId + " Activity"),
- JOptionPane.QUESTION_MESSAGE,
- ImageLoader.findImage("graph/newvertex_large.png"),
- null,
- null);
- if (newName.equals(""))
- return;
- }
- Activity act = null;
- try
- {
- ActivityDef actD = LocalObjectLoader.getActDef(newName, 0);
- act = (Activity)actD.instantiate(unicName);
- }
- catch (Exception e)
- {
- }
- if (act == null)
- mRootAct.newChild(unicName, vertexTypeId, location);
- else
- mRootAct.newExistingChild(act, unicName, location);
- }
-}
diff --git a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexRenderer.java b/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexRenderer.java deleted file mode 100644 index 07a4e29..0000000 --- a/src/main/java/com/c2kernel/gui/lifecycle/instance/WfVertexRenderer.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.c2kernel.gui.lifecycle.instance;
-
-import java.awt.Graphics2D;
-
-import com.c2kernel.graph.model.Vertex;
-import com.c2kernel.gui.graph.view.VertexRenderer;
-import com.c2kernel.lifecycle.instance.Activity;
-import com.c2kernel.lifecycle.instance.Join;
-import com.c2kernel.lifecycle.instance.Split;
-
-public class WfVertexRenderer implements VertexRenderer
-{
- protected ActivityRenderer mActivityRenderer = new ActivityRenderer();
- protected SplitJoinRenderer mSplitJoinRenderer = new SplitJoinRenderer();
-
- @Override
- public void draw( Graphics2D g2d, Vertex vertex)
- {
- if ( vertex instanceof Activity ) { mActivityRenderer.draw( g2d, vertex); }
- else if ( ( vertex instanceof Split ) || ( vertex instanceof Join ) ) { mSplitJoinRenderer.draw( g2d, vertex ); }
- }
-}
-
|
