Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor')
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java878
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java140
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java194
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java124
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java66
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java94
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java96
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java90
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java74
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java68
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java68
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java260
12 files changed, 1076 insertions, 1076 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
index 1313ab362c1..f7d39e6df76 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditor.java
@@ -1,440 +1,440 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor;
-
-import java.util.Arrays;
-import java.util.EventObject;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
-import org.eclipse.gef.dnd.TemplateTransferDropTargetListener;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.gef.requests.SimpleFactory;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.gef.ui.parts.ContentOutlinePage;
-import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.gef.ui.parts.TreeViewer;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.TransferDropTargetListener;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver;
-import org.eclipse.osee.ats.workflow.AtsWorkPage;
-import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
-import org.eclipse.osee.ats.workflow.editor.model.CancelledWorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.CompletedWorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.DefaultTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.TransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
-import org.eclipse.osee.ats.workflow.editor.parts.ShapesEditPartFactory;
-import org.eclipse.osee.ats.workflow.editor.parts.ShapesTreeEditPartFactory;
-import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.event.FrameworkTransactionData;
-import org.eclipse.osee.framework.skynet.core.event.IFrameworkTransactionEventListener;
-import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
-import org.eclipse.osee.framework.skynet.core.event.Sender;
-import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener;
-import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.plugin.util.Result;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * A graphical editor for the configuration of ATS workflows<br>
- * <REM2>
- *
- * @author Donald G. Dunne
- */
-public class AtsWorkflowConfigEditor extends GraphicalEditorWithFlyoutPalette implements IArtifactEventListener, IFrameworkTransactionEventListener {
-
- /** This is the root of the editor's model. */
- private WorkflowDiagram diagram;
- /** Palette component, holding the tools and shapes. */
- private static PaletteRoot PALETTE_MODEL;
- public static String EDITOR_ID = "org.eclipse.osee.ats.workflow.editor.AtsWorkflowConfigEditor";
-
- /** Create a new ShapesEditor instance. This is called by the Workspace. */
- public AtsWorkflowConfigEditor() {
- setEditDomain(new DefaultEditDomain(this));
- OseeEventManager.addListener(this);
- }
-
- /**
- * Configure the graphical viewer before it receives contents.
- * <p>
- * This is the place to choose an appropriate RootEditPart and EditPartFactory for your editor. The RootEditPart
- * determines the behavior of the editor's "work-area". For example, GEF includes zoomable and scrollable root edit
- * parts. The EditPartFactory maps model elements to edit parts (controllers).
- * </p>
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
- */
- @Override
- protected void configureGraphicalViewer() {
- super.configureGraphicalViewer();
-
- GraphicalViewer viewer = getGraphicalViewer();
- viewer.setEditPartFactory(new ShapesEditPartFactory());
- viewer.setRootEditPart(new ScalableFreeformRootEditPart());
- viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
-
- // configure the context menu provider
- ContextMenuProvider cmProvider = new AtsWorkflowConfigEditorContextMenuProvider(viewer, getActionRegistry());
- viewer.setContextMenu(cmProvider);
- getSite().registerContextMenu(cmProvider, viewer);
- AtsPlugin.getInstance().setHelp(viewer.getControl(), "atsConfigureWorkflow", "org.eclipse.osee.ats.help.ui");
-
- }
-
- @Override
- public void commandStackChanged(EventObject event) {
- firePropertyChange(IEditorPart.PROP_DIRTY);
- super.commandStackChanged(event);
- }
-
- @Override
- protected PaletteViewerProvider createPaletteViewerProvider() {
- return new PaletteViewerProvider(getEditDomain()) {
- @Override
- protected void configurePaletteViewer(PaletteViewer viewer) {
- super.configurePaletteViewer(viewer);
- // create a drag source listener for this palette viewer
- // together with an appropriate transfer drop target listener, this will enable
- // model element creation by dragging a CombinatedTemplateCreationEntries
- // from the palette into the editor
- // @see ShapesEditor#createTransferDropTargetListener()
- viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
- }
- };
- }
-
- /**
- * Create a transfer drop target listener. When using a CombinedTemplateCreationEntry tool in the palette, this will
- * enable model element creation by dragging from the palette.
- *
- * @see #createPaletteViewerProvider()
- */
- private TransferDropTargetListener createTransferDropTargetListener() {
- return new TemplateTransferDropTargetListener(getGraphicalViewer()) {
- @Override
- protected CreationFactory getFactory(Object template) {
- return new SimpleFactory((Class<?>) template);
- }
- };
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- try {
- SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Configuration Editor Save");
- Result result = diagram.doSave(transaction);
- if (result.isFalse()) {
- AWorkbench.popup("Save Error", result.getText());
- return;
- }
- transaction.execute();
- diagram.getWorkFlowDefinition().loadPageData(true);
- getCommandStack().markSaveLocation();
-
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
- @Override
- public void doSaveAs() {
- AWorkbench.popup("ERROR", "Not implemented yet");
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public Object getAdapter(Class type) {
- if (type == IContentOutlinePage.class) {
- return new ShapesOutlinePage(new TreeViewer());
- }
- return super.getAdapter(type);
- }
-
- WorkflowDiagram getModel() {
- return diagram;
- }
-
- @Override
- protected PaletteRoot getPaletteRoot() {
- if (PALETTE_MODEL == null) {
- PALETTE_MODEL = AtsWorkflowConfigEditorPaletteFactory.createPalette(this);
- }
- return PALETTE_MODEL;
- }
-
- /**
- * Set up the editor's inital content (after creation).
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#initializeGraphicalViewer()
- */
- @Override
- protected void initializeGraphicalViewer() {
- super.initializeGraphicalViewer();
- GraphicalViewer viewer = getGraphicalViewer();
- viewer.setContents(getModel()); // set the contents of this editor
-
- // listen for dropped parts
- viewer.addDropTargetListener(createTransferDropTargetListener());
- createActions();
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected void createActions() {
- super.createActions();
- ActionRegistry registry = getActionRegistry();
- IAction action;
-
- action = new EditAction();
- registry.registerAction(action);
- getStackActions().add(action.getId());
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return true;
- }
-
- @Override
- protected void setInput(IEditorInput input) {
- super.setInput(input);
- if (input instanceof AtsWorkflowConfigEditorInput) {
- AtsWorkflowConfigEditorInput editorInput = (AtsWorkflowConfigEditorInput) input;
- WorkFlowDefinition workflowDef = editorInput.workflow;
- try {
- setPartName(workflowDef.getName());
- diagram = new WorkflowDiagram(workflowDef);
- int yLoc = 0;
- WorkPageDefinition startPage = workflowDef.getStartPage();
- if (startPage == null || startPage.getName().equals("")) {
- throw new OseeArgumentException("StartPage null for workflow " + workflowDef);
- }
- // Create states
- List<WorkPageDefinition> pages = workflowDef.getPagesOrdered();
- for (WorkPageDefinition page : workflowDef.getPages()) {
- if (!pages.contains(page)) {
- pages.add(page);
- }
- }
- for (WorkPageDefinition pageDef : pages) {
- WorkPageShape pageShape = null;
- if (pageDef.isCancelledPage()) {
- pageShape = new CancelledWorkPageShape(pageDef);
- pageShape.setLocation(new Point(250, 300));
- } else if (pageDef.isCompletePage()) {
- pageShape = new CompletedWorkPageShape(pageDef);
- pageShape.setLocation(new Point(50, yLoc += 90));
- } else {
- pageShape = new WorkPageShape(pageDef);
- pageShape.setLocation(new Point(50, yLoc += 90));
- }
- pageShape.setStartPage(startPage.getId().equals(pageShape.getId()) || pageShape.getId().endsWith(
- startPage.getId()));
- diagram.addChild(pageShape);
- }
-
- // Create transitions
- for (WorkPageDefinition workPageDefinition : workflowDef.getPagesOrdered()) {
- WorkPageShape pageShape = getWorkPageShape(workPageDefinition);
- AtsWorkPage atsWorkPage =
- new AtsWorkPage(workflowDef, workPageDefinition, null, ATSXWidgetOptionResolver.getInstance());
- // Handle to pages
- Set<WorkPageDefinition> toPages = new HashSet<WorkPageDefinition>();
- toPages.addAll(atsWorkPage.getToPages());
- List<WorkPageDefinition> returnPages = atsWorkPage.getReturnPages();
- for (WorkPageDefinition toPageDef : toPages) {
- // Don't want to show return pages twice
- if (returnPages.contains(toPageDef)) {
- continue;
- }
- WorkPageShape toPageShape = getWorkPageShape(toPageDef);
- if (toPageDef.equals(atsWorkPage.getDefaultToPage())) {
- new DefaultTransitionConnection(pageShape, toPageShape);
- // System.out.println("Default: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- } else {
- new TransitionConnection(pageShape, toPageShape);
- // System.out.println("To: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- }
- }
- // Handle return pages
- for (WorkPageDefinition toPageDef : returnPages) {
- WorkPageShape toPageShape = getWorkPageShape(toPageDef);
- new ReturnTransitionConnection(pageShape, toPageShape);
- // System.out.println("Return: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
-
- } else {
- throw new IllegalStateException("Invalid editor input");
- }
-
- }
-
- private WorkPageShape getWorkPageShape(WorkPageDefinition page) {
- for (Object object : getModel().getChildren()) {
- if (object instanceof WorkPageShape) {
- if (((WorkPageShape) object).getId().equals(page.getId()) || (page.getParentId() != null && ((WorkPageShape) object).getId().equals(
- page.getParentId()))) {
- return (WorkPageShape) object;
- }
- }
- }
- return null;
- }
- /**
- * Creates an outline pagebook for this editor.
- */
- public class ShapesOutlinePage extends ContentOutlinePage {
- /**
- * Create a new outline page for the shapes editor.
- *
- * @param viewer a viewer (TreeViewer instance) used for this outline page
- * @throws OseeArgumentException if editor is null
- */
- public ShapesOutlinePage(EditPartViewer viewer) {
- super(viewer);
- }
-
- @Override
- public void createControl(Composite parent) {
- // create outline viewer page
- getViewer().createControl(parent);
- // configure outline viewer
- getViewer().setEditDomain(getEditDomain());
- getViewer().setEditPartFactory(new ShapesTreeEditPartFactory());
- // configure & add context menu to viewer
- ContextMenuProvider cmProvider =
- new AtsWorkflowConfigEditorContextMenuProvider(getViewer(), getActionRegistry());
- getViewer().setContextMenu(cmProvider);
- getSite().registerContextMenu("org.eclipse.osee.ats.config.editor.contextmenu", cmProvider,
- getSite().getSelectionProvider());
- // hook outline viewer
- getSelectionSynchronizer().addViewer(getViewer());
- // initialize outline viewer with model
- getViewer().setContents(getModel());
- // show outline viewer
- }
-
- @Override
- public void dispose() {
- // unhook outline viewer
- getSelectionSynchronizer().removeViewer(getViewer());
- // dispose
- super.dispose();
- }
-
- @Override
- public Control getControl() {
- return getViewer().getControl();
- }
-
- /**
- * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
- */
- @Override
- public void init(IPageSite pageSite) {
- super.init(pageSite);
- ActionRegistry registry = getActionRegistry();
- IActionBars bars = pageSite.getActionBars();
- String id = ActionFactory.UNDO.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- id = ActionFactory.REDO.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- id = ActionFactory.DELETE.getId();
- bars.setGlobalActionHandler(id, registry.getAction(id));
- }
- }
-
- public void closeEditor() {
- final IEditorPart editor = this;
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- if (AWorkbench.getActivePage() != null) {
- AWorkbench.getActivePage().closeEditor(editor, false);
- }
- }
- });
- }
-
- @Override
- public void handleFrameworkTransactionEvent(Sender sender, FrameworkTransactionData transData) throws OseeCoreException {
- if (transData.branchId != AtsUtil.getAtsBranch().getId()) {
- return;
- }
- for (Artifact delArt : transData.cacheDeletedArtifacts) {
- if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
- if (delArt.getName().equals(getPartName())) {
- closeEditor();
- }
- }
- }
- System.out.println("Add refresh of editor if workflow mod");
- }
-
- @Override
- public List<? extends IEventFilter> getEventFilters() {
- return Arrays.asList(OseeEventManager.getCommonBranchFilter(), AtsUtil.getWorkItemArtifactTypeEventFilter());
- }
-
- @Override
- public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
- for (Artifact delArt : artifactEvent.getCacheArtifacts(EventModType.Deleted)) {
- if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
- if (delArt.getName().equals(getPartName())) {
- closeEditor();
- }
- }
- }
- System.out.println("Add refresh of editor if workflow mod");
- }
-
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor;
+
+import java.util.Arrays;
+import java.util.EventObject;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.ContextMenuProvider;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
+import org.eclipse.gef.dnd.TemplateTransferDropTargetListener;
+import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.requests.CreationFactory;
+import org.eclipse.gef.requests.SimpleFactory;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.palette.PaletteViewer;
+import org.eclipse.gef.ui.palette.PaletteViewerProvider;
+import org.eclipse.gef.ui.parts.ContentOutlinePage;
+import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.gef.ui.parts.TreeViewer;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.util.TransferDropTargetListener;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver;
+import org.eclipse.osee.ats.workflow.AtsWorkPage;
+import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
+import org.eclipse.osee.ats.workflow.editor.model.CancelledWorkPageShape;
+import org.eclipse.osee.ats.workflow.editor.model.CompletedWorkPageShape;
+import org.eclipse.osee.ats.workflow.editor.model.DefaultTransitionConnection;
+import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
+import org.eclipse.osee.ats.workflow.editor.model.TransitionConnection;
+import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
+import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
+import org.eclipse.osee.ats.workflow.editor.parts.ShapesEditPartFactory;
+import org.eclipse.osee.ats.workflow.editor.parts.ShapesTreeEditPartFactory;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.event.FrameworkTransactionData;
+import org.eclipse.osee.framework.skynet.core.event.IFrameworkTransactionEventListener;
+import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
+import org.eclipse.osee.framework.skynet.core.event.Sender;
+import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent;
+import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType;
+import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener;
+import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.part.IPageSite;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * A graphical editor for the configuration of ATS workflows<br>
+ * <REM2>
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsWorkflowConfigEditor extends GraphicalEditorWithFlyoutPalette implements IArtifactEventListener, IFrameworkTransactionEventListener {
+
+ /** This is the root of the editor's model. */
+ private WorkflowDiagram diagram;
+ /** Palette component, holding the tools and shapes. */
+ private static PaletteRoot PALETTE_MODEL;
+ public static String EDITOR_ID = "org.eclipse.osee.ats.workflow.editor.AtsWorkflowConfigEditor";
+
+ /** Create a new ShapesEditor instance. This is called by the Workspace. */
+ public AtsWorkflowConfigEditor() {
+ setEditDomain(new DefaultEditDomain(this));
+ OseeEventManager.addListener(this);
+ }
+
+ /**
+ * Configure the graphical viewer before it receives contents.
+ * <p>
+ * This is the place to choose an appropriate RootEditPart and EditPartFactory for your editor. The RootEditPart
+ * determines the behavior of the editor's "work-area". For example, GEF includes zoomable and scrollable root edit
+ * parts. The EditPartFactory maps model elements to edit parts (controllers).
+ * </p>
+ *
+ * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
+ */
+ @Override
+ protected void configureGraphicalViewer() {
+ super.configureGraphicalViewer();
+
+ GraphicalViewer viewer = getGraphicalViewer();
+ viewer.setEditPartFactory(new ShapesEditPartFactory());
+ viewer.setRootEditPart(new ScalableFreeformRootEditPart());
+ viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
+
+ // configure the context menu provider
+ ContextMenuProvider cmProvider = new AtsWorkflowConfigEditorContextMenuProvider(viewer, getActionRegistry());
+ viewer.setContextMenu(cmProvider);
+ getSite().registerContextMenu(cmProvider, viewer);
+ AtsPlugin.getInstance().setHelp(viewer.getControl(), "atsConfigureWorkflow", "org.eclipse.osee.ats.help.ui");
+
+ }
+
+ @Override
+ public void commandStackChanged(EventObject event) {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ super.commandStackChanged(event);
+ }
+
+ @Override
+ protected PaletteViewerProvider createPaletteViewerProvider() {
+ return new PaletteViewerProvider(getEditDomain()) {
+ @Override
+ protected void configurePaletteViewer(PaletteViewer viewer) {
+ super.configurePaletteViewer(viewer);
+ // create a drag source listener for this palette viewer
+ // together with an appropriate transfer drop target listener, this will enable
+ // model element creation by dragging a CombinatedTemplateCreationEntries
+ // from the palette into the editor
+ // @see ShapesEditor#createTransferDropTargetListener()
+ viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
+ }
+ };
+ }
+
+ /**
+ * Create a transfer drop target listener. When using a CombinedTemplateCreationEntry tool in the palette, this will
+ * enable model element creation by dragging from the palette.
+ *
+ * @see #createPaletteViewerProvider()
+ */
+ private TransferDropTargetListener createTransferDropTargetListener() {
+ return new TemplateTransferDropTargetListener(getGraphicalViewer()) {
+ @Override
+ protected CreationFactory getFactory(Object template) {
+ return new SimpleFactory((Class<?>) template);
+ }
+ };
+ }
+
+ @Override
+ public void doSave(IProgressMonitor monitor) {
+ try {
+ SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Configuration Editor Save");
+ Result result = diagram.doSave(transaction);
+ if (result.isFalse()) {
+ AWorkbench.popup("Save Error", result.getText());
+ return;
+ }
+ transaction.execute();
+ diagram.getWorkFlowDefinition().loadPageData(true);
+ getCommandStack().markSaveLocation();
+
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+
+ @Override
+ public void doSaveAs() {
+ AWorkbench.popup("ERROR", "Not implemented yet");
+ }
+
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class type) {
+ if (type == IContentOutlinePage.class) {
+ return new ShapesOutlinePage(new TreeViewer());
+ }
+ return super.getAdapter(type);
+ }
+
+ WorkflowDiagram getModel() {
+ return diagram;
+ }
+
+ @Override
+ protected PaletteRoot getPaletteRoot() {
+ if (PALETTE_MODEL == null) {
+ PALETTE_MODEL = AtsWorkflowConfigEditorPaletteFactory.createPalette(this);
+ }
+ return PALETTE_MODEL;
+ }
+
+ /**
+ * Set up the editor's inital content (after creation).
+ *
+ * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#initializeGraphicalViewer()
+ */
+ @Override
+ protected void initializeGraphicalViewer() {
+ super.initializeGraphicalViewer();
+ GraphicalViewer viewer = getGraphicalViewer();
+ viewer.setContents(getModel()); // set the contents of this editor
+
+ // listen for dropped parts
+ viewer.addDropTargetListener(createTransferDropTargetListener());
+ createActions();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void createActions() {
+ super.createActions();
+ ActionRegistry registry = getActionRegistry();
+ IAction action;
+
+ action = new EditAction();
+ registry.registerAction(action);
+ getStackActions().add(action.getId());
+ }
+
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ @Override
+ protected void setInput(IEditorInput input) {
+ super.setInput(input);
+ if (input instanceof AtsWorkflowConfigEditorInput) {
+ AtsWorkflowConfigEditorInput editorInput = (AtsWorkflowConfigEditorInput) input;
+ WorkFlowDefinition workflowDef = editorInput.workflow;
+ try {
+ setPartName(workflowDef.getName());
+ diagram = new WorkflowDiagram(workflowDef);
+ int yLoc = 0;
+ WorkPageDefinition startPage = workflowDef.getStartPage();
+ if (startPage == null || startPage.getName().equals("")) {
+ throw new OseeArgumentException("StartPage null for workflow " + workflowDef);
+ }
+ // Create states
+ List<WorkPageDefinition> pages = workflowDef.getPagesOrdered();
+ for (WorkPageDefinition page : workflowDef.getPages()) {
+ if (!pages.contains(page)) {
+ pages.add(page);
+ }
+ }
+ for (WorkPageDefinition pageDef : pages) {
+ WorkPageShape pageShape = null;
+ if (pageDef.isCancelledPage()) {
+ pageShape = new CancelledWorkPageShape(pageDef);
+ pageShape.setLocation(new Point(250, 300));
+ } else if (pageDef.isCompletePage()) {
+ pageShape = new CompletedWorkPageShape(pageDef);
+ pageShape.setLocation(new Point(50, yLoc += 90));
+ } else {
+ pageShape = new WorkPageShape(pageDef);
+ pageShape.setLocation(new Point(50, yLoc += 90));
+ }
+ pageShape.setStartPage(startPage.getId().equals(pageShape.getId()) || pageShape.getId().endsWith(
+ startPage.getId()));
+ diagram.addChild(pageShape);
+ }
+
+ // Create transitions
+ for (WorkPageDefinition workPageDefinition : workflowDef.getPagesOrdered()) {
+ WorkPageShape pageShape = getWorkPageShape(workPageDefinition);
+ AtsWorkPage atsWorkPage =
+ new AtsWorkPage(workflowDef, workPageDefinition, null, ATSXWidgetOptionResolver.getInstance());
+ // Handle to pages
+ Set<WorkPageDefinition> toPages = new HashSet<WorkPageDefinition>();
+ toPages.addAll(atsWorkPage.getToPages());
+ List<WorkPageDefinition> returnPages = atsWorkPage.getReturnPages();
+ for (WorkPageDefinition toPageDef : toPages) {
+ // Don't want to show return pages twice
+ if (returnPages.contains(toPageDef)) {
+ continue;
+ }
+ WorkPageShape toPageShape = getWorkPageShape(toPageDef);
+ if (toPageDef.equals(atsWorkPage.getDefaultToPage())) {
+ new DefaultTransitionConnection(pageShape, toPageShape);
+ // System.out.println("Default: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
+ } else {
+ new TransitionConnection(pageShape, toPageShape);
+ // System.out.println("To: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
+ }
+ }
+ // Handle return pages
+ for (WorkPageDefinition toPageDef : returnPages) {
+ WorkPageShape toPageShape = getWorkPageShape(toPageDef);
+ new ReturnTransitionConnection(pageShape, toPageShape);
+ // System.out.println("Return: " + atsWorkPage.getName() + " -> " + toPageShape.getName());
+ }
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+
+ } else {
+ throw new IllegalStateException("Invalid editor input");
+ }
+
+ }
+
+ private WorkPageShape getWorkPageShape(WorkPageDefinition page) {
+ for (Object object : getModel().getChildren()) {
+ if (object instanceof WorkPageShape) {
+ if (((WorkPageShape) object).getId().equals(page.getId()) || (page.getParentId() != null && ((WorkPageShape) object).getId().equals(
+ page.getParentId()))) {
+ return (WorkPageShape) object;
+ }
+ }
+ }
+ return null;
+ }
+ /**
+ * Creates an outline pagebook for this editor.
+ */
+ public class ShapesOutlinePage extends ContentOutlinePage {
+ /**
+ * Create a new outline page for the shapes editor.
+ *
+ * @param viewer a viewer (TreeViewer instance) used for this outline page
+ * @throws OseeArgumentException if editor is null
+ */
+ public ShapesOutlinePage(EditPartViewer viewer) {
+ super(viewer);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ // create outline viewer page
+ getViewer().createControl(parent);
+ // configure outline viewer
+ getViewer().setEditDomain(getEditDomain());
+ getViewer().setEditPartFactory(new ShapesTreeEditPartFactory());
+ // configure & add context menu to viewer
+ ContextMenuProvider cmProvider =
+ new AtsWorkflowConfigEditorContextMenuProvider(getViewer(), getActionRegistry());
+ getViewer().setContextMenu(cmProvider);
+ getSite().registerContextMenu("org.eclipse.osee.ats.config.editor.contextmenu", cmProvider,
+ getSite().getSelectionProvider());
+ // hook outline viewer
+ getSelectionSynchronizer().addViewer(getViewer());
+ // initialize outline viewer with model
+ getViewer().setContents(getModel());
+ // show outline viewer
+ }
+
+ @Override
+ public void dispose() {
+ // unhook outline viewer
+ getSelectionSynchronizer().removeViewer(getViewer());
+ // dispose
+ super.dispose();
+ }
+
+ @Override
+ public Control getControl() {
+ return getViewer().getControl();
+ }
+
+ /**
+ * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
+ */
+ @Override
+ public void init(IPageSite pageSite) {
+ super.init(pageSite);
+ ActionRegistry registry = getActionRegistry();
+ IActionBars bars = pageSite.getActionBars();
+ String id = ActionFactory.UNDO.getId();
+ bars.setGlobalActionHandler(id, registry.getAction(id));
+ id = ActionFactory.REDO.getId();
+ bars.setGlobalActionHandler(id, registry.getAction(id));
+ id = ActionFactory.DELETE.getId();
+ bars.setGlobalActionHandler(id, registry.getAction(id));
+ }
+ }
+
+ public void closeEditor() {
+ final IEditorPart editor = this;
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ if (AWorkbench.getActivePage() != null) {
+ AWorkbench.getActivePage().closeEditor(editor, false);
+ }
+ }
+ });
+ }
+
+ @Override
+ public void handleFrameworkTransactionEvent(Sender sender, FrameworkTransactionData transData) throws OseeCoreException {
+ if (transData.branchId != AtsUtil.getAtsBranch().getId()) {
+ return;
+ }
+ for (Artifact delArt : transData.cacheDeletedArtifacts) {
+ if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
+ if (delArt.getName().equals(getPartName())) {
+ closeEditor();
+ }
+ }
+ }
+ System.out.println("Add refresh of editor if workflow mod");
+ }
+
+ @Override
+ public List<? extends IEventFilter> getEventFilters() {
+ return Arrays.asList(OseeEventManager.getCommonBranchFilter(), AtsUtil.getWorkItemArtifactTypeEventFilter());
+ }
+
+ @Override
+ public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
+ for (Artifact delArt : artifactEvent.getCacheArtifacts(EventModType.Deleted)) {
+ if (delArt.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
+ if (delArt.getName().equals(getPartName())) {
+ closeEditor();
+ }
+ }
+ }
+ System.out.println("Add refresh of editor if workflow mod");
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java
index 098f2219293..bc62ccad106 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/AtsWorkflowConfigEditorInput.java
@@ -1,70 +1,70 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * @author Donald G. Dunne
- */
-public class AtsWorkflowConfigEditorInput implements IEditorInput {
- protected WorkFlowDefinition workflow;
-
- public AtsWorkflowConfigEditorInput(WorkFlowDefinition workflow) {
- this.workflow = workflow;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof AtsWorkflowConfigEditorInput) {
- AtsWorkflowConfigEditorInput otherEdInput = (AtsWorkflowConfigEditorInput) obj;
- return workflow.getId().equals(otherEdInput.workflow.getId());
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return workflow.getId().hashCode();
- }
-
- public boolean exists() {
- return true;
- }
-
- public ImageDescriptor getImageDescriptor() {
- return null;
- }
-
- public String getName() {
- if (workflow == null) {
- return "No Artifact Input Provided";
- }
- return workflow.getName();
- }
-
- public IPersistableElement getPersistable() {
- return null;
- }
-
- public String getToolTipText() {
- return getName();
- }
-
- @SuppressWarnings("rawtypes")
- public Object getAdapter(Class adapter) {
- return null;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IPersistableElement;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class AtsWorkflowConfigEditorInput implements IEditorInput {
+ protected WorkFlowDefinition workflow;
+
+ public AtsWorkflowConfigEditorInput(WorkFlowDefinition workflow) {
+ this.workflow = workflow;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof AtsWorkflowConfigEditorInput) {
+ AtsWorkflowConfigEditorInput otherEdInput = (AtsWorkflowConfigEditorInput) obj;
+ return workflow.getId().equals(otherEdInput.workflow.getId());
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return workflow.getId().hashCode();
+ }
+
+ public boolean exists() {
+ return true;
+ }
+
+ public ImageDescriptor getImageDescriptor() {
+ return null;
+ }
+
+ public String getName() {
+ if (workflow == null) {
+ return "No Artifact Input Provided";
+ }
+ return workflow.getName();
+ }
+
+ public IPersistableElement getPersistable() {
+ return null;
+ }
+
+ public String getToolTipText() {
+ return getName();
+ }
+
+ @SuppressWarnings("rawtypes")
+ public Object getAdapter(Class adapter) {
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java
index cd0eb5f88f5..b572cfee1ac 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/EditAction.java
@@ -1,101 +1,101 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import java.util.Iterator;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
-import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
-import org.eclipse.osee.ats.workflow.editor.parts.WorkPageEditPart;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.skynet.render.PresentationType;
-import org.eclipse.osee.framework.ui.skynet.render.RendererManager;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinitionFactory;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class EditAction extends Action {
-
- public static String ID = "osee.ats.workflowConfigEdit.edit";
-
- public EditAction() {
- super("Edit");
- }
-
- @Override
- public String getId() {
- return ID;
- }
-
- @Override
- public void run() {
- ISelectionProvider selectionProvider =
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.actions;
+
+import java.util.Iterator;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
+import org.eclipse.osee.ats.workflow.editor.model.WorkflowDiagram;
+import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
+import org.eclipse.osee.ats.workflow.editor.parts.WorkPageEditPart;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.render.PresentationType;
+import org.eclipse.osee.framework.ui.skynet.render.RendererManager;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinitionFactory;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class EditAction extends Action {
+
+ public static String ID = "osee.ats.workflowConfigEdit.edit";
+
+ public EditAction() {
+ super("Edit");
+ }
+
+ @Override
+ public String getId() {
+ return ID;
+ }
+
+ @Override
+ public void run() {
+ ISelectionProvider selectionProvider =
AWorkbench.getActivePage().getActivePart().getSite().getSelectionProvider();
-
- if (selectionProvider != null && selectionProvider.getSelection() instanceof IStructuredSelection) {
- IStructuredSelection structuredSelection = (IStructuredSelection) selectionProvider.getSelection();
-
- try {
- Iterator<?> i = structuredSelection.iterator();
- while (i.hasNext()) {
- Object obj = i.next();
- if (obj instanceof DiagramEditPart) {
- if (((DiagramEditPart) obj).getModel() instanceof WorkflowDiagram) {
- WorkflowDiagram diagram = (WorkflowDiagram) ((DiagramEditPart) obj).getModel();
- Artifact artifact = null;
- if (diagram.getWorkFlowDefinition() != null) {
- WorkFlowDefinition def = diagram.getWorkFlowDefinition();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
- }
- if (artifact != null) {
+
+ if (selectionProvider != null && selectionProvider.getSelection() instanceof IStructuredSelection) {
+ IStructuredSelection structuredSelection = (IStructuredSelection) selectionProvider.getSelection();
+
+ try {
+ Iterator<?> i = structuredSelection.iterator();
+ while (i.hasNext()) {
+ Object obj = i.next();
+ if (obj instanceof DiagramEditPart) {
+ if (((DiagramEditPart) obj).getModel() instanceof WorkflowDiagram) {
+ WorkflowDiagram diagram = (WorkflowDiagram) ((DiagramEditPart) obj).getModel();
+ Artifact artifact = null;
+ if (diagram.getWorkFlowDefinition() != null) {
+ WorkFlowDefinition def = diagram.getWorkFlowDefinition();
+ artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
+ }
+ if (artifact != null) {
RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT);
- return;
- }
- }
- }
- if (obj instanceof WorkPageEditPart) {
- if (((WorkPageEditPart) obj).getModel() instanceof WorkPageShape) {
- WorkPageShape shape = (WorkPageShape) ((WorkPageEditPart) obj).getModel();
- Artifact artifact = null;
- if (shape.getWorkPageDefinition() != null) {
- WorkPageDefinition def = shape.getWorkPageDefinition();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
- } else {
- String id = shape.getId();
- artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(id);
+ return;
+ }
+ }
+ }
+ if (obj instanceof WorkPageEditPart) {
+ if (((WorkPageEditPart) obj).getModel() instanceof WorkPageShape) {
+ WorkPageShape shape = (WorkPageShape) ((WorkPageEditPart) obj).getModel();
+ Artifact artifact = null;
+ if (shape.getWorkPageDefinition() != null) {
+ WorkPageDefinition def = shape.getWorkPageDefinition();
+ artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(def.getId());
+ } else {
+ String id = shape.getId();
+ artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(id);
RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT);
- return;
- }
- if (artifact != null) {
+ return;
+ }
+ if (artifact != null) {
RendererManager.open(artifact, PresentationType.GENERALIZED_EDIT);
- return;
- }
- }
- }
- }
- AWorkbench.popup("ERROR", "Can't locate corresponding artifact");
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
- }
-
-}
+ return;
+ }
+ }
+ }
+ }
+ AWorkbench.popup("ERROR", "Can't locate corresponding artifact");
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java
index 1fa6b330d9d..8f95e116317 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramTool.java
@@ -1,62 +1,62 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.tools.SelectionTool;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.model.ModelElement;
-import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.plugin.util.Result;
-import org.eclipse.swt.events.MouseEvent;
-
-/**
- * @author Donald G. Dunne
- */
-public class ValidateDiagramTool extends SelectionTool {
-
- public ValidateDiagramTool() {
- setDefaultCursor(SharedCursors.ARROW);
- }
-
- @Override
- public void mouseDown(MouseEvent e, EditPartViewer viewer) {
- super.mouseDown(e, viewer);
- try {
- EditPart editPart = getTargetEditPart();
- Object model = editPart.getModel();
- if (editPart instanceof ScalableFreeformRootEditPart) {
- EditPart ePart = ((ScalableFreeformRootEditPart) editPart).getContents();
- if (ePart instanceof DiagramEditPart) {
- model = ((DiagramEditPart) ePart).getModel();
- }
- }
- if (model instanceof ModelElement) {
- Result result = ((ModelElement) model).validForSave();
- if (result.isFalse()) {
- AWorkbench.popup("Validate Error", model + "\n\n" + "Error: " + result.getText());
- } else {
- AWorkbench.popup("Validate Success", model + "\n\n" + "Valid");
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.actions;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gef.SharedCursors;
+import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
+import org.eclipse.gef.tools.SelectionTool;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workflow.editor.model.ModelElement;
+import org.eclipse.osee.ats.workflow.editor.parts.DiagramEditPart;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.swt.events.MouseEvent;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ValidateDiagramTool extends SelectionTool {
+
+ public ValidateDiagramTool() {
+ setDefaultCursor(SharedCursors.ARROW);
+ }
+
+ @Override
+ public void mouseDown(MouseEvent e, EditPartViewer viewer) {
+ super.mouseDown(e, viewer);
+ try {
+ EditPart editPart = getTargetEditPart();
+ Object model = editPart.getModel();
+ if (editPart instanceof ScalableFreeformRootEditPart) {
+ EditPart ePart = ((ScalableFreeformRootEditPart) editPart).getContents();
+ if (ePart instanceof DiagramEditPart) {
+ model = ((DiagramEditPart) ePart).getModel();
+ }
+ }
+ if (model instanceof ModelElement) {
+ Result result = ((ModelElement) model).validForSave();
+ if (result.isFalse()) {
+ AWorkbench.popup("Validate Error", model + "\n\n" + "Error: " + result.getText());
+ } else {
+ AWorkbench.popup("Validate Success", model + "\n\n" + "Valid");
+ }
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java
index 470f148c604..50091e6ad7a 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/actions/ValidateDiagramToolEntry.java
@@ -1,33 +1,33 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.actions;
-
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.osee.ats.AtsImage;
-import org.eclipse.osee.framework.ui.swt.ImageManager;
-
-/**
- * @author Donald G. Dunne
- */
-public class ValidateDiagramToolEntry extends ToolEntry {
-
- /**
- * @param label
- * @param shortDesc
- * @param iconSmall
- * @param iconLarge
- */
- public ValidateDiagramToolEntry() {
- super("Validate Diagram", "Validate", ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE),
- ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE), ValidateDiagramTool.class);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.actions;
+
+import org.eclipse.gef.palette.ToolEntry;
+import org.eclipse.osee.ats.AtsImage;
+import org.eclipse.osee.framework.ui.swt.ImageManager;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ValidateDiagramToolEntry extends ToolEntry {
+
+ /**
+ * @param label
+ * @param shortDesc
+ * @param iconSmall
+ * @param iconLarge
+ */
+ public ValidateDiagramToolEntry() {
+ super("Validate Diagram", "Validate", ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE),
+ ImageManager.getImageDescriptor(AtsImage.CHECK_BLUE), ValidateDiagramTool.class);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java
index 346873c7f0c..65b45b100c3 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CancelledWorkPageShape.java
@@ -1,47 +1,47 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import java.util.logging.Level;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.page.AtsCancelledWorkPageDefinition;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class CancelledWorkPageShape extends WorkPageShape {
-
- /**
- * @param workPageDefinition
- */
- public CancelledWorkPageShape(WorkPageDefinition workPageDefinition) {
- super(workPageDefinition);
- }
-
- public CancelledWorkPageShape() {
- super(new WorkPageDefinition("Cancelled", "NEW", AtsCancelledWorkPageDefinition.ID));
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof WorkPageShape) {
- try {
- return ((WorkPageShape) obj).isCancelledState();
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
- return super.equals(obj);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.model;
+
+import java.util.logging.Level;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workflow.page.AtsCancelledWorkPageDefinition;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CancelledWorkPageShape extends WorkPageShape {
+
+ /**
+ * @param workPageDefinition
+ */
+ public CancelledWorkPageShape(WorkPageDefinition workPageDefinition) {
+ super(workPageDefinition);
+ }
+
+ public CancelledWorkPageShape() {
+ super(new WorkPageDefinition("Cancelled", "NEW", AtsCancelledWorkPageDefinition.ID));
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof WorkPageShape) {
+ try {
+ return ((WorkPageShape) obj).isCancelledState();
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
+ return super.equals(obj);
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java
index 04fdb782fe1..2cc6e3c089c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/CompletedWorkPageShape.java
@@ -1,48 +1,48 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import java.util.logging.Level;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.page.AtsCompletedWorkPageDefinition;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
-
-/**
- * @author Donald G. Dunne
- */
-public class CompletedWorkPageShape extends WorkPageShape {
-
- public CompletedWorkPageShape() {
- super(new WorkPageDefinition("Completed", "NEW", AtsCompletedWorkPageDefinition.ID));
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof WorkPageShape) {
- try {
- return ((WorkPageShape) obj).isCompletedState();
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
- return super.equals(obj);
- }
-
- /**
- * @param workPageDefinition
- */
- public CompletedWorkPageShape(WorkPageDefinition workPageDefinition) {
- super(workPageDefinition);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.model;
+
+import java.util.logging.Level;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workflow.page.AtsCompletedWorkPageDefinition;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageDefinition;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CompletedWorkPageShape extends WorkPageShape {
+
+ public CompletedWorkPageShape() {
+ super(new WorkPageDefinition("Completed", "NEW", AtsCompletedWorkPageDefinition.ID));
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof WorkPageShape) {
+ try {
+ return ((WorkPageShape) obj).isCompletedState();
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
+ return super.equals(obj);
+ }
+
+ /**
+ * @param workPageDefinition
+ */
+ public CompletedWorkPageShape(WorkPageDefinition workPageDefinition) {
+ super(workPageDefinition);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java
index 81f36666783..85f4c659ab7 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/DefaultTransitionConnection.java
@@ -1,45 +1,45 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @author Donald G. Dunne
- */
-public class DefaultTransitionConnection extends TransitionConnection {
-
- /**
- * @param source
- * @param target
- */
- public DefaultTransitionConnection(Shape source, Shape target) {
- super(source, target);
- }
-
- @Override
- public Color getForegroundColor() {
- return Displays.getSystemColor(SWT.COLOR_DARK_GREEN);
- }
-
- @Override
- public int getLineWidth() {
- return 3;
- }
-
- @Override
- public String getLabel() {
- return "Default Transition";
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.model;
+
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class DefaultTransitionConnection extends TransitionConnection {
+
+ /**
+ * @param source
+ * @param target
+ */
+ public DefaultTransitionConnection(Shape source, Shape target) {
+ super(source, target);
+ }
+
+ @Override
+ public Color getForegroundColor() {
+ return Displays.getSystemColor(SWT.COLOR_DARK_GREEN);
+ }
+
+ @Override
+ public int getLineWidth() {
+ return 3;
+ }
+
+ @Override
+ public String getLabel() {
+ return "Default Transition";
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java
index e5347b6f9e6..26e4279f547 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/model/ReturnTransitionConnection.java
@@ -1,37 +1,37 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.model;
-
-import org.eclipse.draw2d.Graphics;
-
-/**
- * @author Donald G. Dunne
- */
-public class ReturnTransitionConnection extends TransitionConnection {
-
- /**
- * @param source
- * @param target
- */
- public ReturnTransitionConnection(Shape source, Shape target) {
- super(source, target);
- }
-
- @Override
- public int getLineStyle() {
- return Graphics.LINE_DASH;
- }
-
- @Override
- public String getLabel() {
- return "Return Transition";
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.model;
+
+import org.eclipse.draw2d.Graphics;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ReturnTransitionConnection extends TransitionConnection {
+
+ /**
+ * @param source
+ * @param target
+ */
+ public ReturnTransitionConnection(Shape source, Shape target) {
+ super(source, target);
+ }
+
+ @Override
+ public int getLineStyle() {
+ return Graphics.LINE_DASH;
+ }
+
+ @Override
+ public String getLabel() {
+ return "Return Transition";
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java
index 00a6a10c8e5..3c11f50179e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/LeftAnchor.java
@@ -1,34 +1,34 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * @author Donald G. Dunne
- */
-class LeftAnchor extends ChopboxAnchor {
-
- LeftAnchor(IFigure source) {
- super(source);
- }
-
- @Override
- public Point getLocation(Point reference) {
- Rectangle r = getOwner().getBounds().getCopy();
- getOwner().translateToAbsolute(r);
- return r.getLeft();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.parts;
+
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+/**
+ * @author Donald G. Dunne
+ */
+class LeftAnchor extends ChopboxAnchor {
+
+ LeftAnchor(IFigure source) {
+ super(source);
+ }
+
+ @Override
+ public Point getLocation(Point reference) {
+ Rectangle r = getOwner().getBounds().getCopy();
+ getOwner().translateToAbsolute(r);
+ return r.getLeft();
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java
index 27672bcc3cd..d9ad5597109 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/RightAnchor.java
@@ -1,34 +1,34 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * @author Donald G. Dunne
- */
-class RightAnchor extends ChopboxAnchor {
-
- RightAnchor(IFigure source) {
- super(source);
- }
-
- @Override
- public Point getLocation(Point reference) {
- Rectangle r = getOwner().getBounds().getCopy();
- getOwner().translateToAbsolute(r);
- return r.getRight();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.parts;
+
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+/**
+ * @author Donald G. Dunne
+ */
+class RightAnchor extends ChopboxAnchor {
+
+ RightAnchor(IFigure source) {
+ super(source);
+ }
+
+ @Override
+ public Point getLocation(Point reference) {
+ Rectangle r = getOwner().getBounds().getCopy();
+ getOwner().translateToAbsolute(r);
+ return r.getRight();
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
index cf76a80bf46..85ce8d6d235 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/editor/parts/WorkPageEditPart.java
@@ -1,130 +1,130 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.workflow.editor.parts;
-
-import java.beans.PropertyChangeEvent;
-import java.util.logging.Level;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.GridLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
-import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
-import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemAttributes;
-
-/**
- * @author Donald G. Dunne
- */
-public class WorkPageEditPart extends ShapeEditPart {
-
- private final WorkPageShape workPageShape;
- private RightAnchor returnAnchor;
- private Label label;
-
- public WorkPageEditPart(WorkPageShape workPageShape) {
- this.workPageShape = workPageShape;
- }
-
- @Override
- protected IFigure createFigure() {
- IFigure f = super.createFigure();
- f.setLayoutManager(new GridLayout());
- try {
- if (workPageShape.isCompletedState()) {
- f.setBackgroundColor(ColorConstants.darkGreen);
- } else if (workPageShape.isCancelledState()) {
- f.setBackgroundColor(ColorConstants.lightGray);
- } else if (workPageShape.isStartPage()) {
- f.setBackgroundColor(ColorConstants.yellow);
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- label = new Label(workPageShape.getName());
- f.add(label);
- f.setToolTip(new Label(workPageShape.getToolTip()));
- return f;
- }
-
- @Override
- protected void refreshVisuals() {
- super.refreshVisuals();
- label.setText(workPageShape.getName());
- }
-
- @Override
- public void performRequest(Request req) {
- super.performRequest(req);
- System.out.println(req);
- if (req instanceof SelectionRequest) {
- (new EditAction()).run();
- }
- }
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- super.propertyChange(evt);
- String prop = evt.getPropertyName();
- if (WorkPageShape.START_PAGE.equals(prop)) {
- if (workPageShape.isStartPage()) {
- getFigure().setBackgroundColor(ColorConstants.yellow);
- } else {
- getFigure().setBackgroundColor(ColorConstants.green);
- }
- }
- if (WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName().equals(prop)) {
- refreshVisuals();
- }
- }
-
- @Override
- public ConnectionAnchor getTargetConnectionAnchor(Request request) {
- // TODO implement sending back returnAnchor if appropriate
- return super.getTargetConnectionAnchor(request);
- }
-
- @Override
- public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
- if (connection.getModel() instanceof ReturnTransitionConnection) {
- if (returnAnchor == null) {
- returnAnchor = new RightAnchor(getFigure());
- }
- return returnAnchor;
- }
- return super.getTargetConnectionAnchor(connection);
- }
-
- @Override
- public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
- if (connection.getModel() instanceof ReturnTransitionConnection) {
- if (returnAnchor == null) {
- returnAnchor = new RightAnchor(getFigure());
- }
- return returnAnchor;
- }
- return super.getTargetConnectionAnchor(connection);
- }
-
- @Override
- public ConnectionAnchor getSourceConnectionAnchor(Request request) {
- // TODO implement sending back returnAnchor if appropriate
- return super.getSourceConnectionAnchor(request);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.ats.workflow.editor.parts;
+
+import java.beans.PropertyChangeEvent;
+import java.util.logging.Level;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.GridLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workflow.editor.actions.EditAction;
+import org.eclipse.osee.ats.workflow.editor.model.ReturnTransitionConnection;
+import org.eclipse.osee.ats.workflow.editor.model.WorkPageShape;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemAttributes;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class WorkPageEditPart extends ShapeEditPart {
+
+ private final WorkPageShape workPageShape;
+ private RightAnchor returnAnchor;
+ private Label label;
+
+ public WorkPageEditPart(WorkPageShape workPageShape) {
+ this.workPageShape = workPageShape;
+ }
+
+ @Override
+ protected IFigure createFigure() {
+ IFigure f = super.createFigure();
+ f.setLayoutManager(new GridLayout());
+ try {
+ if (workPageShape.isCompletedState()) {
+ f.setBackgroundColor(ColorConstants.darkGreen);
+ } else if (workPageShape.isCancelledState()) {
+ f.setBackgroundColor(ColorConstants.lightGray);
+ } else if (workPageShape.isStartPage()) {
+ f.setBackgroundColor(ColorConstants.yellow);
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ label = new Label(workPageShape.getName());
+ f.add(label);
+ f.setToolTip(new Label(workPageShape.getToolTip()));
+ return f;
+ }
+
+ @Override
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ label.setText(workPageShape.getName());
+ }
+
+ @Override
+ public void performRequest(Request req) {
+ super.performRequest(req);
+ System.out.println(req);
+ if (req instanceof SelectionRequest) {
+ (new EditAction()).run();
+ }
+ }
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ super.propertyChange(evt);
+ String prop = evt.getPropertyName();
+ if (WorkPageShape.START_PAGE.equals(prop)) {
+ if (workPageShape.isStartPage()) {
+ getFigure().setBackgroundColor(ColorConstants.yellow);
+ } else {
+ getFigure().setBackgroundColor(ColorConstants.green);
+ }
+ }
+ if (WorkItemAttributes.WORK_PAGE_NAME.getAttributeTypeName().equals(prop)) {
+ refreshVisuals();
+ }
+ }
+
+ @Override
+ public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+ // TODO implement sending back returnAnchor if appropriate
+ return super.getTargetConnectionAnchor(request);
+ }
+
+ @Override
+ public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+ if (connection.getModel() instanceof ReturnTransitionConnection) {
+ if (returnAnchor == null) {
+ returnAnchor = new RightAnchor(getFigure());
+ }
+ return returnAnchor;
+ }
+ return super.getTargetConnectionAnchor(connection);
+ }
+
+ @Override
+ public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+ if (connection.getModel() instanceof ReturnTransitionConnection) {
+ if (returnAnchor == null) {
+ returnAnchor = new RightAnchor(getFigure());
+ }
+ return returnAnchor;
+ }
+ return super.getTargetConnectionAnchor(connection);
+ }
+
+ @Override
+ public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+ // TODO implement sending back returnAnchor if appropriate
+ return super.getSourceConnectionAnchor(request);
+ }
+
+}

Back to the top