Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/plugin.xml14
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java9
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java82
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoWorkDefinitionSheetProvider.java38
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/Osee ATS Config Demo.vue1531
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Demo_AIs_And_Team_Definitions.ats297
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Code.ats127
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Req.ats137
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_SwDesign.ats180
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Test.ats127
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_StateItem_Suite.java37
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ActionableItemsColumnTest.java9
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/AssigneeColumnTest.java9
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/BranchStatusColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CancelledDateColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CategoryColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ChangeTypeColumnTest.java6
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CompletedDateColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CreatedDateColumnTest.java6
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DeadlineColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DescriptionColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/EstimatedHoursColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/GroupsColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/NumberOfTasksAndInWorkTasksColumnsTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/OriginatorColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ParentStateAndIdColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PeerToPeerReviewColumnsTest.java6
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PriorityColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/RelatedToStateColumnTest.java4
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/StateColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TargetedVersionColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TeamColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TypeColumnTest.java5
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java131
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java88
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java100
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsHandleAddReviewRuleStateItemTest.java27
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java92
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java102
-rw-r--r--plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/DemoTestUtil.java12
-rw-r--r--plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.osee.ats/images/stateItem.gifbin0 -> 196 bytes
-rw-r--r--plugins/org.eclipse.osee.ats/plugin.xml1
-rw-r--r--plugins/org.eclipse.osee.ats/schema/AtsAIandTeamConfig.exsd105
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsImage.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java119
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactToken.java56
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsAttributeTypes.java3
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java44
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java35
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsLoadConfigArtifactsOperation.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java222
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEstimatedHoursHeader.java112
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPercentCompleteHeader.java111
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java42
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java56
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java87
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java17
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java24
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java27
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java26
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java41
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java44
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java21
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java18
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConfigureDBForAts.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertAIsAndTeamDefinitions.java33
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertWorkFlowDefinitions.java1
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ImportAIsAndTeamDefinitions.java30
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsFolderUtil.java107
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java12
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionProviders.java19
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionSheetProviders.java74
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/IAtsWorkDefinitionProvider.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinition.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinitionOption.java31
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java19
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinition.java24
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java86
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java13
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightRule.java28
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java24
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java373
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Goal.ats42
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Review_Decision.ats110
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Review_PeerToPeer.ats107
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Task_Default.ats8
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Team_Default.ats7
-rw-r--r--plugins/org.eclipse.osee.ats/support/WorkDef_Team_Simple.ats83
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch7
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbTests.launch6
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/suite/MasterTestSuite_DemoDbTests.java2
-rw-r--r--plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java29
-rw-r--r--plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IArtifactToken.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/AtsDbConfig.java)14
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java21
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java6
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java5
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XComboBooleanDam.java5
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XHyperlinkLabelValueSelection.java2
-rw-r--r--plugins/org.eclipse.osee.support.config/launchConfig/OSEE Demo product [localhost].launch6
-rw-r--r--plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java43
-rw-r--r--plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java16
114 files changed, 3206 insertions, 2763 deletions
diff --git a/plugins/org.eclipse.osee.ats.config.demo/plugin.xml b/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
index daaba297a7..ff239e9c32 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
+++ b/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
@@ -16,12 +16,6 @@
</DatabaseInitializationTask>
</extension>
<extension
- point="org.eclipse.osee.ats.AtsAIandTeamConfig">
- <AtsAIandTeamConfig
- vueFilename="support/Osee ATS Config Demo.vue">
- </AtsAIandTeamConfig>
- </extension>
- <extension
point="org.eclipse.osee.ats.AtsNavigateItem">
<AtsNavigateItem
classname="org.eclipse.osee.ats.config.demo.navigate.DemoNavigateViewItems">
@@ -61,6 +55,14 @@
</ArtifactImageProvider>
</extension>
<extension
+ id="DemoWorkDefinitionSheetProvider"
+ name="DemoWorkDefinitionSheetProvider"
+ point="org.eclipse.osee.ats.AtsWorkDefinitionSheetProvider">
+ <AtsWorkDefinitionSheetProvider
+ classname="org.eclipse.osee.ats.config.demo.config.DemoWorkDefinitionSheetProvider">
+ </AtsWorkDefinitionSheetProvider>
+ </extension>
+ <extension
id="DemoTraceUnitHandler"
name="DemoTraceUnitHandler"
point="org.eclipse.osee.define.TraceUnitHandler">
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
index 80d653ed37..92077c4eeb 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/PopulateDemoActions.java
@@ -25,7 +25,6 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.AtsBulkLoad;
-import org.eclipse.osee.ats.config.demo.config.DemoDatabaseConfig;
import org.eclipse.osee.ats.config.demo.config.DemoDbActionData;
import org.eclipse.osee.ats.config.demo.config.DemoDbActionData.CreateReview;
import org.eclipse.osee.ats.config.demo.config.DemoDbGroups;
@@ -34,8 +33,6 @@ import org.eclipse.osee.ats.config.demo.config.DemoDbTasks;
import org.eclipse.osee.ats.config.demo.config.DemoDbUtil;
import org.eclipse.osee.ats.config.demo.config.DemoDbUtil.SoftwareRequirementStrs;
import org.eclipse.osee.ats.config.demo.internal.OseeAtsConfigDemoActivator;
-import org.eclipse.osee.ats.config.demo.util.DemoTeams;
-import org.eclipse.osee.ats.config.demo.util.DemoTeams.Team;
import org.eclipse.osee.ats.util.ActionManager;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsRelationTypes;
@@ -222,12 +219,6 @@ public class PopulateDemoActions extends XNavigateItemAction {
BranchType.BASELINE.getValue(),
childBranch.getId()});
BranchManager.refreshBranches();
- // Map team definitions versions to their related branches
- SkynetTransaction transaction =
- new SkynetTransaction(AtsUtil.getAtsBranch(), "Populate Demo DB - Create Branch");
- DemoDatabaseConfig.mapTeamVersionToBranch(DemoTeams.getInstance().getTeamDef(Team.SAW_SW),
- DemoSawBuilds.SAW_Bld_2.getName(), DemoSawBuilds.SAW_Bld_2.getName(), transaction);
- transaction.execute();
} catch (Exception ex) {
OseeLog.log(OseeAtsConfigDemoActivator.class, Level.SEVERE, ex);
}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
index 15ba31ceac..0e4519e1d2 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
@@ -10,22 +10,12 @@
*******************************************************************************/
package org.eclipse.osee.ats.config.demo.config;
-import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
-import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.demo.DemoCISBuilds;
import org.eclipse.osee.ats.config.demo.DemoSubsystems;
-import org.eclipse.osee.ats.config.demo.internal.OseeAtsConfigDemoActivator;
-import org.eclipse.osee.ats.config.demo.util.DemoTeams;
-import org.eclipse.osee.ats.config.demo.util.DemoTeams.Team;
import org.eclipse.osee.ats.config.demo.workflow.DemoCodeWorkFlowDefinition;
import org.eclipse.osee.ats.config.demo.workflow.DemoReqWorkFlowDefinition;
import org.eclipse.osee.ats.config.demo.workflow.DemoSWDesignWorkFlowDefinition;
import org.eclipse.osee.ats.config.demo.workflow.DemoTestWorkFlowDefinition;
-import org.eclipse.osee.ats.util.AtsArtifactTypes;
-import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.ats.workflow.vue.AtsDbConfig;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -33,44 +23,28 @@ import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.database.core.OseeInfo;
import org.eclipse.osee.framework.database.init.IDbInitializationTask;
import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
-import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
-import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.skynet.core.utility.Requirements;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinition.WriteType;
import org.eclipse.osee.support.test.util.DemoSawBuilds;
-import org.eclipse.osee.support.test.util.DemoUsers;
/**
* Initialization class that will load configuration information for a sample DB.
*
* @author Donald G. Dunne
*/
-public class DemoDatabaseConfig extends AtsDbConfig implements IDbInitializationTask {
+public class DemoDatabaseConfig implements IDbInitializationTask {
@Override
public void run() throws OseeCoreException {
- SkynetTransaction transaction = new SkynetTransaction(BranchManager.getCommonBranch(), "Create Steve");
- // note, all other users are created through ATS Team/AI VUE import
- UserManager.createUser(DemoUsers.Inactive_Steve, transaction);
- transaction.execute();
-
new DemoCodeWorkFlowDefinition().config(WriteType.New, null);
new DemoTestWorkFlowDefinition().config(WriteType.New, null);
new DemoReqWorkFlowDefinition().config(WriteType.New, null);
new DemoSWDesignWorkFlowDefinition().config(WriteType.New, null);
- // Creates Actionable Items and Teams
- // Teams are related to workflow by id specified in team object in VUE diagram
- executeLoadAIsAndTeamsAction(OseeAtsConfigDemoActivator.PLUGIN_ID);
-
- // Create initial version artifacts for Widget teams
- createVersionArtifacts();
-
// Create SAW_Bld_1 branch
BranchManager.createTopLevelBranch(DemoSawBuilds.SAW_Bld_1);
populateProgramBranch(DemoSawBuilds.SAW_Bld_1);
@@ -79,31 +53,9 @@ public class DemoDatabaseConfig extends AtsDbConfig implements IDbInitialization
BranchManager.createTopLevelBranch(DemoCISBuilds.CIS_Bld_1);
populateProgramBranch(DemoCISBuilds.CIS_Bld_1);
- // Map team definitions versions to their related branches
- transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Demo Database Config");
- mapTeamVersionToBranch(DemoTeams.getInstance().getTeamDef(Team.SAW_SW), DemoSawBuilds.SAW_Bld_1.getName(),
- DemoSawBuilds.SAW_Bld_1.getName(), transaction);
- mapTeamVersionToBranch(DemoTeams.getInstance().getTeamDef(Team.CIS_SW), DemoCISBuilds.CIS_Bld_1.getName(),
- DemoCISBuilds.CIS_Bld_1.getName(), transaction);
-
- // Set Joe Smith as Priviledged Member of SAW Test
- Artifact teamDef =
- ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.TeamDefinition, "SAW Test", AtsUtil.getAtsBranch());
- teamDef.addRelation(AtsRelationTypes.PrivilegedMember_Member, DemoDbUtil.getDemoUser(DemoUsers.Joe_Smith));
- teamDef.persist(transaction);
-
- transaction.execute();
-
OseeInfo.putValue(OseeInfo.DB_TYPE_KEY, "demo");
}
- public static void mapTeamVersionToBranch(TeamDefinitionArtifact teamDef, String versionName, String branchName, SkynetTransaction transaction) throws OseeCoreException {
- Branch branch = BranchManager.getBranch(branchName);
- VersionArtifact verArt = teamDef.getVersionArtifact(versionName, false);
- verArt.setSoleAttributeValue(AtsAttributeTypes.BaselineBranchGuid, branch.getGuid());
- verArt.persist(transaction);
- }
-
private void populateProgramBranch(IOseeBranch branch) throws OseeCoreException {
Branch programBranch = BranchManager.getBranch(branch);
Artifact sawProduct =
@@ -132,36 +84,4 @@ public class DemoDatabaseConfig extends AtsDbConfig implements IDbInitialization
}
- private void createVersionArtifacts() throws OseeCoreException {
- IOseeBranch atsBranch = AtsUtil.getAtsBranch();
- // Setup some sample builds for Widget A
- createVersionArtifacts(atsBranch, Team.SAW_SW, DemoSawBuilds.SAW_Bld_1, DemoSawBuilds.SAW_Bld_2,
- DemoSawBuilds.SAW_Bld_3);
-
- // Setup some sample builds for Widget B
- createVersionArtifacts(atsBranch, Team.CIS_SW, DemoCISBuilds.CIS_Bld_1, DemoCISBuilds.CIS_Bld_2,
- DemoCISBuilds.CIS_Bld_3);
- }
-
- private void createVersionArtifacts(IOseeBranch atsBranch, Team team, IOseeBranch... demoBranches) throws OseeCoreException {
- TeamDefinitionArtifact teamDef = DemoTeams.getInstance().getTeamDef(team);
- for (IOseeBranch demoBranch : demoBranches) {
- String versionName = demoBranch.getName();
- VersionArtifact versionArtifact =
- (VersionArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.Version, atsBranch, versionName);
-
- if (DemoCISBuilds.CIS_Bld_1.equals(demoBranch) || DemoSawBuilds.SAW_Bld_1.equals(demoBranch)) {
- versionArtifact.setReleased(true);
- }
- if (DemoCISBuilds.CIS_Bld_2.equals(demoBranch) || DemoSawBuilds.SAW_Bld_2.equals(demoBranch)) {
- versionArtifact.setSoleAttributeValue(AtsAttributeTypes.NextVersion, true);
- }
- if (DemoSawBuilds.SAW_Bld_2.equals(demoBranch)) {
- versionArtifact.setSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, true);
- versionArtifact.setSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, true);
- }
- teamDef.addRelation(AtsRelationTypes.TeamDefinitionToVersion_Version, versionArtifact);
- versionArtifact.persist();
- }
- }
}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoWorkDefinitionSheetProvider.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoWorkDefinitionSheetProvider.java
new file mode 100644
index 0000000000..71ff06df5c
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoWorkDefinitionSheetProvider.java
@@ -0,0 +1,38 @@
+/*
+ * Created on Jan 20, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.config.demo.config;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.osee.ats.config.demo.internal.OseeAtsConfigDemoActivator;
+import org.eclipse.osee.ats.workdef.AtsWorkDefinitionSheetProviders;
+import org.eclipse.osee.ats.workdef.IAtsWorkDefinitionSheetProvider;
+import org.eclipse.osee.ats.workdef.WorkDefinitionSheet;
+
+public class DemoWorkDefinitionSheetProvider implements IAtsWorkDefinitionSheetProvider {
+
+ @Override
+ public Collection<WorkDefinitionSheet> getWorkDefinitionSheets() {
+ List<WorkDefinitionSheet> sheets = new ArrayList<WorkDefinitionSheet>();
+ sheets.add(new WorkDefinitionSheet("WorkDef_Demo_AIs_And_Team_Definitions", "",
+ AtsWorkDefinitionSheetProviders.getSupportFile(OseeAtsConfigDemoActivator.PLUGIN_ID,
+ "support/WorkDef_Demo_AIs_And_Team_Definitions.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Demo_Code", "demo.code",
+ AtsWorkDefinitionSheetProviders.getSupportFile(OseeAtsConfigDemoActivator.PLUGIN_ID,
+ "support/WorkDef_Team_Demo_Code.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Demo_Req", "demo.req",
+ AtsWorkDefinitionSheetProviders.getSupportFile(OseeAtsConfigDemoActivator.PLUGIN_ID,
+ "support/WorkDef_Team_Demo_Req.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Demo_Test", "demo.test",
+ AtsWorkDefinitionSheetProviders.getSupportFile(OseeAtsConfigDemoActivator.PLUGIN_ID,
+ "support/WorkDef_Team_Demo_Test.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Demo_SwDesign", "demo.swdesign",
+ AtsWorkDefinitionSheetProviders.getSupportFile(OseeAtsConfigDemoActivator.PLUGIN_ID,
+ "support/WorkDef_Team_Demo_SwDesign.ats")));
+ return sheets;
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/Osee ATS Config Demo.vue b/plugins/org.eclipse.osee.ats.config.demo/support/Osee ATS Config Demo.vue
deleted file mode 100644
index dbffad5857..0000000000
--- a/plugins/org.eclipse.osee.ats.config.demo/support/Osee ATS Config Demo.vue
+++ /dev/null
@@ -1,1531 +0,0 @@
-<!-- Do Not Remove: VUE mapping @version(1.1) jar:file:/C:/Program%20Files/VUE/VUE.jar!/tufts/vue/resources/lw_mapping_1_1.xml -->
-<!-- Do Not Remove: Saved date Wed Jun 11 10:13:51 MST 2008 by b0727536 on platform Windows XP 5.1 in JVM 1.5.0_07-b03 -->
-<!-- Do Not Remove: Saving version @(#)VUE: built October 17 2006 at 0400 by vue on Linux 2.4.21-37.EL i386 JVM 1.5.0_06-b05 -->
-<?xml version="1.0" encoding="US-ASCII"?>
-<LW-MAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="none" ID="0"
- label="Osee ATS Config Demo.vue" x="-1334.7498" y="-359.0"
- width="1967.59" height="689.9575" strokeWidth="0.0" autoSized="false">
- <fillColor>#ffffff</fillColor>
- <strokeColor>#404040</strokeColor>
- <font>SansSerif-plain-14</font>
- <nodeFilter/>
- <child ID="411" label="SAW CSCI" x="-188.51242" y="-299.1973"
- width="107.35" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>NotActionable</notes>
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="67" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="412" label="SAW Requirements" x="-195.81241"
- y="-147.1973" width="138.15" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="123" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="413" label="SAW Code" x="-307.61246" y="-249.1973"
- width="81.45" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="69" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="414" label="SAW Test" x="-2.6124573" y="-261.1973"
- width="75.149994" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="63" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="415" x="-236.51596" y="-276.1973" width="71.30705"
- height="27.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-165.20891" y="-276.1973"/>
- <point2 x="-236.51596" y="-249.1973"/>
- <ID1>411</ID1>
- <ID2>413</ID2>
- </child>
- <child ID="416" x="-83.450554" y="-276.19727" width="80.8381"
- height="18.090973" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-83.450554" y="-276.1973"/>
- <point2 x="-2.6124573" y="-258.10632"/>
- <ID1>411</ID1>
- <ID2>414</ID2>
- </child>
- <child ID="417" x="-135.78741" y="-276.19727" width="10.0"
- height="129.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-134.22458" y="-276.19727"/>
- <point2 x="-127.350235" y="-147.19727"/>
- <ID1>411</ID1>
- <ID2>412</ID2>
- </child>
- <child ID="418" label="COMM" x="-287.26245" y="-155.1973"
- width="54.149998" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="43" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="419" label="NAV" x="-256.26245" y="-197.1973"
- width="37.35" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="27" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="420" label="MSM" x="-348.26245" y="-150.1973"
- width="41.55" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="31" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="421" label="COMM" x="-208.18744" y="-80.197296"
- width="54.149998" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="43" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="422" label="NAV" x="-159.18744" y="-36.197296"
- width="37.35" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="27" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="423" label="MSM" x="-128.18744" y="-77.197296"
- width="41.55" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="31" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="424" label="COMM" x="-70.962494" y="-193.1973"
- width="54.149998" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="43" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="425" label="RunLists" x="9.037506" y="-148.1973"
- width="66.75" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="55" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="426" label="NAV" x="4.037506" y="-195.1973" width="37.35"
- height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="27" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="427" x="23.837523" y="-238.1973" width="10.0"
- height="43.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="32.828064" y="-238.1973"/>
- <point2 x="24.846981" y="-195.1973"/>
- <ID1>414</ID1>
- <ID2>426</ID2>
- </child>
- <child ID="428" x="33.687523" y="-238.19727" width="10.0"
- height="90.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="35.720726" y="-238.19727"/>
- <point2 x="41.654324" y="-148.19727"/>
- <ID1>414</ID1>
- <ID2>425</ID2>
- </child>
- <child ID="429" x="-30.55256" y="-238.1973" width="52.180176"
- height="45.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="21.627615" y="-238.1973"/>
- <point2 x="-30.55256" y="-193.1973"/>
- <ID1>414</ID1>
- <ID2>424</ID2>
- </child>
- <child ID="430" x="-123.56259" y="-124.197296" width="12.975334"
- height="47.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-123.56259" y="-124.197296"/>
- <point2 x="-110.58726" y="-77.197296"/>
- <ID1>412</ID1>
- <ID2>423</ID2>
- </child>
- <child ID="431" x="-139.0853" y="-124.197266" width="10.920731"
- height="88.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-128.16457" y="-124.197266"/>
- <point2 x="-139.0853" y="-36.197266"/>
- <ID1>412</ID1>
- <ID2>422</ID2>
- </child>
- <child ID="432" x="-171.77942" y="-124.197296" width="35.70897"
- height="44.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-136.07045" y="-124.197296"/>
- <point2 x="-171.77942" y="-80.197296"/>
- <ID1>412</ID1>
- <ID2>421</ID2>
- </child>
- <child ID="433" x="-320.44806" y="-226.1973" width="46.52118"
- height="75.99997" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-273.92688" y="-226.1973"/>
- <point2 x="-320.44806" y="-150.19733"/>
- <ID1>413</ID1>
- <ID2>420</ID2>
- </child>
- <child ID="434" x="-260.40765" y="-226.1973" width="16.340393"
- height="29.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-260.40765" y="-226.1973"/>
- <point2 x="-244.06726" y="-197.1973"/>
- <ID1>413</ID1>
- <ID2>419</ID2>
- </child>
- <child ID="435" x="-268.53745" y="-226.19751" width="10.0"
- height="71.000244" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-266.06778" y="-226.19751"/>
- <point2 x="-261.0071" y="-155.19727"/>
- <ID1>413</ID1>
- <ID2>418</ID2>
- </child>
- <child ID="436" label="SAW Code" x="-330.94748" y="0.9427185"
- width="122.34" height="29.89" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Lead:Joe Smith%nl;AtsTeamUsesVersions%nl;StaticId:saw.code%nl;WorkflowId:demo.code</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="69" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="437" label="SAW Requirements" x="-184.53745"
- y="43.577698" width="182.38" height="33.229996"
- strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Lead:Joe Smith%nl;AtsTeamUsesVersions%nl;StaticId:saw.requirements%nl;WorkflowId:demo.req</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="123" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="438" label="SAW Test" x="-53.537445" y="-46.42227"
- width="115.78" height="29.629997" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Lead:Kay Jones%nl;AtsTeamUsesVersions%nl;StaticId:saw.test%nl;WorkflowId:demo.test</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="63" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="439" x="-130.96346" y="-17.358871" width="124.34966"
- height="161.56557" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-130.96346" y="144.2067"/>
- <point2 x="-6.6137934" y="-17.358875"/>
- <ID1>447</ID1>
- <ID2>438</ID2>
- </child>
- <child ID="440" x="6.4169397" y="-238.19727" width="26.931517"
- height="191.88167" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="6.4169407" y="-46.315613"/>
- <point2 x="33.348457" y="-238.19728"/>
- <ID1>438</ID1>
- <ID2>414</ID2>
- </child>
- <child ID="441" x="-273.31287" y="-226.19531" width="10.0"
- height="227.14844" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-269.60724" y="0.953125"/>
- <point2 x="-267.01852" y="-226.19531"/>
- <ID1>436</ID1>
- <ID2>413</ID2>
- </child>
- <child ID="445" x="-134.7478" y="76.511154" width="33.33925"
- height="67.49013" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-134.7478" y="144.00128"/>
- <point2 x="-101.408554" y="76.511154"/>
- <ID1>447</ID1>
- <ID2>437</ID2>
- </child>
- <child ID="446" x="-256.91876" y="30.198456" width="102.52498"
- height="114.10228" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-154.39378" y="144.30074"/>
- <point2 x="-256.91876" y="30.198456"/>
- <ID1>447</ID1>
- <ID2>436</ID2>
- </child>
- <child ID="447" label="SAW SW" x="-196.42252" y="143.6177"
- width="109.21999" height="29.370003" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:SAW Software%nl;Lead:Kay Jason%nl;Member:Maichael Johnson%nl;%nl;Member:Steven Kohn%nl;WorkflowId:osee.ats.teamWorkflow%nl;AtsTeamUsesVersions%nl;StaticId:saw.teamDefHoldingVersions%nl;NotActionable</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="57" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="448" label="ADT" x="89.93753" y="-166.1973"
- width="38.399998" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="28" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="449" x="43.941605" y="-238.1973" width="56.216854"
- height="72.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="43.94161" y="-238.1973"/>
- <point2 x="100.15846" y="-166.1973"/>
- <ID1>414</ID1>
- <ID2>448</ID2>
- </child>
- <child ID="450" label="Test Page" x="-384.0625" y="-200.1973"
- width="77.25" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="65" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="451" x="-327.00226" y="-226.1973" width="41.679596"
- height="26.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-285.32266" y="-226.1973"/>
- <point2 x="-327.00226" y="-200.1973"/>
- <ID1>413</ID1>
- <ID2>450</ID2>
- </child>
- <child ID="452" x="-131.35172" y="-335.5" width="11.0035095"
- height="36.302704" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-120.348206" y="-335.5"/>
- <point2 x="-131.35172" y="-299.1973"/>
- <ID1>455</ID1>
- <ID2>411</ID2>
- </child>
- <child ID="453" x="-124.77719" y="-124.197266" width="28.615334"
- height="167.87848" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-96.161865" y="43.681213"/>
- <point2 x="-124.7772" y="-124.197266"/>
- <ID1>437</ID1>
- <ID2>412</ID2>
- </child>
- <child ID="454" x="-139.67986" y="172.87189" width="19.069695"
- height="130.27472" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-120.61016" y="303.1466"/>
- <point2 x="-139.67986" y="172.87189"/>
- <ID1>456</ID1>
- <ID2>447</ID2>
- </child>
- <child ID="455" label="Actionable Items" x="-189.4375" y="-358.5"
- width="145.15" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>NotActionable</notes>
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="103" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="456" label="Teams" x="-164.90997" y="303.02753"
- width="92.57999" height="27.43" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>NotActionable</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="43" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="457" label="MSM" x="93.36252" y="-208.5" width="41.55"
- height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="31" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="458" x="52.240723" y="-238.1973" width="44.618626"
- height="29.697296" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="52.24072" y="-238.1973"/>
- <point2 x="96.859344" y="-208.5"/>
- <ID1>414</ID1>
- <ID2>457</ID2>
- </child>
- <child ID="459" label="CIS CSCI" x="367.20007" y="-312.63025"
- width="97.899994" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>NotActionable</notes>
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="58" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="460" label="CIS Requirements" x="249.90009"
- y="-192.63025" width="128.7" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="114" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="461" label="CIS Code" x="180.10004" y="-233.63025"
- width="72.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="60" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="462" label="CIS Test" x="406.10004" y="-228.63025"
- width="65.7" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="54" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="463" x="245.22125" y="-289.63025" width="141.80762"
- height="56.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="387.02887" y="-289.63025"/>
- <point2 x="245.22125" y="-233.63025"/>
- <ID1>459</ID1>
- <ID2>461</ID2>
- </child>
- <child ID="464" x="419.2715" y="-289.63025" width="16.557129"
- height="61.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="419.2715" y="-289.63025"/>
- <point2 x="435.82864" y="-228.63025"/>
- <ID1>459</ID1>
- <ID2>462</ID2>
- </child>
- <child ID="465" x="324.0155" y="-289.63025" width="82.36917"
- height="97.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="406.38467" y="-289.63025"/>
- <point2 x="324.0155" y="-192.63025"/>
- <ID1>459</ID1>
- <ID2>460</ID2>
- </child>
- <child ID="484" x="429.67383" y="-205.62988" width="10.0"
- height="208.18262" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="430.82306" y="2.5527344"/>
- <point2 x="438.5246" y="-205.62988"/>
- <ID1>499</ID1>
- <ID2>462</ID2>
- </child>
- <child ID="485" x="209.66116" y="-210.62988" width="10.0"
- height="120.53613" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="213.45288" y="-90.09375"/>
- <point2 x="215.86946" y="-210.62988"/>
- <ID1>497</ID1>
- <ID2>461</ID2>
- </child>
- <child ID="493" x="-44.287506" y="-340.7544" width="411.48758"
- height="35.41162" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-44.287506" y="-340.7544"/>
- <point2 x="367.20007" y="-305.34277"/>
- <ID1>455</ID1>
- <ID2>459</ID2>
- </child>
- <child ID="494" x="310.1399" y="-169.63086" width="10.0"
- height="123.16211" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="315.88965" y="-46.46875"/>
- <point2 x="314.3901" y="-169.63086"/>
- <ID1>498</ID1>
- <ID2>460</ID2>
- </child>
- <child ID="497" label="CIS Code" x="157.1625" y="-90.110245"
- width="112.0" height="29.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Lead:Jason Michael%nl;Member:Jason Michael%nl;AtsTeamUsesVersions%nl;StaticId:cis.code%nl;WorkflowId:demo.code</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="60" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="498" label="CIS Requirements" x="229.57254"
- y="-46.475266" width="173.04" height="33.339996"
- strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Lead:Joe Smith%nl;Lead:Joe Smith%nl;WorkflowId:demo.req%nl;AtsTeamUsesVersions%nl;StaticId:cis.requirements</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="114" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="499" label="CIS Test" x="377.5725" y="2.524765"
- width="105.44" height="28.739998" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Lead:Kay Jones%nl;AtsTeamUsesVersions%nl;StaticId:cis.test%nl;WorkflowId:demo.test</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="54" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="500" x="321.96094" y="-13.363525" width="54.64737"
- height="153.10773" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="376.6083" y="139.7442"/>
- <point2 x="321.96094" y="-13.363525"/>
- <ID1>503</ID1>
- <ID2>498</ID2>
- </child>
- <child ID="501" x="223.41898" y="-61.646423" width="148.13765"
- height="201.68442" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="371.5566" y="140.038"/>
- <point2 x="223.41896" y="-61.646423"/>
- <ID1>503</ID1>
- <ID2>497</ID2>
- </child>
- <child ID="502" x="386.55457" y="30.988647" width="38.720093"
- height="108.75488" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="386.55457" y="139.74353"/>
- <point2 x="425.27466" y="30.988647"/>
- <ID1>503</ID1>
- <ID2>499</ID2>
- </child>
- <child ID="503" label="CIS SW" x="332.14752" y="139.45474"
- width="98.87999" height="28.48" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:CIS Software%nl;Lead:Kay Jason%nl;Member:Maichael Johnson%nl;%nl;Member:Steven Kohn%nl;WorkflowId:osee.ats.teamWorkflow%nl;AtsTeamUsesVersions%nl;StaticId:cis.teamDefHoldingVersions%nl;NotActionable</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="48" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="504" x="-87.7357" y="164.25906" width="436.91336"
- height="142.41641" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-87.735695" y="306.67548"/>
- <point2 x="349.17767" y="164.25906"/>
- <ID1>456</ID1>
- <ID2>503</ID2>
- </child>
- <child ID="505" label="Tools Team" x="-651.8525" y="81.45474"
- width="128.9" height="30.150002" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:Tools Team%nl;Lead:Jeffery Kay%nl;Member:Jeffery Kay%nl;Member:Roland Stevens%nl;WorkflowId:osee.ats.teamWorkflow</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="75" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="506" x="-558.9597" y="109.89084" width="416.08856"
- height="195.45956" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-142.87114" y="305.3504"/>
- <point2 x="-558.9597" y="109.89084"/>
- <ID1>456</ID1>
- <ID2>505</ID2>
- </child>
- <child ID="507" label="Tools" x="-648.1875" y="-272.63025"
- width="73.75" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>NotActionable</notes>
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="35" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="508" x="-574.4375" y="-335.5" width="391.35632"
- height="67.96576" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-183.08118" y="-335.5"/>
- <point2 x="-574.4375" y="-267.53424"/>
- <ID1>455</ID1>
- <ID2>507</ID2>
- </child>
- <child ID="509" label="Timesheet" x="-620.5494" y="-131.86516"
- width="78.299995" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="66" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="510" label="Reader" x="-604.5494" y="-197.86517"
- width="58.35" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="47" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="511" label="Website" x="-707.5494" y="-138.86516"
- width="62.55" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="51" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="512" x="-670.6895" y="-249.63025" width="53.792114"
- height="110.76514" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-616.8974" y="-249.63025"/>
- <point2 x="-670.6895" y="-138.86511"/>
- <ID1>507</ID1>
- <ID2>511</ID2>
- </child>
- <child ID="513" x="-605.78467" y="-249.63025" width="24.882507"
- height="51.765137" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-605.78467" y="-249.63025"/>
- <point2 x="-580.90216" y="-197.86511"/>
- <ID1>507</ID1>
- <ID2>510</ID2>
- </child>
- <child ID="514" x="-608.8687" y="-249.63037" width="25.025513"
- height="117.76514" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-608.8687" y="-249.63037"/>
- <point2 x="-583.8432" y="-131.86523"/>
- <ID1>507</ID1>
- <ID2>509</ID2>
- </child>
- <child ID="515" x="-610.5437" y="-249.62988" width="22.136658"
- height="331.13184" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-588.40704" y="81.50195"/>
- <point2 x="-610.5437" y="-249.62988"/>
- <ID1>505</ID1>
- <ID2>507</ID2>
- </child>
- <child ID="517" label="Results Reporter" x="-747.3494"
- y="-199.86517" width="121.35" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="107" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="518" x="-674.76404" y="-249.63025" width="51.541138"
- height="49.765076" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-623.2229" y="-249.63025"/>
- <point2 x="-674.76404" y="-199.86517"/>
- <ID1>507</ID1>
- <ID2>517</ID2>
- </child>
- <child ID="519" label="Web Team" x="-766.3125" y="-2.205246"
- width="122.34" height="29.89" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Full Name:Company Website Team%nl;Lead:Karmen John%nl;Member:Jeffery Kay%nl;Member:Roland Stevens%nl;WorkflowId:osee.ats.simpleTeamWorkflow</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="69" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="521" x="-702.0941" y="-115.865234" width="23.450256"
- height="113.8103" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-702.0941" y="-2.0549316"/>
- <point2 x="-678.64386" y="-115.865234"/>
- <ID1>519</ID1>
- <ID2>511</ID2>
- </child>
- <child ID="522" x="-685.5033" y="26.716034" width="78.2359"
- height="55.67679" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-607.2674" y="82.39282"/>
- <point2 x="-685.5033" y="26.716034"/>
- <ID1>505</ID1>
- <ID2>519</ID2>
- </child>
- <child ID="523" label="SAW HW" x="-429.85248" y="91.45474"
- width="109.21999" height="29.370003" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:SAW Hardware%nl;Lead:Jason Michael%nl;Member:Jason Michael%nl;AtsTeamUsesVersions%nl;WorkflowId:osee.ats.teamWorkflow</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="57" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="524" label="SAW HW" x="-485.1875" y="-250.63025"
- width="68.85" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="57" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="525" label="Screen" x="-427.63745" y="-135.74515"
- width="56.249996" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="45" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="526" label="Manual" x="-438.63745" y="-173.74515"
- width="57.3" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="46" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="527" label="Adapter" x="-506.63745" y="-125.74515"
- width="61.499996" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="50" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="528" x="-473.57382" y="-227.63037" width="20.497742"
- height="101.885254" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-453.07608" y="-227.63037"/>
- <point2 x="-473.57382" y="-125.74512"/>
- <ID1>524</ID1>
- <ID2>527</ID2>
- </child>
- <child ID="529" x="-444.66364" y="-227.63025" width="28.57727"
- height="53.88507" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-444.66364" y="-227.63025"/>
- <point2 x="-416.08636" y="-173.74518"/>
- <ID1>524</ID1>
- <ID2>526</ID2>
- </child>
- <child ID="530" x="-445.6324" y="-227.63025" width="40.989807"
- height="91.88513" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-445.6324" y="-227.63025"/>
- <point2 x="-404.64258" y="-135.74512"/>
- <ID1>524</ID1>
- <ID2>525</ID2>
- </child>
- <child ID="531" x="-448.24713" y="-227.63025" width="69.83032"
- height="319.25732" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-378.4168" y="91.627075"/>
- <point2 x="-448.24713" y="-227.63025"/>
- <ID1>523</ID1>
- <ID2>524</ID2>
- </child>
- <child ID="532" label="Case" x="-524.4375" y="-180.74515"
- width="43.649998" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="33" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="533" x="-494.08026" y="-227.63025" width="34.785553"
- height="46.88513" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-459.29474" y="-227.63025"/>
- <point2 x="-494.0803" y="-180.74512"/>
- <ID1>524</ID1>
- <ID2>532</ID2>
- </child>
- <child ID="534" x="-333.4332" y="115.482574" width="149.8114"
- height="33.477303" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-183.6218" y="148.95987"/>
- <point2 x="-333.4332" y="115.48257"/>
- <ID1>447</ID1>
- <ID2>523</ID2>
- </child>
- <child ID="535" x="-416.3375" y="-279.44586" width="227.82507"
- height="35.023468" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-188.51242" y="-279.44586"/>
- <point2 x="-416.3375" y="-244.4224"/>
- <ID1>411</ID1>
- <ID2>524</ID2>
- </child>
- <child ID="536" label="Process Team" x="-927.83997" y="71.21979"
- width="147.06" height="31.509998" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:Processes Team%nl;Lead:Alex Kay%nl;Member:Michael Alex%nl;Member:Janice Michael%nl;Member:Keith Johnson%nl;WorkflowId:osee.ats.teamWorkflow</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="91" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="537" label="Processes" x="-904.175" y="-282.8652"
- width="78.299995" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="66" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="538" x="-825.875" y="-339.66315" width="636.4375"
- height="64.34006" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-189.4375" y="-339.66312"/>
- <point2 x="-825.875" y="-275.32306"/>
- <ID1>455</ID1>
- <ID2>537</ID2>
- </child>
- <child ID="539" label="Reviews" x="-836.53687" y="-131.1001"
- width="63.6" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="52" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="540" label="Config Mgmt" x="-841.53687" y="-210.10013"
- width="91.95" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="79" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="541" label="Coding Standards" x="-994.53687"
- y="-146.1001" width="128.7" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="114" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="542" x="-924.70776" y="-259.86523" width="54.203552"
- height="113.76514" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-870.50415" y="-259.86523"/>
- <point2 x="-924.7077" y="-146.1001"/>
- <ID1>537</ID1>
- <ID2>541</ID2>
- </child>
- <child ID="543" x="-854.0468" y="-259.86523" width="47.506836"
- height="49.765137" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-854.0468" y="-259.86523"/>
- <point2 x="-806.54" y="-210.1001"/>
- <ID1>537</ID1>
- <ID2>540</ID2>
- </child>
- <child ID="544" x="-860.45667" y="-259.86523" width="51.15143"
- height="128.76514" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-860.45667" y="-259.86523"/>
- <point2 x="-809.30524" y="-131.1001"/>
- <ID1>537</ID1>
- <ID2>539</ID2>
- </child>
- <child ID="545" x="-864.7308" y="-259.86523" width="10.0"
- height="331.10547" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-854.78046" y="71.240234"/>
- <point2 x="-864.6811" y="-259.86523"/>
- <ID1>536</ID1>
- <ID2>537</ID2>
- </child>
- <child ID="546" label="New Employee Manual" x="-1024.3369"
- y="-210.10013" width="158.09999" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="142" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="547" x="-932.60205" y="-259.86523" width="54.892395"
- height="49.765137" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-877.7097" y="-259.86523"/>
- <point2 x="-932.6021" y="-210.1001"/>
- <ID1>537</ID1>
- <ID2>546</ID2>
- </child>
- <child ID="551" x="-813.47705" y="99.72755" width="663.1499"
- height="207.11229" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-150.32718" y="306.83984"/>
- <point2 x="-813.4771" y="99.727554"/>
- <ID1>456</ID1>
- <ID2>536</ID2>
- </child>
- <child ID="552" label="Facilities Team" x="-1205.7528" y="93.64368"
- width="151.1" height="31.349998" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Full Name:Facilities Team%nl;Lead:John Stevens%nl;Member:Jason Stevens%nl;Member:Michael John%nl;Member:Steven Michael%nl;WorkflowId:osee.ats.simpleTeamWorkflow%nl;Member:John Stevens%nl;</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="95" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="553" label="Facilities" x="-1214.0879" y="-281.44128"
- width="66.75" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="55" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="554" x="-1147.3379" y="-341.7431" width="957.9004"
- height="69.38434" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-189.4375" y="-341.7431"/>
- <point2 x="-1147.3379" y="-272.35876"/>
- <ID1>455</ID1>
- <ID2>553</ID2>
- </child>
- <child ID="555" label="Computers" x="-1146.4497" y="-129.67621"
- width="81.45" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="69" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="556" label="Vending Machines" x="-1188.4497"
- y="-199.67624" width="130.79999" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="116" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="557" label="Network" x="-1270.4497" y="-137.67621"
- width="61.499996" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="50" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="558" x="-1234.9812" y="-258.44165" width="49.549927"
- height="120.76538" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1185.4313" y="-258.44165"/>
- <point2 x="-1234.9812" y="-137.67627"/>
- <ID1>553</ID1>
- <ID2>557</ID2>
- </child>
- <child ID="559" x="-1172.6027" y="-258.44116" width="41.44287"
- height="58.765015" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1172.6027" y="-258.44116"/>
- <point2 x="-1131.1598" y="-199.67615"/>
- <ID1>553</ID1>
- <ID2>556</ID2>
- </child>
- <child ID="560" x="-1175.0308" y="-258.4414" width="63.62378"
- height="128.76514" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1175.0308" y="-258.4414"/>
- <point2 x="-1111.407" y="-129.67627"/>
- <ID1>553</ID1>
- <ID2>555</ID2>
- </child>
- <child ID="561" x="-1179.1814" y="-258.4414" width="46.902588"
- height="352.17188" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1132.2788" y="93.73047"/>
- <point2 x="-1179.1814" y="-258.4414"/>
- <ID1>552</ID1>
- <ID2>553</ID2>
- </child>
- <child ID="562" label="Break Room" x="-1334.2498" y="-208.67624"
- width="90.899994" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="78" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="563" x="-1271.7175" y="-258.44128" width="73.92224"
- height="49.765015" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1197.7952" y="-258.44128"/>
- <point2 x="-1271.7174" y="-208.67627"/>
- <ID1>553</ID1>
- <ID2>562</ID2>
- </child>
- <child ID="564" x="-1076.4965" y="120.331085" width="919.8511"
- height="188.61435" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-156.6454" y="308.94543"/>
- <point2 x="-1076.4965" y="120.331085"/>
- <ID1>456</ID1>
- <ID2>552</ID2>
- </child>
- <child ID="565" label="IT Team" x="-1111.2998" y="-10.868973"
- width="102.92" height="28.32" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <notes>Full Name:IT Team%nl;Lead:Kay Wheeler%nl;Member:Jason Stevens%nl;Member:Michael John%nl;Member:Steven Michael</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="52" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="566" label="Backups" x="-1191.4998" y="-90.69397"
- width="65.7" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="54" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="567" x="-1179.3828" y="-258.4414" width="19.40271"
- height="167.74707" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1179.3827" y="-258.4414"/>
- <point2 x="-1159.98" y="-90.694336"/>
- <ID1>553</ID1>
- <ID2>566</ID2>
- </child>
- <child ID="568" x="-1101.3806" y="-106.67627" width="36.301758"
- height="96.09839" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1065.0789" y="-10.577881"/>
- <point2 x="-1101.3806" y="-106.67627"/>
- <ID1>565</ID1>
- <ID2>555</ID2>
- </child>
- <child ID="569" x="-1144.8738" y="-67.69403" width="69.12988"
- height="57.708557" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1075.7439" y="-9.985474"/>
- <point2 x="-1144.8738" y="-67.69403"/>
- <ID1>565</ID1>
- <ID2>566</ID2>
- </child>
- <child ID="570" x="-1223.7236" y="-114.67621" width="145.62158"
- height="104.821655" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1078.102" y="-9.854553"/>
- <point2 x="-1223.7236" y="-114.67621"/>
- <ID1>565</ID1>
- <ID2>557</ID2>
- </child>
- <child ID="571" x="-1120.0817" y="16.947632" width="51.178955"
- height="77.119995" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-1120.0817" y="94.06763"/>
- <point2 x="-1068.9027" y="16.947632"/>
- <ID1>552</ID1>
- <ID2>565</ID2>
- </child>
- <child ID="572" label="CIS SW Design" x="496.02527" y="-266.69397"
- width="109.799995" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="96" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="573" label="SAW SW Design" x="37.97522" y="-302.69397"
- width="119.24999" height="23.0" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <fillColor>#f2ae45</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="105" height="17"/>
- <nodeFilter/>
- <shape xsi:type="rectangle"/>
- </child>
- <child ID="576" x="449.89062" y="-289.63025" width="67.29419"
- height="22.93628" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="449.89062" y="-289.63025"/>
- <point2 x="517.1848" y="-266.69397"/>
- <ID1>459</ID1>
- <ID2>572</ID2>
- </child>
- <child ID="577" label="CIS SW Design" x="479.98022" y="-42.738968"
- width="152.35999" height="31.559998" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Lead:Kay Jones%nl;AtsTeamUsesVersions%nl;StaticId:cis.sw_design%nl;WorkflowId:demo.swdesign</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="96" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="578" label="SAW SW Design" x="3.5202637" y="95.85103"
- width="162.70001" height="32.45" strokeWidth="1.0"
- autoSized="true" xsi:type="node">
- <notes>Lead:Kay Jones%nl;AtsTeamUsesVersions%nl;StaticId:saw.sw_design%nl;WorkflowId:demo.swdesign</notes>
- <fillColor>#a7c2e9</fillColor>
- <strokeColor>#776d6d</strokeColor>
- <font>Arial-plain-14</font>
- <textBox width="105" height="17"/>
- <nodeFilter/>
- <shape xsi:type="ellipse"/>
- </child>
- <child ID="579" x="85.38179" y="-279.6941" width="11.855415"
- height="375.56567" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="85.38179" y="95.87158"/>
- <point2 x="97.237206" y="-279.6941"/>
- <ID1>578</ID1>
- <ID2>573</ID2>
- </child>
- <child ID="580" x="-81.16242" y="-294.40088" width="119.13764"
- height="10.0" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-81.16242" y="-288.50473"/>
- <point2 x="37.97522" y="-290.297"/>
- <ID1>411</ID1>
- <ID2>573</ID2>
- </child>
- <child ID="581" x="394.61615" y="-11.791931" width="146.8876"
- height="152.00424" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="394.61612" y="140.21231"/>
- <point2 x="541.5037" y="-11.791931"/>
- <ID1>503</ID1>
- <ID2>577</ID2>
- </child>
- <child ID="582" x="548.49384" y="-243.6914" width="10.0"
- height="200.9668" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="555.7986" y="-42.72461"/>
- <point2 x="551.1891" y="-243.6914"/>
- <ID1>577</ID1>
- <ID2>572</ID2>
- </child>
- <child ID="583" x="-98.46167" y="123.651245" width="126.57034"
- height="25.811073" strokeWidth="1.0" autoSized="false"
- controlCount="0" arrowState="2" xsi:type="link">
- <strokeColor>#404040</strokeColor>
- <textColor>#404040</textColor>
- <font>Arial-plain-12</font>
- <nodeFilter/>
- <point1 x="-98.46167" y="149.46231"/>
- <point2 x="28.10867" y="123.65124"/>
- <ID1>447</ID1>
- <ID2>578</ID2>
- </child>
- <userZoom>1.0</userZoom>
- <userOrigin x="-1441.7498" y="-629.194"/>
- <PathwayList currentPathway="0" revealerIndex="-1">
- <pathway label="Untitled Pathway" x="0.0" y="0.0"
- width="1.4E-45" height="1.4E-45" hidden="true"
- strokeWidth="0.0" autoSized="false" currentIndex="-1"
- locked="false" open="true">
- <strokeColor>#993333</strokeColor>
- <font>SansSerif-plain-14</font>
- <nodeFilter/>
- </pathway>
- </PathwayList>
- <date>2006-12-19</date>
- <mapFilterModel/>
-</LW-MAP>
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Demo_AIs_And_Team_Definitions.ats b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Demo_AIs_And_Team_Definitions.ats
new file mode 100644
index 0000000000..4cd8576933
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Demo_AIs_And_Team_Definitions.ats
@@ -0,0 +1,297 @@
+
+userDefinition "Joe Smith" GetOrCreate
+userDefinition "Kay Jones" GetOrCreate
+userDefinition "Jason Michael" GetOrCreate
+userDefinition "Alex Kay" GetOrCreate
+userDefinition "Kay Jason" GetOrCreate
+userDefinition "Steven Kohn" GetOrCreate
+userDefinition "John Stevens" GetOrCreate
+userDefinition "Keith Johnson" GetOrCreate
+userDefinition "Michael Alex" GetOrCreate
+userDefinition "Janice Michael" GetOrCreate
+userDefinition "Maichael Johnson" GetOrCreate
+userDefinition "Roland Stevens" GetOrCreate
+userDefinition "Jeffery Kay" GetOrCreate
+userDefinition "Karmen John" GetOrCreate
+userDefinition "Steven Michael" GetOrCreate
+userDefinition "Jason Stevens" GetOrCreate
+userDefinition "Michael John" GetOrCreate
+userDefinition "Kay Wheeler" GetOrCreate
+userDefinition "Inactive Steve" GetOrCreate {
+ active False userId "Inactive Steve"
+ email "Inactive Steve"
+ isAdmin False
+}
+
+teamDefinition "Teams" GetOrCreate {
+ staticId "osee.ats.TopTeamDefinition"
+ children {
+
+ teamDefinition "CIS SW" {
+ staticId "cis.teamDefHoldingVersions"
+ lead named "Kay Jason"
+ member named "Steven Kohn"
+ member named "Maichael Johnson"
+ member named "Kay Jason"
+ workDefinition "osee.ats.teamWorkflow"
+ version "CIS_Bld_1" {
+ staticId "cis.teamDefHoldingVersions"
+ released True
+ baslineBranchGuid "AyH_f2sSKy3l07fIvDDD"
+ }
+ version "CIS_Bld_2" {
+ staticId "cis.teamDefHoldingVersions"
+ next True
+ }
+ version "CIS_Bld_3" {
+ staticId "cis.teamDefHoldingVersions"
+ }
+ children {
+
+ teamDefinition "CIS Code" {
+ usesVersions True
+ staticId "cis.code"
+ lead named "Jason Michael"
+ member named "Jason Michael"
+ workDefinition "demo.code"
+ }
+
+ teamDefinition "CIS Requirements" {
+ usesVersions True
+ staticId "cis.requirements"
+ lead named "Joe Smith"
+ member named "Joe Smith"
+ workDefinition "demo.req"
+ }
+
+ teamDefinition "CIS SW Design" {
+ usesVersions True
+ staticId "cis.sw_design"
+ lead named "Kay Jones"
+ member named "Kay Jones"
+ workDefinition "demo.swdesign"
+ }
+
+ teamDefinition "CIS Test" {
+ usesVersions True
+ staticId "cis.test"
+ lead named "Kay Jones"
+ member named "Kay Jones"
+ workDefinition "demo.test"
+ }
+ }
+ }
+
+ teamDefinition "Facilities Team" {
+ lead named "John Stevens"
+ member named "John Stevens"
+ member named "Steven Michael"
+ member named "Michael John"
+ member named "Jason Stevens"
+ workDefinition "osee.ats.simpleTeamWorkflow"
+ children {
+
+ teamDefinition "IT Team" {
+ lead named "Kay Wheeler"
+ member named "Steven Michael"
+ member named "Michael John"
+ member named "Jason Stevens"
+ member named "Kay Wheeler"
+ workDefinition "osee.ats.simpleTeamWorkflow"
+ }
+ }
+ }
+
+ teamDefinition "Process Team" {
+ lead named "Alex Kay"
+ member named "Keith Johnson"
+ member named "Michael Alex"
+ member named "Janice Michael"
+ member named "Alex Kay"
+ workDefinition "osee.ats.teamWorkflow"
+ }
+
+ teamDefinition "SAW SW" {
+ staticId "saw.teamDefHoldingVersions"
+ lead named "Kay Jason"
+ member named "Maichael Johnson"
+ member named "Steven Kohn"
+ member named "Kay Jason"
+ workDefinition "osee.ats.teamWorkflow"
+ version "SAW_Bld_1" {
+ staticId "saw.teamDefHoldingVersions"
+ released True
+ baslineBranchGuid "AyH_f2sSKy3l07fIvAAA"
+ }
+ version "SAW_Bld_2" {
+ staticId "saw.teamDefHoldingVersions"
+ next True allowCreateBranch True allowCommitBranch True
+ baslineBranchGuid "AyH_f2sSKy3l07fIvBBB"
+ }
+ version "SAW_Bld_3" {
+ staticId "saw.teamDefHoldingVersions"
+ }
+ children {
+
+ teamDefinition "SAW Code" {
+ usesVersions True
+ staticId "saw.code"
+ lead named "Joe Smith"
+ member named "Joe Smith"
+ workDefinition "demo.code"
+ }
+
+ teamDefinition "SAW HW" {
+ usesVersions True
+ lead named "Jason Michael"
+ member named "Jason Michael"
+ workDefinition "osee.ats.teamWorkflow"
+ }
+
+ teamDefinition "SAW Requirements" {
+ usesVersions True
+ staticId "saw.requirements"
+ lead named "Joe Smith"
+ member named "Joe Smith"
+ workDefinition "demo.req"
+ }
+
+ teamDefinition "SAW SW Design" {
+ usesVersions True
+ staticId "saw.sw_design"
+ lead named "Kay Jones"
+ member named "Kay Jones"
+ workDefinition "demo.swdesign"
+ }
+
+ teamDefinition "SAW Test" {
+ usesVersions True
+ staticId "saw.test"
+ lead named "Kay Jones"
+ member named "Kay Jones" priviledged named "Joe Smith"
+ workDefinition "demo.test"
+ }
+ }
+ }
+
+ teamDefinition "Tools Team" {
+ lead named "Jeffery Kay"
+ member named "Jeffery Kay"
+ member named "Roland Stevens"
+ workDefinition "osee.ats.teamWorkflow"
+ children {
+
+ teamDefinition "Web Team" {
+ lead named "Karmen John"
+ member named "Jeffery Kay"
+ member named "Karmen John"
+ member named "Roland Stevens"
+ workDefinition "osee.ats.simpleTeamWorkflow"
+ }
+ }
+ }
+ }
+}
+actionableItem "Actionable Items" GetOrCreate {
+ staticId "osee.ats.TopActionableItem"
+ children {
+ actionableItem "CIS CSCI" {
+ actionable False
+ children {
+ actionableItem "CIS Code" {
+ team "CIS Code"
+ }
+ actionableItem "CIS Requirements" {
+ team "CIS Requirements"
+ }
+ actionableItem "CIS SW Design" {
+ team "CIS SW Design"
+ }
+ actionableItem "CIS Test" {
+ team "CIS Test"
+ }
+ }
+ }
+ actionableItem "Facilities" {
+ team "Facilities Team"
+ children {
+ actionableItem "Backups" {
+ team "IT Team"
+ }
+ actionableItem "Break Room"
+ actionableItem "Computers" {
+ team "IT Team"
+ }
+ actionableItem "Network" {
+ team "IT Team"
+ }
+ actionableItem "Vending Machines"
+ }
+ }
+ actionableItem "Processes" {
+ team "Process Team"
+ children {
+ actionableItem "Coding Standards"
+ actionableItem "Config Mgmt"
+ actionableItem "New Employee Manual"
+ actionableItem "Reviews"
+ }
+ }
+ actionableItem "SAW CSCI" {
+ actionable False
+ children {
+ actionableItem "SAW Code" {
+ team "SAW Code"
+ children {
+ actionableItem "COMM"
+ actionableItem "MSM"
+ actionableItem "NAV"
+ actionableItem "Test Page"
+ }
+ }
+ actionableItem "SAW HW" {
+ team "SAW HW"
+ children {
+ actionableItem "Adapter"
+ actionableItem "Case"
+ actionableItem "Manual"
+ actionableItem "Screen"
+ }
+ }
+ actionableItem "SAW Requirements" {
+ team "SAW Requirements"
+ children {
+ actionableItem "COMM"
+ actionableItem "MSM"
+ actionableItem "NAV"
+ }
+ }
+ actionableItem "SAW SW Design" {
+ team "SAW SW Design"
+ }
+ actionableItem "SAW Test" {
+ team "SAW Test"
+ children {
+ actionableItem "ADT"
+ actionableItem "COMM"
+ actionableItem "MSM"
+ actionableItem "NAV"
+ actionableItem "RunLists"
+ }
+ }
+ }
+ }
+ actionableItem "Tools" {
+ team "Tools Team"
+ children {
+ actionableItem "Reader"
+ actionableItem "Results Reporter"
+ actionableItem "Timesheet"
+ actionableItem "Website" {
+ team "Web Team"
+ }
+ }
+ }
+ }
+}
+
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Code.ats b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Code.ats
new file mode 100644
index 0000000000..20a7b49ff5
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Code.ats
@@ -0,0 +1,127 @@
+workDefinition "WorkDef_Team_Demo_Code" {
+ id "WorkDef_Team_Demo_Code"
+ startState "Endorse"
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Problem" {
+ attributeName "ats.Problem"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Proposed Resolution" {
+ attributeName "ats.Proposed Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "User Community" {
+ attributeName "ats.User Community"
+ xWidgetName "XListDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option HORIZONTAL_LABEL
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 5
+ to "Implement" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+
+ state "Implement" {
+ type Working
+ ordinal 4
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Authorize" OverrideAttributeValidation
+ to "Analyze" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ widget "Resolution"
+ }
+ }
+
+ state "Authorize" {
+ type Working
+ ordinal 3
+ to "Cancelled"
+ to "Implement" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ }
+ }
+
+ state "Analyze" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Authorize" AsDefault
+ to "Endorse" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ attributeWidget "ats.Work Package"
+ widget "Problem"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 6
+ to "Authorize" OverrideAttributeValidation
+ to "Analyze" OverrideAttributeValidation
+ to "Implement" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
+ }
+
+ state "Endorse" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Analyze" AsDefault
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Title"
+ widget "Description"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Validation Required"
+ attributeWidget "ats.Work Package"
+ widget "User Community"
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Req.ats b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Req.ats
new file mode 100644
index 0000000000..3daacb22bd
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Req.ats
@@ -0,0 +1,137 @@
+workDefinition "WorkDef_Team_Demo_Req" {
+ id "WorkDef_Team_Demo_Req"
+ startState "Endorse"
+
+ widgetDefinition "Problem" {
+ attributeName "ats.Problem"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Proposed Resolution" {
+ attributeName "ats.Proposed Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "User Community" {
+ attributeName "ats.User Community"
+ xWidgetName "XListDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option HORIZONTAL_LABEL
+ }
+
+ widgetDefinition "Working Branch" {
+ xWidgetName "XWorkingBranch"
+ }
+
+ widgetDefinition "Commit Manager" {
+ xWidgetName "XCommitManager"
+ }
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ state "Analyze" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Authorize" AsDefault
+ to "Endorse" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ attributeWidget "ats.Work Package"
+ widget "Problem"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Endorse" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Analyze" AsDefault
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Title"
+ widget "Description"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Validation Required"
+ attributeWidget "ats.Work Package"
+ widget "User Community"
+ }
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 6
+ to "Analyze" OverrideAttributeValidation
+ to "Implement" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ }
+
+ state "Authorize" {
+ type Working
+ ordinal 3
+ to "Cancelled"
+ to "Implement" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ }
+ }
+
+ state "Implement" {
+ type Working
+ ordinal 4
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Working Branch"
+ widget "Commit Manager"
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ widget "Resolution"
+ }
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 5
+ to "Implement" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_SwDesign.ats b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_SwDesign.ats
new file mode 100644
index 0000000000..4cb0f2cad2
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_SwDesign.ats
@@ -0,0 +1,180 @@
+workDefinition "WorkDef_Team_Demo_SwDesign" {
+ id "WorkDef_Team_Demo_SwDesign"
+ startState "Endorse"
+
+ widgetDefinition "Problem" {
+ attributeName "ats.Problem"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Proposed Resolution" {
+ attributeName "ats.Proposed Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "User Community" {
+ attributeName "ats.User Community"
+ xWidgetName "XListDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option HORIZONTAL_LABEL
+ }
+
+ widgetDefinition "Working Branch" {
+ xWidgetName "XWorkingBranch"
+ }
+
+ widgetDefinition "Commit Manager" {
+ xWidgetName "XCommitManager"
+ }
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+ decisionReviewDefinition "Analyze.None.TransitionTo" {
+ title
+ "Auto-created Decision Review from ruleId: atsAddDecisionReview.test.addDecisionReview.Analyze.None.TransitionTo"
+ description "This is a rule created to test the Review rules."
+ relatedToState "Analyze"
+ blockingType Transition
+ onEvent TransitionTo
+ assignee named "UnAssigned"
+ autoTransitionToDecision True
+ option "Completed"
+ }
+ decisionReviewDefinition "Implement.None.CreateBranch" {
+ title
+ "Auto-created Decision Review from ruleId: atsAddDecisionReview.test.addDecisionReview.Implement.None.CreateBranch"
+ description "This is a rule created to test the Review rules."
+ relatedToState "Implement"
+ blockingType Transition
+ onEvent CreateBranch
+ assignee named "UnAssigned"
+ option "Completed"
+ }
+ peerReviewDefinition "Authorize.None.TransitionTo" {
+ title
+ "Auto-created Decision Review from ruleId atsAddPeerToPeerReview.test.addPeerToPeerReview.Authorize.None.TransitionTo"
+ description "This is a rule created to test the Review rules."
+ relatedToState "Authorize"
+ blockingType Transition
+ onEvent TransitionTo
+ assignee named "UnAssigned"
+ }
+ peerReviewDefinition "Implement.None.CommitBranch" {
+ title
+ "Auto-created Decision Review from ruleId atsAddPeerToPeerReview.test.addPeerToPeerReview.Implement.None.CommitBranch"
+ description "This is a rule created to test the Review rules."
+ relatedToState "Implement"
+ blockingType Transition
+ onEvent CommitBranch
+ assignee named "UnAssigned"
+ }
+
+ state "Analyze" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Authorize" AsDefault
+ to "Endorse" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ decisionReview "Analyze.None.TransitionTo"
+ layout {
+ attributeWidget "ats.Work Package"
+ widget "Problem"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Endorse" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Analyze" AsDefault
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Title"
+ widget "Description"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Validation Required"
+ attributeWidget "ats.Work Package"
+ widget "User Community"
+ }
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 6
+ to "Analyze" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ to "Implement" OverrideAttributeValidation
+ }
+
+ state "Authorize" {
+ type Working
+ ordinal 3
+ to "Cancelled"
+ to "Implement" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ peerReview "Authorize.None.TransitionTo"
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ }
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 5
+ to "Implement" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+
+ state "Implement" {
+ type Working
+ ordinal 4
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ decisionReview "Implement.None.CreateBranch"
+ peerReview "Implement.None.CommitBranch"
+ layout {
+ widget "Working Branch"
+ widget "Commit Manager"
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ widget "Resolution"
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Test.ats b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Test.ats
new file mode 100644
index 0000000000..a8197c4eb0
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.config.demo/support/WorkDef_Team_Demo_Test.ats
@@ -0,0 +1,127 @@
+workDefinition "WorkDef_Team_Demo_Test" {
+ id "WorkDef_Team_Demo_Test"
+ startState "Endorse"
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Problem" {
+ attributeName "ats.Problem"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Proposed Resolution" {
+ attributeName "ats.Proposed Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "User Community" {
+ attributeName "ats.User Community"
+ xWidgetName "XListDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option HORIZONTAL_LABEL
+ }
+
+ state "Implement" {
+ type Working
+ ordinal 4
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ widget "Resolution"
+ }
+ }
+
+ state "Analyze" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Authorize" AsDefault
+ to "Endorse" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ attributeWidget "ats.Work Package"
+ widget "Problem"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Authorize" {
+ type Working
+ ordinal 3
+ to "Cancelled"
+ to "Implement" AsDefault
+ to "Analyze" OverrideAttributeValidation
+ layout {
+ attributeWidget "ats.Work Package"
+ attributeWidget "ats.Estimated Completion Date"
+ }
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 6
+ to "Implement" OverrideAttributeValidation
+ to "Analyze" OverrideAttributeValidation
+ to "Authorize" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 5
+ to "Implement" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+
+ state "Endorse" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Analyze" AsDefault
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Title"
+ widget "Description"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Validation Required"
+ attributeWidget "ats.Work Package"
+ widget "User Community"
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_StateItem_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_StateItem_Suite.java
new file mode 100644
index 0000000000..4bde92138a
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/AtsTest_Demo_StateItem_Suite.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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.test;
+
+import org.eclipse.osee.ats.test.editor.stateItem.AtsDecisionReviewDecisionStateItemTest;
+import org.eclipse.osee.ats.test.editor.stateItem.AtsDecisionReviewPrepareStateItemTest;
+import org.eclipse.osee.ats.test.editor.stateItem.AtsForceAssigneesToTeamLeadsStateItemTest;
+import org.eclipse.osee.ats.test.editor.stateItem.AtsHandleAddReviewRuleStateItemTest;
+import org.eclipse.osee.ats.test.editor.stateItem.AtsPeerToPeerReviewPrepareStateItemTest;
+import org.eclipse.osee.ats.test.editor.stateItem.AtsPeerToPeerReviewReviewStateItemTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+ AtsForceAssigneesToTeamLeadsStateItemTest.class,
+ AtsPeerToPeerReviewReviewStateItemTest.class,
+ AtsPeerToPeerReviewPrepareStateItemTest.class,
+ AtsDecisionReviewDecisionStateItemTest.class,
+ AtsDecisionReviewPrepareStateItemTest.class,
+ AtsHandleAddReviewRuleStateItemTest.class})
+/**
+ * This test suite contains tests that must be run against demo database
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsTest_Demo_StateItem_Suite {
+ // test provided above
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ActionableItemsColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ActionableItemsColumnTest.java
index 18104b8cef..7fc44daff7 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ActionableItemsColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ActionableItemsColumnTest.java
@@ -12,7 +12,9 @@ import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.ActionableItemsColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests ActionableItemsColumn
@@ -22,6 +24,8 @@ public class ActionableItemsColumnTest {
@org.junit.Test
public void testGetActionableItems() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Collection<ActionableItemArtifact> aias = ActionableItemsColumn.getActionableItems(codeArt);
@@ -32,10 +36,13 @@ public class ActionableItemsColumnTest {
aias = ActionableItemsColumn.getActionableItems(actionArt);
Assert.assertEquals(4, aias.size());
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
@org.junit.Test
public void testGetActionableItemsStr() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertEquals("SAW Code", ActionableItemsColumn.getActionableItemsStr(codeArt));
@@ -48,6 +55,8 @@ public class ActionableItemsColumnTest {
Assert.assertTrue(results.contains("SAW Test"));
Assert.assertTrue(results.contains("SAW Requirements"));
Assert.assertEquals(4, results.split(", ").length);
+
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/AssigneeColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/AssigneeColumnTest.java
index 4bc2d4c29c..379bd9bf67 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/AssigneeColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/AssigneeColumnTest.java
@@ -13,7 +13,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.ActionableItemsColumn;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests AssigneeColumn
@@ -23,6 +25,8 @@ public class AssigneeColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertEquals("Joe Smith",
@@ -33,9 +37,12 @@ public class AssigneeColumnTest {
Assert.assertTrue(results.contains(AssigneeColumn.getInstance().getColumnText(actionArt,
AssigneeColumn.getInstance(), 0)));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
public void testGetColumnImage() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertNotNull(ActionableItemsColumn.getInstance().getColumnImage(codeArt, AssigneeColumn.getInstance(), 0));
@@ -45,5 +52,7 @@ public class AssigneeColumnTest {
0));
Assert.assertNull(ActionableItemsColumn.getInstance().getColumnImage("String", AssigneeColumn.getInstance(), 0));
+
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/BranchStatusColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/BranchStatusColumnTest.java
index 347fff01e1..7035979fda 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/BranchStatusColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/BranchStatusColumnTest.java
@@ -11,7 +11,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.BranchStatusColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests BranchStatusColumn
@@ -21,6 +23,8 @@ public class BranchStatusColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("Working",
@@ -39,6 +43,7 @@ public class BranchStatusColumnTest {
Assert.assertEquals("Committed",
BranchStatusColumn.getInstance().getColumnText(reqArt2, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CancelledDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CancelledDateColumnTest.java
index 2fc8013577..0f3c21bf86 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CancelledDateColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CancelledDateColumnTest.java
@@ -16,8 +16,10 @@ import org.eclipse.osee.ats.util.TeamState;
import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.workflow.TransitionManager;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -35,6 +37,8 @@ public class CancelledDateColumnTest {
@org.junit.Test
public void testGetDateAndStrAndColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
SkynetTransaction transaction =
new SkynetTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName());
TeamWorkFlowArtifact teamArt =
@@ -67,5 +71,6 @@ public class CancelledDateColumnTest {
date = CancelledDateColumn.getDate(teamArt);
Assert.assertNull(date);
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CategoryColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CategoryColumnTest.java
index 58dd3df2f3..5acb869464 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CategoryColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CategoryColumnTest.java
@@ -13,8 +13,10 @@ import org.eclipse.osee.ats.column.CategoryColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -46,6 +48,8 @@ public class CategoryColumnTest {
@org.junit.Test
public void testGetDateAndStrAndColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
TeamWorkFlowArtifact reqArt =
@@ -105,5 +109,6 @@ public class CategoryColumnTest {
Assert.assertEquals("",
CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ChangeTypeColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ChangeTypeColumnTest.java
index 728afc1259..3a3a10fc1a 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ChangeTypeColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ChangeTypeColumnTest.java
@@ -13,9 +13,11 @@ import org.eclipse.osee.ats.column.ChangeTypeColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.ui.skynet.util.ChangeType;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -39,6 +41,8 @@ public class ChangeTypeColumnTest {
@org.junit.Test
public void getChangeTypeStrAndImage() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertEquals(ChangeType.Problem, ChangeTypeColumn.getChangeType(codeArt));
@@ -75,6 +79,8 @@ public class ChangeTypeColumnTest {
Assert.assertEquals(ChangeType.Problem, ChangeTypeColumn.getChangeType(actionArt));
Assert.assertEquals("Problem; Improvement",
ChangeTypeColumn.getInstance().getColumnText(actionArt, ChangeTypeColumn.getInstance(), 0));
+
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CompletedDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CompletedDateColumnTest.java
index 29a8faabbd..85341a5f31 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CompletedDateColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CompletedDateColumnTest.java
@@ -16,8 +16,10 @@ import org.eclipse.osee.ats.util.TeamState;
import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.workflow.TransitionManager;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -35,6 +37,8 @@ public class CompletedDateColumnTest {
@org.junit.Test
public void testGetDateAndStrAndColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
SkynetTransaction transaction =
new SkynetTransaction(AtsUtil.getAtsBranch(), CompletedDateColumnTest.class.getSimpleName());
TeamWorkFlowArtifact teamArt =
@@ -67,5 +71,6 @@ public class CompletedDateColumnTest {
date = CompletedDateColumn.getDate(teamArt);
Assert.assertNull(date);
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CreatedDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CreatedDateColumnTest.java
index 4ef3b6ee3d..81469ee332 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CreatedDateColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/CreatedDateColumnTest.java
@@ -13,7 +13,9 @@ import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.CreatedDateColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests CreatedDateColumn
@@ -23,6 +25,8 @@ public class CreatedDateColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertNotNull(CreatedDateColumn.getInstance().getColumnText(codeArt, AssigneeColumn.getInstance(), 0));
@@ -32,6 +36,8 @@ public class CreatedDateColumnTest {
ActionArtifact actionArt = codeArt.getParentActionArtifact();
Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CreatedDateColumn.getDateStr(actionArt));
+
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DeadlineColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DeadlineColumnTest.java
index 90d3d59edb..e623c59f8b 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DeadlineColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DeadlineColumnTest.java
@@ -14,7 +14,9 @@ import org.eclipse.osee.ats.column.DeadlineColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -32,6 +34,8 @@ public class DeadlineColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
SkynetTransaction transaction =
new SkynetTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName());
TeamWorkFlowArtifact teamArt =
@@ -63,5 +67,6 @@ public class DeadlineColumnTest {
Assert.assertTrue(DeadlineColumn.isDeadlineAlerting(teamArt).isFalse());
Assert.assertNull(DeadlineColumn.getInstance().getColumnImage(teamArt, DeadlineColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DescriptionColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DescriptionColumnTest.java
index fca32192cd..343132b950 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DescriptionColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/DescriptionColumnTest.java
@@ -11,7 +11,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.DescriptionColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests DescriptionColumn
@@ -21,6 +23,8 @@ public class DescriptionColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("Problem with the Diagram View",
@@ -30,6 +34,7 @@ public class DescriptionColumnTest {
Assert.assertEquals("Problem with the Diagram View",
DescriptionColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/EstimatedHoursColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/EstimatedHoursColumnTest.java
index 7fc789c674..38184f3e84 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/EstimatedHoursColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/EstimatedHoursColumnTest.java
@@ -16,8 +16,10 @@ import org.eclipse.osee.ats.column.EstimatedHoursColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -35,6 +37,8 @@ public class EstimatedHoursColumnTest {
@org.junit.Test
public void testGetDateAndStrAndColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
SkynetTransaction transaction =
new SkynetTransaction(AtsUtil.getAtsBranch(), EstimatedHoursColumnTest.class.getSimpleName());
TeamWorkFlowArtifact teamArt1 =
@@ -107,5 +111,6 @@ public class EstimatedHoursColumnTest {
Assert.assertEquals(0.1, EstimatedHoursColumn.getEstimatedHours(taskArt2));
Assert.assertEquals(4.0, EstimatedHoursColumn.getEstimatedHours(peerArt));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/GroupsColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/GroupsColumnTest.java
index ddefcc7c41..c41b8dfec2 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/GroupsColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/GroupsColumnTest.java
@@ -11,7 +11,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.GroupsColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests GroupsColumn
@@ -21,6 +23,8 @@ public class GroupsColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("Test Group",
@@ -30,6 +34,7 @@ public class GroupsColumnTest {
Assert.assertEquals("Test Group",
GroupsColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/NumberOfTasksAndInWorkTasksColumnsTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/NumberOfTasksAndInWorkTasksColumnsTest.java
index f9e06950ec..d259f902bc 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/NumberOfTasksAndInWorkTasksColumnsTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/NumberOfTasksAndInWorkTasksColumnsTest.java
@@ -15,9 +15,11 @@ import org.eclipse.osee.ats.column.NumberOfTasksRemainingColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.TransitionOption;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests NumberOfTasksColumn
@@ -28,6 +30,8 @@ public class NumberOfTasksAndInWorkTasksColumnsTest {
@org.junit.Test
public void getColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0));
@@ -60,5 +64,6 @@ public class NumberOfTasksAndInWorkTasksColumnsTest {
ActionArtifact actionArt = codeArt.getParentActionArtifact();
Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(actionArt, null, 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/OriginatorColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/OriginatorColumnTest.java
index e0be002bf9..585d9c4541 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/OriginatorColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/OriginatorColumnTest.java
@@ -11,9 +11,11 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.OriginatorColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.support.test.util.DemoUsers;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests OriginatorColumn
@@ -23,6 +25,8 @@ public class OriginatorColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(),
@@ -32,6 +36,7 @@ public class OriginatorColumnTest {
Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(),
OriginatorColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ParentStateAndIdColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ParentStateAndIdColumnTest.java
index bec4601d4d..0cdf813b92 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ParentStateAndIdColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/ParentStateAndIdColumnTest.java
@@ -15,7 +15,9 @@ import org.eclipse.osee.ats.column.ParentStateColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.TeamState;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests ParentStateColumn
@@ -26,6 +28,8 @@ public class ParentStateAndIdColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
ActionArtifact actionArt = codeArt.getParentActionArtifact();
@@ -43,6 +47,7 @@ public class ParentStateAndIdColumnTest {
Assert.assertEquals("", ParentStateColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PeerToPeerReviewColumnsTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PeerToPeerReviewColumnsTest.java
index 81cc068cfb..adb2967bb2 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PeerToPeerReviewColumnsTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PeerToPeerReviewColumnsTest.java
@@ -26,9 +26,11 @@ import org.eclipse.osee.ats.util.widgets.defect.DefectItem.InjectionActivity;
import org.eclipse.osee.ats.util.widgets.defect.DefectItem.Severity;
import org.eclipse.osee.ats.util.widgets.role.UserRole;
import org.eclipse.osee.ats.util.widgets.role.UserRole.Role;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.support.test.util.DemoUsers;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -46,6 +48,8 @@ public class PeerToPeerReviewColumnsTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
SkynetTransaction transaction =
new SkynetTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName());
TeamWorkFlowArtifact teamArt =
@@ -122,5 +126,7 @@ public class PeerToPeerReviewColumnsTest {
Arrays.asList(DemoUsers.Kay_Jones.getName() + "; " + DemoUsers.Joe_Smith.getName(),
DemoUsers.Joe_Smith.getName() + "; " + DemoUsers.Kay_Jones.getName());
Assert.assertTrue(results.contains(ReviewReviewerColumn.getInstance().getColumnText(peerArt, null, 0)));
+
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PriorityColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PriorityColumnTest.java
index c770c85f5d..9241cff8b7 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PriorityColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/PriorityColumnTest.java
@@ -14,7 +14,9 @@ import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.PriorityColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsRelationTypes;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests PriorityColumn
@@ -24,6 +26,8 @@ public class PriorityColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("1", PriorityColumn.getInstance().getColumnText(reqArt, AssigneeColumn.getInstance(), 0));
@@ -43,6 +47,7 @@ public class PriorityColumnTest {
ActionArtifact actionArt = reqArt.getParentActionArtifact();
Assert.assertEquals("1", PriorityColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/RelatedToStateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/RelatedToStateColumnTest.java
index eb087c7145..ecb65e7267 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/RelatedToStateColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/RelatedToStateColumnTest.java
@@ -14,7 +14,9 @@ import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.RelatedToStateColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.AtsRelationTypes;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests RelatedToStateColumn
@@ -24,6 +26,7 @@ public class RelatedToStateColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
TeamWorkFlowArtifact codeArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code);
@@ -47,6 +50,7 @@ public class RelatedToStateColumnTest {
Assert.assertEquals("",
RelatedToStateColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/StateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/StateColumnTest.java
index 5646c6c4d2..a980012e2f 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/StateColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/StateColumnTest.java
@@ -12,7 +12,9 @@ import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.StateColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
import org.eclipse.osee.ats.util.TeamState;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests StateColumn
@@ -22,6 +24,8 @@ public class StateColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals(TeamState.Implement.getPageName(),
@@ -31,6 +35,7 @@ public class StateColumnTest {
Assert.assertEquals(TeamState.Implement.getPageName(),
StateColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TargetedVersionColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TargetedVersionColumnTest.java
index 8aa98e1d7d..84ca4be09f 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TargetedVersionColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TargetedVersionColumnTest.java
@@ -11,8 +11,10 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.TargetedVersionColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoSawBuilds;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests TargetedVersionColumn
@@ -22,6 +24,8 @@ public class TargetedVersionColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(),
@@ -44,6 +48,7 @@ public class TargetedVersionColumnTest {
Assert.assertEquals("",
TargetedVersionColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TeamColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TeamColumnTest.java
index 99356d5c6c..6495769196 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TeamColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TeamColumnTest.java
@@ -11,7 +11,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.TeamColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests TeamColumn
@@ -21,6 +23,8 @@ public class TeamColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("SAW Requirements",
@@ -33,6 +37,7 @@ public class TeamColumnTest {
ActionArtifact actionArt = reqArt.getParentActionArtifact();
Assert.assertEquals("", TeamColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TypeColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TypeColumnTest.java
index 01940d1d32..c1ab62b3e5 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TypeColumnTest.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/column/TypeColumnTest.java
@@ -11,7 +11,9 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.TypeColumn;
import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.framework.logging.SevereLoggingMonitor;
import org.eclipse.osee.support.test.util.DemoWorkType;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @tests TypeColumn
@@ -21,6 +23,8 @@ public class TypeColumnTest {
@org.junit.Test
public void testGetColumnText() throws Exception {
+ SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart();
+
TeamWorkFlowArtifact reqArt =
(TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements);
Assert.assertEquals("SAW Requirements Workflow",
@@ -34,6 +38,7 @@ public class TypeColumnTest {
ActionArtifact actionArt = reqArt.getParentActionArtifact();
Assert.assertEquals("Action", TypeColumn.getInstance().getColumnText(actionArt, AssigneeColumn.getInstance(), 0));
+ TestUtil.severeLoggingEnd(loggingMonitor);
}
}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java
new file mode 100644
index 0000000000..c201e23766
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java
@@ -0,0 +1,131 @@
+/*
+ * Created on Jan 24, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import static org.junit.Assert.assertFalse;
+import java.util.Collection;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
+import org.eclipse.osee.ats.artifact.DecisionReviewState;
+import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewDecisionStateItem;
+import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.widgets.ReviewManager;
+import org.eclipse.osee.ats.workdef.StateDefinition;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.User;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsDecisionReviewDecisionStateItem}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsDecisionReviewDecisionStateItemTest {
+
+ public static DecisionReviewArtifact decRevArt;
+
+ @Before
+ public void setUp() throws Exception {
+ // This test should only be run on test db
+ assertFalse("Test should not be run in production db", AtsUtil.isProductionDb());
+
+ if (decRevArt == null) {
+ // setup fake review artifact with decision options set
+ decRevArt =
+ (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview,
+ AtsUtil.getAtsBranch());
+ decRevArt.setName(getClass().getSimpleName());
+ decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions,
+ ReviewManager.getDecisionReviewOptionsString(ReviewManager.getDefaultDecisionReviewOptions()));
+ decRevArt.persist();
+ }
+ }
+
+ @BeforeClass
+ @AfterClass
+ public static void testCleanup() throws Exception {
+ DemoTestUtil.cleanupSimpleTest(AtsDecisionReviewDecisionStateItemTest.class.getSimpleName());
+ }
+
+ @Test
+ public void testXWidgetCreating() throws OseeCoreException {
+ Assert.assertNotNull(decRevArt);
+
+ // setup fake combo that will hold values
+ XComboDam decisionComboDam = new XComboDam("Decision");
+ // set combo values an verify they got set
+ decisionComboDam.setDataStrings(new String[] {"One", "Two", "Three"});
+ StateDefinition stateDef = new StateDefinition("Decision");
+ Assert.assertEquals("Two", decisionComboDam.getDisplayArray()[2]);
+
+ // make call to state item that should set options based on artifact's attribute value
+ AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem();
+ Result result = stateItem.xWidgetCreating(decisionComboDam, null, stateDef, decRevArt, null, true);
+
+ // verify no errors and options are as specified in artifact's attribute
+ Assert.assertTrue(result.getText(), result.isTrue());
+ Assert.assertEquals("Yes", decisionComboDam.getDisplayArray()[1]);
+ Assert.assertEquals("No", decisionComboDam.getDisplayArray()[2]);
+ }
+
+ @Test
+ public void testGetOverrideTransitionToAssignees() throws OseeCoreException {
+ Assert.assertNotNull(decRevArt);
+
+ // setup fake combo that will hold values
+ XComboDam decisionComboDam = new XComboDam("Decision");
+ // set combo values an verify they got set
+ decisionComboDam.setDataStrings(new String[] {"Yes", "No"});
+
+ // Set Yes
+ decisionComboDam.set(1);
+
+ AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem();
+ Collection<User> users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam);
+ Assert.assertEquals(1, users.size());
+ Assert.assertEquals(UserManager.getUser(), users.iterator().next());
+
+ // Set No
+ decisionComboDam.set(2);
+
+ users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam);
+ Assert.assertTrue(users.isEmpty());
+ }
+
+ @Test
+ public void testGetOverrideTransitionToStateName() throws OseeCoreException {
+ Assert.assertNotNull(decRevArt);
+
+ // setup fake combo that will hold values
+ XComboDam decisionComboDam = new XComboDam("Decision");
+ // set combo values an verify they got set
+ decisionComboDam.setDataStrings(new String[] {"Yes", "No"});
+
+ // Set Yes
+ decisionComboDam.set(1);
+
+ AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem();
+ String toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam);
+ Assert.assertEquals(DecisionReviewState.Followup.getPageName(), toStateName);
+
+ // Set No
+ decisionComboDam.set(2);
+
+ toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam);
+ Assert.assertEquals(DecisionReviewState.Completed.getPageName(), toStateName);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java
new file mode 100644
index 0000000000..754baec6fc
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java
@@ -0,0 +1,88 @@
+/*
+ * Created on Jan 24, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import static org.junit.Assert.assertFalse;
+import java.util.Arrays;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
+import org.eclipse.osee.ats.artifact.DecisionReviewState;
+import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewPrepareStateItem;
+import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.widgets.ReviewManager;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsDecisionReviewPrepareStateItem}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsDecisionReviewPrepareStateItemTest {
+
+ public static DecisionReviewArtifact decRevArt;
+
+ @Before
+ public void setUp() throws Exception {
+ // This test should only be run on test db
+ assertFalse("Test should not be run in production db", AtsUtil.isProductionDb());
+
+ if (decRevArt == null) {
+ // setup fake review artifact with decision options set
+ decRevArt =
+ (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview,
+ AtsUtil.getAtsBranch());
+ decRevArt.setName(getClass().getSimpleName());
+ decRevArt.persist();
+ }
+ }
+
+ @BeforeClass
+ @AfterClass
+ public static void testCleanup() throws Exception {
+ DemoTestUtil.cleanupSimpleTest(AtsDecisionReviewPrepareStateItemTest.class.getSimpleName());
+ }
+
+ @Test
+ public void testTransitioning() throws OseeCoreException {
+ Assert.assertNotNull(decRevArt);
+
+ // set valid options
+ String decisionOptionStr =
+ ReviewManager.getDecisionReviewOptionsString(ReviewManager.getDefaultDecisionReviewOptions());
+ decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr);
+ decRevArt.persist();
+
+ IWorkPage fromState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Prepare.getPageName());
+ IWorkPage toState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Decision.getPageName());
+
+ // make call to state item that should set options based on artifact's attribute value
+ AtsDecisionReviewPrepareStateItem stateItem = new AtsDecisionReviewPrepareStateItem();
+ Result result = stateItem.transitioning(decRevArt, fromState, toState, Arrays.asList(UserManager.getUser()));
+
+ // verify no errors
+ Assert.assertTrue(result.getText(), result.isTrue());
+
+ // set invalid options; NoState is invalid, should only be Completed or FollowUp
+ decisionOptionStr = decisionOptionStr.replaceFirst("Completed", "NoState");
+ decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr);
+ decRevArt.persist();
+ result = stateItem.transitioning(decRevArt, fromState, toState, Arrays.asList(UserManager.getUser()));
+ Assert.assertFalse(result.getText(), result.isTrue());
+
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java
new file mode 100644
index 0000000000..ce9fea744a
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java
@@ -0,0 +1,100 @@
+/*
+ * Created on Jan 24, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import static org.junit.Assert.assertFalse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.editor.stateItem.AtsForceAssigneesToTeamLeadsStateItem;
+import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.TeamState;
+import org.eclipse.osee.ats.workdef.RuleDefinition;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
+import org.eclipse.osee.ats.workdef.StateDefinition;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsForceAssigneesToTeamLeadsStateItem}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsForceAssigneesToTeamLeadsStateItemTest {
+
+ public static TeamWorkFlowArtifact teamArt;
+
+ @Before
+ public void setUp() throws Exception {
+ // This test should only be run on test db
+ assertFalse("Test should not be run in production db", AtsUtil.isProductionDb());
+
+ if (teamArt == null) {
+ SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName());
+ teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction);
+ transaction.execute();
+ }
+ }
+
+ @BeforeClass
+ @AfterClass
+ public static void testCleanup() throws Exception {
+ // Test adds the atsForceAssigneesToTeamLeads; remove it before and after test
+ if (teamArt != null) {
+ StateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getPageName());
+ List<RuleDefinition> rules = authStateDef.getRules();
+ List<RuleDefinition> toRemove = new ArrayList<RuleDefinition>();
+ for (RuleDefinition ruleDef : rules) {
+ if (ruleDef.getName().equals(RuleDefinitionOption.ForceAssigneesToTeamLeads.name())) {
+ toRemove.add(ruleDef);
+ }
+ }
+ authStateDef.getRules().removeAll(toRemove);
+ }
+
+ DemoTestUtil.cleanupSimpleTest(AtsForceAssigneesToTeamLeadsStateItemTest.class.getSimpleName());
+ }
+
+ @Test
+ public void testTransitioned() throws OseeCoreException {
+ Assert.assertNotNull(teamArt);
+
+ // assignee should be Joe Smith
+ Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size());
+ Assert.assertEquals(UserManager.getUserByName("Joe Smith"),
+ teamArt.getStateMgr().getAssignees().iterator().next());
+
+ // set assignee to Alex Kay
+ teamArt.getStateMgr().setAssignee(UserManager.getUserByName("Alex Kay"));
+ teamArt.persist();
+ Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size());
+ Assert.assertEquals(UserManager.getUserByName("Alex Kay"), teamArt.getStateMgr().getAssignees().iterator().next());
+
+ IWorkPage fromState = teamArt.getWorkDefinition().getStateByName(TeamState.Analyze.getPageName());
+ IWorkPage toState = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getPageName());
+
+ StateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getPageName());
+ authStateDef.getRules().add(new RuleDefinition(RuleDefinitionOption.ForceAssigneesToTeamLeads));
+
+ // make call to state item that should set options based on artifact's attribute value
+ AtsForceAssigneesToTeamLeadsStateItem stateItem = new AtsForceAssigneesToTeamLeadsStateItem();
+ stateItem.transitioned(teamArt, fromState, toState, Arrays.asList(UserManager.getUser()), null);
+
+ // assignee should be Joe Smith
+ Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size());
+ Assert.assertEquals(UserManager.getUserByName("Joe Smith"),
+ teamArt.getStateMgr().getAssignees().iterator().next());
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsHandleAddReviewRuleStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsHandleAddReviewRuleStateItemTest.java
new file mode 100644
index 0000000000..bb1a4bbab2
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsHandleAddReviewRuleStateItemTest.java
@@ -0,0 +1,27 @@
+/*
+ * Created on Jan 25, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import junit.framework.Assert;
+import org.eclipse.osee.ats.editor.stateItem.AtsHandleAddReviewRuleStateItem;
+import org.eclipse.osee.ats.test.AtsTest_Demo_Suite;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsHandleAddReviewRuleStateItem}<br>
+ * <br>
+ * Test for LbaReqCompletedStateItem provided through {@link AtsTest_Demo_Suite}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsHandleAddReviewRuleStateItemTest {
+
+ @Test
+ public void test() {
+ Assert.assertTrue(true);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java
new file mode 100644
index 0000000000..d49da93ec4
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java
@@ -0,0 +1,92 @@
+/*
+ * Created on Jan 24, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import static org.junit.Assert.assertFalse;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
+import org.eclipse.osee.ats.artifact.PeerToPeerReviewState;
+import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewPrepareStateItem;
+import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.workdef.StateDefinition;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam;
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.osee.support.test.util.DemoActionableItems;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsPeerToPeerReviewPrepareStateItem}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsPeerToPeerReviewPrepareStateItemTest {
+
+ public static PeerToPeerReviewArtifact peerRevArt;
+
+ @Before
+ public void setUp() throws Exception {
+ // This test should only be run on test db
+ assertFalse("Test should not be run in production db", AtsUtil.isProductionDb());
+
+ if (peerRevArt == null) {
+ // setup fake review artifact with decision options set
+ peerRevArt =
+ (PeerToPeerReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.PeerToPeerReview,
+ AtsUtil.getAtsBranch());
+ peerRevArt.setName(getClass().getSimpleName());
+ // Setup actionable item so don't get error that there is no parent team workflow
+ peerRevArt.getActionableItemsDam().addActionableItem(
+ DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code));
+ peerRevArt.persist();
+ }
+ }
+
+ @BeforeClass
+ @AfterClass
+ public static void testCleanup() throws Exception {
+ DemoTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewPrepareStateItemTest.class.getSimpleName());
+ }
+
+ @Test
+ public void testTransitioning() throws OseeCoreException {
+ Assert.assertNotNull(peerRevArt);
+
+ // setup fake combo that will hold values
+ XComboDam decisionComboDam = new XComboDam(AtsAttributeTypes.ReviewBlocks.getUnqualifiedName());
+ decisionComboDam.setDataStrings(new String[] {"None", "Transition", "Commit"});
+ Composite comp = new Composite(Displays.getActiveShell(), SWT.None);
+ decisionComboDam.createWidgets(comp, SWT.NONE);
+ decisionComboDam.setEnabled(true);
+ decisionComboDam.setRequiredEntry(true);
+
+ // verify enabled and required (Default)
+ Assert.assertNull(peerRevArt.getParentSMA()); // condition that causes combo to disable
+ Assert.assertTrue(decisionComboDam.getComboBox().isEnabled());
+ Assert.assertTrue(decisionComboDam.isRequiredEntry());
+
+ StateDefinition reviewStateDef =
+ peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getPageName());
+
+ // make call to state item that should
+ AtsPeerToPeerReviewPrepareStateItem stateItem = new AtsPeerToPeerReviewPrepareStateItem();
+ stateItem.xWidgetCreated(decisionComboDam, null, reviewStateDef, peerRevArt, null, true);
+
+ // verify the decision combo has been disabled
+ Assert.assertFalse(decisionComboDam.getComboBox().isEnabled());
+ Assert.assertFalse(decisionComboDam.isRequiredEntry());
+
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java
new file mode 100644
index 0000000000..8b1389eafc
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java
@@ -0,0 +1,102 @@
+/*
+ * Created on Jan 24, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.test.editor.stateItem;
+
+import static org.junit.Assert.assertFalse;
+import java.util.Arrays;
+import junit.framework.Assert;
+import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
+import org.eclipse.osee.ats.artifact.PeerToPeerReviewState;
+import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewReviewStateItem;
+import org.eclipse.osee.ats.test.util.DemoTestUtil;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.widgets.ReviewManager;
+import org.eclipse.osee.ats.util.widgets.role.UserRole;
+import org.eclipse.osee.ats.util.widgets.role.UserRole.Role;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.User;
+import org.eclipse.osee.framework.skynet.core.UserManager;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link AtsPeerToPeerReviewReviewStateItem}
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsPeerToPeerReviewReviewStateItemTest {
+
+ public static PeerToPeerReviewArtifact peerRevArt;
+
+ @Before
+ public void setUp() throws Exception {
+ // This test should only be run on test db
+ assertFalse("Test should not be run in production db", AtsUtil.isProductionDb());
+
+ if (peerRevArt == null) {
+ // setup fake review artifact with decision options set
+ peerRevArt = ReviewManager.createNewPeerToPeerReview(null, getClass().getName(), "", null);
+ peerRevArt.setName(getClass().getSimpleName());
+ peerRevArt.persist();
+ }
+ }
+
+ @BeforeClass
+ @AfterClass
+ public static void testCleanup() throws Exception {
+ DemoTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewReviewStateItemTest.class.getSimpleName());
+ }
+
+ @Test
+ public void testTransitioned() throws OseeCoreException {
+ Assert.assertNotNull(peerRevArt);
+
+ // assignee should be user creating review
+ Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size());
+ Assert.assertEquals(UserManager.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next());
+
+ // set roles
+ UserRole userRole = new UserRole(Role.Author, UserManager.getUserByName("Joe Smith"));
+ peerRevArt.getUserRoleManager().addOrUpdateUserRole(userRole, false, null);
+ userRole = new UserRole(Role.Reviewer, UserManager.getUserByName("Alex Kay"));
+ peerRevArt.getUserRoleManager().addOrUpdateUserRole(userRole, false, null);
+ peerRevArt.persist();
+
+ // assignee should be user roles
+ Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size());
+
+ // change assignees back to single user so can test transition
+ peerRevArt.getStateMgr().setAssignee(UserManager.getUser());
+ peerRevArt.persist();
+ Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size());
+ Assert.assertEquals(UserManager.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next());
+
+ IWorkPage fromState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getPageName());
+ IWorkPage toState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Review.getPageName());
+
+ // make call to state item that should set options based on artifact's attribute value
+ AtsPeerToPeerReviewReviewStateItem stateItem = new AtsPeerToPeerReviewReviewStateItem();
+ stateItem.transitioned(peerRevArt, fromState, toState, Arrays.asList(UserManager.getUser()), null);
+
+ // Joe and Alex should have been added to assignees
+ Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size());
+ boolean joeFound = false, alexFound = false;
+ for (User user : peerRevArt.getStateMgr().getAssignees()) {
+ if (user.getName().equals("Joe Smith")) {
+ joeFound = true;
+ }
+ if (user.getName().equals("Alex Kay")) {
+ alexFound = true;
+ }
+ }
+ Assert.assertTrue("Joe should have been added as assignee", joeFound);
+ Assert.assertTrue("Alex should have been added as assignee", alexFound);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/DemoTestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/DemoTestUtil.java
index 6ca19276c3..3857f2c699 100644
--- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/DemoTestUtil.java
+++ b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/test/util/DemoTestUtil.java
@@ -111,9 +111,17 @@ public class DemoTestUtil {
return teamArt;
}
+ public static Set<ActionableItemArtifact> getActionableItems(DemoActionableItems demoAI) throws OseeCoreException {
+ return ActionableItemArtifact.getActionableItems(Arrays.asList(demoAI.getName()));
+ }
+
+ public static ActionableItemArtifact getActionableItem(DemoActionableItems demoAI) throws OseeCoreException {
+ return getActionableItems(demoAI).iterator().next();
+ }
+
public static TeamWorkFlowArtifact addTeamWorkflow(ActionArtifact actionArt, String title, SkynetTransaction transaction) throws OseeCoreException {
- Set<ActionableItemArtifact> actionableItems =
- ActionableItemArtifact.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Test.getName()));
+ Set<ActionableItemArtifact> actionableItems = getActionableItems(DemoActionableItems.SAW_Test);
+ ;
Collection<TeamDefinitionArtifact> teamDefs = TeamDefinitionArtifact.getImpactedTeamDefs(actionableItems);
ActionManager.createTeamWorkflow(actionArt, teamDefs.iterator().next(), actionableItems,
diff --git a/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF
index 5828010d47..ca9c271f4e 100644
--- a/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF
@@ -92,5 +92,6 @@ Import-Package: javax.mail,
org.eclipse.osee.framework.database.init,
org.eclipse.osee.framework.logging,
org.eclipse.osee.framework.ui.swt,
- org.eclipse.osee.framework.ui.ws
+ org.eclipse.osee.framework.ui.ws,
+ org.eclipse.osee.support.test.util
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.osee.ats/images/stateItem.gif b/plugins/org.eclipse.osee.ats/images/stateItem.gif
new file mode 100644
index 0000000000..b83c170fa4
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/images/stateItem.gif
Binary files differ
diff --git a/plugins/org.eclipse.osee.ats/plugin.xml b/plugins/org.eclipse.osee.ats/plugin.xml
index e7859d75af..28190d5ddd 100644
--- a/plugins/org.eclipse.osee.ats/plugin.xml
+++ b/plugins/org.eclipse.osee.ats/plugin.xml
@@ -3,7 +3,6 @@
<plugin>
<extension-point id="AtsNavigateItem" name="AtsNavigateItem" schema="schema/AtsNavigateItem.exsd"/>
<extension-point id="AtsStateItem" name="AtsStateItem" schema="schema/AtsStateItem.exsd"/>
- <extension-point id="AtsAIandTeamConfig" name="AtsAIandTeamConfig" schema="schema/AtsAIandTeamConfig.exsd"/>
<extension-point id="AtsWizardItem" name="AtsWizardItem" schema="schema/AtsWizardItem.exsd"/>
<extension-point id="AtsTeamWorkflow" name="AtsTeamWorkflow" schema="schema/AtsTeamWorkflow.exsd"/>
<extension-point id="AtsNotification" name="AtsNotification" schema="schema/AtsNotification.exsd"/>
diff --git a/plugins/org.eclipse.osee.ats/schema/AtsAIandTeamConfig.exsd b/plugins/org.eclipse.osee.ats/schema/AtsAIandTeamConfig.exsd
deleted file mode 100644
index b24ec76b5c..0000000000
--- a/plugins/org.eclipse.osee.ats/schema/AtsAIandTeamConfig.exsd
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.osee.ats">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.osee.ats" id="AtsAIandTeamConfig" name="AtsAIandTeamConfig"/>
- </appInfo>
- <documentation>
- Allows graphical configuration of teams and actionable items that will be imported into the DB upon database initialization. This is a one-time shot import and does NOT provide for the capability to update and re-import. All configuration after the first database wipe should be done through OSEE&apos;s artifact editors and explorers.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence minOccurs="1" maxOccurs="unbounded">
- <element ref="AtsAIandTeamConfig"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="AtsAIandTeamConfig">
- <complexType>
- <attribute name="vueFilename" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsImage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsImage.java
index fa3e3e3632..075442782f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsImage.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsImage.java
@@ -58,6 +58,7 @@ public enum AtsImage implements KeyedImage {
ROLE("role.gif"),
STATE("state.gif"),
STATE_DEFINITION("stateDefinition.gif"),
+ STATE_ITEM("stateItem.gif"),
SUBSCRIBED("subscribedEmail.gif"),
SUBSCRIBED_OVERLAY("subscribed.gif"),
TASK("task.gif"),
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
index c40cbc5602..887b461617 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
@@ -14,7 +14,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -39,7 +38,7 @@ import org.eclipse.osee.ats.util.SimpleTeamState;
import org.eclipse.osee.ats.util.StateManager;
import org.eclipse.osee.ats.util.TeamState;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
-import org.eclipse.osee.ats.workdef.RuleDefinition;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.ats.workdef.StateXWidgetPage;
import org.eclipse.osee.ats.workdef.WorkDefinition;
@@ -47,8 +46,6 @@ import org.eclipse.osee.ats.workdef.WorkDefinitionFactory;
import org.eclipse.osee.ats.workdef.WorkDefinitionMatch;
import org.eclipse.osee.ats.workflow.ATSXWidgetOptionResolver;
import org.eclipse.osee.ats.workflow.TransitionManager;
-import org.eclipse.osee.ats.workflow.item.AtsStatePercentCompleteWeightRule;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.ats.world.IWorldViewArtifact;
import org.eclipse.osee.framework.access.AccessControlManager;
import org.eclipse.osee.framework.core.data.IArtifactType;
@@ -237,7 +234,6 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
public void clearCaches() {
implementersStr = null;
- stateToWeight = null;
}
public WorkDefinition getWorkDefinition() {
@@ -555,61 +551,75 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
/**
* Return Percent Complete on all things (including children SMAs) for this SMA<br>
* <br>
- * percent = all state's percents / number of states (minus completed/cancelled)
+ * percent = all state's percents / number of states (minus completed/canceled)
*/
public int getPercentCompleteSMATotal() throws OseeCoreException {
if (isCompletedOrCancelled()) {
return 100;
}
- Map<String, Double> stateToWeightMap = getStatePercentCompleteWeight();
- if (!stateToWeightMap.isEmpty()) {
+ if (getWorkDefinition().isStateWeightingEnabled()) {
// Calculate total percent using configured weighting
int percent = 0;
- for (StateDefinition state : getWorkDefinition().getStates()) {
- if (!state.isCompletedPage() && !state.isCancelledPage()) {
- Double weight = stateToWeightMap.get(state.getPageName());
- if (weight == null) {
- weight = 0.0;
- }
- percent += weight * getPercentCompleteSMAStateTotal(state);
+ for (StateDefinition stateDef : getWorkDefinition().getStates()) {
+ if (!stateDef.isCompletedPage() && !stateDef.isCancelledPage()) {
+ double stateWeightInt = stateDef.getStateWeight();
+ double weight = stateWeightInt / 100;
+ int percentCompleteForState = getPercentCompleteSMAStateTotal(stateDef);
+ percent += weight * percentCompleteForState;
}
}
return percent;
} else {
- int percent = 0;
- int numStates = 0;
- for (StateDefinition state : getWorkDefinition().getStates()) {
- if (!state.isCompletedPage() && !state.isCancelledPage()) {
- percent += getPercentCompleteSMAStateTotal(state);
- numStates++;
- }
+ int percent = getPercentCompleteSMASinglePercent();
+ if (percent > 0) {
+ return percent;
}
- if (numStates == 0) {
- return 0;
+ if (isCompletedOrCancelled()) {
+ return 100;
+ }
+ if (getStateMgr().isAnyStateHavePercentEntered()) {
+ int numStates = 0;
+ for (StateDefinition state : getWorkDefinition().getStates()) {
+ if (!state.isCompletedPage() && !state.isCancelledPage()) {
+ percent += getPercentCompleteSMAStateTotal(state);
+ numStates++;
+ }
+ }
+ if (numStates == 0) {
+ return 0;
+ }
+ return percent / numStates;
}
- return percent / numStates;
+
}
+ return 0;
}
- // Cache stateToWeight mapping
- private Map<String, Double> stateToWeight = null;
-
- public Map<String, Double> getStatePercentCompleteWeight() throws OseeCoreException {
- if (stateToWeight == null) {
- stateToWeight = new HashMap<String, Double>();
- Collection<RuleDefinition> workRuleDefs = getRulesStartsWith(AtsStatePercentCompleteWeightRule.ID);
- // Log error if multiple of same rule found, but keep going
- if (workRuleDefs.size() > 1) {
- OseeLog.log(
- AtsPlugin.class,
- Level.SEVERE,
- "Team Definition has multiple rules of type " + AtsStatePercentCompleteWeightRule.ID + ". Only 1 allowed. Defaulting to first found.");
+ /**
+ * Add percent represented by percent attribute, percent for reviews and tasks divided by number of objects.
+ */
+ private int getPercentCompleteSMASinglePercent() throws OseeCoreException {
+ int numObjects = 1;
+ int percent = getSoleAttributeValue(AtsAttributeTypes.PercentComplete, 0);
+ if (this instanceof TeamWorkFlowArtifact) {
+ for (AbstractReviewArtifact revArt : ReviewManager.getReviews((TeamWorkFlowArtifact) this)) {
+ percent += revArt.getPercentCompleteSMATotal();
+ numObjects++;
+ }
+ }
+ if (this instanceof AbstractTaskableArtifact) {
+ for (TaskArtifact taskArt : ((AbstractTaskableArtifact) this).getTaskArtifacts()) {
+ percent += taskArt.getPercentCompleteSMATotal();
+ numObjects++;
}
- if (workRuleDefs.size() == 1) {
- stateToWeight = AtsStatePercentCompleteWeightRule.getStateWeightMap(workRuleDefs.iterator().next());
+ }
+ if (percent > 0) {
+ if (numObjects == 0) {
+ return 0;
}
+ return percent / numObjects;
}
- return stateToWeight;
+ return percent;
}
private StateMetricsData getStateMetricsData(IWorkPage teamState) throws OseeCoreException {
@@ -773,7 +783,7 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
* Return true if sma is TeamWorkflowArtifact or review of a team workflow and it's TeamDefinitionArtifact has rule
* set
*/
- public boolean teamDefHasWorkRule(String ruleId) throws OseeCoreException {
+ public boolean teamDefHasRule(RuleDefinitionOption option) throws OseeCoreException {
TeamWorkFlowArtifact teamArt = null;
if (isTeamWorkflow()) {
teamArt = (TeamWorkFlowArtifact) this;
@@ -785,36 +795,13 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
return false;
}
try {
- return teamArt.getTeamDefinition().hasWorkRule(ruleId);
+ return teamArt.getTeamDefinition().hasRule(option);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
return false;
}
}
- public boolean workPageHasWorkRule(String ruleId) {
- return getStateDefinition().hasRule(AtsWorkDefinitions.RuleWorkItemId.atsRequireTargetedVersion.name());
- }
-
- public Collection<RuleDefinition> getRulesStartsWith(String ruleName) throws OseeCoreException {
- Set<RuleDefinition> workRules = new HashSet<RuleDefinition>();
- if (!Strings.isValid(ruleName)) {
- return workRules;
- }
- if (isTeamWorkflow()) {
- // Get rules from team definition
- workRules.addAll(((TeamWorkFlowArtifact) this).getTeamDefinition().getRulesStartsWith(ruleName));
- }
- // Get work rules from workflow
- if (getWorkDefinition() != null) {
- // Get rules from workflow definitions
- workRules.addAll(getWorkDefinition().getRulesStartsWith(ruleName));
- }
- // Add work rules from page
- workRules.addAll(getStateDefinition().getRulesStartsWith(ruleName));
- return workRules;
- }
-
/**
* @return true if this is a TeamWorkflow and the version it's been targeted for has been released
*/
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java
index eee06f3765..1bcab6346e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java
@@ -18,8 +18,6 @@ import java.util.List;
import java.util.Set;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.core.data.IArtifactType;
@@ -64,7 +62,7 @@ public class ActionableItemArtifact extends Artifact {
}
public static ActionableItemArtifact getTopActionableItem() throws OseeCoreException {
- return (ActionableItemArtifact) AtsFolderUtil.getFolder(AtsFolder.ActionableItem);
+ return (ActionableItemArtifact) AtsArtifactToken.get(AtsArtifactToken.TopActionableItem);
}
public static List<ActionableItemArtifact> getActionableItems() throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactToken.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactToken.java
new file mode 100644
index 0000000000..69980f56ec
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactToken.java
@@ -0,0 +1,56 @@
+/*
+ * Created on Feb 8, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.artifact;
+
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.framework.core.data.ArtifactToken;
+import org.eclipse.osee.framework.core.data.IArtifactType;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
+import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+
+public class AtsArtifactToken extends ArtifactToken {
+
+ public static AtsArtifactToken HeadingFolder = new AtsArtifactToken("Action Tracking System",
+ CoreArtifactTypes.Folder, "AAABER+3yR4A8O7WYQ+Xbw");
+ public static AtsArtifactToken TopTeamDefinition = new AtsArtifactToken("Teams", AtsArtifactTypes.TeamDefinition,
+ "AAABER+35b4A8O7WHrXTiA");
+ public static AtsArtifactToken TopActionableItem = new AtsArtifactToken("Actionable Items",
+ AtsArtifactTypes.ActionableItem, "AAABER+37QEA8O7WSQaqJQ");
+ public static AtsArtifactToken ConfigFolder = new AtsArtifactToken("Config", CoreArtifactTypes.Folder,
+ "AAABF4n18eYAc1ruQSSWdg");
+ public static AtsArtifactToken WorkDefinitionsFolder = new AtsArtifactToken("Work Definitions",
+ CoreArtifactTypes.Folder, "ADTfjCLEj2DH2WYyeOgA");
+ public static AtsArtifactToken WorkPagesFolder = new AtsArtifactToken("Work Pages", CoreArtifactTypes.Folder,
+ "AAABGnncY_gAAo+3N69ASA");
+ public static AtsArtifactToken WorkRulesFolder = new AtsArtifactToken("Work Rules", CoreArtifactTypes.Folder,
+ "AAABGnmhCyYAoJoIciyaag");
+ public static AtsArtifactToken WorkWidgetsFolder = new AtsArtifactToken("Work Widgets", CoreArtifactTypes.Folder,
+ "AAABGnmjk4IAoJoIa945Kg");
+ public static AtsArtifactToken WorkFlowsFolder = new AtsArtifactToken("Work Flows", CoreArtifactTypes.Folder,
+ "AAABGnncZ_4AAo+3D0sGfw");
+
+ public AtsArtifactToken(String name, IArtifactType artifactType, String guid) {
+ this(name, artifactType, guid, AtsUtil.getAtsBranchToken());
+ }
+
+ public AtsArtifactToken(String name, IArtifactType artifactType, String guid, IOseeBranch oseeBranch) {
+ super(guid, name, artifactType, oseeBranch);
+ }
+
+ public static Artifact get(AtsArtifactToken atsArtifactToken) throws OseeCoreException {
+ try {
+ return ArtifactQuery.getArtifactFromToken(atsArtifactToken);
+ } catch (ArtifactDoesNotExist ex) {
+ // do nothing
+ }
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsAttributeTypes.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsAttributeTypes.java
index 6fa2a64a92..cb06402a55 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsAttributeTypes.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsAttributeTypes.java
@@ -77,6 +77,8 @@ public class AtsAttributeTypes extends NamedIdentity implements IAttributeType {
public static final IAttributeType PagesChanged= new AtsAttributeTypes("AQR8yMuv4W84UwvSJAQA", "Pages Changed", "Total Pages of Changed");
public static final IAttributeType PagesReviewed = new AtsAttributeTypes("AQR9qM8TTyCMb7sf4cQA", "Pages Reviewed", "Total Pages Reviewed");
public static final IAttributeType PercentRework = new AtsAttributeTypes("AAMFEdKfjl2TII9+tuwA", "Percent Rework");
+ public static final IAttributeType PercentComplete = new AtsAttributeTypes("AALLbOZiBBDN39YsRSAA", "Percent Complete");
+
public static final IAttributeType Points = new AtsAttributeTypes("AY2EeqhzcDEGtXtREkAA", "Points", "Abstract value that describes risk, complexity, and size of Actions.");
public static final IAttributeType PriorityType = new AtsAttributeTypes("AAMFEc8JzH1U6XGD59QA", "Priority", "1 = High; 5 = Low");
public static final IAttributeType Problem = new AtsAttributeTypes("AAMFEdQUxRyevvTu+bwA", "Problem", "Problem found during analysis.");
@@ -88,6 +90,7 @@ public class AtsAttributeTypes extends NamedIdentity implements IAttributeType {
public static final IAttributeType ReviewBlocks = new AtsAttributeTypes("AAMFEc6G2A8jmRWJgagA", "Review Blocks", "Review Completion will block it's parent workflow in this manner.");
public static final IAttributeType ReviewDefect = new AtsAttributeTypes("AAMFEd+MSVAb8JQ6f5gA", "Review Defect");
public static final IAttributeType Role = new AtsAttributeTypes("AAMFEeCqMz0XCSBJ+IQA", "Role");
+ public static final IAttributeType RuleDefinition = new AtsAttributeTypes("AEqAJNnkyW4_d5_WhpgA", "Rule Definition");
public static final IAttributeType SmaNote = new AtsAttributeTypes("AAMFEdm7ywte8qayfbAA", "SMA Note", "Notes applicable to ATS object");
public static final IAttributeType State = new AtsAttributeTypes("AAMFEdMa3wzVvp60xLQA", "State", "States of workflow state machine.");
public static final IAttributeType StateNotes = new AtsAttributeTypes("AAMFEdiWPm7M_xV1EswA", "State Notes");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
index 719467a522..1129f93873 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TaskArtifact.java
@@ -115,6 +115,7 @@ public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateM
getStateMgr().setAssignee(UserManager.getUser());
}
getStateMgr().updateMetrics(additionalHours, 100, true);
+ setSoleAttributeValue(AtsAttributeTypes.PercentComplete, 100);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
@@ -133,6 +134,7 @@ public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateM
Result result = transitionMgr.transition(TaskStates.InWork, toUser, transaction, transitionOption);
if (getStateMgr().getPercentComplete() != percentComplete || additionalHours > 0) {
getStateMgr().updateMetrics(additionalHours, percentComplete, true);
+ setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percentComplete);
}
if (Collections.getAggregate(transitionOption).contains(TransitionOption.Persist)) {
saveSMA(transaction);
@@ -157,9 +159,11 @@ public class TaskArtifact extends AbstractWorkflowArtifact implements IATSStateM
else if (percentComplete == 100 && isCompleted()) {
if (additionalHours > 0) {
getStateMgr().updateMetrics(TaskStates.InWork, additionalHours, percentComplete, true);
+ setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percentComplete);
}
} else {
getStateMgr().updateMetrics(additionalHours, percentComplete, true);
+ setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percentComplete);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
index 6104a6ea67..43130175a8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java
@@ -22,22 +22,19 @@ import org.eclipse.osee.ats.artifact.VersionArtifact.VersionReleaseType;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.widgets.commit.ICommitConfigArtifact;
import org.eclipse.osee.ats.workdef.RuleDefinition;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.WorkDefinitionFactory;
import org.eclipse.osee.ats.workdef.WorkDefinitionMatch;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions.RuleWorkItemId;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.enums.Active;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
import org.eclipse.osee.framework.core.exception.BranchDoesNotExist;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.jdk.core.util.Collections;
@@ -109,7 +106,7 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
setSoleAttributeValue(AtsAttributeTypes.TeamUsesVersions, true);
}
if (teamDefOptions.contains(TeamDefinitionOptions.RequireTargetedVersion)) {
- addWorkRule(RuleWorkItemId.atsRequireTargetedVersion.name());
+ addRule(RuleDefinitionOption.RequireTargetedVersion);
}
// Relate to actionable items
@@ -218,7 +215,7 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
}
public static TeamDefinitionArtifact getTopTeamDefinition() throws OseeCoreException {
- return (TeamDefinitionArtifact) AtsFolderUtil.getFolder(AtsFolder.Teams);
+ return (TeamDefinitionArtifact) AtsArtifactToken.get(AtsArtifactToken.TopTeamDefinition);
}
public static Set<TeamDefinitionArtifact> getTeamReleaseableDefinitions(Active active) throws OseeCoreException {
@@ -358,7 +355,12 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
String id = art.getSoleAttributeValue(CoreAttributeTypes.WorkId, "");
if (Strings.isValid(id)) {
// Note: This may skip any complex rules (more than name), but don't think teamdefs have them
- workRules.add(WorkDefinitionFactory.getRuleById(id));
+ RuleDefinition ruleDef = WorkDefinitionFactory.getRuleById(id);
+ if (ruleDef == null) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, String.format("Null work rule for " + id));
+ } else {
+ workRules.add(ruleDef);
+ }
}
}
}
@@ -496,24 +498,22 @@ public class TeamDefinitionArtifact extends Artifact implements ICommitConfigArt
return getSoleAttributeValue(AtsAttributeTypes.Actionable, false);
}
- public void addWorkRule(String ruleId) throws OseeCoreException {
- if (!hasWorkRule(ruleId)) {
- Artifact artifact = WorkItemDefinitionFactory.getWorkItemDefinitionArtifact(ruleId);
- if (artifact == null) {
- throw new OseeArgumentException("Rule [%s] does not exist.", ruleId);
- } else {
- addRelation(CoreRelationTypes.WorkItem__Child, artifact);
- }
- }
+ public void addRule(RuleDefinitionOption option) throws OseeCoreException {
+ addRule(option.name());
}
- public boolean hasWorkRule(String ruleId) throws OseeCoreException {
- for (Artifact art : getRelatedArtifacts(CoreRelationTypes.WorkItem__Child)) {
- if (art.getName().equals(ruleId)) {
- return true;
- }
+ public void addRule(String ruleId) throws OseeCoreException {
+ if (!hasRule(ruleId)) {
+ addAttribute(AtsAttributeTypes.RuleDefinition, ruleId);
}
- return false;
+ }
+
+ public boolean hasRule(RuleDefinitionOption option) throws OseeCoreException {
+ return hasRule(option.name());
+ }
+
+ public boolean hasRule(String ruleId) throws OseeCoreException {
+ return getAttributesToStringList(AtsAttributeTypes.RuleDefinition).contains(ruleId);
}
/**
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java
index 38e2a3ae06..be88c9c3bc 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigManager.java
@@ -20,13 +20,12 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.ats.AtsOpenOption;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
+import org.eclipse.osee.ats.artifact.AtsArtifactToken;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.TeamState;
@@ -129,7 +128,7 @@ public class AtsConfigManager extends AbstractOperation {
}
teamDefinition.addRelation(AtsRelationTypes.TeamLead_Lead, UserManager.getUser());
teamDefinition.addRelation(AtsRelationTypes.TeamMember_Member, UserManager.getUser());
- AtsFolderUtil.getFolder(AtsFolder.Teams).addChild(teamDefinition);
+ AtsArtifactToken.get(AtsArtifactToken.TopTeamDefinition).addChild(teamDefinition);
teamDefinition.persist(transaction);
return teamDefinition;
}
@@ -144,7 +143,7 @@ public class AtsConfigManager extends AbstractOperation {
topAia.setSoleAttributeValue(AtsAttributeTypes.Actionable, false);
topAia.persist(transaction);
- AtsFolderUtil.getFolder(AtsFolder.ActionableItem).addChild(topAia);
+ AtsArtifactToken.get(AtsArtifactToken.TopActionableItem).addChild(topAia);
teamDefinition.addRelation(AtsRelationTypes.TeamActionableItem_ActionableItem, topAia);
teamDefinition.persist(transaction);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java
index 9260be8b8f..eb2028f4e5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsDatabaseConfig.java
@@ -10,7 +10,10 @@
*******************************************************************************/
package org.eclipse.osee.ats.config;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
+import java.util.Arrays;
+import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
+import org.eclipse.osee.ats.artifact.AtsArtifactToken;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.workdef.AtsWorkDefinitionSheetProviders;
import org.eclipse.osee.ats.workflow.flow.DecisionWorkflowDefinition;
@@ -22,6 +25,9 @@ import org.eclipse.osee.ats.workflow.flow.TeamWorkflowDefinition;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.database.init.IDbInitializationTask;
+import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.ui.skynet.results.XResultData;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinition.WriteType;
@@ -29,9 +35,14 @@ public class AtsDatabaseConfig implements IDbInitializationTask {
@Override
public void run() throws OseeCoreException {
- AtsFolderUtil.createAtsFolders();
+ createAtsFolders();
AtsWorkDefinitionSheetProviders.initializeDatabase();
+
+ Artifact topAi = ActionableItemArtifact.getTopActionableItem();
+ topAi.setSoleAttributeValue(AtsAttributeTypes.Actionable, false);
+ topAi.persist("Set Top AI to Non Actionable");
+
configWorkItemDefinitions(WriteType.New, null);
AtsUtil.getAtsAdminGroup().getGroupArtifact().persist();
@@ -52,4 +63,24 @@ public class AtsDatabaseConfig implements IDbInitializationTask {
}
+ public static void createAtsFolders() throws OseeCoreException {
+ SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Create ATS Folders");
+
+ Artifact headingArt = OseeSystemArtifacts.getOrCreateArtifact(AtsArtifactToken.HeadingFolder);
+ if (!headingArt.hasParent()) {
+ Artifact rootArt = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsUtil.getAtsBranch());
+ rootArt.addChild(headingArt);
+ headingArt.persist(transaction);
+ }
+ for (AtsArtifactToken token : Arrays.asList(AtsArtifactToken.TopActionableItem,
+ AtsArtifactToken.TopTeamDefinition, AtsArtifactToken.ConfigFolder, //
+ AtsArtifactToken.WorkDefinitionsFolder, AtsArtifactToken.WorkFlowsFolder, //
+ AtsArtifactToken.WorkPagesFolder, AtsArtifactToken.WorkWidgetsFolder, //
+ AtsArtifactToken.WorkRulesFolder)) {
+ Artifact art = OseeSystemArtifacts.getOrCreateArtifact(token);
+ headingArt.addChild(art);
+ art.persist(transaction);
+ }
+ transaction.execute();
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsLoadConfigArtifactsOperation.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsLoadConfigArtifactsOperation.java
index 2f69c9c710..d171b3a3c9 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsLoadConfigArtifactsOperation.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsLoadConfigArtifactsOperation.java
@@ -13,9 +13,8 @@ package org.eclipse.osee.ats.config;
import java.util.Collections;
import java.util.logging.Level;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.ats.artifact.AtsArtifactToken;
import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -44,7 +43,7 @@ public class AtsLoadConfigArtifactsOperation extends AbstractOperation {
if (!loaded) {
loaded = true;
OseeLog.log(AtsPlugin.class, Level.INFO, "Loading ATS Configuration");
- Artifact headingArt = AtsFolderUtil.getFolder(AtsFolder.Ats_Heading);
+ Artifact headingArt = AtsArtifactToken.get(AtsArtifactToken.HeadingFolder);
// Loading artifacts will cache them in ArtifactCache
RelationManager.getRelatedArtifacts(Collections.singleton(headingArt), 8,
CoreRelationTypes.Default_Hierarchical__Child, AtsRelationTypes.TeamDefinitionToVersion_Version);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java
index f52a5857ff..cae83bc8cb 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEditorOutlinePage.java
@@ -25,6 +25,8 @@ import org.eclipse.osee.ats.AtsImage;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.editor.stateItem.AtsStateItemManager;
+import org.eclipse.osee.ats.editor.stateItem.IAtsStateItem;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.workdef.CompositeStateItem;
@@ -123,6 +125,8 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
return ArtifactImageManager.getImage((AbstractWorkflowArtifact) element);
} else if (element instanceof StateDefinition) {
return ImageManager.getImage(AtsImage.STATE_DEFINITION);
+ } else if (element instanceof IAtsStateItem || element instanceof WrappedStateItems) {
+ return ImageManager.getImage(AtsImage.STATE_ITEM);
} else if (element instanceof WrappedTrace) {
return ImageManager.getImage(AtsImage.TRACE);
} else if (element instanceof WorkDefinitionMatch) {
@@ -131,23 +135,15 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
return ImageManager.getImage(FrameworkImage.GEAR);
} else if (element instanceof CompositeStateItem || element instanceof WrappedLayout) {
return ImageManager.getImage(AtsImage.COMPOSITE_STATE_ITEM);
- } else if (element instanceof String || element instanceof WidgetOption) {
+ } else if (element instanceof String || element instanceof WidgetOption || element instanceof WrappedPercentWeight) {
return ImageManager.getImage(AtsImage.RIGHT_ARROW_SM);
} else if (element instanceof WrappedStates || element instanceof WrappedTransitions) {
return ImageManager.getImage(AtsImage.TRANSITION);
- } else if (element instanceof WrappedRules) {
- return ImageManager.getImage(FrameworkImage.RULE);
- } else if (element instanceof RuleAndLocation) {
+ } else if (element instanceof WrappedRules || element instanceof RuleAndLocation) {
return ImageManager.getImage(FrameworkImage.RULE);
} else if (element instanceof User) {
return ImageManager.getImage(FrameworkImage.USER);
- } else if (element instanceof DecisionReviewDefinition) {
- return ImageManager.getImage(AtsImage.REVIEW);
- } else if (element instanceof PeerReviewDefinition) {
- return ImageManager.getImage(AtsImage.REVIEW);
- } else if (element instanceof WrappedDecisionReviews) {
- return ImageManager.getImage(AtsImage.REVIEW);
- } else if (element instanceof WrappedPeerReviews) {
+ } else if (element instanceof WrappedPeerReviews || element instanceof WrappedDecisionReviews || element instanceof DecisionReviewDefinition || element instanceof PeerReviewDefinition) {
return ImageManager.getImage(AtsImage.REVIEW);
} else if (element instanceof DecisionReviewOption) {
return ImageManager.getImage(FrameworkImage.QUESTION);
@@ -182,10 +178,13 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
if (element instanceof SMAEditor) {
items.add(((SMAEditor) element).getSma());
+ items.add(new WrappedStateItems(AtsStateItemManager.getStateItems()));
} else if (element instanceof AbstractWorkflowArtifact) {
items.add(((AbstractWorkflowArtifact) element).getWorkDefinitionMatch());
} else if (element instanceof WrappedLayout) {
items.addAll(((WrappedLayout) element).getStateItems());
+ } else if (element instanceof WrappedPercentWeight) {
+ getChildrenFromWrappedPercentDefinition((WrappedPercentWeight) element, items);
} else if (element instanceof WrappedTrace) {
items.addAll(((WrappedTrace) element).getTrace());
} else if (element instanceof WorkDefinitionMatch) {
@@ -196,6 +195,11 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
items.addAll(((CompositeStateItem) element).getStateItems());
} else if (element instanceof User) {
items.add("Assignee: " + ((User) element).getName());
+ } else if (element instanceof WrappedStateItems) {
+ items.addAll(((WrappedStateItems) element).getStateItems());
+ } else if (element instanceof IAtsStateItem) {
+ items.add("Description: " + ((IAtsStateItem) element).getDescription());
+ items.add("Full Name: " + ((IAtsStateItem) element).getFullName());
} else if (element instanceof WrappedTransitions) {
items.addAll(((WrappedTransitions) element).getTransitions());
} else if (element instanceof DecisionReviewDefinition) {
@@ -221,6 +225,76 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
return items.toArray(new Object[items.size()]);
}
+ @Override
+ public Object getParent(Object element) {
+ if (element instanceof AbstractWorkflowArtifact) {
+ return editor;
+ } else if (element instanceof WorkDefinition) {
+ return editor;
+ } else if (element instanceof StateDefinition) {
+ return ((StateDefinition) element).getWorkDefinition();
+ } else if (element instanceof RuleDefinition) {
+ return editor;
+ } else if (element instanceof String) {
+ return editor;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean hasChildren(Object element) {
+ if (element instanceof String) {
+ return false;
+ } else if (element instanceof AbstractWorkflowArtifact) {
+ return true;
+ } else if (element instanceof WorkDefinitionMatch) {
+ return true;
+ } else if (element instanceof StateDefinition) {
+ return true;
+ } else if (element instanceof RuleDefinition) {
+ return false;
+ } else if (element instanceof CompositeStateItem) {
+ return true;
+ } else if (element instanceof IAtsStateItem) {
+ return true;
+ } else if (element instanceof WidgetDefinition) {
+ return true;
+ } else if (element instanceof PeerReviewDefinition) {
+ return true;
+ } else if (element instanceof DecisionReviewDefinition) {
+ return true;
+ } else if (element instanceof DecisionReviewOption) {
+ return !((DecisionReviewOption) element).getUserIds().isEmpty();
+ } else if (element instanceof WrappedTransitions) {
+ return true;
+ } else if (element instanceof WrappedPercentWeight) {
+ return ((WrappedPercentWeight) element).getWorkDef().isStateWeightingEnabled();
+ } else if (element instanceof WrappedLayout) {
+ return !((WrappedLayout) element).stateItems.isEmpty();
+ } else if (element instanceof WrappedDecisionReviews) {
+ return !((WrappedDecisionReviews) element).decReviews.isEmpty();
+ } else if (element instanceof WrappedPeerReviews) {
+ return !((WrappedPeerReviews) element).decReviews.isEmpty();
+ } else if (element instanceof WrappedTrace) {
+ return !((WrappedTrace) element).trace.isEmpty();
+ } else if (element instanceof WrappedStateItems) {
+ return !((WrappedStateItems) element).stateItems.isEmpty();
+ } else if (element instanceof WrappedStates) {
+ return !((WrappedStates) element).states.isEmpty();
+ } else if (element instanceof RuleAndLocation) {
+ return false;
+ } else if (element instanceof WrappedRules) {
+ return !((WrappedRules) element).getRuleAndLocations().isEmpty();
+ }
+ return false;
+ }
+
+ private void getChildrenFromWrappedPercentDefinition(WrappedPercentWeight weightDef, List<Object> items) {
+ for (StateDefinition stateDef : weightDef.getWorkDef().getStatesOrdered()) {
+ items.add(String.format("State [%s]: %d", stateDef.getName(), stateDef.getStateWeight()));
+ }
+ }
+
private void getChildrenFromWidgetDefinition(Object element, List<Object> items) {
items.add("XWidget: " + ((WidgetDefinition) element).getXWidgetName());
items.add("Attribute Name: " + ((WidgetDefinition) element).getAtrributeName());
@@ -239,6 +313,9 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
}
private void getChildrenFromPeerReviewDefinition(Object element, List<Object> items) {
+ if (Strings.isValid(((PeerReviewDefinition) element).getTitle())) {
+ items.add("Title: " + ((PeerReviewDefinition) element).getTitle());
+ }
if (Strings.isValid(((PeerReviewDefinition) element).getDescription())) {
items.add("Description: " + ((PeerReviewDefinition) element).getDescription());
}
@@ -248,14 +325,20 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
items.add("On Event: " + ((PeerReviewDefinition) element).getStateEventType().name());
items.add("Related To State: " + ((PeerReviewDefinition) element).getRelatedToState());
items.add("Review Blocks: " + ((PeerReviewDefinition) element).getBlockingType().name());
- try {
- items.addAll(UserManager.getUsersByUserId(((PeerReviewDefinition) element).getAssignees()));
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ for (String userId : ((PeerReviewDefinition) element).getAssignees()) {
+ try {
+ items.add(UserManager.getUserByUserId(userId));
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ items.add(String.format("Exception loading user from id [%s] [%s]", userId, ex.getLocalizedMessage()));
+ }
}
}
private void getChildrenFromDecisionReviewDefinition(Object element, List<Object> items) {
+ if (Strings.isValid(((DecisionReviewDefinition) element).getTitle())) {
+ items.add("Title: " + ((DecisionReviewDefinition) element).getTitle());
+ }
if (Strings.isValid(((DecisionReviewDefinition) element).getDescription())) {
items.add("Description: " + ((DecisionReviewDefinition) element).getDescription());
}
@@ -263,10 +346,13 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
items.add("Related To State: " + ((DecisionReviewDefinition) element).getRelatedToState());
items.add("Review Blocks: " + ((DecisionReviewDefinition) element).getBlockingType().name());
items.add("Auto Transition to Decision: " + ((DecisionReviewDefinition) element).isAutoTransitionToDecision());
- try {
- items.addAll(UserManager.getUsersByUserId(((DecisionReviewDefinition) element).getAssignees()));
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ for (String userId : ((DecisionReviewDefinition) element).getAssignees()) {
+ try {
+ items.add(UserManager.getUserByUserId(userId));
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ items.add(String.format("Exception loading user from id [%s] [%s]", userId, ex.getLocalizedMessage()));
+ }
}
items.addAll(((DecisionReviewDefinition) element).getOptions());
}
@@ -288,6 +374,7 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
}
items.addAll(((WorkDefinitionMatch) element).getWorkDefinition().getStatesOrdered());
items.addAll(((WorkDefinitionMatch) element).getWorkDefinition().getRules());
+ items.add(new WrappedPercentWeight(((WorkDefinitionMatch) element).getWorkDefinition()));
items.add(new WrappedTrace(((WorkDefinitionMatch) element).getTrace()));
}
@@ -313,64 +400,6 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
}
@Override
- public Object getParent(Object element) {
- if (element instanceof AbstractWorkflowArtifact) {
- return editor;
- } else if (element instanceof WorkDefinition) {
- return editor;
- } else if (element instanceof StateDefinition) {
- return ((StateDefinition) element).getWorkDefinition();
- } else if (element instanceof RuleDefinition) {
- return editor;
- } else if (element instanceof String) {
- return editor;
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof String) {
- return false;
- } else if (element instanceof AbstractWorkflowArtifact) {
- return true;
- } else if (element instanceof WorkDefinitionMatch) {
- return true;
- } else if (element instanceof StateDefinition) {
- return true;
- } else if (element instanceof RuleDefinition) {
- return false;
- } else if (element instanceof CompositeStateItem) {
- return true;
- } else if (element instanceof WidgetDefinition) {
- return true;
- } else if (element instanceof PeerReviewDefinition) {
- return true;
- } else if (element instanceof DecisionReviewDefinition) {
- return true;
- } else if (element instanceof DecisionReviewOption) {
- return !((DecisionReviewOption) element).getUserIds().isEmpty();
- } else if (element instanceof WrappedTransitions) {
- return true;
- } else if (element instanceof WrappedLayout) {
- return !((WrappedLayout) element).stateItems.isEmpty();
- } else if (element instanceof WrappedDecisionReviews) {
- return !((WrappedDecisionReviews) element).decReviews.isEmpty();
- } else if (element instanceof WrappedPeerReviews) {
- return !((WrappedPeerReviews) element).decReviews.isEmpty();
- } else if (element instanceof WrappedTrace) {
- return !((WrappedTrace) element).trace.isEmpty();
- } else if (element instanceof WrappedStates) {
- return !((WrappedStates) element).states.isEmpty();
- } else if (element instanceof RuleAndLocation) {
- return false;
- } else if (element instanceof WrappedRules) {
- return !((WrappedRules) element).getRuleAndLocations().isEmpty();
- }
- return false;
- }
-
- @Override
public Object[] getElements(Object inputElement) {
return getChildren(inputElement);
}
@@ -452,6 +481,28 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
}
}
+ public class WrappedPercentWeight {
+
+ private final WorkDefinition workDef;
+
+ public WrappedPercentWeight(WorkDefinition workDef) {
+ this.workDef = workDef;
+ }
+
+ @Override
+ public String toString() {
+ if (workDef.isStateWeightingEnabled()) {
+ return "Total Percent Weighting";
+ } else {
+ return "Total Percent Weighting: Single Percent";
+ }
+ }
+
+ public WorkDefinition getWorkDef() {
+ return workDef;
+ }
+
+ }
public class WrappedDecisionReviews {
private final Collection<DecisionReviewDefinition> decReviews;
@@ -469,6 +520,23 @@ public class SMAEditorOutlinePage extends ContentOutlinePage {
}
}
+ public class WrappedStateItems {
+ private final List<IAtsStateItem> stateItems;
+
+ public WrappedStateItems(List<IAtsStateItem> stateItems) {
+ this.stateItems = stateItems;
+ }
+
+ @Override
+ public String toString() {
+ return "State Items" + (stateItems.isEmpty() ? " (Empty)" : "");
+ }
+
+ public Collection<IAtsStateItem> getStateItems() {
+ return stateItems;
+ }
+
+ }
public class WrappedPeerReviews {
private final Collection<PeerReviewDefinition> decReviews;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEstimatedHoursHeader.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEstimatedHoursHeader.java
new file mode 100644
index 0000000000..45ca9e6604
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAEstimatedHoursHeader.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.editor;
+
+import java.util.logging.Level;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.util.PromptChangeUtil;
+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.ui.swt.ALayout;
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class SMAEstimatedHoursHeader extends Composite {
+
+ private final static String LABEL = "Estimated Hours:";
+ Label valueLabel;
+ private final AbstractWorkflowArtifact awa;
+
+ public SMAEstimatedHoursHeader(Composite parent, int style, final AbstractWorkflowArtifact sma, final SMAEditor editor) {
+ super(parent, style);
+ this.awa = sma;
+ setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
+ setLayout(ALayout.getZeroMarginLayout(2, false));
+ editor.getToolkit().adapt(this);
+
+ try {
+ if (!sma.isCancelled() && !sma.isCompleted()) {
+ Hyperlink link = editor.getToolkit().createHyperlink(this, LABEL, SWT.NONE);
+ link.addHyperlinkListener(new IHyperlinkListener() {
+
+ @Override
+ public void linkEntered(HyperlinkEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void linkExited(HyperlinkEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void linkActivated(HyperlinkEvent e) {
+ try {
+ PromptChangeUtil.promptChangeAttribute(sma, AtsAttributeTypes.EstimatedHours, true, false);
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ });
+ } else {
+ Label origLabel = editor.getToolkit().createLabel(this, LABEL);
+ origLabel.setLayoutData(new GridData());
+ }
+
+ valueLabel = editor.getToolkit().createLabel(this, "0.0");
+ valueLabel.setToolTipText(getToolTip());
+ valueLabel.setLayoutData(new GridData());
+ updateLabel(sma);
+
+ } catch (OseeCoreException ex) {
+ Label errorLabel = editor.getToolkit().createLabel(this, "Error: " + ex.getLocalizedMessage());
+ errorLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+
+ }
+
+ private String getEstHoursStr() throws OseeCoreException {
+ double awaEst = awa.getSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.0);
+ double totalEst = awa.getEstimatedHoursTotal();
+ if (awaEst != totalEst) {
+ return String.format("%s | %s", AtsUtil.doubleToI18nString(awaEst), AtsUtil.doubleToI18nString(totalEst));
+ } else {
+ return AtsUtil.doubleToI18nString(awaEst);
+ }
+ }
+
+ public void refresh() throws OseeCoreException {
+ updateLabel(awa);
+ }
+
+ private void updateLabel(AbstractWorkflowArtifact sma) throws OseeCoreException {
+ valueLabel.setText(getEstHoursStr());
+ valueLabel.getParent().layout();
+ }
+
+ private String getToolTip() {
+ return "[Workflow Estimate] | [Calculation: Sum estimated hours for workflow and all tasks and reviews]";
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPercentCompleteHeader.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPercentCompleteHeader.java
new file mode 100644
index 0000000000..8bf775c084
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPercentCompleteHeader.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.editor;
+
+import java.util.logging.Level;
+import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.PromptChangeUtil;
+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.ui.swt.ALayout;
+import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class SMAPercentCompleteHeader extends Composite {
+
+ private final static String PERCENT_COMPLETE = "Percent Complete:";
+ Label valueLabel;
+ private final AbstractWorkflowArtifact awa;
+
+ public SMAPercentCompleteHeader(Composite parent, int style, final AbstractWorkflowArtifact sma, final SMAEditor editor) {
+ super(parent, style);
+ this.awa = sma;
+ setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
+ setLayout(ALayout.getZeroMarginLayout(2, false));
+ editor.getToolkit().adapt(this);
+
+ try {
+ if (!sma.isCancelled() && !sma.isCompleted()) {
+ Hyperlink link = editor.getToolkit().createHyperlink(this, PERCENT_COMPLETE, SWT.NONE);
+ link.addHyperlinkListener(new IHyperlinkListener() {
+
+ @Override
+ public void linkEntered(HyperlinkEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void linkExited(HyperlinkEvent e) {
+ // do nothing
+ }
+
+ @Override
+ public void linkActivated(HyperlinkEvent e) {
+ try {
+ PromptChangeUtil.promptChangeAttribute(sma, AtsAttributeTypes.PercentComplete, true, false);
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ });
+ } else {
+ Label origLabel = editor.getToolkit().createLabel(this, PERCENT_COMPLETE);
+ origLabel.setLayoutData(new GridData());
+ }
+
+ valueLabel = editor.getToolkit().createLabel(this, "0");
+ valueLabel.setToolTipText(getToolTip());
+ valueLabel.setLayoutData(new GridData());
+ updateLabel(sma);
+
+ } catch (OseeCoreException ex) {
+ Label errorLabel = editor.getToolkit().createLabel(this, "Error: " + ex.getLocalizedMessage());
+ errorLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+
+ }
+
+ public String getPercentCompleteStr() throws OseeCoreException {
+ int awaPercent = awa.getSoleAttributeValue(AtsAttributeTypes.PercentComplete, 0);
+ int totalPecent = awa.getPercentCompleteSMATotal();
+ if (awaPercent != totalPecent) {
+ return String.format("%d | %d", awaPercent, totalPecent);
+ } else {
+ return String.valueOf(awaPercent);
+ }
+ }
+
+ public void refresh() throws OseeCoreException {
+ updateLabel(awa);
+ }
+
+ private void updateLabel(AbstractWorkflowArtifact sma) throws OseeCoreException {
+ valueLabel.setText(getPercentCompleteStr());
+ valueLabel.getParent().layout();
+ }
+
+ private String getToolTip() {
+ return " [Workflow Percent] | [Calculation: Sum of percent for workflow, reviews and tasks / # workflows, reviews and tasks] ";
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java
index 35119af53b..9ca01f5684 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPromptChangeStatus.java
@@ -119,7 +119,12 @@ public class SMAPromptChangeStatus {
if (sma instanceof TaskArtifact) {
((TaskArtifact) sma).statusPercentChanged(hours, percent, transaction);
} else {
- sma.getStateMgr().updateMetrics(hours, percent, true);
+ if (sma.getWorkDefinition().isStateWeightingEnabled()) {
+ sma.getStateMgr().updateMetrics(hours, percent, true);
+ } else {
+ sma.getStateMgr().updateMetrics(hours, percent, true);
+ sma.setSoleAttributeValue(AtsAttributeTypes.PercentComplete, percent);
+ }
}
if (persist) {
sma.persist(transaction);
@@ -130,5 +135,4 @@ public class SMAPromptChangeStatus {
}
}
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java
index 1b29cfbdda..4bbfead5d0 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMATargetVersionInfoComposite.java
@@ -18,7 +18,7 @@ import org.eclipse.osee.ats.column.TargetedVersionColumn;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.ReadOnlyHyperlinkListener;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -103,8 +103,8 @@ public class SMATargetVersionInfoComposite extends Composite {
String str = "";
// Don't transition without targeted version if so configured
boolean required =
- sma.teamDefHasWorkRule(AtsWorkDefinitions.RuleWorkItemId.atsRequireTargetedVersion.name()) || sma.getStateDefinition().hasRule(
- AtsWorkDefinitions.RuleWorkItemId.atsRequireTargetedVersion.name());
+ sma.teamDefHasRule(RuleDefinitionOption.RequireTargetedVersion) || sma.getStateDefinition().hasRule(
+ RuleDefinitionOption.RequireTargetedVersion);
if (sma.getTargetedVersion() != null) {
str = sma.getTargetedVersion() + "";
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
index 62257b9d9e..d703313ac8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowSection.java
@@ -41,12 +41,12 @@ import org.eclipse.osee.ats.util.XCancellationReasonTextWidget;
import org.eclipse.osee.ats.util.widgets.ReviewManager;
import org.eclipse.osee.ats.util.widgets.dialog.SMAStatusDialog;
import org.eclipse.osee.ats.workdef.ReviewBlockType;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.ats.workdef.StateDefinitionLabelProvider;
import org.eclipse.osee.ats.workdef.StateDefinitionViewSorter;
import org.eclipse.osee.ats.workdef.StateXWidgetPage;
import org.eclipse.osee.ats.workflow.TransitionManager;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
@@ -202,8 +202,8 @@ public class SMAWorkFlowSection extends SectionPart {
createMetricsHeader(workComp);
// Add any dynamic XWidgets declared for page by IAtsStateItem extensions
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
- for (XWidget xWidget : item.getDynamicXWidgetsPreBody(sma)) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
+ for (XWidget xWidget : item.getDynamicXWidgetsPreBody(sma, statePage.getPageName())) {
xWidget.createWidgets(workComp, 2);
allXWidgets.add(xWidget);
allXWidgets.addAll(xWidget.getChildrenXWidgets());
@@ -231,8 +231,8 @@ public class SMAWorkFlowSection extends SectionPart {
}
// Add any dynamic XWidgets declared for page by IAtsStateItem extensions
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
- for (XWidget xWidget : item.getDynamicXWidgetsPostBody(sma)) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
+ for (XWidget xWidget : item.getDynamicXWidgetsPostBody(sma, statePage.getPageName())) {
xWidget.createWidgets(workComp, 2);
allXWidgets.add(xWidget);
allXWidgets.addAll(xWidget.getChildrenXWidgets());
@@ -249,15 +249,6 @@ public class SMAWorkFlowSection extends SectionPart {
}
}
- // Check extension points for page creation
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
- Result result = item.pageCreated(toolkit, statePage, sma, xModListener, isEditable || isGlobalEditable);
- if (result.isFalse()) {
- result.popup();
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Error in page creation => " + result.getText());
- }
- }
-
return workComp;
}
@@ -291,8 +282,10 @@ public class SMAWorkFlowSection extends SectionPart {
layout.marginLeft = 2;
comp.setLayout(layout);
comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- allXWidgets.add(new StatePercentCompleteXWidget(getManagedForm(), statePage, sma, comp, 2, xModListener,
- isCurrentState, editor));
+ if (sma.getWorkDefinition().isStateWeightingEnabled()) {
+ allXWidgets.add(new StatePercentCompleteXWidget(getManagedForm(), statePage, sma, comp, 2, xModListener,
+ isCurrentState, editor));
+ }
allXWidgets.add(new StateHoursSpentXWidget(getManagedForm(), statePage, sma, comp, 2, xModListener,
isCurrentState, editor));
}
@@ -428,7 +421,7 @@ public class SMAWorkFlowSection extends SectionPart {
return;
}
// Notify extensions of widget modified
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
try {
item.widgetModified(fSection, xWidget);
} catch (Exception ex) {
@@ -608,7 +601,7 @@ public class SMAWorkFlowSection extends SectionPart {
public void updateTransitionToAssignees() throws OseeCoreException {
Collection<User> assignees = null;
// Determine if the is an override set of assigness
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
assignees = item.getOverrideTransitionToAssignees(this);
if (assignees != null) {
break;
@@ -625,7 +618,7 @@ public class SMAWorkFlowSection extends SectionPart {
public void updateTransitionToState() throws OseeCoreException {
// Determine if there is a transitionToStateOverride for this page
String transitionStateOverride = null;
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
transitionStateOverride = item.getOverrideTransitionToStateName(this);
if (transitionStateOverride != null) {
break;
@@ -758,10 +751,9 @@ public class SMAWorkFlowSection extends SectionPart {
}
// Don't transition without targeted version if so configured
- boolean teamDefRequiresTargetedVersion =
- sma.teamDefHasWorkRule(AtsWorkDefinitions.RuleWorkItemId.atsRequireTargetedVersion.name());
+ boolean teamDefRequiresTargetedVersion = sma.teamDefHasRule(RuleDefinitionOption.RequireTargetedVersion);
boolean pageRequiresTargetedVersion =
- sma.getStateDefinition().hasRule(AtsWorkDefinitions.RuleWorkItemId.atsRequireTargetedVersion.name());
+ sma.getStateDefinition().hasRule(RuleDefinitionOption.RequireTargetedVersion);
// Only check this if TeamWorkflow, not for reviews
if (sma instanceof TeamWorkFlowArtifact && (teamDefRequiresTargetedVersion || pageRequiresTargetedVersion) && //
@@ -783,7 +775,7 @@ public class SMAWorkFlowSection extends SectionPart {
}
// Check extension points for valid transition
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(statePage.getStateDefinition())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
try {
result = item.transitioning(sma, sma.getStateMgr().getCurrentState(), toStateDefinition, toAssignees);
if (result.isFalse()) {
@@ -936,9 +928,9 @@ public class SMAWorkFlowSection extends SectionPart {
// and one of these
//
// page is define to allow anyone to edit
- (sma.getStateDefinition().hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAllowEditToAll.name()) ||
+ (sma.getStateDefinition().hasRule(RuleDefinitionOption.AllowEditToAll) ||
// team definition has allowed anyone to edit
- sma.teamDefHasWorkRule(AtsWorkDefinitions.RuleWorkItemId.atsAllowEditToAll.name()) ||
+ sma.teamDefHasRule(RuleDefinitionOption.AllowEditToAll) ||
// priviledged edit mode is on
editor.isPriviledgedEditModeEnabled() ||
// current user is assigned
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
index 21809d34e8..dff1266717 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
@@ -45,9 +45,9 @@ import org.eclipse.osee.ats.artifact.note.NoteItem;
import org.eclipse.osee.ats.config.AtsBulkLoad;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.StateXWidgetPage;
import org.eclipse.osee.ats.workdef.WorkDefinitionMatch;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.operation.Operations;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
@@ -354,7 +354,8 @@ public class SMAWorkFlowTab extends FormPage implements IActionable {
if (sma.isTeamWorkflow()) {
actionableItemHeader = new SMAActionableItemHeader(headerComp, editor.getToolkit(), sma);
}
- workflowMetricsHeader = new SMAWorkflowMetricsHeader(headerComp, editor.getToolkit(), sma);
+ workflowMetricsHeader =
+ new SMAWorkflowMetricsHeader(headerComp, editor.getToolkit(), sma, editor, managedForm);
int headerCompColumns = 4;
createWorkDefHeader(headerComp, editor.getToolkit(), sma, headerCompColumns);
createSMANotesHeader(headerComp, editor.getToolkit(), sma, headerCompColumns);
@@ -409,9 +410,9 @@ public class SMAWorkFlowTab extends FormPage implements IActionable {
(SMAWorkFlowSection.isEditable(sma, page, editor) || //
// page is define to allow anyone to edit
- sma.getStateDefinition().hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAllowAssigneeToAll.name()) ||
+ sma.getStateDefinition().hasRule(RuleDefinitionOption.AllowAssigneeToAll) ||
// team definition has allowed anyone to edit
- sma.teamDefHasWorkRule(AtsWorkDefinitions.RuleWorkItemId.atsAllowAssigneeToAll.name()));
+ sma.teamDefHasRule(RuleDefinitionOption.AllowAssigneeToAll));
new SMAAssigneesHeader(comp, SWT.NONE, sma, editable, editor);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java
index 253466e2fb..919e53c126 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkflowMetricsHeader.java
@@ -24,33 +24,42 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.IManagedForm;
/**
* @author Donald G. Dunne
*/
public class SMAWorkflowMetricsHeader extends Composite {
- private final AbstractWorkflowArtifact sma;
- private Label percentLabel, estHoursLabel, hoursSpentLabel, remainHoursLabel;
+ private final AbstractWorkflowArtifact awa;
+ private Label percentLabel, hoursSpentLabel, remainHoursLabel;
+ private SMAPercentCompleteHeader totalPercentHeader;
+ private SMAEstimatedHoursHeader estimatedHoursHeader;
- public SMAWorkflowMetricsHeader(Composite parent, XFormToolkit toolkit, AbstractWorkflowArtifact sma) {
+ public SMAWorkflowMetricsHeader(Composite parent, XFormToolkit toolkit, AbstractWorkflowArtifact awa, SMAEditor editor, IManagedForm managedForm) {
super(parent, SWT.NONE);
- this.sma = sma;
+ this.awa = awa;
try {
+ int numColumns = 8;
+ if (!awa.getWorkDefinition().isStateWeightingEnabled()) {
+ numColumns = 10;
+ }
toolkit.adapt(this);
- setLayout(ALayout.getZeroMarginLayout(8, false));
+ setLayout(ALayout.getZeroMarginLayout(numColumns, false));
setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- percentLabel =
- FormsUtil.createLabelValue(toolkit, this, "Total Percent: ", "",
- "Calculation: sum of percent for all states (including all tasks and reviews) / # statusable states");
- estHoursLabel =
- FormsUtil.createLabelValue(toolkit, this, "Total Estimated Hours: ", "",
- "Calculation: sum estimated hours for workflow and all tasks and reviews");
+ if (awa.getWorkDefinition().isStateWeightingEnabled()) {
+ percentLabel =
+ FormsUtil.createLabelValue(toolkit, this, "Total Percent: ", "",
+ "Calculation: Sum of percent for all states (including all tasks and reviews) / # statusable states (if configured)");
+ } else {
+ totalPercentHeader = new SMAPercentCompleteHeader(this, 2, awa, editor);
+ }
+ estimatedHoursHeader = new SMAEstimatedHoursHeader(this, 2, awa, editor);
hoursSpentLabel =
FormsUtil.createLabelValue(toolkit, this, "Total Hours Spent: ", "",
- "Calculation: sum of all hours spent for all tasks, reviews and in each state");
+ "Calculation: Sum of all hours spent for all tasks, reviews and in each state");
remainHoursLabel =
FormsUtil.createLabelValue(toolkit, this, "Remaining Hours: ", "",
RemainingHoursColumn.getInstance().getDescription());
@@ -62,32 +71,37 @@ public class SMAWorkflowMetricsHeader extends Composite {
}
private void refresh() {
- if (percentLabel.isDisposed()) {
+ if (hoursSpentLabel.isDisposed()) {
return;
}
try {
- if (!percentLabel.isDisposed()) {
- percentLabel.setText(String.valueOf(sma.getPercentCompleteSMATotal()));
+ if (totalPercentHeader != null) {
+ totalPercentHeader.refresh();
}
- if (estHoursLabel != null && !estHoursLabel.isDisposed()) {
- estHoursLabel.setText(String.valueOf(AtsUtil.doubleToI18nString(sma.getEstimatedHoursTotal())));
+ if (percentLabel != null && !percentLabel.isDisposed()) {
+ percentLabel.setText(String.valueOf(awa.getPercentCompleteSMATotal()));
+ }
+ if (estimatedHoursHeader != null) {
+ estimatedHoursHeader.refresh();
}
if (hoursSpentLabel != null && !hoursSpentLabel.isDisposed()) {
- hoursSpentLabel.setText(String.valueOf(AtsUtil.doubleToI18nString(sma.getHoursSpentSMATotal())));
+ hoursSpentLabel.setText(String.valueOf(AtsUtil.doubleToI18nString(awa.getHoursSpentSMATotal())));
}
if (hoursSpentLabel != null && !hoursSpentLabel.isDisposed()) {
- Result result = RemainingHoursColumn.isRemainingHoursValid(sma);
+ Result result = RemainingHoursColumn.isRemainingHoursValid(awa);
if (result.isFalse()) {
remainHoursLabel.setText("Error" + result.getText());
} else {
- remainHoursLabel.setText(String.valueOf(AtsUtil.doubleToI18nString(RemainingHoursColumn.getRemainingHours(sma))));
+ remainHoursLabel.setText(String.valueOf(AtsUtil.doubleToI18nString(RemainingHoursColumn.getRemainingHours(awa))));
}
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
- percentLabel.update();
+ if (percentLabel != null) {
+ percentLabel.update();
+ }
layout();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java
index b95d60c237..c83eef3a1f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItem.java
@@ -18,9 +18,10 @@ import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
import org.eclipse.osee.ats.artifact.DecisionReviewState;
import org.eclipse.osee.ats.editor.SMAWorkFlowSection;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.widgets.DecisionOption;
import org.eclipse.osee.ats.util.widgets.XDecisionOptions;
-import org.eclipse.osee.ats.workdef.StateXWidgetPage;
+import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.skynet.core.User;
@@ -36,42 +37,55 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
*/
public class AtsDecisionReviewDecisionStateItem extends AtsStateItem {
+ public AtsDecisionReviewDecisionStateItem() {
+ super(AtsDecisionReviewDecisionStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return "osee.ats.decisionReview.Decision";
+ public String getDescription() {
+ return "Add decision options to Decision state based on prepare state's entries.";
}
@Override
- public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
- if (xWidget == null) {
- throw new OseeStateException("Can't retrieve decision review combo widget to set.");
- }
- if (!(art instanceof AbstractWorkflowArtifact)) {
- throw new OseeCoreException(
- "AtsDecisionReviewDecisionStateItem.xWidgetCreating expected a StateMachineArtifact");
- }
- if (xWidget.getLabel().equals(AtsAttributeTypes.Decision.getUnqualifiedName())) {
- XComboDam decisionComboDam = (XComboDam) xWidget;
- List<String> options = new ArrayList<String>();
- XDecisionOptions xDecOptions = new XDecisionOptions((AbstractWorkflowArtifact) art);
- for (DecisionOption opt : xDecOptions.getDecisionOptions()) {
- options.add(opt.getName());
+ public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
+ if (art.isOfType(AtsArtifactTypes.DecisionReview) && stateDefinition.getPageName().equals(
+ DecisionReviewState.Decision.getPageName())) {
+ if (xWidget == null) {
+ throw new OseeStateException("Can't retrieve decision review combo widget to set.");
+ }
+ if (xWidget.getLabel().equals(AtsAttributeTypes.Decision.getUnqualifiedName())) {
+ XComboDam decisionComboDam = (XComboDam) xWidget;
+ List<String> options = new ArrayList<String>();
+ XDecisionOptions xDecOptions = new XDecisionOptions((AbstractWorkflowArtifact) art);
+ for (DecisionOption opt : xDecOptions.getDecisionOptions()) {
+ options.add(opt.getName());
+ }
+ decisionComboDam.setDataStrings(options.toArray(new String[options.size()]));
}
- decisionComboDam.setDataStrings(options.toArray(new String[options.size()]));
}
return Result.TrueResult;
}
@Override
public String getOverrideTransitionToStateName(SMAWorkFlowSection section) throws OseeCoreException {
- DecisionOption decisionOption = getDecisionOption(section);
+ if (isApplicable(section)) {
+ if (section.getTransitionToStateCombo() == null || section.getTransitionToStateCombo().getSelected() == null) {
+ return null;
+ }
+ XWidget xWidget = section.getPage().getLayoutData(AtsAttributeTypes.Decision.getName()).getXWidget();
+ XComboDam decisionComboDam = (XComboDam) xWidget;
+ DecisionReviewArtifact decArt = (DecisionReviewArtifact) section.getSma();
+ return getOverrideTransitionToStateName(decArt, decisionComboDam);
+ }
+ return null;
+ }
+
+ public String getOverrideTransitionToStateName(DecisionReviewArtifact decArt, XComboDam decisionComboDam) throws OseeCoreException {
+ DecisionOption decisionOption = getDecisionOption(decArt, decisionComboDam);
if (decisionOption == null) {
return null;
}
boolean followUpRequired = decisionOption.isFollowupRequired();
- if (section.getTransitionToStateCombo() == null || section.getTransitionToStateCombo().getSelected() == null) {
- return null;
- }
if (followUpRequired) {
return DecisionReviewState.Followup.getPageName();
} else {
@@ -81,27 +95,34 @@ public class AtsDecisionReviewDecisionStateItem extends AtsStateItem {
@Override
public Collection<User> getOverrideTransitionToAssignees(SMAWorkFlowSection section) throws OseeCoreException {
- DecisionOption decisionOption = getDecisionOption(section);
+ if (isApplicable(section)) {
+ XWidget xWidget = section.getPage().getLayoutData(AtsAttributeTypes.Decision.getName()).getXWidget();
+ XComboDam decisionComboDam = (XComboDam) xWidget;
+ DecisionReviewArtifact decArt = (DecisionReviewArtifact) section.getSma();
+ return getOverrideTransitionToAssignees(decArt, decisionComboDam);
+ }
+ return null;
+ }
+
+ public Collection<User> getOverrideTransitionToAssignees(DecisionReviewArtifact decArt, XComboDam decisionComboDam) throws OseeCoreException {
+ DecisionOption decisionOption = getDecisionOption(decArt, decisionComboDam);
if (decisionOption == null) {
return null;
}
return decisionOption.getAssignees();
}
- private DecisionOption getDecisionOption(SMAWorkFlowSection section) throws OseeCoreException {
- XWidget xWidget = section.getPage().getLayoutData(AtsAttributeTypes.Decision.getName()).getXWidget();
- XComboDam decisionComboDam = (XComboDam) xWidget;
+ private boolean isApplicable(SMAWorkFlowSection section) {
+ return section.getSma().isOfType(AtsArtifactTypes.DecisionReview) && section.getSma().getCurrentStateName().equals(
+ DecisionReviewState.Decision.getPageName());
+ }
+
+ private DecisionOption getDecisionOption(DecisionReviewArtifact decRevArt, XComboDam decisionComboDam) throws OseeCoreException {
String decision = decisionComboDam.get();
if (decision.equals("")) {
return null;
}
- DecisionReviewArtifact decArt = (DecisionReviewArtifact) section.getSma();
- return decArt.decisionOptions.getDecisionOption(decision);
- }
-
- @Override
- public String getDescription() {
- return "AtsDecisionReviewDecisionStateItem - Add decision options to review state based on prepare state's entries.";
+ return decRevArt.decisionOptions.getDecisionOption(decision);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java
index 51a9aa48d5..f4cd7a97ce 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItem.java
@@ -13,6 +13,7 @@ package org.eclipse.osee.ats.editor.stateItem;
import java.util.Collection;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.DecisionReviewState;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.widgets.XDecisionOptions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
@@ -24,14 +25,19 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
*/
public class AtsDecisionReviewPrepareStateItem extends AtsStateItem {
+ public AtsDecisionReviewPrepareStateItem() {
+ super(AtsDecisionReviewPrepareStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return "osee.ats.decisionReview.Prepare";
+ public String getDescription() {
+ return "Add validation of Decision Review options prior to transitioning from Prepare to Decision.";
}
@Override
public Result transitioning(AbstractWorkflowArtifact sma, IWorkPage fromState, IWorkPage toState, Collection<User> toAssignees) throws OseeCoreException {
- if (fromState.getPageName().equals(DecisionReviewState.Prepare.getPageName()) && toState.getPageName().equals(
+ if (sma.isOfType(AtsArtifactTypes.DecisionReview) && fromState.getPageName().equals(
+ DecisionReviewState.Prepare.getPageName()) && toState.getPageName().equals(
DecisionReviewState.Decision.getPageName())) {
XDecisionOptions decOptions = new XDecisionOptions(sma);
return decOptions.validateDecisionOptions();
@@ -39,9 +45,4 @@ public class AtsDecisionReviewPrepareStateItem extends AtsStateItem {
return Result.TrueResult;
}
- @Override
- public String getDescription() {
- return "AtsDecisionReviewPrepareStateItem - Add validation of decision options prior to transitioning.";
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java
index 17db26e712..59b5919c04 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItem.java
@@ -11,13 +11,10 @@
package org.eclipse.osee.ats.editor.stateItem;
import java.util.Collection;
-import java.util.logging.Level;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
@@ -27,29 +24,24 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
*/
public class AtsForceAssigneesToTeamLeadsStateItem extends AtsStateItem {
+ public AtsForceAssigneesToTeamLeadsStateItem() {
+ super(AtsForceAssigneesToTeamLeadsStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return AtsStateItem.ALL_STATE_IDS;
+ public String getDescription() {
+ return "Check if toState is configured to force assignees to leads and set leads accordingly.";
}
@Override
public void transitioned(AbstractWorkflowArtifact sma, IWorkPage fromState, IWorkPage toState, Collection<User> toAssignees, SkynetTransaction transaction) throws OseeCoreException {
- super.transitioned(sma, fromState, toState, toAssignees, transaction);
if (sma.isTeamWorkflow() && AtsWorkDefinitions.isForceAssigneesToTeamLeads(sma.getStateDefinitionByName(toState.getPageName()))) {
- // Set Assignees to all user roles users
- try {
- Collection<User> teamLeads = ((TeamWorkFlowArtifact) sma).getTeamDefinition().getLeads();
+ Collection<User> teamLeads = ((TeamWorkFlowArtifact) sma).getTeamDefinition().getLeads();
+ if (!teamLeads.isEmpty()) {
sma.getStateMgr().setAssignees(teamLeads);
sma.persist(transaction);
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
}
}
}
- @Override
- public String getDescription() {
- return "AtsForceAssigneesToTeamLeadsStateItem";
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java
index 5f20b270ff..add1bde508 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsHandleAddReviewRuleStateItem.java
@@ -16,7 +16,6 @@ import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.workdef.DecisionReviewDefinition;
import org.eclipse.osee.ats.workdef.PeerReviewDefinition;
import org.eclipse.osee.ats.workdef.StateEventType;
@@ -34,25 +33,23 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
*/
public class AtsHandleAddReviewRuleStateItem extends AtsStateItem {
+ public AtsHandleAddReviewRuleStateItem() {
+ super(AtsHandleAddReviewRuleStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return AtsStateItem.ALL_STATE_IDS;
+ public String getDescription() {
+ return "Create review if AddDecisionReviewRule or AddPeerToPeerReviewRule exists for this state.";
}
@Override
public void transitioned(AbstractWorkflowArtifact sma, IWorkPage fromState, IWorkPage toState, Collection<User> toAssignees, SkynetTransaction transaction) throws OseeCoreException {
- super.transitioned(sma, fromState, toState, toAssignees, transaction);
-
// Create any decision or peerToPeer reviews for transitionTo and transitionFrom
- runRule(sma, toState, transaction);
- }
-
- public static void runRule(AbstractWorkflowArtifact sma, IWorkPage toState, SkynetTransaction transaction) throws OseeCoreException {
- Date createdDate = new Date();
- User createdBy = UserManager.getUser(SystemUser.OseeSystem);
- if (!sma.isOfType(AtsArtifactTypes.TeamWorkflow)) {
+ if (!sma.isTeamWorkflow()) {
return;
}
+ Date createdDate = new Date();
+ User createdBy = UserManager.getUser(SystemUser.OseeSystem);
TeamWorkFlowArtifact teamArt = (TeamWorkFlowArtifact) sma;
for (DecisionReviewDefinition decRevDef : teamArt.getStateDefinition().getDecisionReviews()) {
@@ -76,12 +73,6 @@ public class AtsHandleAddReviewRuleStateItem extends AtsStateItem {
}
}
}
-
- }
-
- @Override
- public String getDescription() {
- return "AtsHandleAddReviewRuleStateItem - If AddDecisionReviewRule or AddPeerToPeerReviewRule exists for this state, create review.";
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java
index 776622bfd7..00dc2d1717 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItem.java
@@ -13,8 +13,10 @@ package org.eclipse.osee.ats.editor.stateItem;
import java.util.logging.Level;
import org.eclipse.osee.ats.artifact.AbstractReviewArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.artifact.PeerToPeerReviewState;
import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workdef.StateXWidgetPage;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
+import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -28,17 +30,22 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
*/
public class AtsPeerToPeerReviewPrepareStateItem extends AtsStateItem {
+ public AtsPeerToPeerReviewPrepareStateItem() {
+ super(AtsPeerToPeerReviewPrepareStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return "osee.ats.peerToPeerReview.Prepare";
+ public String getDescription() {
+ return "If stand-alone review, remove blocking review enablement and required entry.";
}
@Override
- public void xWidgetCreated(XWidget widget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener modListener, boolean isEditable) throws OseeCoreException {
- super.xWidgetCreated(widget, toolkit, page, art, modListener, isEditable);
+ public void xWidgetCreated(XWidget widget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener modListener, boolean isEditable) {
try {
- if (art instanceof AbstractReviewArtifact && ((AbstractReviewArtifact) art).getParentSMA() == null && widget.getLabel().equals(
- AtsAttributeTypes.ReviewBlocks.getUnqualifiedName())) {
+ if (art.isOfType(AtsArtifactTypes.PeerToPeerReview) && //
+ stateDefinition.getPageName().equals(PeerToPeerReviewState.Prepare.getPageName()) && //
+ ((AbstractReviewArtifact) art).getParentSMA() == null && //
+ widget.getLabel().equals(AtsAttributeTypes.ReviewBlocks.getUnqualifiedName())) {
XComboDam decisionComboDam = (XComboDam) widget;
decisionComboDam.setEnabled(false);
decisionComboDam.setRequiredEntry(false);
@@ -48,9 +55,4 @@ public class AtsPeerToPeerReviewPrepareStateItem extends AtsStateItem {
}
}
- @Override
- public String getDescription() {
- return "AtsPeerToPeerReviewPrepareStateItem - If stand-alone review, remove blocking review enablement and required entry.";
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java
index 9c5ab034ec..bc20655867 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItem.java
@@ -16,6 +16,7 @@ import java.util.Set;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
import org.eclipse.osee.ats.artifact.PeerToPeerReviewState;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.widgets.role.UserRole;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
@@ -27,34 +28,32 @@ import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
*/
public class AtsPeerToPeerReviewReviewStateItem extends AtsStateItem {
+ public AtsPeerToPeerReviewReviewStateItem() {
+ super(AtsPeerToPeerReviewReviewStateItem.class.getSimpleName());
+ }
+
@Override
- public String getId() {
- return "osee.ats.peerToPeerReview.Review";
+ public String getDescription() {
+ return "Assign review state to all members of review as per role in prepare state.";
}
@Override
public void transitioned(AbstractWorkflowArtifact sma, IWorkPage fromState, IWorkPage toState, Collection<User> toAssignees, SkynetTransaction transaction) throws OseeCoreException {
- super.transitioned(sma, fromState, toState, toAssignees, transaction);
- if (!toState.getPageName().equals(PeerToPeerReviewState.Review.getPageName())) {
- return;
- }
- // Set Assignees to all user roles users
- Set<User> assignees = new HashSet<User>();
- PeerToPeerReviewArtifact peerArt = (PeerToPeerReviewArtifact) sma;
- for (UserRole uRole : peerArt.getUserRoleManager().getUserRoles()) {
- if (!uRole.isCompleted()) {
- assignees.add(uRole.getUser());
+ if (sma.isOfType(AtsArtifactTypes.PeerToPeerReview) && toState.getPageName().equals(
+ PeerToPeerReviewState.Review.getPageName())) {
+ // Set Assignees to all user roles users
+ Set<User> assignees = new HashSet<User>();
+ PeerToPeerReviewArtifact peerArt = (PeerToPeerReviewArtifact) sma;
+ for (UserRole uRole : peerArt.getUserRoleManager().getUserRoles()) {
+ if (!uRole.isCompleted()) {
+ assignees.add(uRole.getUser());
+ }
}
- }
- assignees.addAll(sma.getStateMgr().getAssignees());
+ assignees.addAll(sma.getStateMgr().getAssignees());
- sma.getStateMgr().setAssignees(assignees);
- sma.persist(transaction);
- }
-
- @Override
- public String getDescription() {
- return "AtsPeerToPeerReviewReviewStateItem - assign review state to all members of review as per role in prepare state.";
+ sma.getStateMgr().setAssignees(assignees);
+ sma.persist(transaction);
+ }
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java
index 144e9be6b1..38a63811b1 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItem.java
@@ -10,13 +10,12 @@
*******************************************************************************/
package org.eclipse.osee.ats.editor.stateItem;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.editor.SMAWorkFlowSection;
-import org.eclipse.osee.ats.workdef.StateXWidgetPage;
+import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -33,6 +32,11 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
public abstract class AtsStateItem implements IAtsStateItem {
public final static String ALL_STATE_IDS = "ALL";
+ private final String name;
+
+ public AtsStateItem(String name) {
+ this.name = name;
+ }
@SuppressWarnings("unused")
@Override
@@ -46,17 +50,9 @@ public abstract class AtsStateItem implements IAtsStateItem {
return null;
}
- protected String getId() {
- return null;
- }
-
- @SuppressWarnings("unused")
@Override
- public Collection<String> getIds() throws OseeCoreException {
- if (getId() == null) {
- return Collections.emptyList();
- }
- return Arrays.asList(getId());
+ public String getName() {
+ return name;
}
@SuppressWarnings("unused")
@@ -73,24 +69,18 @@ public abstract class AtsStateItem implements IAtsStateItem {
@SuppressWarnings("unused")
@Override
- public List<XWidget> getDynamicXWidgetsPostBody(AbstractWorkflowArtifact sma) throws OseeCoreException {
+ public List<XWidget> getDynamicXWidgetsPostBody(AbstractWorkflowArtifact sma, String stateName) throws OseeCoreException {
return Collections.emptyList();
}
@SuppressWarnings("unused")
@Override
- public List<XWidget> getDynamicXWidgetsPreBody(AbstractWorkflowArtifact sma) throws OseeCoreException {
+ public List<XWidget> getDynamicXWidgetsPreBody(AbstractWorkflowArtifact sma, String stateName) throws OseeCoreException {
return Collections.emptyList();
}
@SuppressWarnings("unused")
@Override
- public Result pageCreated(FormToolkit toolkit, StateXWidgetPage page, AbstractWorkflowArtifact sma, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
- return Result.TrueResult;
- }
-
- @SuppressWarnings("unused")
- @Override
public void transitioned(AbstractWorkflowArtifact sma, IWorkPage fromState, IWorkPage toState, Collection<User> toAssignees, SkynetTransaction transaction) throws OseeCoreException {
// provided for subclass implementation
}
@@ -109,13 +99,13 @@ public abstract class AtsStateItem implements IAtsStateItem {
@SuppressWarnings("unused")
@Override
- public void xWidgetCreated(XWidget xWidget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
+ public void xWidgetCreated(XWidget xWidget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
// provided for subclass implementation
}
@SuppressWarnings("unused")
@Override
- public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
+ public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
return Result.TrueResult;
}
@@ -124,4 +114,14 @@ public abstract class AtsStateItem implements IAtsStateItem {
public boolean isAccessControlViaAssigneesEnabledForBranching() throws OseeCoreException {
return false;
}
+
+ @Override
+ public String getFullName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String toString() {
+ return getName();
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java
index 17cab9713f..2f055656c9 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/AtsStateItemManager.java
@@ -17,10 +17,7 @@ import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workdef.StateDefinition;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.osgi.framework.Bundle;
@@ -32,23 +29,9 @@ public class AtsStateItemManager {
private final static List<IAtsStateItem> stateItems = new ArrayList<IAtsStateItem>();
- public static List<IAtsStateItem> getStateItems(StateDefinition stateDef) throws OseeCoreException {
- return getStateItems(stateDef.getFullName());
- }
-
- private static List<IAtsStateItem> getStateItems(String stateId) throws OseeCoreException {
+ public static List<IAtsStateItem> getStateItems() {
loadAllStateItems();
- List<IAtsStateItem> items = new ArrayList<IAtsStateItem>();
- for (IAtsStateItem item : stateItems) {
- if (item.getIds().contains(AtsStateItem.ALL_STATE_IDS) || item.getIds().contains(stateId)) {
- items.add(item);
- }
- }
- return items;
- }
-
- public static List<IAtsStateItem> getCurrentPageStateItems(AbstractWorkflowArtifact sma) throws OseeCoreException {
- return getStateItems(sma.getStateDefinition().getFullName());
+ return stateItems;
}
@SuppressWarnings({"rawtypes"})
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java
index bbb4ee9a6d..55deb744cf 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/IAtsStateItem.java
@@ -14,7 +14,7 @@ import java.util.Collection;
import java.util.List;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.editor.SMAWorkFlowSection;
-import org.eclipse.osee.ats.workdef.StateXWidgetPage;
+import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -30,11 +30,13 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
*/
public interface IAtsStateItem {
- public Result pageCreated(FormToolkit toolkit, StateXWidgetPage page, AbstractWorkflowArtifact sma, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException;
+ public String getName();
- public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException;
+ public String getFullName();
- public void xWidgetCreated(XWidget xWidget, FormToolkit toolkit, StateXWidgetPage page, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException;
+ public Result xWidgetCreating(XWidget xWidget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException;
+
+ public void xWidgetCreated(XWidget xWidget, FormToolkit toolkit, StateDefinition stateDefinition, Artifact art, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException;
public void widgetModified(SMAWorkFlowSection section, XWidget xWidget) throws OseeCoreException;
@@ -42,14 +44,12 @@ public interface IAtsStateItem {
public Collection<User> getOverrideTransitionToAssignees(SMAWorkFlowSection section) throws OseeCoreException;
- public String getDescription() throws OseeCoreException;
+ public String getDescription();
public String getBranchShortName(AbstractWorkflowArtifact sma) throws OseeCoreException;
public boolean isAccessControlViaAssigneesEnabledForBranching() throws OseeCoreException;
- public Collection<String> getIds() throws OseeCoreException;
-
/**
* @return Result of operation. If Result.isFalse(), transition will not continue and Result.popup will occur.
*/
@@ -62,8 +62,8 @@ public interface IAtsStateItem {
*/
public Result committing(AbstractWorkflowArtifact sma) throws OseeCoreException;
- public List<XWidget> getDynamicXWidgetsPostBody(AbstractWorkflowArtifact sma) throws OseeCoreException;
+ public List<XWidget> getDynamicXWidgetsPostBody(AbstractWorkflowArtifact sma, String stateName) throws OseeCoreException;
- public List<XWidget> getDynamicXWidgetsPreBody(AbstractWorkflowArtifact sma) throws OseeCoreException;
+ public List<XWidget> getDynamicXWidgetsPreBody(AbstractWorkflowArtifact sma, String stateName) throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
index 095b420530..6a0756008a 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/AtsNavigateViewItems.java
@@ -184,6 +184,8 @@ public final class AtsNavigateViewItems implements XNavigateViewItems {
new ConvertAtsFor097Database(dbConvertItems);
new ConvertAtsSingleFor097Database(dbConvertItems);
new ConvertWorkFlowDefinitions(dbConvertItems);
+ new ConvertAIsAndTeamDefinitions(dbConvertItems);
+ new ImportAIsAndTeamDefinitions(dbConvertItems);
new AtsNotificationNavigateItem(adminItems);
new AtsNotificationNavigateItem(adminItems, true);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConfigureDBForAts.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConfigureDBForAts.java
index e5808071e5..f3b078a573 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConfigureDBForAts.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConfigureDBForAts.java
@@ -18,7 +18,6 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
-import org.eclipse.osee.ats.workflow.vue.LoadAIsAndTeamsAction;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.plugin.core.util.Jobs;
import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption;
@@ -66,7 +65,6 @@ public class ConfigureDBForAts extends XNavigateItemAction {
AtsWorkDefinitions.importWorkItemDefinitionsIntoDb(WriteType.New, null,
AtsWorkDefinitions.getAtsWorkDefinitions());
monitor.subTask("Loading Actionable Items and Teams for " + pluginId);
- LoadAIsAndTeamsAction.executeForAtsRuntimeConfig(false, pluginId);
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
return new Status(IStatus.ERROR, AtsPlugin.PLUGIN_ID, -1, ex.getMessage(), ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertAIsAndTeamDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertAIsAndTeamDefinitions.java
new file mode 100644
index 0000000000..c40cdd1750
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertAIsAndTeamDefinitions.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * 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.ats.workdef.AtsWorkDefinitionProviders;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+
+public class ConvertAIsAndTeamDefinitions extends XNavigateItemAction {
+
+ public ConvertAIsAndTeamDefinitions(XNavigateItem parent) {
+ super(parent, "Convert AIs and Team Definition to AtsDsl", AtsImage.WORK_DEFINITION);
+ }
+
+ @Override
+ public void run(TableLoadOption... tableLoadOptions) throws Exception {
+ XResultData resultData = new XResultData();
+ AtsWorkDefinitionProviders.convertAndOpenAIandTeamAtsDsl(resultData);
+ resultData.report(getName());
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertWorkFlowDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertWorkFlowDefinitions.java
index b3451fd5fb..244a4420a4 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertWorkFlowDefinitions.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ConvertWorkFlowDefinitions.java
@@ -54,6 +54,7 @@ public class ConvertWorkFlowDefinitions extends XNavigateItemAction {
idToName.put("lba.common.code", "WorkDef_Team_LbaCode.ats");
idToName.put("lba.common.pids.req", "WorkDef_Team_LbaPids.ats");
idToName.put("lba.common.req", "WorkDef_Team_Lba_Req.ats");
+ idToName.put("lba.common.sw_ta", "WorkDef_Team_Lba_SwTechAppr.ats");
idToName.put("lba.common.sw_techappr", "WorkDef_Team_Lba_SwTechAppr.ats");
idToName.put("lba.common.swdesign", "WorkDef_Team_Lba_SwDesign.ats");
idToName.put("lba.common.test", "WorkDef_Team_Lba_Test_Default.ats");
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ImportAIsAndTeamDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ImportAIsAndTeamDefinitions.java
new file mode 100644
index 0000000000..83f7f16bd5
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/ImportAIsAndTeamDefinitions.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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.ats.workdef.AtsWorkDefinitionSheetProviders;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem;
+import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction;
+
+public class ImportAIsAndTeamDefinitions extends XNavigateItemAction {
+
+ public ImportAIsAndTeamDefinitions(XNavigateItem parent) {
+ super(parent, "Import AIs and Team Definition to DB", AtsImage.WORK_DEFINITION);
+ }
+
+ @Override
+ public void run(TableLoadOption... tableLoadOptions) throws Exception {
+ AtsWorkDefinitionSheetProviders.importAIsAndTeamsToDatabase();
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java
index c513386c78..55e982aca2 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchCommitJob.java
@@ -80,7 +80,7 @@ public class AtsBranchCommitJob extends Job {
if (!overrideStateValidation) {
adminOverride = false;
// Check extension points for valid commit
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(teamArt.getStateDefinition())) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
final Result tempResult = item.committing(teamArt);
if (tempResult.isFalse()) {
// Allow Admin to override state validation
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsFolderUtil.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsFolderUtil.java
deleted file mode 100644
index 47a7cd18dc..0000000000
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsFolderUtil.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * 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.HashMap;
-import java.util.Map;
-import org.eclipse.osee.framework.core.data.IArtifactType;
-import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.artifact.StaticIdManager;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-
-/**
- * @author Donald G. Dunne
- */
-public class AtsFolderUtil {
-
- public enum AtsFolder {
- Ats_Config("Config", "ats.ConfigFolder", CoreArtifactTypes.Folder),
- Ats_Heading("Action Tracking System", "ats.HeadingFolder", CoreArtifactTypes.Folder),
- Teams("Teams", "osee.ats.TopTeamDefinition", AtsArtifactTypes.TeamDefinition),
- ActionableItem("Actionable Items", "osee.ats.TopActionableItem", AtsArtifactTypes.ActionableItem),
- WorkFlow("Work Flows", "Work Flows", CoreArtifactTypes.Folder),
- WorkRules("Work Rules", "Work Rules", CoreArtifactTypes.Folder),
- WorkWidgets("Work Widgets", "Work Widgets", CoreArtifactTypes.Folder),
- WorkPages("Work Pages", "Work Pages", CoreArtifactTypes.Folder),
- WorkDefinitions("Work Definitions", "Work Definitions", CoreArtifactTypes.Folder);
- final String displayName;
- final String staticId;
- final IArtifactType artifactType;
-
- private AtsFolder(String displayName, String staticId, IArtifactType artifactType) {
- this.displayName = displayName;
- this.staticId = staticId;
- this.artifactType = artifactType;
- }
-
- /**
- * @return the displayName
- */
- public String getDisplayName() {
- return displayName;
- }
-
- /**
- * @return the staticId
- */
- public String getStaticId() {
- return staticId;
- }
- }
-
- public static Map<AtsFolder, Artifact> folderMap = new HashMap<AtsFolder, Artifact>();
-
- public static Artifact getFolder(AtsFolder atsFolder) throws OseeCoreException {
- if (!folderMap.containsKey(atsFolder)) {
- Artifact artifact =
- StaticIdManager.getSingletonArtifact(atsFolder.artifactType, atsFolder.staticId, AtsUtil.getAtsBranch(),
- true);
- if (artifact == null) {
- throw new OseeStateException("Can't retrieve Ats folder [%s]", atsFolder.displayName);
- }
- folderMap.put(atsFolder, artifact);
- }
- return folderMap.get(atsFolder);
- }
-
- public static void createAtsFolders() throws OseeCoreException {
- SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Create ATS Folders");
-
- Artifact headingArt =
- OseeSystemArtifacts.getOrCreateArtifact(CoreArtifactTypes.Folder, AtsFolder.Ats_Heading.displayName,
- AtsUtil.getAtsBranch());
- if (!headingArt.hasParent()) {
- Artifact rootArt = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(AtsUtil.getAtsBranch());
- rootArt.addChild(headingArt);
- StaticIdManager.setSingletonAttributeValue(headingArt, AtsFolder.Ats_Heading.staticId);
- headingArt.persist(transaction);
- }
-
- for (AtsFolder atsFolder : AtsFolder.values()) {
- if (atsFolder == AtsFolder.Ats_Heading) {
- continue;
- }
- Artifact art =
- OseeSystemArtifacts.getOrCreateArtifact(atsFolder.artifactType, atsFolder.displayName,
- AtsUtil.getAtsBranch());
- StaticIdManager.setSingletonAttributeValue(art, atsFolder.staticId);
- headingArt.addChild(art);
- art.persist(transaction);
- }
-
- transaction.execute();
- }
-
-}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java
index 56981b4e70..54d6065bc6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsUtil.java
@@ -39,8 +39,10 @@ import org.eclipse.osee.ats.world.WorldEditorSimpleProvider;
import org.eclipse.osee.ats.world.WorldEditorUISearchItemProvider;
import org.eclipse.osee.ats.world.search.GroupWorldSearchItem;
import org.eclipse.osee.framework.core.client.ClientSessionManager;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.Active;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
+import org.eclipse.osee.framework.core.enums.CoreBranches;
import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
@@ -69,6 +71,7 @@ import org.eclipse.osee.framework.ui.swt.ALayout;
import org.eclipse.osee.framework.ui.swt.Displays;
import org.eclipse.osee.framework.ui.swt.ImageManager;
import org.eclipse.osee.framework.ui.swt.KeyedImage;
+import org.eclipse.osee.support.test.util.TestUtil;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -103,7 +106,7 @@ public final class AtsUtil {
}
public static boolean isInTest() {
- return Boolean.valueOf(System.getProperty("osee.isInTest"));
+ return TestUtil.isInTest();
}
public static long daysTillToday(Date date) {
@@ -134,6 +137,10 @@ public final class AtsUtil {
return BranchManager.getCommonBranch();
}
+ public static IOseeBranch getAtsBranchToken() {
+ return CoreBranches.COMMON;
+ }
+
public static boolean isEmailEnabled() {
return emailEnabled;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java
index ee0ca7b137..8cdff38aec 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/PriviledgedUserManager.java
@@ -17,8 +17,8 @@ import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.StateDefinition;
-import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions.RuleWorkItemId;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -56,16 +56,15 @@ public class PriviledgedUserManager {
StateDefinition stateDefinition = teamArt.getStateDefinition();
// Add user if allowing privileged edit to all users
- if (!users.contains(UserManager.getUser()) && (stateDefinition.hasRule(RuleWorkItemId.atsAllowPriviledgedEditToAll.name()) || teamArt.getTeamDefinition().hasWorkRule(
- RuleWorkItemId.atsAllowPriviledgedEditToAll.name()))) {
+ if (!users.contains(UserManager.getUser()) && (stateDefinition.hasRule(RuleDefinitionOption.AllowPriviledgedEditToAll) || teamArt.getTeamDefinition().hasRule(
+ RuleDefinitionOption.AllowPriviledgedEditToAll))) {
users.add(UserManager.getUser());
}
// Add user if user is team member and rule exists
- boolean workPageToTeamMember =
- stateDefinition.hasRule(RuleWorkItemId.atsAllowPriviledgedEditToTeamMember.name());
+ boolean workPageToTeamMember = stateDefinition.hasRule(RuleDefinitionOption.AllowPriviledgedEditToTeamMember);
boolean teamDefToTeamMember =
- teamArt.getTeamDefinition().hasWorkRule(RuleWorkItemId.atsAllowPriviledgedEditToTeamMember.name());
+ teamArt.getTeamDefinition().hasRule(RuleDefinitionOption.AllowPriviledgedEditToTeamMember);
if (!users.contains(UserManager.getUser()) && (workPageToTeamMember || teamDefToTeamMember) && //
teamArt.getTeamDefinition().getMembers().contains(UserManager.getUser())) {
users.add(UserManager.getUser());
@@ -73,10 +72,9 @@ public class PriviledgedUserManager {
// Add user if team member is originator and rule exists
boolean workPageToMemberAndOriginator =
- stateDefinition.hasRule(RuleWorkItemId.atsAllowPriviledgedEditToTeamMemberAndOriginator.name());
+ stateDefinition.hasRule(RuleDefinitionOption.AllowPriviledgedEditToTeamMemberAndOriginator);
boolean teamDefToMemberAndOriginator =
- teamArt.getTeamDefinition().hasWorkRule(
- RuleWorkItemId.atsAllowPriviledgedEditToTeamMemberAndOriginator.name());
+ teamArt.getTeamDefinition().hasRule(RuleDefinitionOption.AllowPriviledgedEditToTeamMemberAndOriginator);
if (!users.contains(UserManager.getUser()) && (workPageToMemberAndOriginator || teamDefToMemberAndOriginator) && //
teamArt.getCreatedBy().equals(UserManager.getUser()) && teamArt.getTeamDefinition().getMembers().contains(
UserManager.getUser())) {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java
index a0c55313ed..96a1224843 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/StateManager.java
@@ -66,6 +66,18 @@ public class StateManager {
}
}
+ public boolean isAnyStateHavePercentEntered() throws OseeCoreException {
+ if (currentStateDam.getState().getPercentComplete() > 0) {
+ return true;
+ }
+ for (SMAState state : stateDam.getStates()) {
+ if (state.getPercentComplete() > 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean isInState(IWorkPage state) {
return (getCurrentStateName().equals(state.getPageName()));
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java
index 2c77e63aea..24baed2f97 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/widgets/ReviewManager.java
@@ -35,6 +35,7 @@ import org.eclipse.osee.ats.workdef.ReviewBlockType;
import org.eclipse.osee.ats.workflow.TransitionManager;
import org.eclipse.osee.ats.workflow.item.AtsWorkDefinitions;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -113,8 +114,12 @@ public class ReviewManager {
decRev.persist(transaction);
TransitionManager transitionMgr = new TransitionManager(decRev);
- transitionMgr.transition(DecisionReviewState.Decision, assignees, transaction, TransitionOption.Persist,
- TransitionOption.OverrideAssigneeCheck);
+ Result result =
+ transitionMgr.transition(DecisionReviewState.Decision, assignees, transaction, TransitionOption.Persist,
+ TransitionOption.OverrideAssigneeCheck);
+ if (result.isFalse()) {
+ throw new OseeStateException("Error auto-transitioning review %s to Decision state", decRev.toStringWithId());
+ }
return decRev;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionProviders.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionProviders.java
index 42aadc5cb9..01d82a8859 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionProviders.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionProviders.java
@@ -20,6 +20,7 @@ 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.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.ui.skynet.results.XResultData;
import org.osgi.framework.Bundle;
@@ -38,11 +39,18 @@ public final class AtsWorkDefinitionProviders {
return getProvider() != null;
}
- public static Artifact importWorkDefinitionSheetToDb(WorkDefinitionSheet sheet) throws OseeCoreException {
+ public static Artifact importWorkDefinitionSheetToDb(WorkDefinitionSheet sheet, SkynetTransaction transaction) throws OseeCoreException {
if (!providerExists()) {
return null;
}
- return getProvider().importWorkDefinitionSheetToDb(sheet);
+ return getProvider().importWorkDefinitionSheetToDb(sheet, transaction);
+ }
+
+ public static void importAIsAndTeamsToDb(WorkDefinitionSheet sheet, SkynetTransaction transaction) throws OseeCoreException {
+ if (!providerExists()) {
+ return;
+ }
+ getProvider().importAIsAndTeamsToDb(sheet, transaction);
}
public static WorkDefinition loadWorkFlowDefinitionFromFile(WorkDefinitionSheet sheet) throws OseeCoreException {
@@ -80,6 +88,13 @@ public final class AtsWorkDefinitionProviders {
getProvider().convertAndOpenAtsDsl(workDef, resultData, filename);
}
+ public static void convertAndOpenAIandTeamAtsDsl(XResultData resultData) throws OseeCoreException {
+ if (!providerExists()) {
+ return;
+ }
+ getProvider().convertAndOpenAIandTeamAtsDsl(resultData);
+ }
+
/*
* due to lazy initialization, this function is non-reentrant therefore, the synchronized keyword is necessary
*/
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionSheetProviders.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionSheetProviders.java
index 1cbc77b64b..2ca1af4e41 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionSheetProviders.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/AtsWorkDefinitionSheetProviders.java
@@ -21,15 +21,19 @@ import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.osee.ats.artifact.AtsArtifactToken;
import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
+import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeStateException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.plugin.core.PluginUtil;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.osgi.framework.Bundle;
@@ -64,33 +68,75 @@ public final class AtsWorkDefinitionSheetProviders {
public static void initializeDatabase() throws OseeCoreException {
SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Import ATS Work Definitions");
- Artifact folder = AtsFolderUtil.getFolder(AtsFolder.WorkDefinitions);
- folder.persist(transaction);
+ Artifact folder = AtsArtifactToken.get(AtsArtifactToken.WorkDefinitionsFolder);
for (WorkDefinitionSheet sheet : getWorkDefinitionSheets()) {
- Artifact artifact = AtsWorkDefinitionProviders.importWorkDefinitionSheetToDb(sheet);
- if (artifact != null) {
- folder.addChild(artifact);
- artifact.persist(transaction);
+ if (isValidSheet(sheet)) {
+ String logStr = String.format("Importing ATS sheet [%s]", sheet.getName());
+ System.out.println(logStr);
+ Artifact artifact = AtsWorkDefinitionProviders.importWorkDefinitionSheetToDb(sheet, transaction);
+ if (artifact != null) {
+ folder.addChild(artifact);
+ artifact.persist(transaction);
+ }
+ }
+ }
+ transaction.execute();
+ }
+
+ public static void importAIsAndTeamsToDatabase() throws OseeCoreException {
+ SkynetTransaction transaction =
+ new SkynetTransaction(AtsUtil.getAtsBranch(), "Import ATS AIs and Team Definitions");
+ for (WorkDefinitionSheet sheet : getWorkDefinitionSheets()) {
+ if (sheet.getName().contains("AIsAndTeams") && isValidSheet(sheet)) {
+ String logStr = String.format("Importing ATS AIs and Teams sheet [%s]", sheet.getName());
+ OseeLog.log(AtsPlugin.class, Level.INFO, logStr);
+ AtsWorkDefinitionProviders.importAIsAndTeamsToDb(sheet, transaction);
}
}
transaction.execute();
}
+ private static boolean isValidSheet(WorkDefinitionSheet sheet) throws OseeCoreException {
+ if (!Strings.isValid(sheet.getLegacyOverrideId())) {
+ return true;
+ }
+ try {
+ Artifact artifact =
+ ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.WorkFlowDefinition, sheet.getLegacyOverrideId(),
+ AtsUtil.getAtsBranch());
+ if (artifact != null) {
+ throw new OseeStateException(
+ "WorkDefinitionSheet [%s] has legacy id that does not match an existing WorkFlowDefinition name", sheet);
+ }
+ } catch (ArtifactDoesNotExist ex) {
+ // do nothing; this is what we want
+ }
+ return true;
+ }
+
private static List<WorkDefinitionSheet> getWorkDefinitionSheets() {
List<WorkDefinitionSheet> sheets = new ArrayList<WorkDefinitionSheet>();
- sheets.add(new WorkDefinitionSheet("WorkDef_Team_Default", "osee.ats.teamWorkflow",
- getSupportFile("support/WorkDef_Team_Default.ats")));
- sheets.add(new WorkDefinitionSheet("WorkDef_Task_Default", "osee.ats.taskWorkflow",
- getSupportFile("support/WorkDef_Task_Default.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Default", "osee.ats.teamWorkflow", getSupportFile(
+ AtsPlugin.PLUGIN_ID, "support/WorkDef_Team_Default.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Task_Default", "osee.ats.taskWorkflow", getSupportFile(
+ AtsPlugin.PLUGIN_ID, "support/WorkDef_Task_Default.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Review_Decision", "osee.ats.decisionReview", getSupportFile(
+ AtsPlugin.PLUGIN_ID, "support/WorkDef_Review_Decision.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Review_PeerToPeer", "osee.ats.peerToPeerReview", getSupportFile(
+ AtsPlugin.PLUGIN_ID, "support/WorkDef_Review_PeerToPeer.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Team_Simple", "osee.ats.simpleTeamWorkflow", getSupportFile(
+ AtsPlugin.PLUGIN_ID, "support/WorkDef_Team_Simple.ats")));
+ sheets.add(new WorkDefinitionSheet("WorkDef_Goal", "osee.ats.goalWorkflow", getSupportFile(AtsPlugin.PLUGIN_ID,
+ "support/WorkDef_Goal.ats")));
for (IAtsWorkDefinitionSheetProvider provider : getProviders()) {
sheets.addAll(provider.getWorkDefinitionSheets());
}
return sheets;
}
- public static File getSupportFile(String filename) {
+ public static File getSupportFile(String pluginId, String filename) {
try {
- PluginUtil util = new PluginUtil(AtsPlugin.PLUGIN_ID);
+ PluginUtil util = new PluginUtil(pluginId);
return util.getPluginFile(filename);
} catch (IOException ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE,
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/IAtsWorkDefinitionProvider.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/IAtsWorkDefinitionProvider.java
index 84ef6e598b..55fe963fc0 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/IAtsWorkDefinitionProvider.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/IAtsWorkDefinitionProvider.java
@@ -7,6 +7,7 @@ package org.eclipse.osee.ats.workdef;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.ui.skynet.results.XResultData;
public interface IAtsWorkDefinitionProvider {
@@ -15,10 +16,14 @@ public interface IAtsWorkDefinitionProvider {
WorkDefinition getWorkFlowDefinition(String id) throws OseeCoreException;
- Artifact importWorkDefinitionSheetToDb(WorkDefinitionSheet sheet) throws OseeCoreException;
+ Artifact importWorkDefinitionSheetToDb(WorkDefinitionSheet sheet, SkynetTransaction transaction) throws OseeCoreException;
+
+ void importAIsAndTeamsToDb(WorkDefinitionSheet sheet, SkynetTransaction transaction) throws OseeCoreException;
void convertAndOpenAtsDsl(WorkDefinition workDef, XResultData resultData, String filename) throws OseeCoreException;
+ void convertAndOpenAIandTeamAtsDsl(XResultData resultData) throws OseeCoreException;
+
public WorkDefinition loadTeamWorkDefFromFileOldWay();
public WorkDefinition loadTeamWorkDefFromFileNewWay();
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinition.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinition.java
index f6a2bdbba2..d5c29346b5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinition.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinition.java
@@ -11,6 +11,10 @@ public class RuleDefinition extends AbstractWorkDefItem {
super(id);
}
+ public RuleDefinition(RuleDefinitionOption ruleOption) {
+ super(ruleOption.name());
+ }
+
@Override
public String toString() {
return String.format("[%s]", getName());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinitionOption.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinitionOption.java
new file mode 100644
index 0000000000..15503e753b
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/RuleDefinitionOption.java
@@ -0,0 +1,31 @@
+/*
+ * Created on Jan 26, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.workdef;
+
+public enum RuleDefinitionOption {
+
+ RequireStateHourSpentPrompt("Work Page Option: Will popup a dialog to prompt user for time spent in this state."),
+ AddDecisionValidateBlockingReview("Work Page Option: Will auto-create a blocking decision review for this state requesting validation for this workflow."),
+ AddDecisionValidateNonBlockingReview("Work Page Option: Will auto-create a non blocking decision review requesting validation of workflow changes."),
+ AllowTransitionWithWorkingBranch("Work Page Option: Will allow transition to next state without committing current working branch."),
+ ForceAssigneesToTeamLeads("Work Page Option: Will force this state to be assigned back to the configured team leads. Useful for authorization state."),
+ RequireTargetedVersion("Work Page and Team Definition Option: Requires workflow to be targeted for version before transition is allowed."),
+ AllowPriviledgedEditToTeamMember("Work Page and Team Definition Option: Allow team member to priviledged edit workflow assigned to team."),
+ AllowPriviledgedEditToTeamMemberAndOriginator("Work Page and Team Definition Option: Allow team member to priviledged edit workflow assigned to team if user is originator."),
+ AllowPriviledgedEditToAll("Work Page and Team Definition Option: Allow anyone to priviledged edit workflow assigned to team."),
+ AllowEditToAll("Work Page and Team Definition Option: Allow anyone to edit workflow without being assignee."),
+ AllowAssigneeToAll("Work Page and Team Definition Option: Allow anyone to change workflow assignee without being assignee.");
+
+ public final String description;
+
+ public String getDescription() {
+ return description;
+ }
+
+ private RuleDefinitionOption(String description) {
+ this.description = description;
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java
index d26be2dee7..98e81e898d 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateDefinition.java
@@ -27,6 +27,7 @@ public class StateDefinition extends AbstractWorkDefItem implements IWorkPage {
private final List<PeerReviewDefinition> peerReviews = new ArrayList<PeerReviewDefinition>();
private WorkDefinition workDefinition;
protected TaskResolutionOptionRule taskResolutionOptions;
+ private int percentWeight = 0;
public StateDefinition(String name) {
super(name);
@@ -108,6 +109,10 @@ public class StateDefinition extends AbstractWorkDefItem implements IWorkPage {
this.workDefinition = workDefinition;
}
+ public boolean hasRule(RuleDefinitionOption option) {
+ return hasRule(option.name());
+ }
+
public boolean hasRule(String name) {
for (RuleDefinition rule : rules) {
if (rule.getName().equals(name)) {
@@ -192,4 +197,18 @@ public class StateDefinition extends AbstractWorkDefItem implements IWorkPage {
return peerReviews;
}
+ public int getStateWeight() {
+ return percentWeight;
+ }
+
+ /**
+ * Set how much (of 100%) this state's percent complete will contribute to the full percent complete of work
+ * definitions.
+ *
+ * @param percentWeight int value where all stateWeights in workdefinition == 100
+ */
+ public void setPercentWeight(int percentWeight) {
+ this.percentWeight = percentWeight;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java
index 388118bd02..2c4672c190 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/StateXWidgetPage.java
@@ -115,12 +115,12 @@ public class StateXWidgetPage implements IDynamicWidgetLayoutListener, IWorkPage
@Override
public void widgetCreated(XWidget xWidget, FormToolkit toolkit, Artifact art, DynamicXWidgetLayout dynamicXWidgetLayout, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
- widgetCreated(xWidget, toolkit, art, this, xModListener, isEditable);
+ widgetCreated(xWidget, toolkit, art, stateDefinition, xModListener, isEditable);
}
@Override
public void widgetCreating(XWidget xWidget, FormToolkit toolkit, Artifact art, DynamicXWidgetLayout dynamicXWidgetLayout, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
- widgetCreating(xWidget, toolkit, art, this, xModListener, isEditable);
+ widgetCreating(xWidget, toolkit, art, stateDefinition, xModListener, isEditable);
}
public void dispose() {
@@ -335,11 +335,11 @@ public class StateXWidgetPage implements IDynamicWidgetLayoutListener, IWorkPage
return isCurrentState(sma) && !isCompletedOrCancelledPage();
}
- public void widgetCreated(XWidget xWidget, FormToolkit toolkit, Artifact art, StateXWidgetPage page, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
+ public void widgetCreated(XWidget xWidget, FormToolkit toolkit, Artifact art, StateDefinition stateDef, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
// Check extension points for page creation
if (sma != null) {
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(page.getStateDefinition())) {
- item.xWidgetCreated(xWidget, toolkit, page, art, xModListener, isEditable);
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
+ item.xWidgetCreated(xWidget, toolkit, stateDef, art, xModListener, isEditable);
}
}
}
@@ -362,11 +362,11 @@ public class StateXWidgetPage implements IDynamicWidgetLayoutListener, IWorkPage
}
- public void widgetCreating(XWidget xWidget, FormToolkit toolkit, Artifact art, StateXWidgetPage page, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
+ public void widgetCreating(XWidget xWidget, FormToolkit toolkit, Artifact art, StateDefinition stateDefinition, XModifiedListener xModListener, boolean isEditable) throws OseeCoreException {
// Check extension points for page creation
if (sma != null) {
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(page.getStateDefinition())) {
- Result result = item.xWidgetCreating(xWidget, toolkit, page, art, xModListener, isEditable);
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
+ Result result = item.xWidgetCreating(xWidget, toolkit, stateDefinition, art, xModListener, isEditable);
if (result.isFalse()) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Error in page creation => " + result.getText());
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinition.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinition.java
index 435a06632c..f7e59e389d 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinition.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinition.java
@@ -10,6 +10,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
public class WorkDefinition extends AbstractWorkDefItem {
@@ -175,4 +176,27 @@ public class WorkDefinition extends AbstractWorkDefItem {
return ids;
}
+ public boolean isStateWeightingEnabled() {
+ for (StateDefinition stateDef : getStates()) {
+ if (stateDef.getStateWeight() != 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public Result validateStateWeighting() {
+ if (!isStateWeightingEnabled()) {
+ return Result.TrueResult;
+ }
+ int total = 0;
+ for (StateDefinition stateDef : getStates()) {
+ total += stateDef.getStateWeight();
+ }
+ if (total != 100) {
+ return new Result(String.format("Total weight only %d, needs to equal 100 for all states", total));
+ }
+ return Result.TrueResult;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
index a19d54f407..560763436c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
@@ -30,11 +30,15 @@ import org.eclipse.osee.ats.workflow.flow.PeerToPeerWorkflowDefinition;
import org.eclipse.osee.ats.workflow.flow.TaskWorkflowDefinition;
import org.eclipse.osee.ats.workflow.item.AtsAddDecisionReviewRule;
import org.eclipse.osee.ats.workflow.item.AtsAddPeerToPeerReviewRule;
+import org.eclipse.osee.ats.workflow.item.AtsStatePercentCompleteWeightRule;
+import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.widgets.XOption;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayoutData;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkFlowDefinition;
@@ -67,12 +71,21 @@ public class WorkDefinitionFactory {
System.err.println("skipping rule " + workItem.getName());
} else if (workItem.getName().startsWith("atsAddPeerToPeerReview")) {
System.err.println("skipping rule " + workItem.getName());
+ } else if (workItem.getName().startsWith(AtsStatePercentCompleteWeightRule.ID)) {
+ System.err.println("skipping rule " + workItem.getName());
} else {
- WorkRuleDefinition workRule = (WorkRuleDefinition) workItem;
- RuleDefinition ruleDef = new RuleDefinition(workRule.getId());
- ruleDef.setDescription(workRule.getDescription());
- copyKeyValuePair(ruleDef, workRule);
- idToRule.put(ruleDef.getName(), ruleDef);
+ try {
+ WorkRuleDefinition workRule = (WorkRuleDefinition) workItem;
+ // All rules in DB should map to RuleDefinitionOption
+ RuleDefinitionOption ruleOption =
+ RuleDefinitionOption.valueOf(workRule.getName().replaceFirst("^ats", ""));
+ RuleDefinition ruleDef = new RuleDefinition(ruleOption);
+ ruleDef.setDescription(workRule.getDescription());
+ copyKeyValuePair(ruleDef, workRule);
+ idToRule.put(ruleDef.getName(), ruleDef);
+ } catch (Exception ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
}
}
}
@@ -161,12 +174,13 @@ public class WorkDefinitionFactory {
for (WorkPageDefinition workPage : workFlowDef.getPages()) {
// not using ids anymore for states, widgets or rules
StateDefinition stateDef = workDef.getOrCreateState(workPage.getPageName());
+ stateDef.setWorkDefinition(workDef);
stateDef.setOrdinal(workPage.getWorkPageOrdinal());
if (workPage.getId().equals(startWorkPageName)) {
workDef.setStartState(stateDef);
}
+ // TODO get rid of this??
copyKeyValuePair(stateDef, workPage);
- stateDef.setWorkDefinition(workDef);
stateDef.setWorkPageType(workPage.getWorkPageType());
for (WorkPageDefinition returnPageDefinition : workFlowDef.getReturnPages(workPage)) {
@@ -256,8 +270,13 @@ public class WorkDefinitionFactory {
}
stateDef.getPeerReviews().add(peerRevDef);
} else {
- RuleDefinition ruleDef = getRuleById(workRule.getId());
- stateDef.addRule(ruleDef, "from related WorkItemDefintion");
+ RuleDefinition ruleDef = getRuleById(workRule.getId().replaceFirst("^ats", ""));
+ if (ruleDef == null) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE,
+ String.format("Null work rule for " + workRule.getId()));
+ } else {
+ stateDef.addRule(ruleDef, "from related WorkItemDefintion");
+ }
}
} else {
OseeLog.log(AtsPlugin.class, Level.SEVERE,
@@ -266,6 +285,40 @@ public class WorkDefinitionFactory {
}
}
+ // Process WeightDefinitions
+ Artifact workDefArt = workFlowDef.getArtifact();
+ for (Artifact workChild : workDefArt.getRelatedArtifacts(CoreRelationTypes.WorkItem__Child)) {
+ if (workChild.getName().startsWith(AtsStatePercentCompleteWeightRule.ID)) {
+ WorkRuleDefinition ruleDefinition = new WorkRuleDefinition(workChild);
+ for (String stateName : ruleDefinition.getWorkDataKeyValueMap().keySet()) {
+ String value = ruleDefinition.getWorkDataValue(stateName);
+ try {
+ double percent = new Double(value).doubleValue();
+ if (percent < 0.0 || percent > 1) {
+ OseeLog.log(
+ AtsPlugin.class,
+ Level.SEVERE,
+ "Invalid percent value \"" + value + "\" (must be 0..1) for rule " + ruleDefinition.getName(),
+ new OseeArgumentException("state map exception"));
+ } else {
+ percent = percent * 100;
+ workDef.getStateByName(stateName).setPercentWeight(new Double(percent).intValue());
+ }
+ } catch (Exception ex) {
+ OseeLog.log(
+ AtsPlugin.class,
+ Level.SEVERE,
+ "Invalid percent value \"" + value + "\" (must be float 0..1) for rule " + ruleDefinition.getName(),
+ new OseeArgumentException("state map exception"));
+ }
+ }
+ Result result = workDef.validateStateWeighting();
+ if (result.isFalse()) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE,
+ "Error translating weight definitions - " + result.getText());
+ }
+ }
+ }
return workDef;
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
@@ -362,6 +415,21 @@ public class WorkDefinitionFactory {
return new WorkDefinitionMatch();
}
+ /**
+ * Look at team def's attribute for Work Definition setting, otherwise, walk up team tree for setting
+ */
+ private static WorkDefinitionMatch getWorkDefinitionFromTeamDefinitionAttributeInherited(TeamDefinitionArtifact teamDef) throws OseeCoreException {
+ WorkDefinitionMatch match = getWorkDefinitionFromArtifactsAttributeValue(teamDef);
+ if (match.isMatched()) {
+ return match;
+ }
+ Artifact parentArt = teamDef.getParent();
+ if (parentArt != null && parentArt instanceof TeamDefinitionArtifact) {
+ return getWorkDefinitionFromTeamDefinitionAttributeInherited((TeamDefinitionArtifact) parentArt);
+ }
+ return new WorkDefinitionMatch();
+ }
+
private static WorkDefinitionMatch getWorkDefinitionForTask(TaskArtifact taskArt) throws OseeCoreException {
WorkDefinitionMatch match = new WorkDefinitionMatch();
for (IAtsTeamWorkflow provider : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
@@ -427,7 +495,7 @@ public class WorkDefinitionFactory {
// Note: This is new. Old TeamDefs got workflow off relation
if (artifact instanceof TeamWorkFlowArtifact) {
TeamDefinitionArtifact teamDef = ((TeamWorkFlowArtifact) artifact).getTeamDefinition();
- match = getWorkDefinitionFromArtifactsAttributeValue(teamDef);
+ match = getWorkDefinitionFromTeamDefinitionAttributeInherited(teamDef);
if (!match.isMatched()) {
match = ((TeamWorkFlowArtifact) artifact).getTeamDefinition().getWorkDefinition();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java
index 4dd736f894..1df19f01fd 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/TransitionManager.java
@@ -63,13 +63,15 @@ public class TransitionManager {
final StateDefinition fromStateDefinition = aba.getStateDefinition();
final StateDefinition toStateDefinition = aba.getStateDefinitionByName(toState.getPageName());
if (toStateDefinition == null) {
- return new Result("Invalid toState \"" + toState.getPageName() + "\"");
+ return new Result(String.format("Transition-To State [%s] does not exist for Work Definition [%s]",
+ toState.getPageName(), aba.getWorkDefinition().getName()));
}
// Validate transition from fromPage to toPage
if (!overrideTransitionCheck && !fromStateDefinition.getToStates().contains(toStateDefinition) && !fromStateDefinition.isCompletedOrCancelledPage()) {
String errStr =
- "Not configured to transition to \"" + toState.getPageName() + "\" from \"" + fromStateDefinition.getPageName() + "\"";
+ String.format("Work Definition [%s] is not configured to transition from \"[%s]\" to \"[%s]\"",
+ toStateDefinition.getName(), fromStateDefinition.getPageName(), toState.getPageName());
OseeLog.log(AtsPlugin.class, Level.SEVERE, errStr);
return new Result(errStr);
}
@@ -84,7 +86,7 @@ public class TransitionManager {
}
// Check extension points for valid transition
- List<IAtsStateItem> atsStateItems = AtsStateItemManager.getStateItems(fromStateDefinition);
+ List<IAtsStateItem> atsStateItems = AtsStateItemManager.getStateItems();
for (IAtsStateItem item : atsStateItems) {
Result result = item.transitioning(aba, fromStateDefinition, toState, toAssignees);
if (result.isFalse()) {
@@ -177,10 +179,7 @@ public class TransitionManager {
aba.transitioned(fromState, toState, toAssignees, true, transaction);
// Notify extension points of transition
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(fromState)) {
- item.transitioned(aba, fromState, toState, toAssignees, transaction);
- }
- for (IAtsStateItem item : AtsStateItemManager.getStateItems(toState)) {
+ for (IAtsStateItem item : AtsStateItemManager.getStateItems()) {
item.transitioned(aba, fromState, toState, toAssignees, transaction);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightRule.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightRule.java
index dbf3db7dba..9a3fddac92 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightRule.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsStatePercentCompleteWeightRule.java
@@ -10,13 +10,6 @@
*******************************************************************************/
package org.eclipse.osee.ats.workflow.item;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.workdef.RuleDefinition;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkRuleDefinition;
/**
@@ -35,25 +28,4 @@ public class AtsStatePercentCompleteWeightRule extends WorkRuleDefinition {
setDescription("Work Flow Option: <state>=<percent> Work Data attributes specify weighting given to each state in percent complete calculations. <state> is either state name (not id) and <percent> is number from 0..1");
}
- public static Map<String, Double> getStateWeightMap(RuleDefinition ruleDefinition) {
- Map<String, Double> stateToWeight = new HashMap<String, Double>();
- for (String stateName : ruleDefinition.getWorkDataKeyValueMap().keySet()) {
- String value = ruleDefinition.getWorkDataValue(stateName);
- try {
- double percent = new Double(value).doubleValue();
- if (percent < 0.0 || percent > 1) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE,
- "Invalid percent value \"" + value + "\" (must be 0..1) for rule " + ruleDefinition.getName(),
- new OseeArgumentException("state map exception"));
- } else {
- stateToWeight.put(stateName, percent);
- }
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE,
- "Invalid percent value \"" + value + "\" (must be float 0..1) for rule " + ruleDefinition.getName(),
- new OseeArgumentException("state map exception"));
- }
- }
- return stateToWeight;
- }
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
index 7f68b3c496..e3af3f1232 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
import org.eclipse.osee.ats.artifact.ATSAttributes;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
+import org.eclipse.osee.ats.artifact.AtsArtifactToken;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
import org.eclipse.osee.ats.artifact.GoalArtifact;
@@ -36,11 +37,10 @@ import org.eclipse.osee.ats.column.OperationalImpactWithWorkaroundXWidget.XOpera
import org.eclipse.osee.ats.column.OperationalImpactXWidget.XOperationalImpactRequiredXWidgetWorkItem;
import org.eclipse.osee.ats.column.OperationalImpactXWidget.XOperationalImpactXWidgetWorkItem;
import org.eclipse.osee.ats.column.PriorityXWidget;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.widgets.XWorkingBranch;
import org.eclipse.osee.ats.util.widgets.commit.XCommitManager;
+import org.eclipse.osee.ats.workdef.RuleDefinitionOption;
import org.eclipse.osee.ats.workdef.StateDefinition;
import org.eclipse.osee.ats.workflow.flow.DecisionWorkflowDefinition;
import org.eclipse.osee.ats.workflow.flow.GoalWorkflowDefinition;
@@ -323,29 +323,29 @@ public final class AtsWorkDefinitions implements IWorkDefinitionProvider {
}
public static boolean isValidatePage(StateDefinition stateDefinition) {
- if (stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAddDecisionValidateBlockingReview.name())) {
+ if (stateDefinition.hasRule(RuleDefinitionOption.AddDecisionValidateBlockingReview)) {
return true;
}
- if (stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAddDecisionValidateNonBlockingReview.name())) {
+ if (stateDefinition.hasRule(RuleDefinitionOption.AddDecisionValidateNonBlockingReview)) {
return true;
}
return false;
}
public static boolean isValidateReviewBlocking(StateDefinition stateDefinition) {
- return stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAddDecisionValidateBlockingReview.name());
+ return stateDefinition.hasRule(RuleDefinitionOption.AddDecisionValidateBlockingReview);
}
public static boolean isForceAssigneesToTeamLeads(StateDefinition stateDefinition) {
- return stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsForceAssigneesToTeamLeads.name());
+ return stateDefinition.hasRule(RuleDefinitionOption.ForceAssigneesToTeamLeads);
}
public static boolean isAllowTransitionWithWorkingBranch(StateDefinition stateDefinition) {
- return stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsAllowTransitionWithWorkingBranch.name());
+ return stateDefinition.hasRule(RuleDefinitionOption.AllowTransitionWithWorkingBranch);
}
public static boolean isRequireStateHoursSpentPrompt(StateDefinition stateDefinition) {
- return stateDefinition.hasRule(AtsWorkDefinitions.RuleWorkItemId.atsRequireStateHourSpentPrompt.name());
+ return stateDefinition.hasRule(RuleDefinitionOption.RequireStateHourSpentPrompt);
}
public static boolean isAllowCreateBranch(StateDefinition stateDefinition) {
@@ -389,16 +389,16 @@ public final class AtsWorkDefinitions implements IWorkDefinitionProvider {
// Relate if not already related
if (art.getRelatedArtifacts(CoreRelationTypes.WorkItem__Parent, Artifact.class).isEmpty()) {
if (art.isOfType(CoreArtifactTypes.WorkPageDefinition)) {
- relateIfNotRelated(AtsFolderUtil.getFolder(AtsFolder.WorkPages), art, transaction);
+ relateIfNotRelated(AtsArtifactToken.get(AtsArtifactToken.WorkPagesFolder), art, transaction);
}
if (art.isOfType(CoreArtifactTypes.WorkRuleDefinition)) {
- relateIfNotRelated(AtsFolderUtil.getFolder(AtsFolder.WorkRules), art, transaction);
+ relateIfNotRelated(AtsArtifactToken.get(AtsArtifactToken.WorkRulesFolder), art, transaction);
}
if (art.isOfType(CoreArtifactTypes.WorkWidgetDefinition)) {
- relateIfNotRelated(AtsFolderUtil.getFolder(AtsFolder.WorkWidgets), art, transaction);
+ relateIfNotRelated(AtsArtifactToken.get(AtsArtifactToken.WorkWidgetsFolder), art, transaction);
}
if (art.isOfType(CoreArtifactTypes.WorkFlowDefinition)) {
- relateIfNotRelated(AtsFolderUtil.getFolder(AtsFolder.WorkFlow), art, transaction);
+ relateIfNotRelated(AtsArtifactToken.get(AtsArtifactToken.WorkFlowsFolder), art, transaction);
}
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java
deleted file mode 100644
index 59279bc3f3..0000000000
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*******************************************************************************
- * 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.workflow.vue;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
-import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
-import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact.TeamDefinitionOptions;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsArtifactTypes;
-import org.eclipse.osee.ats.util.AtsFolderUtil;
-import org.eclipse.osee.ats.util.AtsFolderUtil.AtsFolder;
-import org.eclipse.osee.ats.util.AtsRelationTypes;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.ats.workflow.vue.DiagramNode.PageType;
-import org.eclipse.osee.framework.core.data.OseeUser;
-import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
-import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
-import org.eclipse.osee.framework.skynet.core.User;
-import org.eclipse.osee.framework.skynet.core.UserManager;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
-import org.eclipse.osee.framework.skynet.core.artifact.StaticIdManager;
-import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.osgi.framework.Bundle;
-
-/**
- * Retrieve "AIs and Teams.vue" extension points and configure ATS for Actionable Items and Teams from within.
- */
-public class LoadAIsAndTeamsAction {
-
- private static final String FULL_NAME = "Full Name:";
- private static final String DESCRIPTION = "Description:";
- private static final String WORKFLOW_ID = "WorkflowId:";
- private static final String STATIC_ID = "StaticId:";
- private static final String GET_OR_CREATE = "GetOrCreate";
- private static final String NOT_ACTIONABLE = "NotActionable";
- private static final String LEAD = "Lead:";
- private static final String MEMBER = "Member:";
-
- private final Map<String, ActionableItemArtifact> idToActionItem;
- private final String bundleId;
- private final boolean prompt;
- private final boolean allowUserCreation;
-
- private LoadAIsAndTeamsAction(boolean prompt, String bundleId, boolean allowUserCreation) {
- this.idToActionItem = new HashMap<String, ActionableItemArtifact>();
- this.prompt = prompt;
- this.bundleId = bundleId;
- this.allowUserCreation = allowUserCreation;
- }
-
- /**
- * This method is package private to prevent others from using it - only AtsDbConfig children are allowed access;
- */
- static void executeForDbConfig(String bundleId) throws OseeCoreException {
- new LoadAIsAndTeamsAction(false, bundleId, true).run();
- }
-
- public static void executeForAtsRuntimeConfig(boolean prompt, String bundleId) throws OseeCoreException {
- new LoadAIsAndTeamsAction(false, bundleId, !AtsUtil.isProductionDb()).run();
- }
-
- private void run() throws OseeCoreException {
- if (prompt && !MessageDialog.openQuestion(Displays.getActiveShell(), "Import ATS Config?",
- "Importing ATS Config from ActionableItems.vue.\n\nAre you sure?")) {
- return;
- }
-
- for (Entry<String, String> entry : loadResources().entrySet()) {
- Diagram workFlow = DiagramFactory.getInstance().getWorkFlowFromFileContents(entry.getKey(), entry.getValue());
- processWorkflow(workFlow);
- }
- }
-
- private Map<String, String> loadResources() {
- Map<String, String> resources = new HashMap<String, String>();
- IExtensionPoint point =
- Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.osee.ats.AtsAIandTeamConfig");
- if (point == null) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't access AtsAIandTeamConfig extension point");
- return resources;
- }
- IExtension[] extensions = point.getExtensions();
- for (IExtension extension : extensions) {
- IConfigurationElement[] elements = extension.getConfigurationElements();
- String vueFilename = null;
- String bundleName = null;
- for (IConfigurationElement el : elements) {
- if (el.getName().equals("AtsAIandTeamConfig")) {
- vueFilename = el.getAttribute("vueFilename");
- bundleName = el.getContributor().getName();
- if ((bundleId == null || bundleId.equals(bundleName)) && vueFilename != null && bundleName != null) {
- Bundle bundle = Platform.getBundle(bundleName);
- try {
- URL url = bundle.getEntry(vueFilename);
- resources.put(bundleName + "/" + vueFilename, Lib.inputStreamToString(url.openStream()));
- } catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Error loading AtsStateItem extension", ex);
- }
- }
- }
- }
- }
- return resources;
- }
-
- private void processWorkflow(final Diagram workFlow) throws OseeCoreException {
- if (workFlow == null) {
- throw new OseeArgumentException("ATS config items can't be loaded.");
- }
-
- SkynetTransaction transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "ATS Load AIs and Teams");
- // Get or create ATS root artifact
- Artifact atsHeading = AtsFolderUtil.getFolder(AtsFolder.Ats_Heading);
-
- // Create Actionable Items
- DiagramNode workPage = workFlow.getPage("Actionable Items");
- addActionableItem(atsHeading, workPage, transaction);
-
- // Create Teams
- workPage = workFlow.getPage("Teams");
- addTeam(atsHeading, workPage, transaction);
-
- atsHeading.persist(transaction);
- transaction.execute();
- }
-
- private User getUserByName(String name, boolean create, SkynetTransaction transaction) throws OseeCoreException {
- if (create && !UserManager.userExistsWithName(name)) {
- return UserManager.createUser(new OseeUser(name, name, "", true), transaction);
- }
- return UserManager.getUserByName(name);
- }
-
- private TeamDefinitionArtifact addTeam(Artifact parent, DiagramNode page, SkynetTransaction transaction) throws OseeCoreException {
- // System.out.println("Adding Team " + page.getName());
- TeamDefinitionArtifact teamDefArt = null;
- if (page.getName().equals(AtsFolder.Teams.getDisplayName())) {
- teamDefArt = (TeamDefinitionArtifact) AtsFolderUtil.getFolder(AtsFolder.Teams);
- } else {
-
- ArrayList<User> leads = new ArrayList<User>();
- ArrayList<User> members = new ArrayList<User>();
- java.util.Set<String> staticIds = new HashSet<String>();
- String desc = "";
- boolean getOrCreate = false;
- boolean actionable = true;
- String fullName = "";
- String workflowId = "";
- List<TeamDefinitionOptions> teamDefinitionOptions = new ArrayList<TeamDefinitionOptions>();
- for (String line : page.getInstructionStr().replaceAll("\r", "\n").split("\n")) {
- if (!line.equals("")) {
- if (line.startsWith(DESCRIPTION)) {
- desc = line.replaceFirst(DESCRIPTION, "");
- } else if (line.startsWith(WORKFLOW_ID)) {
- workflowId = line.replaceFirst(WORKFLOW_ID, "");
- } else if (line.startsWith(STATIC_ID)) {
- staticIds.add(line.replaceFirst(STATIC_ID, ""));
- } else if (line.startsWith(GET_OR_CREATE)) {
- getOrCreate = true;
- } else if (line.startsWith(NOT_ACTIONABLE)) {
- actionable = false;
- } else if (line.startsWith(FULL_NAME)) {
- fullName = line.replaceFirst(FULL_NAME, "");
- } else if (line.contains(TeamDefinitionOptions.TeamUsesVersions.name())) {
- teamDefinitionOptions.add(TeamDefinitionOptions.TeamUsesVersions);
- } else if (line.contains(TeamDefinitionOptions.RequireTargetedVersion.name())) {
- teamDefinitionOptions.add(TeamDefinitionOptions.RequireTargetedVersion);
- } else if (line.startsWith(LEAD)) {
- processLeads(transaction, leads, line);
- } else if (line.startsWith(MEMBER)) {
- processMembers(transaction, members, line);
- } else {
- throw new OseeArgumentException("Unhandled AtsConfig Line [%s] in diagram page [%s]", line,
- page.getName());
- }
- }
- }
-
- ArrayList<ActionableItemArtifact> actionableItems = new ArrayList<ActionableItemArtifact>();
- createActionableItems(page, actionableItems);
-
- teamDefArt =
- createTeamDefinition(parent, page, transaction, leads, members, staticIds, desc, getOrCreate, actionable,
- fullName, workflowId, teamDefinitionOptions, actionableItems);
- teamDefArt.persist(transaction);
- }
-
- processChildren(page, transaction, teamDefArt);
- return teamDefArt;
- }
-
- private void processMembers(SkynetTransaction transaction, List<User> members, String line) throws OseeCoreException {
- String name = line.replaceFirst(MEMBER, "");
- User u = getUserByName(name, allowUserCreation, transaction);
- members.add(u);
- }
-
- private void processLeads(SkynetTransaction transaction, List<User> leads, String line) throws OseeCoreException {
- String name = line.replaceFirst(LEAD, "");
- User u = getUserByName(name, allowUserCreation, transaction);
- leads.add(u);
- }
-
- private void processChildren(DiagramNode page, SkynetTransaction transaction, TeamDefinitionArtifact teamDefArt) throws OseeCoreException {
- // Handle all team children
- for (DiagramNode childPage : page.getToPages()) {
- if (childPage.getPageType() == PageType.Team) {
- addTeam(teamDefArt, childPage, transaction);
- }
- }
- }
-
- private TeamDefinitionArtifact createTeamDefinition(Artifact parent, DiagramNode page, SkynetTransaction transaction, List<User> leads, List<User> members, java.util.Set<String> staticIds, String desc, boolean getOrCreate, boolean actionable, String fullName, String workflowId, List<TeamDefinitionOptions> teamDefinitionOptions, List<ActionableItemArtifact> actionableItems) throws OseeCoreException, OseeArgumentException {
- TeamDefinitionArtifact teamDefArt;
- if (getOrCreate) {
- teamDefArt =
- (TeamDefinitionArtifact) OseeSystemArtifacts.getOrCreateArtifact(AtsArtifactTypes.TeamDefinition,
- page.getName(), AtsUtil.getAtsBranch());
- } else {
- teamDefArt =
- (TeamDefinitionArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.TeamDefinition,
- AtsUtil.getAtsBranch(), page.getName());
- }
- if (!teamDefArt.isInDb()) {
- teamDefArt.initialize(fullName, desc, leads, members, actionableItems,
- teamDefinitionOptions.toArray(new TeamDefinitionOptions[teamDefinitionOptions.size()]));
- if (parent == null) {
- // Relate to team heading
- parent = AtsFolderUtil.getFolder(AtsFolder.Teams);
- }
- parent.addChild(teamDefArt);
- parent.persist(transaction);
-
- for (Artifact actionableItem : actionableItems) {
- teamDefArt.addRelation(AtsRelationTypes.TeamActionableItem_ActionableItem, actionableItem);
- }
- for (String staticId : staticIds) {
- StaticIdManager.setSingletonAttributeValue(teamDefArt, staticId);
- }
- teamDefArt.setSoleAttributeValue(AtsAttributeTypes.Actionable, actionable);
- }
- if (!workflowId.equals("")) {
- Artifact workflowArt =
- ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.WorkFlowDefinition, workflowId,
- AtsUtil.getAtsBranch());
- if (workflowArt != null) {
- teamDefArt.addRelation(CoreRelationTypes.WorkItem__Child, workflowArt);
- } else {
- throw new OseeArgumentException("Can't find workflow with id \"" + workflowId + "\"");
- }
- }
- return teamDefArt;
- }
-
- private void createActionableItems(DiagramNode page, List<ActionableItemArtifact> actionableItems) throws OseeArgumentException {
- for (DiagramNode childPage : page.getToPages()) {
- if (childPage.getPageType() == PageType.ActionableItem) {
- // Relate this Team Definition to the Actionable Item
- ActionableItemArtifact actItem = idToActionItem.get(childPage.getId());
- if (actItem != null) {
- actionableItems.add(actItem);
- } else {
- throw new OseeArgumentException("Can't retrieve Actionable Item [%s] with id [%s]", childPage.getName(),
- childPage.getId());
- }
- }
- }
- }
-
- private ActionableItemArtifact addActionableItem(Artifact parent, DiagramNode page, SkynetTransaction transaction) throws OseeCoreException {
- // System.out.println("Processing page " + page.getName());
- ActionableItemArtifact aia = null;
- boolean getOrCreate = false;
- boolean actionable = true;
- Set<String> staticIds = new HashSet<String>();
- for (String line : page.getInstructionStr().replaceAll("\r", "\n").split("\n")) {
- if (!line.equals("")) {
- if (line.startsWith(GET_OR_CREATE)) {
- getOrCreate = true;
- } else if (line.startsWith(NOT_ACTIONABLE)) {
- actionable = false;
- } else if (line.startsWith(STATIC_ID)) {
- staticIds.add(line.replaceFirst(STATIC_ID, ""));
- }
- }
- }
- if (page.getName().equals(AtsFolder.ActionableItem.getDisplayName())) {
- aia = (ActionableItemArtifact) AtsFolderUtil.getFolder(AtsFolder.ActionableItem);
- } else {
- if (getOrCreate) {
- aia =
- (ActionableItemArtifact) ArtifactQuery.checkArtifactFromTypeAndName(AtsArtifactTypes.ActionableItem,
- page.getName(), AtsUtil.getAtsBranch());
- }
- if (aia == null) {
- aia =
- (ActionableItemArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.ActionableItem,
- AtsUtil.getAtsBranch());
- aia.setName(page.getName());
- for (String staticId : staticIds) {
- StaticIdManager.setSingletonAttributeValue(aia, staticId);
- }
-
- aia.persist(transaction);
- idToActionItem.put(page.getId(), aia);
- parent.addChild(aia);
- parent.persist(transaction);
- }
- }
- for (DiagramNode childPage : page.getToPages()) {
- addActionableItem(aia, childPage, transaction);
- }
- aia.setSoleAttributeValue(AtsAttributeTypes.Actionable, actionable);
-
- aia.persist(transaction);
- return aia;
- }
-
- // /**
- // * Selection in the workbench has been changed. We can change the state of the 'real' action here if we want, but
- // * this can only happen after the delegate has been created.
- // */
- // public void selectionChanged(IAction action, ISelection selection) {
- // }
- //
- // /**
- // * We can use this method to dispose of any system resources we previously allocated.
- // *
- // * @see IWorkbenchWindowActionDelegate#dispose
- // */
- // public void dispose() {
- // }
- //
- // /**
- // * We will cache window object in order to be able to provide parent shell for the message dialog.
- // *
- // * @see IWorkbenchWindowActionDelegate#init
- // */
- // public void init(IWorkbenchWindow window) {
- // }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Goal.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Goal.ats
new file mode 100644
index 0000000000..093491c672
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Goal.ats
@@ -0,0 +1,42 @@
+workDefinition "WorkDef_Goal" {
+ id "WorkDef_Goal"
+ startState "InWork"
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 3
+ to "InWork" OverrideAttributeValidation
+ }
+
+ state "InWork" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Completed" AsDefault
+ layout {
+ widget "Title"
+ widget "Description"
+ attributeWidget "ats.Estimated Hours"
+ attributeWidget "ats.Goal Order Vote"
+ }
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 2
+ to "InWork" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Review_Decision.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Review_Decision.ats
new file mode 100644
index 0000000000..6b8dafbd67
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Review_Decision.ats
@@ -0,0 +1,110 @@
+workDefinition "WorkDef_Review_Decision" {
+ id "WorkDef_Review_Decision"
+ startState "Prepare"
+
+ widgetDefinition "Question" {
+ attributeName "Name"
+ xWidgetName "XLabelDam"
+ }
+
+ widgetDefinition "Decision" {
+ attributeName "ats.Decision"
+ xWidgetName "XComboDam(1,2,3)"
+ option REQUIRED_FOR_TRANSITION
+ option HORIZONTAL_LABEL
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Decision Review Options" {
+ attributeName "ats.Decision Review Options"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Review Blocks" {
+ attributeName "ats.Review Blocks"
+ xWidgetName "XComboDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option REQUIRED_FOR_TRANSITION
+ option HORIZONTAL_LABEL
+ }
+
+ state "Decision" {
+ type Working
+ ordinal 2
+ to "Followup"
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Prepare" OverrideAttributeValidation
+ layout {
+ widget "Question"
+ widget "Decision"
+ widget "Description"
+ widget "Resolution"
+ }
+ }
+
+ state "Prepare" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Decision" AsDefault
+ layout {
+ widget "Title"
+ widget "Decision Review Options"
+ widget "Description"
+ attributeWidget "ats.Related To State"
+ widget "Review Blocks"
+ attributeWidget "ats.Need By"
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Followup" {
+ type Working
+ ordinal 3
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Decision" OverrideAttributeValidation
+ layout {
+ widget "Resolution"
+ }
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 5
+ to "Decision" OverrideAttributeValidation
+ to "Followup" OverrideAttributeValidation
+ to "Prepare" OverrideAttributeValidation
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 4
+ to "Decision" OverrideAttributeValidation
+ to "Followup" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ layout {
+ widget "Question"
+ widget "Decision"
+ widget "Resolution"
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Review_PeerToPeer.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Review_PeerToPeer.ats
new file mode 100644
index 0000000000..5a7938d423
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Review_PeerToPeer.ats
@@ -0,0 +1,107 @@
+workDefinition "WorkDef_Review_PeerToPeer" {
+ id "WorkDef_Review_PeerToPeer"
+ startState "Prepare"
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Role" {
+ attributeName "ats.Role"
+ xWidgetName "XUserRoleViewer"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Location" {
+ attributeName "ats.Location"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Review Blocks" {
+ attributeName "ats.Review Blocks"
+ xWidgetName "XComboDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option REQUIRED_FOR_TRANSITION
+ option HORIZONTAL_LABEL
+ }
+
+ widgetDefinition "Review Defect" {
+ attributeName "ats.Review Defect"
+ xWidgetName "XDefectViewer"
+ }
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 4
+ to "Prepare" OverrideAttributeValidation
+ to "Review" OverrideAttributeValidation
+ }
+
+ state "Prepare" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "Review" AsDefault
+ layout {
+ widget "Title"
+ attributeWidget "ats.Legacy PCR Id"
+ widget "Role"
+ widget "Location"
+ widget "Description"
+ attributeWidget "ats.Related To State"
+ widget "Review Blocks"
+ composite {
+ numColumns 8
+ attributeWidget "ats.LOC Changed"
+ attributeWidget "ats.LOC Reviewed"
+ attributeWidget "ats.Pages Changed"
+ attributeWidget "ats.Pages Reviewed"
+ }
+ attributeWidget "ats.Need By"
+ attributeWidget "ats.Estimated Hours"
+ }
+ }
+
+ state "Review" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Prepare" OverrideAttributeValidation
+ layout {
+ widget "Role"
+ widget "Review Defect"
+ composite {
+ numColumns 8
+ attributeWidget "ats.LOC Changed"
+ attributeWidget "ats.LOC Reviewed"
+ attributeWidget "ats.Pages Changed"
+ attributeWidget "ats.Pages Reviewed"
+ }
+ widget "Resolution"
+ widget "Description"
+ }
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 3
+ to "Review" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Task_Default.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Task_Default.ats
index f921d81fe7..28286c9558 100644
--- a/plugins/org.eclipse.osee.ats/support/WorkDef_Task_Default.ats
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Task_Default.ats
@@ -18,7 +18,7 @@ workDefinition "WorkDef_Task_Default" {
state "InWork" {
type Working
ordinal 1
- to "Complete" AsDefault
+ to "Completed" AsDefault
to "Cancelled" OverrideAttributeValidation
rule RequireStateHourSpentPrompt
layout {
@@ -38,14 +38,14 @@ workDefinition "WorkDef_Task_Default" {
}
}
- state "Complete" {
+ state "Completed" {
type Completed
ordinal 2
- rule AddDecisionValidateBlockingReview
+ to "InWork" OverrideAttributeValidation
}
state "Cancelled" {
type Cancelled
ordinal 3
}
-} \ No newline at end of file
+}
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Default.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Default.ats
index 8edd21ff65..e17bcda8da 100644
--- a/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Default.ats
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Default.ats
@@ -86,8 +86,9 @@ workDefinition "WorkDef_Team_Default" {
ordinal 2
to "Cancelled"
to "Authorize" AsDefault
- to "Endorse" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
rule RequireStateHourSpentPrompt
+ percentWeight 10
layout {
widget "Work Package"
widget "Problem"
@@ -108,6 +109,7 @@ workDefinition "WorkDef_Team_Default" {
to "Cancelled"
to "Analyze" AsDefault
rule RequireStateHourSpentPrompt
+ percentWeight 5
layout {
widget "Title"
widget "Description"
@@ -139,6 +141,7 @@ workDefinition "WorkDef_Team_Default" {
to "Cancelled"
to "Implement" AsDefault
to "Analyze" OverrideAttributeValidation
+ percentWeight 5
layout {
widget "Work Package"
widget "Estimated Completion Date"
@@ -153,6 +156,7 @@ workDefinition "WorkDef_Team_Default" {
to "Analyze" OverrideAttributeValidation
to "Authorize" OverrideAttributeValidation
rule RequireStateHourSpentPrompt
+ percentWeight 79
layout {
widget "Work Package"
widget "Estimated Completion Date"
@@ -165,5 +169,6 @@ workDefinition "WorkDef_Team_Default" {
ordinal 5
to "Implement" OverrideAttributeValidation
rule AddDecisionValidateBlockingReview
+ percentWeight 1
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Simple.ats b/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Simple.ats
new file mode 100644
index 0000000000..70c3a12baf
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/support/WorkDef_Team_Simple.ats
@@ -0,0 +1,83 @@
+workDefinition "WorkDef_Team_Simple" {
+ id "WorkDef_Team_Simple"
+ startState "Endorse"
+
+ widgetDefinition "Resolution" {
+ attributeName "ats.Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Title" {
+ attributeName "Name"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ }
+
+ widgetDefinition "Description" {
+ attributeName "ats.Description"
+ xWidgetName "XTextDam"
+ option REQUIRED_FOR_TRANSITION
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "Proposed Resolution" {
+ attributeName "ats.Proposed Resolution"
+ xWidgetName "XTextDam"
+ option FILL_VERTICALLY
+ }
+
+ widgetDefinition "User Community" {
+ attributeName "ats.User Community"
+ xWidgetName "XListDam(OPTIONS_FROM_ATTRIBUTE_VALIDITY)"
+ option HORIZONTAL_LABEL
+ }
+
+ state "Cancelled" {
+ type Cancelled
+ ordinal 4
+ to "InWork" OverrideAttributeValidation
+ to "Endorse" OverrideAttributeValidation
+ }
+
+ state "InWork" {
+ type Working
+ ordinal 2
+ to "Cancelled"
+ to "Completed" AsDefault
+ to "Endorse" OverrideAttributeValidation
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Resolution"
+ }
+ }
+
+ state "Endorse" {
+ type Working
+ ordinal 1
+ to "Cancelled"
+ to "InWork" AsDefault
+ rule RequireStateHourSpentPrompt
+ layout {
+ widget "Title"
+ widget "Description"
+ widget "Proposed Resolution"
+ composite {
+ numColumns 6
+ attributeWidget "ats.Change Type"
+ attributeWidget "ats.Priority"
+ attributeWidget "ats.Need By"
+ }
+ attributeWidget "ats.Validation Required"
+ attributeWidget "ats.Work Package"
+ widget "User Community"
+ }
+ }
+
+ state "Completed" {
+ type Completed
+ ordinal 3
+ to "InWork" OverrideAttributeValidation
+ rule AddDecisionValidateBlockingReview
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
index 284e2047c5..d220cf8a4f 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
+++ b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
@@ -31,14 +31,13 @@
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -nosplash"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osee.client.integration.tests"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dequinox.ds.debug=true&#13;&#10;-Dosee.application.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo&#13;&#10;-DeventDebug=log&#13;&#10;-DeventSystem=new&#13;&#10;-Dosee.is.in.db.init=true"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dequinox.ds.debug=true&#13;&#10;-Dosee.application.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo&#13;&#10;-DeventDebug=log&#13;&#10;-DeventSystem=new&#13;&#10;-Dosee.is.in.db.init=true&#13;&#10;-Dats.useNewWorkDefinitions=true"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.collect@default:default,com.google.inject@default:default,com.ibm.icu@default:default,com.jcraft.jsch@default:default,com.lowagie.text@default:default,de.itemis.xtext.antlr@default:default,javax.mail.glassfish@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,javax.wsdl@default:default,javax.xml@default:default,org.antlr.generator@default:default,org.antlr.runtime@default:default,org.aopalliance@default:default,org.apache.ant@default:default,org.apache.batik.bridge@default:default,org.apache.batik.css@default:default,org.apache.batik.dom.svg@default:default,org.apache.batik.dom@default:default,org.apache.batik.ext.awt@default:default,org.apache.batik.parser@default:default,org.apache.batik.pdf@default:default,org.apache.batik.svggen@default:default,org.apache.batik.transcoder@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.batik.xml@default:default,org.apache.commons.cli@default:default,org.apache.commons.codec@default:default,org.apache.commons.el@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.net@default:default,org.apache.jasper@default:default,org.apache.log4j@default:default,org.apache.lucene*1.9.1.v201101211617@default:default,org.apache.lucene*2.9.1.v201101211721@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.lucene.highlighter@default:default,org.apache.lucene.memory@default:default,org.apache.lucene.misc@default:default,org.apache.lucene.queries@default:default,org.apache.lucene.snowball@default:default,org.apache.lucene.spellchecker@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.optional.junit@default:false,org.eclipse.ant.ui@default:default,org.eclipse.birt.chart.device.extension@default:default,org.eclipse.birt.chart.device.svg@default:default,org.eclipse.birt.chart.device.swt@default:default,org.eclipse.birt.chart.engine.extension@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.birt.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare.win32@default:default,org.eclipse.compare@default:default,org.eclipse.core.boot@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.cvs@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.emf.mwe2.lib@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.ds@default:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.gef@default:default,org.eclipse.help.appserver@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.net4j.jms.api@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.api.tools@default:default,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.pde.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.team.svn@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.update.ui@default:default,org.eclipse.xpand@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.xtend@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.ui@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xtend2.lib@default:default,org.eclipse.xtext@default:default,org.eclipse.zest.core@default:default,org.eclipse.zest.layouts@default:default,org.h2@default:default,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.mozilla.javascript@default:default,org.objectweb.asm@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="jms.libraries@default:default,net.jini@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.ats@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.coverage@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.define@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.support.test.util@default:default,org.postgresql.driver@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.team.cvs.ssh2@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.ui.cheatsheets@default:default,org.apache.lucene@default:default,org.eclipse.platform@default:default,org.eclipse.debug.ui@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,com.lowagie.text@default:default,com.ibm.icu@default:default,javax.servlet@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ui.forms@default:default,org.eclipse.core.boot@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.xtext@default:default,org.eclipse.emf.edit@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.emf.codegen.ecore@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.team.core@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.ide@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.jdt.junit.core@default:default,javax.wsdl@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.eclipse.debug.core@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.core.externaltools@default:default,org.apache.commons.lang@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.core.variables@default:default,org.eclipse.compare.core@default:default,org.eclipse.pde.ui@default:default,org.apache.batik.ext.awt@default:default,org.eclipse.ecf.ssl@default:false,org.apache.xerces@default:default,org.eclipse.core.resources@default:default,org.eclipse.pde@default:default,javax.activation@default:default,org.apache.batik.xml@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.core.expressions@default:default,javax.servlet.jsp@default:default,org.eclipse.help.appserver@default:default,org.apache.batik.dom@default:default,org.eclipse.equinox.concurrent@default:default,org.apache.batik.util@default:default,org.eclipse.xtext.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.ui.win32@default:false,org.eclipse.equinox.ds@default:true,org.eclipse.xtext.generator@default:default,org.eclipse.core.net@default:default,org.apache.commons.codec@default:default,org.eclipse.compare@default:default,org.apache.batik.bridge@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.jsch.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jface.text@default:default,org.eclipse.jdt.debug@default:default,javax.mail.glassfish@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.core.jobs@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.ui.views@default:default,org.apache.batik.pdf@default:default,org.eclipse.ant.ui@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.common@2:true,org.apache.lucene.analysis@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,com.google.collect@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.gef@default:default,org.eclipse.jdt.core@default:default,org.eclipse.core.filebuffers@default:default,org.apache.commons.httpclient@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.core.contenttype@default:default,org.apache.oro@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.preferences@default:default,org.junit4@default:default,org.eclipse.birt.chart.device.svg@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.jface@default:default,org.eclipse.xtext.xtend@default:default,org.apache.commons.el@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.apache.log4j@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.birt.chart.engine.extension@default:default,org.eclipse.update.core@default:default,org.eclipse.help.base@default:default,org.eclipse.jdt@default:default,org.apache.jasper@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.emf.edit.ui@default:default,org.eclipse.jdt.debug.ui@default:default,org.w3c.css.sac@default:default,org.eclipse.equinox.app@default:default,org.eclipse.ui.intro@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.jdt.doc.user@default:default,org.apache.xml.serializer@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.equinox.security.win32.x86@default:false,org.apache.batik.transcoder@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.osgi.util@default:default,org.eclipse.core.filesystem@default:default,org.antlr.gen@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.ant.launching@default:default,org.eclipse.osgi@-1:true,org.sat4j.pb@default:default,org.eclipse.team.svn.ui@default:default,org.apache.batik.css@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.h2@default:default,org.apache.batik.util.gui@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.console@default:default,org.eclipse.text@default:default,org.apache.ant@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.jdt.doc.isv@default:default,org.aopalliance@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.help.ui@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.update.ui@default:default,org.objectweb.asm@default:default,org.eclipse.update.configurator@3:true,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.p2.ui@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.rcp@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.team.svn@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.sdk@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.emf.common@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,com.jcraft.jsch@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.mozilla.javascript@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.apache.xml.resolver@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.xpand@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.ant.core@default:default,org.eclipse.ui.ide.application@default:default,org.mortbay.jetty.util@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.swt@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.search@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.pde.core@default:default,org.eclipse.birt.chart.device.extension@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.draw2d@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.ui.intro.universal@default:default,org.sat4j.core@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.emf.compare.diff@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.emf.common.ui@default:default,javax.xml@default:default,org.eclipse.zest.core@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.xtext.builder@default:default,org.antlr.runtime@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.emf.compare@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.core.runtime@default:true,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.ecf@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.birt.chart.device.swt@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.cvs@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.osgi.services@default:default,org.eclipse.ui.browser@default:default,org.eclipse.help.webapp@default:default,org.apache.commons.net@default:default,org.apache.batik.dom.svg@default:default,org.eclipse.xtext.common.types@default:default,org.hamcrest.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.birt.core@default:default,org.eclipse.equinox.util@default:default,org.apache.batik.parser@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.xtend@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.compare.win32@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.team.ui@default:default,com.google.inject@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.pde.launching@default:default,org.apache.commons.cli@default:default,org.apache.batik.svggen@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.support.test.util@default:default,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.coverage@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.ats.dsl.ui@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.ats.dsl@default:default,org.eclipse.osee.framework.jdbcodbc@default:default,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.ats.dsl.generator@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.database.test@default:false,net.jini@default:default,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core@default:default,org.postgresql.driver@default:default,org.eclipse.osee.ats.dsl.integration@default:default,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,jms.libraries@default:default,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.ats@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.nebula.widgets.xviewer.tests@default:false,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.templates@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="timestamp" value="1313115478338"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
diff --git a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbTests.launch b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbTests.launch
index 1bfd646a23..ec7df4bbe4 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbTests.launch
+++ b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbTests.launch
@@ -31,12 +31,12 @@
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -nosplash"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osee.client.integration.tests"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dequinox.ds.debug=true &#13;&#10;-Dosee.application.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo&#13;&#10;-DeventDebug=log&#13;&#10;-DeventSystem=new"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dequinox.ds.debug=true &#13;&#10;-Dosee.application.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo&#13;&#10;-DeventDebug=log&#13;&#10;-DeventSystem=new&#13;&#10;-Dats.useNewWorkDefinitions=true"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.osee.framework.ui.product.osee"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.collect@default:default,com.google.inject@default:default,com.ibm.icu@default:default,com.jcraft.jsch@default:default,com.lowagie.text@default:default,de.itemis.xtext.antlr@default:default,javax.mail.glassfish@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,javax.xml@default:default,org.antlr.generator@default:default,org.antlr.runtime@default:default,org.aopalliance@default:default,org.apache.ant@default:default,org.apache.commons.cli@default:default,org.apache.commons.codec@default:default,org.apache.commons.el@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.commons.net@default:default,org.apache.jasper@default:default,org.apache.log4j@default:default,org.apache.lucene*1.9.1.v201101211617@default:default,org.apache.lucene*2.9.1.v201101211721@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.lucene.highlighter@default:default,org.apache.lucene.memory@default:default,org.apache.lucene.misc@default:default,org.apache.lucene.queries@default:default,org.apache.lucene.snowball@default:default,org.apache.lucene.spellchecker@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.optional.junit@default:false,org.eclipse.ant.ui@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.birt.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.boot@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.cvs@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.emf.mwe2.lib@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.gef@default:default,org.eclipse.help.appserver@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jdt@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.team.svn@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.update.ui@default:default,org.eclipse.xpand@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.xtend@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.ui.shared@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xtend2.lib@default:default,org.eclipse.xtext@default:default,org.eclipse.zest.core@default:default,org.eclipse.zest.layouts@default:default,org.h2@default:default,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.mozilla.javascript@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="jms.activemq.launch@default:default,jms.libraries@default:default,net.jini@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.ats@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.coverage@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.define@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.dsl.edit@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.core.dsl.ui@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.framework.ui.admin@default:default,org.eclipse.osee.framework.ui.branch.graph@default:default,org.eclipse.osee.framework.ui.data.model.editor@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.framework.ui.product@default:default,org.eclipse.osee.framework.ui.service.control@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.ui.workspacebundleloader@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.ote.client.msg@default:default,org.eclipse.osee.ote.client@default:default,org.eclipse.osee.ote.connection.service@default:default,org.eclipse.osee.ote.core.test@default:false,org.eclipse.osee.ote.core@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.ote.message.test@default:false,org.eclipse.osee.ote.message@default:default,org.eclipse.osee.ote.messaging.dds@default:default,org.eclipse.osee.ote.runtimeManager@default:default,org.eclipse.osee.ote.ui.define@default:default,org.eclipse.osee.ote.ui.markers@default:default,org.eclipse.osee.ote.ui.test.manager@default:default,org.eclipse.osee.ote.ui@default:default,org.eclipse.osee.support.test.util@default:default,org.postgresql.driver@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.apache.commons.httpclient@default:default,org.apache.lucene@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.sdk@default:default,org.eclipse.ecf@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.ui.forms@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.ide@default:default,org.eclipse.pde.launching@default:default,org.eclipse.jface@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.emf.ecore@default:default,org.aopalliance@default:default,org.eclipse.core.expressions@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.help.ui@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.team.ui@default:default,org.eclipse.core.commands@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.team.svn.ui@default:default,org.mortbay.jetty.util@default:default,org.eclipse.pde.build@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.help.appserver@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.osgi@-1:true,org.apache.commons.lang@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.resources.win32.x86@default:false,com.lowagie.text@default:default,org.eclipse.ecf.filetransfer@default:default,com.jcraft.jsch@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.p2.operations@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.osgi.util@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.update.configurator@3:true,org.eclipse.birt.chart.engine@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.ant.core@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.xtext.generator@default:default,org.sat4j.core@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,com.google.collect@default:default,org.eclipse.ui.browser@default:default,org.eclipse.equinox.http.jetty@default:default,javax.servlet@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.pde.core@default:default,org.eclipse.jdt.apt.ui@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.core.jobs@default:default,com.google.inject@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.emf.edit@default:default,org.eclipse.jdt.apt.core@default:default,org.mortbay.jetty.server@default:default,org.eclipse.core.boot@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.zest.core@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.ui@default:default,org.mozilla.javascript@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ant.launching@default:default,org.apache.lucene.analysis@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.swt@default:default,org.eclipse.jdt.doc.user@default:default,org.apache.oro@default:default,org.eclipse.equinox.p2.repository@default:default,org.apache.commons.net@default:default,org.eclipse.platform@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.http.registry@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.ui.net@default:default,org.eclipse.core.variables@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,javax.servlet.jsp@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.jface.text@default:default,org.eclipse.jdt@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.osgi.services@default:default,org.eclipse.platform.doc.user@default:default,org.antlr.runtime@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.ui.views@default:default,org.eclipse.help.base@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.jdt.debug@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.xtext.logging@default:false,org.apache.commons.codec@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.ui.intro@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.p2.console@default:default,org.eclipse.xpand@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.debug.core@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.search@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.sat4j.pb@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.birt.core@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.core.net@default:default,org.eclipse.core.databinding.observable@default:default,org.hamcrest.core@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.apache.commons.cli@default:default,org.eclipse.compare@default:default,org.eclipse.ant.ui@default:default,org.junit4@default:default,org.eclipse.team.svn@default:default,org.eclipse.help@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.gef@default:default,com.ibm.icu@default:default,org.eclipse.pde.ui@default:default,org.eclipse.ui.console@default:default,org.eclipse.emf.edit.ui@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.xtext.util@default:default,org.eclipse.compare.core@default:default,org.eclipse.equinox.app@default:default,org.eclipse.xtext.xtend@default:default,org.eclipse.core.databinding.property@default:default,javax.mail.glassfish@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jdt.core@default:default,org.apache.log4j@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.webapp@default:default,org.eclipse.ltk.core.refactoring@default:default,org.h2@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.pde@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.ui.views.log@default:default,org.apache.xml.serializer@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.rcp@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.antlr.gen@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jsch.core@default:default,org.apache.xerces@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.update.core@default:default,org.apache.ant@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.ui.win32@default:false,javax.activation@default:default,org.eclipse.xtext@default:default,org.apache.commons.el@default:default,org.eclipse.ui.editors@default:default,org.eclipse.text@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.team.cvs.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,javax.xml@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.draw2d@default:default,org.eclipse.debug.ui@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.xtend@default:default,org.eclipse.update.ui@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.cvs@default:default,org.apache.jasper@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="jms.activemq.launch@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.ats.dsl@default:default,org.eclipse.osee.framework.ui.service.control@default:default,org.eclipse.osee.ote.ui.define@default:default,org.eclipse.osee.ats.dsl.generator@default:default,org.eclipse.osee.ote.message.test@default:false,org.eclipse.osee.ote.ui.markers@default:default,org.eclipse.osee.framework.core.dsl.ui@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.ats@default:default,org.eclipse.osee.framework.core.dsl.edit@default:default,net.jini@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.ui.branch.graph@default:default,org.eclipse.osee.framework.ui.product@default:default,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.framework.ui.workspacebundleloader@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.ote.client.msg@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.ui.data.model.editor@default:default,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.ats.dsl.integration@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.ote.runtimeManager@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.framework.ui.admin@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.ote.ui@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.jdbcodbc@default:default,org.eclipse.osee.ote.ui.test.manager@default:default,org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.ote.core@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.coverage@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.ote.connection.service@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.support.test.util@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.ote.messaging.dds@default:default,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.plugin.core@default:default,jms.libraries@default:default,org.eclipse.osee.framework.core@default:default,org.postgresql.driver@default:default,org.eclipse.osee.ote.message@default:default,org.eclipse.osee.ote.client@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.ats.dsl.ui@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/suite/MasterTestSuite_DemoDbTests.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/suite/MasterTestSuite_DemoDbTests.java
index ec1053ee6c..af14c0fec0 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/suite/MasterTestSuite_DemoDbTests.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/suite/MasterTestSuite_DemoDbTests.java
@@ -13,6 +13,7 @@ package org.eclipse.osee.client.integration.tests.suite;
import static org.junit.Assert.assertTrue;
import org.eclipse.osee.ats.test.AtsTest_Config_Suite;
import org.eclipse.osee.ats.test.AtsTest_Demo_Suite;
+import org.eclipse.osee.ats.test.AtsTest_Demo_StateItem_Suite;
import org.eclipse.osee.coverage.test.Coverage_Db_Suite;
import org.eclipse.osee.define.AllDefineTestSuite;
import org.eclipse.osee.framework.core.client.ClientSessionManager;
@@ -27,6 +28,7 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
+ AtsTest_Demo_StateItem_Suite.class,
CoreRuntimeFeatureTestsSuite.class,
Coverage_Db_Suite.class,
FrameworkCore_Demo_Suite.class,
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java
new file mode 100644
index 0000000000..8fe2e820e7
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java
@@ -0,0 +1,29 @@
+/*
+ * Created on Feb 8, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.framework.core.data;
+
+public class ArtifactToken extends NamedIdentity implements IArtifactToken {
+
+ private final IArtifactType artifactType;
+ private final IOseeBranch oseeBranch;
+
+ public ArtifactToken(String guid, String name, IArtifactType artifactType, IOseeBranch oseeBranch) {
+ super(guid, name);
+ this.artifactType = artifactType;
+ this.oseeBranch = oseeBranch;
+ }
+
+ @Override
+ public IArtifactType getArtifactType() {
+ return artifactType;
+ }
+
+ @Override
+ public IOseeBranch getBranch() {
+ return oseeBranch;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/AtsDbConfig.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IArtifactToken.java
index 31299a3219..a183a8fca5 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/AtsDbConfig.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/IArtifactToken.java
@@ -8,16 +8,14 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.ats.workflow.vue;
-
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
+package org.eclipse.osee.framework.core.data;
/**
- * @author Roberto E. Escobar
+ * @author Donald G. Dunne
*/
-public class AtsDbConfig {
+public interface IArtifactToken extends Identity, FullyNamed {
+
+ public IArtifactType getArtifactType();
- protected void executeLoadAIsAndTeamsAction(String bundleId) throws OseeCoreException {
- LoadAIsAndTeamsAction.executeForDbConfig(bundleId);
- }
+ public IOseeBranch getBranch();
}
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
index 0a6195da9f..a9670b91c8 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
@@ -10,12 +10,14 @@
*******************************************************************************/
package org.eclipse.osee.framework.skynet.core;
+import org.eclipse.osee.framework.core.data.IArtifactToken;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
@@ -50,19 +52,30 @@ public final class OseeSystemArtifacts {
* accessed, and finally a new artifact is created if it can not be found
*/
public static Artifact getOrCreateArtifact(IArtifactType artifactType, String artifactName, Branch branch) throws OseeCoreException {
- return getOrCreateCachedArtifact(artifactType, artifactName, branch, true);
+ return getOrCreateCachedArtifact(artifactType, artifactName, branch, null, true);
+ }
+
+ public static Artifact getOrCreateArtifact(IArtifactToken artifactToken) throws OseeCoreException {
+ return getOrCreateCachedArtifact(artifactToken.getArtifactType(), artifactToken.getName(),
+ artifactToken.getBranch(), artifactToken.getGuid(), true);
}
public static Artifact getCachedArtifact(IArtifactType artifactType, String artifactName, IOseeBranch branch) throws OseeCoreException {
- return getOrCreateCachedArtifact(artifactType, artifactName, branch, false);
+ return getOrCreateCachedArtifact(artifactType, artifactName, branch, null, false);
}
- private static Artifact getOrCreateCachedArtifact(IArtifactType artifactType, String artifactName, IOseeBranch branch, boolean create) throws OseeCoreException {
+ private static Artifact getOrCreateCachedArtifact(IArtifactType artifactType, String artifactName, IOseeBranch branch, String guid, boolean create) throws OseeCoreException {
Artifact artifact = ArtifactCache.getByTextId(artifactType.getName() + "." + artifactName, branch);
if (artifact == null) {
artifact = ArtifactQuery.checkArtifactFromTypeAndName(artifactType, artifactName, branch);
if (artifact == null && create) {
- artifact = ArtifactTypeManager.addArtifact(artifactType, branch, artifactName);
+ if (Strings.isValid(guid)) {
+ artifact =
+ ArtifactTypeManager.addArtifact(artifactType, BranchManager.getBranch(branch), guid, (String) null);
+ artifact.setName(artifactName);
+ } else {
+ artifact = ArtifactTypeManager.addArtifact(artifactType, branch, artifactName);
+ }
}
if (artifact == null) {
throw new ArtifactDoesNotExist("Artifact of type [%s] with name [%s] does not exist on branch [%s]",
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
index 604f7a309f..d366a84f86 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
@@ -17,6 +17,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.osee.framework.core.data.IArtifactToken;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.IAttributeType;
import org.eclipse.osee.framework.core.data.IOseeBranch;
@@ -174,6 +175,11 @@ public class ArtifactTypeManager {
return makeNewArtifact(artifactType, branch, guid, humandReadableId);
}
+ public static Artifact addArtifact(IArtifactToken artifactToken) throws OseeCoreException {
+ return getFactory(artifactToken.getArtifactType()).makeNewArtifact(artifactToken.getBranch(),
+ artifactToken.getArtifactType(), artifactToken.getName(), artifactToken.getGuid(), null);
+ }
+
private static final String DELETE_VALID_ATTRIBUTE =
"delete from osee_artifact_type_attributes where art_type_id = ?";
private static final String COUNT_ARTIFACT_OCCURRENCE =
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
index 620ed6ac50..889b083daa 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
@@ -20,6 +20,7 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.eclipse.osee.framework.core.data.IArtifactToken;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.IAttributeType;
import org.eclipse.osee.framework.core.data.IOseeBranch;
@@ -51,6 +52,10 @@ import org.eclipse.osee.framework.skynet.core.event.model.EventBasicGuidArtifact
*/
public class ArtifactQuery {
+ public static Artifact getArtifactFromToken(IArtifactToken artifactToken) throws OseeCoreException {
+ return getArtifactFromId(artifactToken.getGuid(), BranchManager.getBranch(artifactToken.getBranch()));
+ }
+
public static Artifact getArtifactFromToken(EventBasicGuidArtifact guidArt) throws OseeCoreException {
return getArtifactFromId(guidArt.getGuid(), BranchManager.getBranchByGuid(guidArt.getBranchGuid()));
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XComboBooleanDam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XComboBooleanDam.java
index 23417810ac..7864e24c52 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XComboBooleanDam.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XComboBooleanDam.java
@@ -73,8 +73,9 @@ public class XComboBooleanDam extends XCombo implements IAttributeWidget {
if (isEditable()) {
try {
String enteredValue = get();
- boolean storedValue = artifact.getSoleAttributeValue(attributeType);
- if (enteredValue.equals("yes") != storedValue) {
+ boolean storedValueBoolean = artifact.getSoleAttributeValue(attributeType);
+ String storedValue = storedValueBoolean ? "yes" : "no";
+ if (!enteredValue.equals(storedValue)) {
return new Result(true, attributeType + " is dirty");
}
} catch (AttributeDoesNotExist ex) {
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XHyperlinkLabelValueSelection.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XHyperlinkLabelValueSelection.java
index cc85ea7779..bac444df98 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XHyperlinkLabelValueSelection.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XHyperlinkLabelValueSelection.java
@@ -30,7 +30,7 @@ import org.eclipse.ui.forms.widgets.Hyperlink;
public abstract class XHyperlinkLabelValueSelection extends GenericXWidget {
Hyperlink valueHyperlinkLabel;
- Label valueLabel;
+ protected Label valueLabel;
public XHyperlinkLabelValueSelection(String label) {
super(label);
diff --git a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE Demo product [localhost].launch b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE Demo product [localhost].launch
index a40acbe846..ca08bbaaf1 100644
--- a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE Demo product [localhost].launch
+++ b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE Demo product [localhost].launch
@@ -16,12 +16,12 @@
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-debug"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dosee.arbitration.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dosee.log.default=INFO&#13;&#10;-Dosee.arbitration.server=http://localhost:8089&#13;&#10;-Dosee.authentication.protocol=demo&#13;&#10;-Dats.useNewWorkDefinitions=true"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.osee.framework.ui.product.osee"/>
<booleanAttribute key="restart" value="false"/>
-<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:default,com.google.collect@default:default,com.google.inject@default:default,com.ibm.icu@default:default,com.jcraft.jsch@default:default,com.lowagie.text@default:default,de.itemis.xtext.antlr@default:default,javax.mail.glassfish@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,javax.xml@default:default,org.antlr.generator@default:default,org.antlr.runtime@default:default,org.aopalliance@default:default,org.apache.ant@default:default,org.apache.commons.cli@default:default,org.apache.commons.codec@default:default,org.apache.commons.el@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.jasper@default:default,org.apache.log4j@default:default,org.apache.lucene*1.9.1.v201101211617@default:default,org.apache.lucene*2.9.1.v201101211721@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.lucene.highlighter@default:default,org.apache.lucene.memory@default:default,org.apache.lucene.misc@default:default,org.apache.lucene.queries@default:default,org.apache.lucene.snowball@default:default,org.apache.lucene.spellchecker@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.optional.junit@default:default,org.eclipse.ant.ui@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.birt.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.boot@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.cvs@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.emf.mwe2.lib@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.gef@default:default,org.eclipse.help.appserver@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jdt@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.team.svn@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.update.ui@default:default,org.eclipse.xpand@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.xtend@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.ui.shared@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xtend2.lib@default:default,org.eclipse.xtext@default:default,org.eclipse.zest.core@default:default,org.eclipse.zest.layouts@default:default,org.h2@default:default,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.mozilla.javascript@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="jms.libraries@default:default,net.jini@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.ats@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.dsl.edit@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.core.dsl.ui@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.framework.ui.admin@default:default,org.eclipse.osee.framework.ui.data.model.editor@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.framework.ui.product@default:default,org.eclipse.osee.framework.ui.service.control@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.ote.ui.define@default:default,org.eclipse.osee.support.test.util@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.team.cvs.ssh2@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.ui.cheatsheets@default:default,org.apache.lucene@default:default,org.eclipse.platform@default:default,org.eclipse.debug.ui@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,com.lowagie.text@default:default,com.ibm.icu@default:default,javax.servlet@default:default,org.eclipse.ui.forms@default:default,org.eclipse.core.boot@default:default,org.eclipse.xtext@default:default,org.eclipse.emf.edit@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.emf.codegen.ecore@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.team.core@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.ide@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.jdt.junit.core@default:default,org.eclipse.debug.core@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.core.externaltools@default:default,org.apache.commons.lang@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.core.variables@default:default,org.eclipse.compare.core@default:default,org.eclipse.pde.ui@default:default,org.eclipse.ecf.ssl@default:false,org.apache.xerces@default:default,org.eclipse.core.resources@default:default,org.eclipse.pde@default:default,javax.activation@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.core.expressions@default:default,org.eclipse.ui.presentations.r21@default:default,javax.servlet.jsp@default:default,org.eclipse.help.appserver@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.xtext.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.ui.win32@default:false,org.eclipse.equinox.ds@1:true,org.eclipse.xtext.generator@default:default,org.eclipse.core.net@default:default,org.apache.commons.codec@default:default,org.eclipse.compare@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.jsch.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.jface.text@default:default,org.eclipse.jdt.debug@default:default,javax.mail.glassfish@default:default,org.eclipse.core.jobs@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.ui.views@default:default,org.eclipse.ui.net@default:default,org.eclipse.ant.ui@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.common@2:true,org.apache.lucene.analysis@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,com.google.collect@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.gef@default:default,org.eclipse.jdt.core@default:default,org.eclipse.core.filebuffers@default:default,org.apache.commons.httpclient@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.preferences@default:default,org.junit4@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.jface@default:default,org.eclipse.xtext.xtend@default:default,org.apache.commons.el@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.apache.log4j@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.update.core@default:default,org.eclipse.help.base@default:default,org.eclipse.jdt@default:default,org.apache.jasper@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.emf.edit.ui@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.equinox.app@default:default,org.eclipse.ui.intro@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.jdt.doc.user@default:default,org.apache.xml.serializer@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.osgi.util@default:default,org.eclipse.core.filesystem@default:default,org.antlr.gen@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.ant.launching@default:default,org.eclipse.osgi@-1:true,org.sat4j.pb@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.h2@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.console@default:default,org.eclipse.text@default:default,org.apache.ant@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.jdt.doc.isv@default:default,org.aopalliance@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.help.ui@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.update.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.equinox.p2.ui@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.rcp@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.team.svn@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.sdk@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.emf.common@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,com.jcraft.jsch@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.mozilla.javascript@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.apache.xml.resolver@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.xpand@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.ant.core@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.ui.ide.application@default:default,org.mortbay.jetty.util@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.swt@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.search@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.pde.core@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.osee.framework.svn@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.draw2d@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.ui.intro.universal@default:default,org.sat4j.core@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.emf.common.ui@default:default,javax.xml@default:default,org.eclipse.zest.core@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.xtext.builder@default:default,org.antlr.runtime@default:default,org.eclipse.emf.compare@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.core.runtime@default:true,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.ecf@default:default,org.postgresql.driver@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.cvs@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.osgi.services@default:default,org.eclipse.ui.browser@default:default,org.eclipse.help.webapp@default:default,org.eclipse.xtext.common.types@default:default,org.hamcrest.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.birt.core@default:default,org.eclipse.equinox.util@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.xtend@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.mortbay.jetty.server@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.team.ui@default:default,com.google.inject@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.pde.launching@default:default,org.apache.commons.cli@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.ui.data.model.editor@default:default,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.support.test.util@default:default,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.ats.dsl.ui@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.ats.dsl@default:default,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.ats.dsl.generator@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.framework.ui.product@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.database.test@default:false,net.jini@default:default,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.ats.dsl.integration@default:default,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.ote.ui.define@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.framework.ui.admin@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.core.dsl.edit@default:default,jms.libraries@default:default,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.core.dsl.ui@default:default,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.ats@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.ui.service.control@default:default,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.templates@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig" value=""/>
<booleanAttribute key="tracing" value="false"/>
diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java
index 56ae700aa9..89cc430cea 100644
--- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java
+++ b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java
@@ -27,57 +27,40 @@ import org.eclipse.osee.framework.core.data.IOseeUserInfo;
* @author Donald G. Dunne
*/
public enum DemoUsers implements IOseeUserInfo {
- Joe_Smith("Joe Smith", "Joe Smith", "Joe Smith", true),
- Kay_Jones("Kay Jones", "Kay Jones", "Kay Jones", true),
- Jason_Michael("Jason Michael", "Jason Michael", "Jason Michael", true),
- Alex_Kay("Alex Kay", "Alex Kay", "Alex Kay", true),
- Inactive_Steve("Inactive Steve", "Inactive Steve", "Inactive Steve", false);
+ Joe_Smith("Joe Smith"),
+ Kay_Jones("Kay Jones"),
+ Jason_Michael("Jason Michael"),
+ Alex_Kay("Alex Kay"),
+ Inactive_Steve("Inactive Steve");
private final String name;
- private final String email;
- private final String userID;
- private final boolean active;
- DemoUsers(String name, String email, String userId, boolean active) {
+ DemoUsers(String name) {
this.name = name;
- this.email = email;
- this.userID = userId;
- this.active = active;
}
- /**
- * @return Returns the email.
- */
@Override
- public String getEmail() {
- return email;
+ public String getName() {
+ return name;
}
- /**
- * @return Returns the name.
- */
@Override
- public String getName() {
+ public String getUserID() {
return name;
}
- /**
- * @return Returns the userID.
- */
@Override
- public String getUserID() {
- return userID;
+ public String getEmail() {
+ return name;
}
- /**
- * @return Returns the active.
- */
@Override
public boolean isActive() {
- return active;
+ return name.contains("Inactive");
}
@Override
public boolean isCreationRequired() {
return false;
}
+
}
diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
index 5043776d20..5afdc0ce96 100644
--- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
+++ b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
@@ -30,7 +30,21 @@ public class TestUtil {
private static final String DEMO_DB_TYPE = "demo";
public static final Collection<String> ignoreLogging = Arrays.asList("No image was defined for art type",
"Unable to load the image for [SAVED]");
- public static boolean isInTest = false;
+ private static boolean inTest = false;
+
+ /**
+ * Need to match methods in OseeProperties
+ */
+ public static boolean isInTest() {
+ return inTest;
+ }
+
+ /**
+ * Need to match methods in OseeProperties
+ */
+ public static void setIsInTest(boolean isInTest) {
+ inTest = isInTest;
+ }
public static boolean isProductionDb() throws OseeCoreException {
return ClientSessionManager.isProductionDataStore();

Back to the top