Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-02-23 20:27:01 +0000
committerddunne2010-02-23 20:27:01 +0000
commit09d12539607a3a695d8e9f6bec1ad6bdd7ce947f (patch)
treea68fa2cf9f09581974384490f7fe82e55aee8140 /org.eclipse.osee.ats/src/org/eclipse/osee
parentfb1974e4b2f8e06699f5529f39c7ba49ddc4847e (diff)
downloadorg.eclipse.osee-09d12539607a3a695d8e9f6bec1ad6bdd7ce947f.tar.gz
org.eclipse.osee-09d12539607a3a695d8e9f6bec1ad6bdd7ce947f.tar.xz
org.eclipse.osee-09d12539607a3a695d8e9f6bec1ad6bdd7ce947f.zip
"Team Workflow" - EJK5D - "Improve ATS to better facilitate action ordering"
Diffstat (limited to 'org.eclipse.osee.ats/src/org/eclipse/osee')
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSAttributes.java2
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java10
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java4
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java1
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateGuid.java35
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ChangePointDialog.java138
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java38
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java2
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java3
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java19
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerFactory.java6
11 files changed, 256 insertions, 2 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSAttributes.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSAttributes.java
index c01de3d9a55..6d99a3305c7 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSAttributes.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ATSAttributes.java
@@ -84,6 +84,8 @@ public class ATSAttributes {
new ATSAttributes("Work Package", "Designated accounting work package for completing workflow.");
public static final ATSAttributes COMMIT_MANAGER_WIDGET =
new ATSAttributes("Commit Manager", "Commit branches to parent and parallel branches.");
+ public static final ATSAttributes POINTS_ATTRIBUTE =
+ new ATSAttributes("Points", "Abstract value that describes risk, complexity, and size of Actions.");
public static final ATSAttributes NUMERIC1_ATTRIBUTE =
new ATSAttributes("Numeric1", "Open field for user to be able to enter numbers for sorting.");
public static final ATSAttributes NUMERIC2_ATTRIBUTE =
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
index 645520892d5..38c6cd091f3 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
@@ -237,6 +237,16 @@ public class ActionArtifact extends ATSArtifact implements IWorldViewArtifact {
return sb.toString().replaceFirst(", $", "");
}
+ public String getWorldViewPoint() throws OseeCoreException {
+ StringBuffer sb = new StringBuffer();
+ for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
+ if (!team.getWorldViewPoint().equals("")) {
+ sb.append(team.getWorldViewPoint() + ", ");
+ }
+ }
+ return sb.toString().replaceFirst(", $", "");
+ }
+
public String getWorldViewNumberOfTasks() throws OseeCoreException {
StringBuffer sb = new StringBuffer();
for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java
index f749a7c9536..3f47d11792c 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/StateMachineArtifact.java
@@ -750,6 +750,10 @@ public abstract class StateMachineArtifact extends ATSArtifact implements IGroup
return getSoleAttributeValue(ATSAttributes.WORK_PACKAGE_ATTRIBUTE.getStoreName(), "");
}
+ public String getWorldViewPoint() throws OseeCoreException {
+ return getSoleAttributeValue(ATSAttributes.POINTS_ATTRIBUTE.getStoreName(), "");
+ }
+
public String getWorldViewNumeric1() throws OseeCoreException {
return AtsUtil.doubleToI18nString(getSoleAttributeValue(ATSAttributes.NUMERIC1_ATTRIBUTE.getStoreName(), 0.0),
true);
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
index e2f5f5c81be..b4ed61f4c18 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
@@ -183,6 +183,7 @@ public class AtsNavigateViewItems extends XNavigateViewItems {
XNavigateItem utilItems = new XNavigateItem(null, "Util", FrameworkImage.GEAR);
new ImportActionsViaSpreadsheet(utilItems);
new XNavigateItemAction(utilItems, new CompareTwoStringsAction(), FrameworkImage.EDIT);
+ new GenerateGuid(utilItems);
items.add(utilItems);
BlamContributionManager.addBlamOperationsToNavigator(items);
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateGuid.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateGuid.java
new file mode 100644
index 00000000000..1969c637787
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateGuid.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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.navigate;
+
+import org.eclipse.osee.ats.AtsImage;
+import org.eclipse.osee.framework.jdk.core.util.GUID;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+
+public class GenerateGuid extends XNavigateItemAction {
+
+ public GenerateGuid(XNavigateItem parent) {
+ super(parent, "Generate Guid", AtsImage.REPORT);
+ }
+
+ @Override
+ public void run(TableLoadOption... tableLoadOptions) throws Exception {
+ XResultData resultData = new XResultData();
+ for (int x = 0; x < 20; x++) {
+ resultData.log(GUID.create());
+ }
+ resultData.report("GUIDs");
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ChangePointDialog.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ChangePointDialog.java
new file mode 100644
index 00000000000..310c56586df
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ChangePointDialog.java
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ * 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.util;
+
+import java.util.ArrayList;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.osee.ats.artifact.ATSAttributes;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+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.attribute.AttributeTypeManager;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.swt.ALayout;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.ListDialog;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ChangePointDialog extends ListDialog {
+
+ String selected = null;
+ boolean clearSelected = false;
+
+ public ChangePointDialog(Shell parent) {
+ super(parent);
+ setContentProvider(new ArrayContentProvider());
+ setLabelProvider(new PointLabelProvider());
+ try {
+ setInput(AttributeTypeManager.getEnumerationValues(ATSAttributes.POINTS_ATTRIBUTE.getStoreName()));
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ setShellStyle(getShellStyle() | SWT.RESIZE);
+ setTitle("Select Point");
+ }
+
+ public String getSelection() {
+ return (String) getResult()[0];
+ }
+
+ @Override
+ protected Control createDialogArea(Composite container) {
+
+ (new Label(container, SWT.NONE)).setText(" Select Point:");
+
+ Control c = super.createDialogArea(container);
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 80;
+ gd.widthHint = 300;
+ getTableViewer().getTable().setLayoutData(gd);
+ GridLayout layout = ALayout.getZeroMarginLayout();
+ layout.marginWidth = 20;
+ getTableViewer().getTable().getParent().setLayout(layout);
+ if (selected != null) {
+ ArrayList<Object> sel = new ArrayList<Object>();
+ sel.add(selected);
+ getTableViewer().setSelection(new StructuredSelection(sel.toArray(new Object[sel.size()])));
+ getTableViewer().getTable().setFocus();
+ }
+
+ Button clearButton = new Button(getTableViewer().getTable().getParent(), SWT.PUSH);
+ clearButton.setText("clear");
+ clearButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ clearSelected = true;
+ close();
+ }
+ });
+ return c;
+ }
+
+ @Override
+ protected void okPressed() {
+ if (getTableViewer().getSelection().isEmpty()) {
+ AWorkbench.popup("ERROR", "Must make selection.");
+ return;
+ }
+ super.okPressed();
+ }
+
+ public class PointLabelProvider implements ILabelProvider {
+
+ public Image getImage(Object arg0) {
+ return null;
+ }
+
+ public String getText(Object arg0) {
+ return arg0.toString();
+ }
+
+ public void addListener(ILabelProviderListener arg0) {
+ }
+
+ public void dispose() {
+ }
+
+ public boolean isLabelProperty(Object arg0, String arg1) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener arg0) {
+ }
+
+ }
+
+ public void setSelected(String selected) {
+ this.selected = selected;
+ }
+
+ public boolean isClearSelected() {
+ return clearSelected;
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java
index b0fe7b8dcd4..21616f20075 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PromptChangeUtil.java
@@ -251,6 +251,44 @@ public class PromptChangeUtil {
}
}
+ public static boolean promptChangePoints(StateMachineArtifact sma, boolean persist) throws OseeStateException {
+ if (sma.isTeamWorkflow()) {
+ return promptChangePoints(Arrays.asList((TeamWorkFlowArtifact) sma), persist);
+ }
+ return false;
+ }
+
+ public static boolean promptChangePoints(final Collection<? extends TeamWorkFlowArtifact> teams, boolean persist) throws OseeStateException {
+
+ final ChangePointDialog dialog = new ChangePointDialog(Display.getCurrent().getActiveShell());
+ try {
+ if (teams.size() == 1) {
+ dialog.setSelected(teams.iterator().next().getWorldViewPoint());
+ }
+ if (dialog.open() == 0) {
+
+ SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Prompt Change Points");
+
+ for (TeamWorkFlowArtifact team : teams) {
+ if (dialog.isClearSelected() || !team.getWorldViewPoint().equals(dialog.getSelection())) {
+ if (dialog.isClearSelected()) {
+ team.deleteAttributes(ATSAttributes.POINTS_ATTRIBUTE.getStoreName());
+ } else {
+ team.setSoleAttributeFromString(ATSAttributes.POINTS_ATTRIBUTE.getStoreName(),
+ dialog.getSelection());
+ }
+ team.saveSMA(transaction);
+ }
+ }
+ transaction.execute();
+ }
+ return true;
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't change points", ex);
+ return false;
+ }
+ }
+
public static boolean promptChangePriority(StateMachineArtifact sma, boolean persist) throws OseeStateException {
if (sma.isTeamWorkflow()) {
return promptChangePriority(Arrays.asList((TeamWorkFlowArtifact) sma), persist);
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
index 7137ab051b7..ccdf5d9d612 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
@@ -39,6 +39,8 @@ public interface IWorldViewArtifact {
public String getWorldViewCancelledDateStr() throws OseeCoreException;
+ public String getWorldViewPoint() throws OseeCoreException;
+
public String getWorldViewNumeric1() throws OseeCoreException;
public String getWorldViewNumeric2() throws OseeCoreException;
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
index d614855a198..9a3ce5328a1 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldLabelProvider.java
@@ -237,6 +237,9 @@ public class WorldLabelProvider extends XViewerLabelProvider {
if (xCol.equals(WorldXViewerFactory.Work_Package_Col)) {
return wva.getWorldViewWorkPackage();
}
+ if (xCol.equals(WorldXViewerFactory.Points_Col)) {
+ return wva.getWorldViewPoint();
+ }
if (xCol.equals(WorldXViewerFactory.Numeric1_Col)) {
return wva.getWorldViewNumeric1();
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
index a6921a5ba43..77151f973a8 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
@@ -463,6 +463,20 @@ public class WorldXViewer extends XViewer implements ISelectedAtsArtifacts, IArt
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
+ } else if (treeColumn.getData().equals(WorldXViewerFactory.Points_Col)) {
+ try {
+ Set<TeamWorkFlowArtifact> smas = new HashSet<TeamWorkFlowArtifact>();
+ for (TreeItem item : treeItems) {
+ Artifact art = (Artifact) item.getData();
+ if (art instanceof TeamWorkFlowArtifact) {
+ smas.add((TeamWorkFlowArtifact) art);
+ }
+ }
+ PromptChangeUtil.promptChangePoints(smas, true);
+ return;
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
}
if (!(treeColumn.getData() instanceof XViewerAttributeColumn) && !(treeColumn.getData() instanceof XViewerAtsAttributeColumn)) {
AWorkbench.popup("ERROR", "Column is not attribute and thus not multi-editable " + treeColumn.getText());
@@ -513,7 +527,8 @@ public class WorldXViewer extends XViewer implements ISelectedAtsArtifacts, IArt
@Override
public boolean isColumnMultiEditable(TreeColumn treeColumn, Collection<TreeItem> treeItems) {
- if (treeColumn.getData().equals(WorldXViewerFactory.Groups_Col)) {
+ if (treeColumn.getData().equals(WorldXViewerFactory.Groups_Col) || treeColumn.getData().equals(
+ WorldXViewerFactory.Points_Col)) {
return true;
}
if (!(treeColumn.getData() instanceof XViewerColumn)) {
@@ -953,6 +968,8 @@ public class WorldXViewer extends XViewer implements ISelectedAtsArtifacts, IArt
} else if (xCol.equals(WorldXViewerFactory.Work_Package_Col)) {
modified =
PromptChangeUtil.promptChangeAttribute(sma, ATSAttributes.WORK_PACKAGE_ATTRIBUTE, persist, false);
+ } else if (xCol.equals(WorldXViewerFactory.Points_Col)) {
+ modified = PromptChangeUtil.promptChangePoints(sma, persist);
} else if (xCol.equals(WorldXViewerFactory.Numeric1_Col)) {
modified = PromptChangeUtil.promptChangeFloatAttribute(sma, ATSAttributes.NUMERIC1_ATTRIBUTE, persist);
} else if (xCol.equals(WorldXViewerFactory.Numeric2_Col)) {
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerFactory.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerFactory.java
index d298d6d939d..f7b8e728ff9 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerFactory.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerFactory.java
@@ -111,6 +111,9 @@ public class WorldXViewerFactory extends SkynetXViewerFactory {
public static final XViewerColumn Work_Package_Col =
new XViewerAtsAttributeColumn(COLUMN_NAMESPACE + ".workPackage", ATSAttributes.WORK_PACKAGE_ATTRIBUTE, 80,
SWT.LEFT, false, SortDataType.String, true);
+ public static final XViewerColumn Points_Col =
+ new XViewerAtsAttributeColumn(COLUMN_NAMESPACE + ".points", ATSAttributes.POINTS_ATTRIBUTE, 40, SWT.LEFT,
+ false, SortDataType.Integer, true);
public static final XViewerColumn Numeric1_Col =
new XViewerAtsAttributeColumn(COLUMN_NAMESPACE + ".numeric1", ATSAttributes.NUMERIC1_ATTRIBUTE, 40, SWT.LEFT,
false, SortDataType.Float, true);
@@ -276,7 +279,8 @@ public class WorldXViewerFactory extends SkynetXViewerFactory {
Percent_Rework_Col, Branch_Status_Col, Number_of_Tasks_Col, Number_of_Tasks_Remining_Col,
Last_Modified_Col, Last_Statused_Col, Validation_Required_Col, Review_Major_Defects,
Review_Minor_Defects, Review_Issues, Actions_Initiating_Workflow_Col, Artifact_Type_Col,
- Originating_Workflow, Parent_ID_Col, Days_In_Current_State, Parent_State_Col, Numeric1_Col, Numeric2_Col};
+ Originating_Workflow, Parent_ID_Col, Days_In_Current_State, Parent_State_Col, Points_Col, Numeric1_Col,
+ Numeric2_Col};
private static String NAMESPACE = "org.eclipse.osee.ats.WorldXViewer";
public WorldXViewerFactory() {

Back to the top