feature[TW19451]: Confirm transition validation
Change-Id: I93f16dc95a4e419d74793cd167f943e284c4c351
diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workdef/AtsWorkDefinitionXWidgetTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workdef/AtsWorkDefinitionXWidgetTest.java
index c64a434..1829449 100644
--- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workdef/AtsWorkDefinitionXWidgetTest.java
+++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/workdef/AtsWorkDefinitionXWidgetTest.java
@@ -14,17 +14,9 @@
package org.eclipse.osee.ats.ide.integration.tests.ats.workdef;
import org.eclipse.osee.ats.api.AtsApi;
-import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition;
-import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition;
import org.eclipse.osee.ats.ide.integration.tests.AtsApiService;
+import org.eclipse.osee.ats.ide.workdef.ValidateWorkDefXWidgetOperation;
import org.eclipse.osee.framework.jdk.core.result.XResultData;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-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.DefaultXWidgetOptionResolver;
-import org.eclipse.osee.framework.ui.skynet.widgets.util.FrameworkXWidgetProvider;
-import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer;
-import org.eclipse.osee.framework.ui.skynet.widgets.util.XWidgetRendererItem;
import org.junit.Assert;
import org.junit.Test;
@@ -39,27 +31,10 @@
public void workDefXWidgetTest() {
AtsApi atsApi = AtsApiService.get();
- XResultData rd = new XResultData();
- for (IAtsWorkDefinition workDef : atsApi.getWorkDefinitionService().getAllWorkDefinitions()) {
- for (IAtsWidgetDefinition widgetDef : atsApi.getWorkDefinitionService().getWidgets(workDef)) {
- String xWidgetName = widgetDef.getXWidgetName();
- if (Strings.isValid(xWidgetName)) {
- XWidget widget = getWidget(xWidgetName);
- if (widget == null || widget.getLabel().contains("Unhandled XWidget")) {
- rd.errorf("Widget not found for [%s] in WorkDef %s\n", xWidgetName, workDef.toStringWithId());
- }
- }
- }
- }
+ ValidateWorkDefXWidgetOperation op = new ValidateWorkDefXWidgetOperation(atsApi);
+ XResultData rd = op.run();
Assert.assertTrue(rd.toString(), rd.isSuccess());
}
- public XWidget getWidget(String xWidgetName) {
- SwtXWidgetRenderer dynamicXWidgetLayout = new SwtXWidgetRenderer(null, new DefaultXWidgetOptionResolver());
- XWidgetRendererItem dummyItem = new XWidgetRendererItem(dynamicXWidgetLayout, XOption.NONE);
- XWidget widget = FrameworkXWidgetProvider.getXWidget(dummyItem, xWidgetName, "IsInTest", null);
- return widget;
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefXWidgetOperation.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefXWidgetOperation.java
new file mode 100644
index 0000000..3c64455
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workdef/ValidateWorkDefXWidgetOperation.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2021 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.workdef;
+
+import org.eclipse.osee.ats.api.AtsApi;
+import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition;
+import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition;
+import org.eclipse.osee.framework.jdk.core.result.XResultData;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+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.DefaultXWidgetOptionResolver;
+import org.eclipse.osee.framework.ui.skynet.widgets.util.FrameworkXWidgetProvider;
+import org.eclipse.osee.framework.ui.skynet.widgets.util.SwtXWidgetRenderer;
+import org.eclipse.osee.framework.ui.skynet.widgets.util.XWidgetRendererItem;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ValidateWorkDefXWidgetOperation {
+
+ private final AtsApi atsApi;
+
+ public ValidateWorkDefXWidgetOperation(AtsApi atsApi) {
+ this.atsApi = atsApi;
+ }
+
+ public XResultData run() {
+ XResultData rd = new XResultData();
+ for (IAtsWorkDefinition workDef : atsApi.getWorkDefinitionService().getAllWorkDefinitions()) {
+ for (IAtsWidgetDefinition widgetDef : atsApi.getWorkDefinitionService().getWidgets(workDef)) {
+ String xWidgetName = widgetDef.getXWidgetName();
+ if (Strings.isValid(xWidgetName)) {
+ XWidget widget = getWidget(xWidgetName);
+ if (widget == null || widget.getLabel().contains("Unhandled XWidget")) {
+ rd.errorf("Widget not found for [%s] in WorkDef %s\n", xWidgetName, workDef.toStringWithId());
+ }
+ }
+ }
+ }
+ return rd;
+ }
+
+ public XWidget getWidget(String xWidgetName) {
+ SwtXWidgetRenderer dynamicXWidgetLayout = new SwtXWidgetRenderer(null, new DefaultXWidgetOptionResolver());
+ XWidgetRendererItem dummyItem = new XWidgetRendererItem(dynamicXWidgetLayout, XOption.NONE);
+ XWidget widget = FrameworkXWidgetProvider.getXWidget(dummyItem, xWidgetName, "IsInTest", null);
+ return widget;
+ }
+
+}