Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-11-05 18:39:10 +0000
committerddunne2008-11-05 18:39:10 +0000
commit619b9aa9ecd1579531784216d298f5957a5f06f1 (patch)
tree70a32ccca0c2ab3bcebe6901b8e56fecf3e06f09
parent89589c66d8a683095678b86a70a9e1ed9fea81d0 (diff)
downloadorg.eclipse.osee-619b9aa9ecd1579531784216d298f5957a5f06f1.tar.gz
org.eclipse.osee-619b9aa9ecd1579531784216d298f5957a5f06f1.tar.xz
org.eclipse.osee-619b9aa9ecd1579531784216d298f5957a5f06f1.zip
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java34
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/TaskEditor.java27
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/IXTaskViewer.java2
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsMetricsComposite.java (renamed from org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldMetricsComposite.java)10
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsMetricsProvider.java17
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java18
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java49
7 files changed, 132 insertions, 25 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java
index 7da69a84846..d700437bb3c 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditor.java
@@ -11,7 +11,6 @@
package org.eclipse.osee.ats.editor;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
@@ -22,16 +21,15 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.osee.ats.AtsPlugin;
-import org.eclipse.osee.ats.artifact.ATSAttributes;
import org.eclipse.osee.ats.artifact.ReviewSMArtifact;
import org.eclipse.osee.ats.artifact.StateMachineArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.navigate.VisitedItems;
import org.eclipse.osee.ats.util.AtsRelation;
-import org.eclipse.osee.ats.util.Overview;
import org.eclipse.osee.ats.util.widgets.task.IXTaskViewer;
+import org.eclipse.osee.ats.world.AtsMetricsComposite;
+import org.eclipse.osee.ats.world.IAtsMetricsProvider;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.access.AccessControlManager;
import org.eclipse.osee.framework.skynet.core.access.PermissionEnum;
@@ -68,7 +66,6 @@ import org.eclipse.osee.framework.ui.skynet.ats.OseeAts;
import org.eclipse.osee.framework.ui.skynet.history.RevisionHistoryView;
import org.eclipse.osee.framework.ui.skynet.notify.OseeNotificationManager;
import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
-import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog;
import org.eclipse.osee.framework.ui.swt.IDirtiableEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
@@ -92,16 +89,17 @@ import org.eclipse.ui.part.MultiPageEditorPart;
/**
* @author Donald G. Dunne
*/
-public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEditor, IActionable, IArtifactsPurgedEventListener, IRelationModifiedEventListener, IFrameworkTransactionEventListener, IBranchEventListener, IXTaskViewer {
+public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEditor, IActionable, IAtsMetricsProvider, IArtifactsPurgedEventListener, IRelationModifiedEventListener, IFrameworkTransactionEventListener, IBranchEventListener, IXTaskViewer {
public static final String EDITOR_ID = "org.eclipse.osee.ats.editor.SMAEditor";
private SMAManager smaMgr;
- private int workFlowPageIndex, taskPageIndex, historyPageIndex, relationPageIndex, attributesPageIndex,
- detailsPageIndex;
+ private int workFlowPageIndex, taskPageIndex, metricsPageIndex, historyPageIndex, relationPageIndex,
+ attributesPageIndex, detailsPageIndex;
private SMAWorkFlowTab workFlowTab;
private SMATaskComposite taskComposite;
private SMAHistoryComposite historyComposite;
private RelationsComposite relationsComposite;
private AttributesComposite attributesComposite;
+ private AtsMetricsComposite metricsComposite;
private final MultiPageEditorPart editor;
public static enum PriviledgedEditMode {
Off, CurrentState, Global
@@ -174,6 +172,8 @@ public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEdito
if (relationsComposite != null) {
relationsComposite.disposeRelationsComposite();
}
+ if (metricsComposite != null) metricsComposite.disposeComposite();
+
super.dispose();
}
@@ -275,6 +275,7 @@ public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEdito
createRelationsTab();
createAttributesTab();
createDetailsTab();
+ createMetricsTab();
setActivePage(workFlowPageIndex);
} catch (Exception ex) {
@@ -292,6 +293,15 @@ public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEdito
setPageText(detailsPageIndex, "Details");
}
+ private void createMetricsTab() {
+ Composite composite = createCommonPageComposite();
+ createCommonToolBar(composite);
+ metricsComposite = new AtsMetricsComposite(this, getContainer(), SWT.NONE);
+ metricsPageIndex = addPage(metricsComposite);
+ setPageText(metricsPageIndex, "Metrics");
+
+ }
+
private void createAttributesTab() {
if (!AtsPlugin.isAtsAdmin()) return;
@@ -741,4 +751,12 @@ public class SMAEditor extends AbstractArtifactEditor implements IDirtiableEdito
return null;
}
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IAtsMetricsProvider#getMetricsArtifacts()
+ */
+ @Override
+ public Collection<? extends Artifact> getMetricsArtifacts() {
+ return Arrays.asList(smaMgr.getSma());
+ }
+
} \ No newline at end of file
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/TaskEditor.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/TaskEditor.java
index a090969a15c..efea5f06a59 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/TaskEditor.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/TaskEditor.java
@@ -24,6 +24,8 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.util.widgets.task.IXTaskViewer;
+import org.eclipse.osee.ats.world.AtsMetricsComposite;
+import org.eclipse.osee.ats.world.IAtsMetricsProvider;
import org.eclipse.osee.ats.world.search.WorldSearchItem;
import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
@@ -47,11 +49,12 @@ import org.eclipse.ui.PartInitException;
/**
* @author Donald G. Dunne
*/
-public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEditor, IXTaskViewer {
+public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEditor, IAtsMetricsProvider, IXTaskViewer {
public static final String EDITOR_ID = "org.eclipse.osee.ats.editor.TaskEditor";
- private int taskPageIndex;
+ private int taskPageIndex, metricsPageIndex;
private SMATaskComposite taskComposite;
private Collection<TaskArtifact> tasks = new HashSet<TaskArtifact>();
+ private AtsMetricsComposite metricsComposite;
/*
* (non-Javadoc)
@@ -64,7 +67,7 @@ public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEdit
SkynetTransaction transaction = new SkynetTransaction(BranchManager.getAtsBranch());
for (TaskArtifact taskArt : tasks) {
taskArt.saveSMA(transaction);
- }
+ }
transaction.execute();
} catch (Exception ex) {
OSEELog.logException(AtsPlugin.class, ex, true);
@@ -104,9 +107,9 @@ public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEdit
public void dispose() {
for (TaskArtifact taskArt : tasks)
if (taskArt != null && !taskArt.isDeleted() && taskArt.isSMAEditorDirty().isTrue()) taskArt.revertSMA();
- if (taskComposite != null) {
- taskComposite.dispose();
- }
+ if (taskComposite != null) taskComposite.disposeTaskComposite();
+ if (metricsComposite != null) metricsComposite.disposeComposite();
+
super.dispose();
}
@@ -155,6 +158,10 @@ public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEdit
taskPageIndex = addPage(taskComposite);
setPageText(taskPageIndex, "Tasks");
+ metricsComposite = new AtsMetricsComposite(this, getContainer(), SWT.NONE);
+ metricsPageIndex = addPage(metricsComposite);
+ setPageText(metricsPageIndex, "Metrics");
+
setActivePage(taskPageIndex);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
@@ -317,4 +324,12 @@ public class TaskEditor extends AbstractArtifactEditor implements IDirtiableEdit
}
}
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IAtsMetricsProvider#getMetricsArtifacts()
+ */
+ @Override
+ public Collection<? extends Artifact> getMetricsArtifacts() {
+ return tasks;
+ }
+
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/IXTaskViewer.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/IXTaskViewer.java
index 5317cbb09c4..e2ecc4e58bc 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/IXTaskViewer.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/task/IXTaskViewer.java
@@ -31,8 +31,6 @@ public interface IXTaskViewer {
public IDirtiableEditor getEditor() throws OseeCoreException;
-
-
public boolean isTaskable() throws OseeCoreException;
public String getCurrentStateName() throws OseeCoreException;
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldMetricsComposite.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsMetricsComposite.java
index c2738e18363..745ae23fa1e 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldMetricsComposite.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsMetricsComposite.java
@@ -33,11 +33,11 @@ import org.eclipse.swt.widgets.ToolItem;
/**
* @author Donald G. Dunne
*/
-public class WorldMetricsComposite extends ScrolledComposite {
+public class AtsMetricsComposite extends ScrolledComposite {
private Composite toolBarComposite;
private Composite metricsComposite;
- private final WorldComposite worldComposite;
+ private final IAtsMetricsProvider iAtsMetricsProvider;
private final Color BACKGROUND_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE);
private final Color FOREGROUND_COLOR = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);
private final Composite mainComp;
@@ -46,9 +46,9 @@ public class WorldMetricsComposite extends ScrolledComposite {
* @param parent
* @param style
*/
- public WorldMetricsComposite(WorldComposite worldComposite, Composite parent, int style) {
+ public AtsMetricsComposite(IAtsMetricsProvider iAtsMetricsProvider, Composite parent, int style) {
super(parent, style | SWT.V_SCROLL | SWT.H_SCROLL);
- this.worldComposite = worldComposite;
+ this.iAtsMetricsProvider = iAtsMetricsProvider;
setLayout(new GridLayout(1, true));
setLayoutData(new GridData(GridData.FILL_BOTH));
@@ -106,7 +106,7 @@ public class WorldMetricsComposite extends ScrolledComposite {
adapt(metricsComposite);
addSpace();
- SMAMetrics sMet = new SMAMetrics(worldComposite.getLoadedArtifacts(), null);
+ SMAMetrics sMet = new SMAMetrics(iAtsMetricsProvider.getMetricsArtifacts(), null);
Label label = new Label(metricsComposite, SWT.NONE);
label.setText(sMet.toStringLong());
adapt(label);
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsMetricsProvider.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsMetricsProvider.java
new file mode 100644
index 00000000000..a14bbe4c2c7
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IAtsMetricsProvider.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Nov 5, 2008
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.world;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface IAtsMetricsProvider {
+
+ public Collection<? extends Artifact> getMetricsArtifacts();
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java
index 2a7ab118599..21a3166ea47 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldEditor.java
@@ -10,12 +10,14 @@
*******************************************************************************/
package org.eclipse.osee.ats.world;
+import java.util.Collection;
import java.util.logging.Level;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType;
import org.eclipse.osee.framework.db.connection.exception.OseeArgumentException;
import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.ui.skynet.OseeContributionItem;
import org.eclipse.osee.framework.ui.skynet.artifact.editor.AbstractArtifactEditor;
import org.eclipse.osee.framework.ui.swt.IDirtiableEditor;
@@ -25,11 +27,11 @@ import org.eclipse.ui.IEditorInput;
/**
* @author Donald G. Dunne
*/
-public class WorldEditor extends AbstractArtifactEditor implements IDirtiableEditor {
+public class WorldEditor extends AbstractArtifactEditor implements IDirtiableEditor, IAtsMetricsProvider {
public static final String EDITOR_ID = "org.eclipse.osee.ats.world.WorldEditor";
private int mainPageIndex, metricsPageIndex;
private WorldComposite worldComposite;
- private WorldMetricsComposite metricsComposite;
+ private AtsMetricsComposite metricsComposite;
/*
* (non-Javadoc)
@@ -85,9 +87,9 @@ public class WorldEditor extends AbstractArtifactEditor implements IDirtiableEdi
// Create Main tab
worldComposite = new WorldComposite(EDITOR_ID, null, getContainer(), SWT.NONE);
mainPageIndex = addPage(worldComposite);
- setPageText(mainPageIndex, "Main");
+ setPageText(mainPageIndex, "Actions");
- metricsComposite = new WorldMetricsComposite(worldComposite, getContainer(), SWT.NONE);
+ metricsComposite = new AtsMetricsComposite(this, getContainer(), SWT.NONE);
metricsPageIndex = addPage(metricsComposite);
setPageText(metricsPageIndex, "Metrics");
@@ -114,4 +116,12 @@ public class WorldEditor extends AbstractArtifactEditor implements IDirtiableEdi
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.world.IAtsMetricsProvider#getArtifacts()
+ */
+ @Override
+ public Collection<? extends Artifact> getMetricsArtifacts() {
+ return worldComposite.getLoadedArtifacts();
+ }
}
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 0db0b2a114f..d9dc6b39610 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
@@ -170,6 +170,9 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen
OseeEventManager.addListener(this);
}
+ Action editStatusAction;
+ Action editNotesAction;
+ Action editEstimateAction;
Action editChangeTypeAction;
Action editPriorityAction;
Action editTargetVersionAction;
@@ -193,6 +196,43 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen
}
});
+ editNotesAction = new Action("Edit Notes", Action.AS_PUSH_BUTTON) {
+ @Override
+ public void run() {
+ if (SMAManager.promptChangeAttribute(ATSAttributes.SMA_NOTE_ATTRIBUTE, getSelectedSMAArtifacts(), true)) {
+ update(getSelectedSMAArtifacts().toArray(), null);
+ }
+ }
+ };
+
+ editStatusAction = new Action("Edit Status", Action.AS_PUSH_BUTTON) {
+ @Override
+ public void run() {
+ try {
+ if (SMAManager.promptChangeStatus(getSelectedSMAArtifacts(), true)) {
+ update(getSelectedSMAArtifacts().toArray(), null);
+ }
+ } catch (Exception ex) {
+ OSEELog.logException(AtsPlugin.class, ex, true);
+ }
+ }
+ };
+
+ editEstimateAction = new Action("Edit Estimated Hours", Action.AS_PUSH_BUTTON) {
+ @Override
+ public void run() {
+ try {
+ if (ArtifactPromptChange.promptChangeFloatAttribute(
+ ATSAttributes.ESTIMATED_HOURS_ATTRIBUTE.getStoreName(),
+ ATSAttributes.ESTIMATED_HOURS_ATTRIBUTE.getDisplayName(), getSelectedSMAArtifacts(), true)) {
+ update(getSelectedSMAArtifacts().toArray(), null);
+ }
+ } catch (Exception ex) {
+ OSEELog.logException(AtsPlugin.class, ex, true);
+ }
+ }
+ };
+
editChangeTypeAction = new Action("Edit Change Type", Action.AS_PUSH_BUTTON) {
@Override
public void run() {
@@ -501,6 +541,15 @@ public class WorldXViewer extends XViewer implements IArtifactsPurgedEventListen
mm.insertBefore(MENU_GROUP_PRE, editAssigneeAction);
editAssigneeAction.setEnabled(getSelectedSMAArtifacts().size() > 0);
+ mm.insertBefore(MENU_GROUP_PRE, editStatusAction);
+ editStatusAction.setEnabled(getSelectedSMAArtifacts().size() > 0);
+
+ mm.insertBefore(MENU_GROUP_PRE, editEstimateAction);
+ editEstimateAction.setEnabled(getSelectedSMAArtifacts().size() > 0);
+
+ mm.insertBefore(MENU_GROUP_PRE, editNotesAction);
+ editNotesAction.setEnabled(getSelectedSMAArtifacts().size() > 0);
+
mm.insertBefore(MENU_GROUP_PRE, editActionableItemsAction);
editActionableItemsAction.setEnabled(getSelectedActionArtifacts().size() == 1 || getSelectedTeamWorkflowArtifacts().size() == 1);

Back to the top