diff options
author | donald.g.dunne | 2021-07-06 16:03:32 +0000 |
---|---|---|
committer | Ryan T. Baldwin | 2021-07-06 16:03:32 +0000 |
commit | ecfd952d3ef1e167d6ed70a1cc6888434d7fbfd8 (patch) | |
tree | fbcc47a6bc417001546e5ed853658030851e27b3 /plugins | |
parent | 79e943138733a693fd633487cc0810d3baff9ace (diff) | |
download | org.eclipse.osee-ecfd952d3ef1e167d6ed70a1cc6888434d7fbfd8.tar.gz org.eclipse.osee-ecfd952d3ef1e167d6ed70a1cc6888434d7fbfd8.tar.xz org.eclipse.osee-ecfd952d3ef1e167d6ed70a1cc6888434d7fbfd8.zip |
feature[TW19140]: Fix Change Request Widgets
Change-Id: I1e899d4337b518d687bdbc155bc922e09adbf5b3
Diffstat (limited to 'plugins')
8 files changed, 52 insertions, 20 deletions
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java index 3872e9fe679..6d8024210c2 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/CreateNewChangeRequestBlam.java @@ -157,13 +157,17 @@ public abstract class CreateNewChangeRequestBlam extends AbstractBlam implements wb.andXCombo(PROGRAM, Collections.emptyList()).andRequired().endWidget(); wb.andXText(TITLE).andRequired().endWidget(); wb.andXText(AtsAttributeTypes.Description).andHeight(80).andRequired().endWidget(); - wb.andXCombo(AtsAttributeTypes.ChangeType).andComposite(getChangeTypeRowColumns()).andRequired().endWidget(); + addChangeTypeCombo(); wb.andXCombo(getPriorityAttr()).andRequired().endWidget(); addWidgetAfterPriority(); wb.andXDate(AtsAttributeTypes.NeedBy).endComposite().endWidget(); return wb.getItems(); } + private void addChangeTypeCombo() { + wb.andXCombo(AtsAttributeTypes.ChangeType).andComposite(getChangeTypeRowColumns()).andRequired().endWidget(); + } + protected void addWidgetAfterPriority() { // For sub-class extension } diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstLabelProvider.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstLabelProvider.java index 1de025ad36c..2a16e1210ed 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstLabelProvider.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstLabelProvider.java @@ -24,7 +24,9 @@ import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.ats.ide.workflow.task.TaskXViewer; import org.eclipse.osee.ats.ide.world.WorldLabelProvider; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.skynet.widgets.XAbstractSignDateAndByButton; import org.eclipse.osee.framework.ui.swt.ImageManager; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; @@ -86,7 +88,8 @@ public class XTaskEstLabelProvider extends WorldLabelProvider { return ""; } } else if (xViewerColumn.getName().equals("TLE Reviewed")) { - return ""; + return XAbstractSignDateAndByButton.getText((Artifact) task.getStoreObject(), + AtsAttributeTypes.TleReviewedDate, AtsAttributeTypes.TleReviewedBy); } else if (xViewerColumn.getName().equals("Related Workflow")) { if (task.isCancelled()) { return ""; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstViewer.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstViewer.java index 8243405ac97..b72f14db2ba 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstViewer.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstViewer.java @@ -33,7 +33,6 @@ import org.eclipse.osee.ats.api.workflow.cr.TaskEstUtil; import org.eclipse.osee.ats.ide.editor.WorkflowEditor; import org.eclipse.osee.ats.ide.internal.AtsApiService; import org.eclipse.osee.ats.ide.util.widgets.dialog.ActionableItemCheckboxStateDialog; -import org.eclipse.osee.ats.ide.workflow.cr.estimates.demo.XTaskEstDemoWidget; import org.eclipse.osee.ats.ide.workflow.cr.estimates.sibling.operation.CreateSiblingOffTaskEstOperation; import org.eclipse.osee.ats.ide.workflow.task.TaskXViewer; import org.eclipse.osee.framework.core.data.ArtifactToken; @@ -51,10 +50,10 @@ import org.eclipse.swt.widgets.TreeItem; /** * @author Donald G. Dunne */ -public class XTaskEstViewer extends TaskXViewer { +public abstract class XTaskEstViewer extends TaskXViewer { - private final IAtsTeamWorkflow crTeamWf; - private final AtsApi atsApi; + protected final IAtsTeamWorkflow crTeamWf; + protected final AtsApi atsApi; public XTaskEstViewer(Composite parent, int style, IXViewerFactory xViewerFactory, IDirtiableEditor editor, IAtsTeamWorkflow teamWf) { super(parent, style, xViewerFactory, editor, teamWf); @@ -109,8 +108,10 @@ public class XTaskEstViewer extends TaskXViewer { return true; } + protected abstract XTaskEstWidget getXTaskEstWidget(); + private boolean createWorkflow(IAtsTask task) { - XTaskEstDemoWidget estWidget = new XTaskEstDemoWidget(); + XTaskEstWidget estWidget = getXTaskEstWidget(); estWidget.setArtifact((Artifact) crTeamWf.getStoreObject()); TaskEstDefinition tedMatch = null; for (TaskEstDefinition ted : estWidget.getTaskEstDefs()) { @@ -147,8 +148,9 @@ public class XTaskEstViewer extends TaskXViewer { // Create workflow with configured or selected AI XResultData rd = new XResultData(); IAtsChangeSet changes = atsApi.createChangeSet("Create Task Est Workflow"); - CreateSiblingOffTaskEstOperation.createTaskEstSiblingWorkflow(rd, changes, new Date(), task, useAi, teamDef, - assignees, action, atsApi); + IAtsTeamWorkflow newTeamWf = CreateSiblingOffTaskEstOperation.createTaskEstSiblingWorkflow(rd, changes, + new Date(), task, useAi, teamDef, assignees, action, atsApi); + workflowCreating(newTeamWf, changes); changes.execute(); if (rd.isErrors()) { XResultDataUI.report(rd, "Create Task Est Workflow"); @@ -157,6 +159,10 @@ public class XTaskEstViewer extends TaskXViewer { return true; } + protected void workflowCreating(IAtsTeamWorkflow teamWf, IAtsChangeSet changes) { + // For subclass additions + } + @Override protected boolean isAddTaskEnabled() { return false; diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstWidget.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstWidget.java index 8897ebba71a..013c38b094c 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstWidget.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/XTaskEstWidget.java @@ -60,7 +60,6 @@ public abstract class XTaskEstWidget extends XMiniTaskWidget { "Select to create estimating tasks. Complete all estimates/tasks. Double-Click to open/edit task/fields."; private AttributeTypeToken pointsAttrType; private final List<Object> input = new ArrayList<>(); - private XTaskEstViewer xTaskEstViewer; public static String NAME = "Estimate Manager"; public XTaskEstWidget() { @@ -75,12 +74,7 @@ public abstract class XTaskEstWidget extends XMiniTaskWidget { } @Override - protected TaskXViewer createXTaskViewer(Composite tableComp) { - xTaskEstViewer = new XTaskEstViewer(tableComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION, - new XTaskEstXViewerFactory(), null, teamWf); - xTaskViewer = xTaskEstViewer; - return xTaskViewer; - } + protected abstract TaskXViewer createXTaskViewer(Composite tableComp); @Override protected WorldLabelProvider getWorldLabelProvider(TaskXViewer xTaskViewer) { diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/demo/XTaskEstDemoXViewer.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/demo/XTaskEstDemoXViewer.java index d91a970a495..7daf514d1ac 100644 --- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/demo/XTaskEstDemoXViewer.java +++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/cr/estimates/demo/XTaskEstDemoXViewer.java @@ -15,6 +15,7 @@ package org.eclipse.osee.ats.ide.workflow.cr.estimates.demo; import org.eclipse.nebula.widgets.xviewer.IXViewerFactory; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; import org.eclipse.osee.ats.ide.workflow.cr.estimates.XTaskEstViewer; +import org.eclipse.osee.ats.ide.workflow.cr.estimates.XTaskEstWidget; import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; import org.eclipse.swt.widgets.Composite; @@ -27,4 +28,9 @@ public class XTaskEstDemoXViewer extends XTaskEstViewer { super(parent, style, xViewerFactory, editor, teamWf); } + @Override + protected XTaskEstWidget getXTaskEstWidget() { + XTaskEstDemoWidget estWidget = new XTaskEstDemoWidget(); + return estWidget; + } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/EnumSingletonSelectionDialog.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/EnumSingletonSelectionDialog.java index cf90aa819f6..7d82ae2dfd0 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/EnumSingletonSelectionDialog.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/EnumSingletonSelectionDialog.java @@ -15,9 +15,13 @@ package org.eclipse.osee.framework.ui.skynet.artifact; import java.util.Collection; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.eclipse.jface.viewers.ArrayContentProvider; +import org.eclipse.osee.framework.core.data.ArtifactTypeToken; +import org.eclipse.osee.framework.core.data.AttributeTypeEnum; import org.eclipse.osee.framework.core.data.AttributeTypeToken; +import org.eclipse.osee.framework.core.enums.EnumToken; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.attribute.AttributeTypeManager; @@ -43,13 +47,19 @@ public class EnumSingletonSelectionDialog extends ListDialog { public EnumSingletonSelectionDialog(AttributeTypeToken attributeType, Collection<? extends Artifact> artifacts) { super(Displays.getActiveShell()); - Set<String> options; + Set<String> options = new HashSet<>(); try { - options = attributeType.toEnum().getEnumStrValues(); + + Artifact artifact = artifacts.iterator().next(); + ArtifactTypeToken artType = artifact.getArtifactType(); + @SuppressWarnings("unchecked") + List<EnumToken> validEnumValues = artType.getValidEnumValues((AttributeTypeEnum<EnumToken>) attributeType); + for (EnumToken enumTok : validEnumValues) { + options.add(enumTok.getName()); + } isRemoveAllAllowed = AttributeTypeManager.checkIfRemovalAllowed(attributeType, artifacts); } catch (OseeCoreException ex) { - options = new HashSet<>(); options.add(ex.getLocalizedMessage()); } setInput(options); diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XAbstractSignDateAndByButton.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XAbstractSignDateAndByButton.java index 8ec1f8bcdaf..52e65e2c891 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XAbstractSignDateAndByButton.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XAbstractSignDateAndByButton.java @@ -81,7 +81,7 @@ public abstract class XAbstractSignDateAndByButton extends XButtonWithLabelDam { if (date != null) { User user = UserManager.getUserByArtId(artifact.getSoleAttributeValue(signByAttrType, SystemUser.UnAssigned.getId())); - return String.format("signed by %s on %s", user.getName(), DateUtil.getDateNow(date, DateUtil.MMDDYYHHMM)); + return String.format("Signed by %s on %s", user.getName(), DateUtil.getDateNow(date, DateUtil.MMDDYYHHMM)); } return NOT_YET_SIGNED; } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/builder/XWidgetBuilder.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/builder/XWidgetBuilder.java index cf00d8bb855..d38fbba1e16 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/builder/XWidgetBuilder.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/builder/XWidgetBuilder.java @@ -101,6 +101,15 @@ public class XWidgetBuilder { } + public XWidgetBuilder andXCombo(AttributeTypeToken attrType, List<String> options) { + newXWidget(); + setAttrTypeSettings(attrType); + currItem.setName(attrType.getUnqualifiedName()); + String optionsStr = Collections.toString(",", options); + currItem.setXWidgetName(String.format("XCombo(%s)", optionsStr)); + return this; + } + public XWidgetBuilder andXCombo(String displayName, AttributeTypeToken attrType) { newXWidget(); setAttrTypeSettings(attrType); |