blob: b4d395f1bfb4864ebb6f6ae71e665ced99d05731 [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2004, 2007 Boeing
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Boeing - initial API and implementation
**********************************************************************/
package org.eclipse.osee.ats.ide.util.widgets;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import org.eclipse.osee.ats.api.data.AtsTaskDefToken;
import org.eclipse.osee.ats.api.program.IAtsProgram;
import org.eclipse.osee.ats.ide.agile.XOpenSprintBurndownButton;
import org.eclipse.osee.ats.ide.agile.XOpenSprintBurnupButton;
import org.eclipse.osee.ats.ide.agile.XOpenSprintDataTableButton;
import org.eclipse.osee.ats.ide.agile.XOpenSprintSummaryButton;
import org.eclipse.osee.ats.ide.agile.XOpenStoredSprintReportsButton;
import org.eclipse.osee.ats.ide.agile.XStoreSprintReportsButton;
import org.eclipse.osee.ats.ide.column.OperationalImpactWithWorkaroundXWidget;
import org.eclipse.osee.ats.ide.column.OperationalImpactXWidget;
import org.eclipse.osee.ats.ide.editor.tab.workflow.widget.XAssigneesListWidget;
import org.eclipse.osee.ats.ide.editor.tab.workflow.widget.XRequestedHoursApprovalWidget;
import org.eclipse.osee.ats.ide.internal.Activator;
import org.eclipse.osee.ats.ide.internal.AtsApiService;
import org.eclipse.osee.ats.ide.util.XVersionList;
import org.eclipse.osee.ats.ide.util.validate.AtsOperationalImpactValidator;
import org.eclipse.osee.ats.ide.util.validate.AtsOperationalImpactWithWorkaroundValidator;
import org.eclipse.osee.ats.ide.util.widgets.commit.XCommitManager;
import org.eclipse.osee.ats.ide.util.widgets.defect.XDefectViewer;
import org.eclipse.osee.ats.ide.util.widgets.dialog.AtsObjectMultiChoiceSelect;
import org.eclipse.osee.ats.ide.util.widgets.dialog.ClosureStateMultiChoiceSelect;
import org.eclipse.osee.ats.ide.util.widgets.dialog.VersionMultiChoiceSelect;
import org.eclipse.osee.ats.ide.util.widgets.role.XUserRoleViewer;
import org.eclipse.osee.ats.ide.util.widgets.task.XCreateChangeReportTasksXButton;
import org.eclipse.osee.ats.ide.workflow.cr.XCreateEscapeDemoWfXButton;
import org.eclipse.osee.ats.ide.workflow.cr.demo.XTaskEstDemoWidget;
import org.eclipse.osee.ats.ide.workflow.cr.demo.XTaskEstSiblingWorldDemoWidget;
import org.eclipse.osee.ats.ide.workflow.review.defect.AtsXDefectValidator;
import org.eclipse.osee.ats.ide.workflow.review.role.AtsXUserRoleValidator;
import org.eclipse.osee.ats.ide.workflow.task.widgets.XCheckBoxesWithTaskGenExample;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.widgets.XDateWithValidateDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlabelGroupSelection;
import org.eclipse.osee.framework.ui.skynet.widgets.XHyperlinkLabelValueSelectionDam;
import org.eclipse.osee.framework.ui.skynet.widgets.XOption;
import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
import org.eclipse.osee.framework.ui.skynet.widgets.util.IXWidgetProvider;
import org.eclipse.osee.framework.ui.skynet.widgets.util.XWidgetRendererItem;
/**
* @author Donald G. Dunne
*/
public class AtsWidgetProvider implements IXWidgetProvider {
@Override
public XWidget createXWidget(String widgetName, String name, XWidgetRendererItem widgetRendererItem) {
XWidget toReturn = null;
if (widgetName.equals(XHyperlabelTeamDefinitionSelection.WIDGET_ID)) {
XHyperlabelTeamDefinitionSelection widget = new XHyperlabelTeamDefinitionSelection(name);
widget.setToolTip(widgetRendererItem.getToolTip());
toReturn = widget;
} else if (widgetName.equals(XHyperlabelActionableItemSelection.WIDGET_ID)) {
XHyperlabelActionableItemSelection widget = new XHyperlabelActionableItemSelection(name);
widget.setToolTip(widgetRendererItem.getToolTip());
toReturn = widget;
} else if (widgetName.equals(XHyperlabelGroupSelection.WIDGET_ID)) {
XHyperlabelGroupSelection widget = new XHyperlabelGroupSelection(name);
widget.setToolTip(widgetRendererItem.getToolTip());
toReturn = widget;
} else if (widgetName.equals(XProductLineApprovalWidget.WIDGET_ID)) {
toReturn = new XProductLineApprovalWidget();
} else if (widgetName.equals(AtsObjectMultiChoiceSelect.WIDGET_ID)) {
toReturn = new AtsObjectMultiChoiceSelect();
} else if (widgetName.equals(XReviewStateSearchCombo.WIDGET_ID)) {
toReturn = new XReviewStateSearchCombo();
} else if (widgetName.equals(XStateCombo.WIDGET_ID)) {
toReturn = new XStateCombo();
} else if (widgetName.equals(XStateSearchCombo.WIDGET_ID)) {
toReturn = new XStateSearchCombo();
} else if (widgetName.equals(XFoundInVersionWithPersistWidget.WIDGET_ID)) {
toReturn = new XFoundInVersionWithPersistWidget(name);
} else if (widgetName.equals(XTargetedVersionWithPersistWidget.WIDGET_ID)) {
toReturn = new XTargetedVersionWithPersistWidget(name);
} else if (widgetName.equals(XIntroducedInVersionWithPersistWidget.WIDGET_ID)) {
toReturn = new XIntroducedInVersionWithPersistWidget(name);
} else if (widgetName.equals(XCommitManager.WIDGET_NAME)) {
toReturn = new XCommitManager();
} else if (widgetName.equals(XWorkingBranchLabel.WIDGET_NAME)) {
toReturn = new XWorkingBranchLabel();
} else if (widgetName.equals(XWorkingBranchButtonCreate.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonCreate();
} else if (widgetName.equals(XWorkingBranchButtonArtifactExplorer.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonArtifactExplorer();
} else if (widgetName.equals(XWorkingBranchButtonChangeReport.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonChangeReport();
} else if (widgetName.equals(XWorkingBranchButtonWordChangeReport.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonWordChangeReport();
} else if (widgetName.equals(XWorkingBranchButtonContextChangeReport.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonContextChangeReport();
} else if (widgetName.equals(XWorkingBranchUpdate.WIDGET_NAME)) {
toReturn = new XWorkingBranchUpdate();
} else if (widgetName.equals(XWorkingBranchButtonDeleteMergeBranches.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonDeleteMergeBranches();
} else if (widgetName.equals(XWorkingBranchButtonDelete.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonDelete();
} else if (widgetName.equals(XWorkingBranchButtonFavorites.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonFavorites();
} else if (widgetName.equals(XWorkingBranchButtonLock.WIDGET_NAME)) {
toReturn = new XWorkingBranchButtonLock();
} else if (widgetName.equals(AtsOperationalImpactValidator.WIDGET_NAME)) {
toReturn = new OperationalImpactXWidget();
} else if (widgetName.equals(XTeamDefinitionCombo.WIDGET_ID)) {
toReturn = new XTeamDefinitionCombo();
} else if (widgetName.equals(XActionableItemCombo.WIDGET_ID)) {
toReturn = new XActionableItemCombo();
} else if (widgetName.equals(XActionableItemAllCombo.WIDGET_ID)) {
toReturn = new XActionableItemAllCombo();
} else if (widgetName.equals(AtsOperationalImpactWithWorkaroundValidator.WIDGET_NAME)) {
toReturn = new OperationalImpactWithWorkaroundXWidget();
} else if (widgetName.equals(AtsXDefectValidator.WIDGET_NAME)) {
return new XDefectViewer();
} else if (widgetName.equals(AtsXUserRoleValidator.WIDGET_NAME)) {
return new XUserRoleViewer();
} else if (widgetName.equals("XAtsProgramComboWidget")) {
try {
return new XAtsProgramComboWidget();
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
}
} else if (widgetName.equals("XAtsProgramActiveComboWidget")) {
try {
List<IAtsProgram> activePrograms = new ArrayList<>();
for (IAtsProgram program : AtsApiService.get().getProgramService().getPrograms()) {
if (program.isActive()) {
activePrograms.add(program);
}
}
return new XAtsProgramComboWidget(activePrograms);
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, Level.SEVERE, ex);
}
} else if (widgetName.equals(XVersionList.WIDGET_ID)) {
XVersionList versionList = new XVersionList();
if (widgetRendererItem.getXOptionHandler().contains(XOption.MULTI_SELECT)) {
versionList.setMultiSelect(true);
}
return versionList;
} else if (widgetName.equals(XGoalCombo.WIDGET_ID)) {
return new XGoalCombo();
} else if (widgetName.equals(XCpaOpenOriginatingPcrWidget.WIDGET_ID)) {
return new XCpaOpenOriginatingPcrWidget();
} else if (widgetName.equals(XCpaOpenDuplicatedPcrWidget.WIDGET_ID)) {
return new XCpaOpenDuplicatedPcrWidget();
} else if (widgetName.equals(VersionMultiChoiceSelect.WIDGET_ID)) {
return new VersionMultiChoiceSelect();
} else if (widgetName.equals(ClosureStateMultiChoiceSelect.WIDGET_ID)) {
return new ClosureStateMultiChoiceSelect();
} else if (widgetName.equals(XProgramSelectionWidget.WIDGET_ID)) {
return new XProgramSelectionWidget();
} else if (widgetName.equals(XOpenSprintSummaryButton.WIDGET_ID)) {
return new XOpenSprintSummaryButton();
} else if (widgetName.equals(XOpenSprintDataTableButton.WIDGET_ID)) {
return new XOpenSprintDataTableButton();
} else if (widgetName.equals(XOpenSprintBurndownButton.WIDGET_ID)) {
return new XOpenSprintBurndownButton();
} else if (widgetName.equals(XOpenSprintBurnupButton.WIDGET_ID)) {
return new XOpenSprintBurnupButton();
} else if (widgetName.equals(XOpenStoredSprintReportsButton.WIDGET_ID)) {
return new XOpenStoredSprintReportsButton();
} else if (widgetName.equals(XStoreSprintReportsButton.WIDGET_ID)) {
return new XStoreSprintReportsButton();
} else if (widgetName.equals(XWorkPackageWidget.WIDGET_ID)) {
return new XWorkPackageWidget();
} else if (widgetName.equals(XHyperlabelWorkflowApplicabilitySelection.WIDGET_ID)) {
return new XHyperlabelWorkflowApplicabilitySelection();
} else if (widgetName.equals(XAssigneesListWidget.WIDGET_ID)) {
return new XAssigneesListWidget();
} else if (widgetName.equals(XArtifactReferencedAtsObjectAttributeWidget.WIDGET_ID)) {
return new XArtifactReferencedAtsObjectAttributeWidget(name);
} else if (widgetName.equals(XRequestedHoursApprovalWidget.ID)) {
if (widgetRendererItem.isRequired()) {
return new XRequestedHoursApprovalWidget(true);
} else {
return new XRequestedHoursApprovalWidget();
}
} else if (widgetName.equals(XCreateChangeReportTasksXButton.WIDGET_ID)) {
AtsTaskDefToken atsTaskDefToken = (AtsTaskDefToken) widgetRendererItem.getParameters().get(AtsTaskDefToken.ID);
return new XCreateChangeReportTasksXButton(name, atsTaskDefToken);
} else if (widgetName.equals(XAssigneesHyperlinkWidget.WIDGET_ID)) {
return new XAssigneesHyperlinkWidget(null);
} else if (widgetName.equals(XAttachmentExampleWidget.WIDGET_ID)) {
return new XAttachmentExampleWidget();
} else if (widgetName.equals(XAgileFeatureHyperlinkWidget.WIDGET_ID)) {
return new XAgileFeatureHyperlinkWidget();
} else if (widgetName.equals(XGitFetchButton.WIDGET_ID)) {
return new XGitFetchButton();
} else if (widgetName.equals(XTargetedVersionHyperlinkWidget.WIDGET_ID)) {
return new XTargetedVersionHyperlinkWidget();
} else if (widgetName.equals(XOriginatorHyperlinkWidget.WIDGET_ID)) {
return new XOriginatorHyperlinkWidget();
} else if (widgetName.equals(XSprintHyperlinkWidget.WIDGET_ID)) {
return new XSprintHyperlinkWidget();
} else if (widgetName.equals(XCheckBoxesWithTaskGenExample.WIDGET_ID)) {
return new XCheckBoxesWithTaskGenExample();
} else if (widgetName.equals(XCreateEscapeDemoWfXButton.WIDGET_ID)) {
return new XCreateEscapeDemoWfXButton();
} else if (widgetName.equals(XHyperlinkFeatureDam.WIDGET_ID)) {
return new XHyperlinkFeatureDam(name);
} else if (widgetName.equals(XDateWithValidateDam.WIDGET_ID)) {
return new XDateWithValidateDam(name);
} else if (widgetName.equals(XEstimatedPointsWidget.WIDGET_ID)) {
return new XEstimatedPointsWidget();
} else if (widgetName.equals(XTaskEstDemoWidget.WIDGET_ID)) {
return new XTaskEstDemoWidget();
} else if (widgetName.equals(XTleReviewedWidget.WIDGET_ID)) {
return new XTleReviewedWidget();
} else if (widgetName.equals(XActionableItemWidget.WIDGET_ID)) {
return new XActionableItemWidget();
} else if (widgetName.equals(XTaskEstSiblingWorldDemoWidget.WIDGET_ID)) {
return new XTaskEstSiblingWorldDemoWidget();
} else if (widgetName.equals(XHyperlinkLabelValueSelectionDam.WIDGET_ID)) {
return new XHyperlinkLabelValueSelectionDam();
}
return toReturn;
}
}