diff options
author | donald.g.dunne | 2016-06-23 20:25:19 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2016-08-31 16:17:11 +0000 |
commit | da7506c0307a5a825fba900f53fc50e1cfe211e4 (patch) | |
tree | f83446443e5c69a9d8e1bdb03c644427d294cc97 /plugins | |
parent | d27b2778b1568f2cd712b3c5990132578e413422 (diff) | |
download | org.eclipse.osee-da7506c0307a5a825fba900f53fc50e1cfe211e4.tar.gz org.eclipse.osee-da7506c0307a5a825fba900f53fc50e1cfe211e4.tar.xz org.eclipse.osee-da7506c0307a5a825fba900f53fc50e1cfe211e4.zip |
bug[ats_ATS292323]: Consolidate TeamDefinition
Change-Id: If6d46d7faefc82968faa02ed9b4aab7611acc38b
Diffstat (limited to 'plugins')
36 files changed, 149 insertions, 1365 deletions
diff --git a/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF index 5f1506d3eb9..e5fe5a54371 100644 --- a/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.api/META-INF/MANIFEST.MF @@ -46,5 +46,6 @@ Import-Package: javax.ws.rs, org.eclipse.osee.framework.jdk.core.util, org.eclipse.osee.framework.logging, org.eclipse.osee.jaxrs.mvc, + org.eclipse.osee.logger, org.osgi.framework, org.osgi.service.event diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/IAtsServices.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/IAtsServices.java index b4864b6660e..4a6e0e4bd51 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/IAtsServices.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/IAtsServices.java @@ -44,6 +44,7 @@ import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.IArtifactToken; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.logger.Log; /** * @author Donald G. Dunne @@ -132,4 +133,6 @@ public interface IAtsServices { String getConfigValue(String key); + Log getLogger(); + } diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/rule/IAtsRules.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/rule/IAtsRules.java index 1990e24089e..0ab1a4f76f7 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/rule/IAtsRules.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/rule/IAtsRules.java @@ -20,10 +20,6 @@ public interface IAtsRules { public Collection<String> getRules() throws OseeCoreException; - public void addRule(String rule) throws OseeCoreException; - public boolean hasRule(String rule) throws OseeCoreException; - public void removeRule(String rule) throws OseeCoreException; - } diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/team/IAtsTeamDefinition.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/team/IAtsTeamDefinition.java index 9e3b11a3153..87d0dcd96a7 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/team/IAtsTeamDefinition.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/team/IAtsTeamDefinition.java @@ -27,46 +27,10 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; */ public interface IAtsTeamDefinition extends IAtsConfigObject, IAtsRules, ICommitConfigItem { - /***************************** - * Name, Full Name, Description - ******************************/ - - void setName(String name) throws OseeCoreException; - - void setDescription(String description); - - @Override - String getDescription(); - - // Name - void setFullName(String fullName); - - String getFullName(); - - /***************************** - * Misc - ******************************/ - - void setActionable(boolean actionable); - boolean isActionable(); - void setActive(boolean active); - - Collection<String> getStaticIds(); - - /***************************** - * Related Actionable Items - ******************************/ - Collection<IAtsActionableItem> getActionableItems(); - /***************************** - * Parent and Children Team Definitions - ******************************/ - - void setParentTeamDef(IAtsTeamDefinition parentTeamDef); - IAtsTeamDefinition getParentTeamDef(); Collection<IAtsTeamDefinition> getChildrenTeamDefinitions(); @@ -91,32 +55,21 @@ public interface IAtsTeamDefinition extends IAtsConfigObject, IAtsRules, ICommit * Branching Data ******************************/ - void setAllowCommitBranch(boolean allowCommitBranch); - boolean isAllowCommitBranch(); @Override Result isAllowCommitBranchInherited(); - void setAllowCreateBranch(boolean allowCreateBranch); - boolean isAllowCreateBranch(); @Override Result isAllowCreateBranchInherited(); - void setBaselineBranchUuid(long uuid); - - void setBaselineBranchUuid(String uuid); - @Override long getBaselineBranchUuid(); long getTeamBranchUuid(); - @Override - String getCommitFullDisplayName(); - /***************************** * Versions ******************************/ @@ -143,16 +96,10 @@ public interface IAtsTeamDefinition extends IAtsConfigObject, IAtsRules, ICommit * Work Definitions ******************************/ - void setWorkflowDefinition(String workflowDefinitionName); - String getWorkflowDefinition(); String getRelatedTaskWorkDefinition(); - void setRelatedTaskWorkDefinition(String name); - String getRelatedPeerWorkDefinition(); - void setRelatedPeerWorkDefinition(String relatedPeerWorkDefinition); - } diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java index 555ea4cdc79..c2ce645ceec 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java @@ -20,6 +20,7 @@ import java.util.Date; import java.util.logging.Level; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.team.ChangeType; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.version.IAtsVersion; @@ -254,11 +255,12 @@ public class AtsBranchConfigurationTest { "Configuring team def to use branch and allow create/commit"); } IAtsTeamDefinition teamDef = operation.getTeamDefinition(); - teamDef.setBaselineBranchUuid(viaTeamDefBranch.getUuid()); - // setup team def to allow create/commit of branch - teamDef.setAllowCommitBranch(true); - teamDef.setAllowCreateBranch(true); AtsChangeSet changes = new AtsChangeSet(getClass().getSimpleName()); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.BaselineBranchUuid, + viaTeamDefBranch.getUuid().toString()); + // setup team def to allow create/commit of branch + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.AllowCommitBranch, true); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.AllowCreateBranch, true); AtsClientService.get().storeConfigObject(teamDef, changes); changes.execute(); diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java index 2bcf6102290..06dd3e7592e 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java @@ -23,6 +23,7 @@ import org.eclipse.osee.ats.api.IAtsConfigObject; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; import org.eclipse.osee.ats.api.team.ChangeType; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.user.IAtsUser; @@ -321,10 +322,10 @@ public class AtsTestUtil { guid = GUID.create(); teamDef = AtsClientService.get().createTeamDefinition(guid, getTitle("Team Def", postFixName), - AtsUtilClient.createConfigObjectUuid()); - teamDef.setWorkflowDefinition(WORK_DEF_NAME); - teamDef.setActive(true); - teamDef.getLeads().add(AtsClientService.get().getUserService().getCurrentUser()); + AtsUtilClient.createConfigObjectUuid(), changes, AtsClientService.get()); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.WorkflowDefinition, WORK_DEF_NAME); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.Active, true); + changes.relate(teamDef, AtsRelationTypes.TeamLead_Lead, AtsClientService.get().getUserService().getCurrentUser()); testAi.setTeamDefinition(teamDef); testAi2.setTeamDefinition(teamDef); @@ -338,28 +339,26 @@ public class AtsTestUtil { guid = GUID.create(); verArt1 = AtsClientService.get().getVersionService().createVersion(getTitle("ver 1.0", postFixName), guid, AtsUtilClient.createConfigObjectUuid()); - teamDef.getVersions().add(verArt1); AtsClientService.get().storeConfigObject(verArt1, changes); + changes.relate(teamDef, AtsRelationTypes.TeamDefinitionToVersion_Version, verArt1); guid = GUID.create(); verArt2 = AtsClientService.get().getVersionService().createVersion(getTitle("ver 2.0", postFixName), guid, AtsUtilClient.createConfigObjectUuid()); - teamDef.getVersions().add(verArt2); AtsClientService.get().storeConfigObject(verArt2, changes); + changes.relate(teamDef, AtsRelationTypes.TeamDefinitionToVersion_Version, verArt2); guid = GUID.create(); verArt3 = AtsClientService.get().getVersionService().createVersion(getTitle("ver 3.0", postFixName), guid, AtsUtilClient.createConfigObjectUuid()); - teamDef.getVersions().add(verArt3); AtsClientService.get().storeConfigObject(verArt3, changes); + changes.relate(teamDef, AtsRelationTypes.TeamDefinitionToVersion_Version, verArt3); guid = GUID.create(); verArt4 = AtsClientService.get().getVersionService().createVersion(getTitle("ver 4.0", postFixName), guid, AtsUtilClient.createConfigObjectUuid()); - teamDef.getVersions().add(verArt4); AtsClientService.get().storeConfigObject(verArt4, changes); - - AtsClientService.get().storeConfigObject(teamDef, changes); + changes.relate(teamDef, AtsRelationTypes.TeamDefinitionToVersion_Version, verArt4); actionArt = ActionManager.createAction(null, getTitle("Team WF", postFixName), "description", ChangeType.Improvement, "1", false, null, Arrays.asList(testAi), new Date(), diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/action/AutoAddActionToGoalTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/action/AutoAddActionToGoalTest.java index 906026dfdc1..2335b40f9d2 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/action/AutoAddActionToGoalTest.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/action/AutoAddActionToGoalTest.java @@ -14,6 +14,7 @@ import java.util.List; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsRelationTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; import org.eclipse.osee.ats.artifact.GoalManager; import org.eclipse.osee.ats.client.integration.tests.AtsClientService; @@ -37,7 +38,7 @@ import org.junit.BeforeClass; /** * Test for {@link ActionManager} - * + * * @author Mark Joy */ public class AutoAddActionToGoalTest { @@ -84,8 +85,10 @@ public class AutoAddActionToGoalTest { changes.clear(); AtsClientService.get().storeConfigObject(actionItem2, changes); IAtsTeamDefinition teamDef = AtsTestUtil.getTestTeamDef(); - teamDef.getVersions().clear(); - AtsClientService.get().storeConfigObject(teamDef, changes); + + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } changes.execute(); Artifact testAI2 = AtsClientService.get().getArtifact(AtsTestUtil.getTestAi2()); @@ -115,8 +118,9 @@ public class AutoAddActionToGoalTest { AtsChangeSet changes = new AtsChangeSet(getClass().getSimpleName()); GoalArtifact goalArt = GoalManager.createGoal("AutoAddActionToGoalTest - AddActionToGoalFromTeamDef", changes); IAtsTeamDefinition teamDef = AtsTestUtil.getTestTeamDef(); - teamDef.getVersions().clear(); - AtsClientService.get().storeConfigObject(teamDef, changes); + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } changes.execute(); Artifact teamDefArtifact = AtsClientService.get().getArtifact(AtsTestUtil.getTestTeamDef()); @@ -145,9 +149,10 @@ public class AutoAddActionToGoalTest { IAtsActionableItem testAI2 = AtsTestUtil.getTestAi2(); AtsClientService.get().storeConfigObject(testAI2, changes); IAtsTeamDefinition teamDef = AtsTestUtil.getTestTeamDef(); - teamDef.getVersions().clear(); + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } AtsClientService.get().storeConfigObject(teamDef, changes); - changes.execute(); Artifact testAI2Art = AtsClientService.get().getArtifact(AtsTestUtil.getTestAi2()); Artifact teamDefArtifact = AtsClientService.get().getArtifact(AtsTestUtil.getTestTeamDef()); @@ -192,8 +197,9 @@ public class AutoAddActionToGoalTest { AtsClientService.get().storeConfigObject(actionItem2, changes); AtsClientService.get().storeConfigObject(actionItem3, changes); IAtsTeamDefinition teamDef = AtsTestUtil.getTestTeamDef(); - teamDef.getVersions().clear(); - AtsClientService.get().storeConfigObject(teamDef, changes); + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } changes.execute(); Artifact testAI2 = AtsClientService.get().getArtifact(AtsTestUtil.getTestAi2()); diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchServiceImplTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchServiceImplTest.java index f91b299c03e..f18c0ac2d43 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchServiceImplTest.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchServiceImplTest.java @@ -17,11 +17,13 @@ import java.util.Collection; import java.util.Date; import java.util.HashSet; import org.eclipse.osee.ats.api.commit.ICommitConfigItem; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.client.integration.tests.AtsClientService; import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsChangeSet; import org.eclipse.osee.framework.core.data.TransactionToken; import org.eclipse.osee.framework.core.enums.TransactionDetailsType; import org.eclipse.osee.framework.core.model.TransactionRecord; @@ -60,13 +62,17 @@ public class AtsBranchServiceImplTest { TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); //Test Team Def-base Team Arts + AtsChangeSet changes = new AtsChangeSet(getClass().getSimpleName()); IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.BaselineBranchUuid, SAW_Bld_1.getUuid().toString()); // clear versions to config item is from teamDef - teamDef.getVersions().clear(); - teamDef.setBaselineBranchUuid(SAW_Bld_1.getUuid()); + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } + changes.execute(); Collection<Object> commitObjs = AtsClientService.get().getBranchService().getCommitTransactionsAndConfigItemsForTeamWf(teamArt); - assertTrue("commitObjs has wrong size", commitObjs.size() == 1); + org.junit.Assert.assertEquals("commitObjs has wrong size", 1, commitObjs.size()); assertTrue("commitObjs is missing teamDef", commitObjs.contains(teamDef)); } @@ -92,10 +98,14 @@ public class AtsBranchServiceImplTest { AtsTestUtil.cleanupAndReset( AtsBranchServiceImplTest.class.getSimpleName() + ".testGetCommitTransactionsAndConfigItemsForTeam_txRecords"); TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + AtsChangeSet changes = new AtsChangeSet(getClass().getSimpleName()); IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); - teamDef.setBaselineBranchUuid(SAW_Bld_1.getUuid()); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.BaselineBranchUuid, SAW_Bld_1.getUuid().toString()); // clear versions to config item is from teamDef - teamDef.getVersions().clear(); + for (IAtsVersion version : teamDef.getVersions()) { + changes.deleteArtifact(version.getStoreObject()); + } + changes.execute(); //Test TxRecords TransactionRecord txRecord = new TransactionRecord(1234L, SAW_Bld_1, "comment", new Date(0), UserManager.getUser().getArtId(), UserManager.getUser().getArtId(), TransactionDetailsType.Baselined); diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java index aa09db4e7aa..b9a5e279755 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java @@ -52,6 +52,7 @@ import org.eclipse.osee.ats.demo.api.DemoUsers; import org.eclipse.osee.framework.core.enums.SystemUser; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.ws.AWorkspace; import org.junit.AfterClass; import org.junit.Assert; @@ -393,7 +394,9 @@ public class TransitionManagerTest { Assert.assertTrue(results.isEmpty()); // validate that can't transition without targeted version when team def rule is set - teamArt.getTeamDefinition().addRule(RuleDefinitionOption.RequireTargetedVersion.name()); + ((Artifact) teamArt.getTeamDefinition().getStoreObject()).addAttributeFromString(AtsAttributeTypes.RuleDefinition, + RuleDefinitionOption.RequireTargetedVersion.name()); + ((Artifact) teamArt.getTeamDefinition().getStoreObject()).persist(getClass().getSimpleName()); results.clear(); transMgr.handleTransitionValidation(results); Assert.assertTrue(results.contains(teamArt, TransitionResult.MUST_BE_TARGETED_FOR_VERSION)); diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java index 9edaff7b8a3..7f204139930 100644 --- a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java @@ -13,6 +13,7 @@ package org.eclipse.osee.ats.client.integration.tests.ats.world.search; import java.util.Arrays; import java.util.Collection; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.client.integration.tests.AtsClientService; import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; @@ -26,7 +27,7 @@ import org.junit.Test; /** * Test Case for {@link TeamDefinitionQuickSearch} - * + * * @author Donald G. Dunne */ public class TeamDefinitionQuickSearchTest { @@ -35,6 +36,7 @@ public class TeamDefinitionQuickSearchTest { @AfterClass public static void cleanup() throws Exception { AtsTestUtil.cleanup(); + AtsTestUtil.cleanupSimpleTest(TeamDefinitionQuickSearchTest.class.getSimpleName()); } @Test @@ -43,7 +45,11 @@ public class TeamDefinitionQuickSearchTest { TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); teamWf.persist(getClass().getSimpleName()); - IAtsTeamDefinition randomTeamDef = AtsClientService.get().createTeamDefinition(getClass().getSimpleName()); + IAtsChangeSet changes = AtsClientService.get().getStoreService().createAtsChangeSet(getClass().getSimpleName(), + AtsClientService.get().getUserService().getCurrentUser()); + IAtsTeamDefinition randomTeamDef = + AtsClientService.get().createTeamDefinition(getClass().getSimpleName(), changes, AtsClientService.get()); + changes.execute(); TeamDefinitionQuickSearch srch = new TeamDefinitionQuickSearch(Arrays.asList(randomTeamDef)); Assert.assertTrue("No results should be found", srch.performSearch().isEmpty()); diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java index 28d61180917..3ca518a5a6c 100644 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java @@ -10,7 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.client; -import org.eclipse.osee.ats.core.client.internal.config.InternalConfigTestSuite; import org.eclipse.osee.ats.core.client.internal.store.InternalStoreTestSuite; import org.eclipse.osee.ats.core.client.review.ReviewTestSuite; import org.eclipse.osee.ats.core.client.validator.ValidatorTestSuite; @@ -21,11 +20,7 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ @RunWith(Suite.class) -@Suite.SuiteClasses({ - InternalConfigTestSuite.class, - InternalStoreTestSuite.class, - ReviewTestSuite.class, - ValidatorTestSuite.class}) +@Suite.SuiteClasses({InternalStoreTestSuite.class, ReviewTestSuite.class, ValidatorTestSuite.class}) public class AllAtsCoreClientTestSuite { // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/InternalConfigTestSuite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/InternalConfigTestSuite.java deleted file mode 100644 index 44ec5a1ada4..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/InternalConfigTestSuite.java +++ /dev/null @@ -1,23 +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.core.client.internal.config; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({TeamDefinitionTest.class}) -/** - * @author Donald G. Dunne - */ -public class InternalConfigTestSuite { - // Test Suite -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionTest.java deleted file mode 100644 index 53c68fdc107..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 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.core.client.internal.config; - -import org.eclipse.osee.ats.api.version.IAtsVersionService; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -/** - * Test case for {@link TeamDefinition} - * - * @author Donald G. Dunne - */ -public class TeamDefinitionTest { - - // @formatter:off - @Mock private IAtsVersionService versionService; - // @formatter:on - - @Before - public void setup() throws Exception { - MockitoAnnotations.initMocks(this); - } - - @Test - public void testGetTeamDefinitionHoldingVersions() throws OseeCoreException { - TeamDefinition teamDef1 = new TeamDefinition("Team Def 1", "td1guid", 234); - - TeamDefinition teamDef1_child1 = new TeamDefinition("Team Def 1_1", "td1_1guid", 345); - teamDef1_child1.setParentTeamDef(teamDef1); - - Assert.assertNull(teamDef1.getTeamDefinitionHoldingVersions()); - Assert.assertNull(teamDef1_child1.getTeamDefinitionHoldingVersions()); - - teamDef1.getVersions().add(new Version(versionService, "ver1", "ver1guid", 234)); - - Assert.assertEquals(teamDef1, teamDef1.getTeamDefinitionHoldingVersions()); - Assert.assertEquals(teamDef1, teamDef1_child1.getTeamDefinitionHoldingVersions()); - } - - @Test - public void testIsTeamUsesVersions() throws OseeCoreException { - TeamDefinition teamDef1 = new TeamDefinition("Team Def 1", "td1guid", 456); - - TeamDefinition teamDef1_child1 = new TeamDefinition("Team Def 1_1", "td1_1guid", 567); - teamDef1_child1.setParentTeamDef(teamDef1); - - Assert.assertFalse(teamDef1.isTeamUsesVersions()); - Assert.assertFalse(teamDef1_child1.isTeamUsesVersions()); - - teamDef1.getVersions().add(new Version(versionService, "ver1", "ver1guid", 123)); - - Assert.assertTrue(teamDef1.isTeamUsesVersions()); - Assert.assertTrue(teamDef1_child1.isTeamUsesVersions()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java index dc509079b4f..9cc5b93e17d 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java @@ -86,8 +86,6 @@ import org.eclipse.osee.ats.core.client.internal.store.ActionableItemArtifactWri import org.eclipse.osee.ats.core.client.internal.store.AtsArtifactStore; import org.eclipse.osee.ats.core.client.internal.store.AtsVersionCache; import org.eclipse.osee.ats.core.client.internal.store.AtsVersionServiceImpl; -import org.eclipse.osee.ats.core.client.internal.store.TeamDefinitionArtifactReader; -import org.eclipse.osee.ats.core.client.internal.store.TeamDefinitionArtifactWriter; import org.eclipse.osee.ats.core.client.internal.store.VersionArtifactReader; import org.eclipse.osee.ats.core.client.internal.store.VersionArtifactWriter; import org.eclipse.osee.ats.core.client.internal.user.AtsUserServiceImpl; @@ -218,7 +216,6 @@ public class AtsClientImpl extends AtsCoreServiceImpl implements IAtsClient { new HashMap<IArtifactType, IAtsArtifactReader<? extends IAtsConfigObject>>(); writers.put(IAtsActionableItem.class, new ActionableItemArtifactWriter()); - writers.put(IAtsTeamDefinition.class, new TeamDefinitionArtifactWriter()); writers.put(IAtsVersion.class, new VersionArtifactWriter()); userService = new AtsUserServiceImpl(); @@ -238,7 +235,6 @@ public class AtsClientImpl extends AtsCoreServiceImpl implements IAtsClient { versionFactory = new VersionFactory(versionService); readers.put(AtsArtifactTypes.ActionableItem, new ActionableItemArtifactReader(actionableItemFactory)); - readers.put(AtsArtifactTypes.TeamDefinition, new TeamDefinitionArtifactReader(teamDefFactory)); readers.put(AtsArtifactTypes.Version, new VersionArtifactReader(versionFactory)); workDefCache = new AtsWorkDefinitionCache(); @@ -370,13 +366,13 @@ public class AtsClientImpl extends AtsCoreServiceImpl implements IAtsClient { } @Override - public IAtsTeamDefinition createTeamDefinition(String name) throws OseeCoreException { - return createTeamDefinition(GUID.create(), name, AtsUtilClient.createConfigObjectUuid()); + public IAtsTeamDefinition createTeamDefinition(String name, IAtsChangeSet changes, IAtsServices services) throws OseeCoreException { + return createTeamDefinition(GUID.create(), name, AtsUtilClient.createConfigObjectUuid(), changes, services); } @Override - public IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid) throws OseeCoreException { - IAtsTeamDefinition item = teamDefFactory.createTeamDefinition(guid, name, uuid); + public IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid, IAtsChangeSet changes, IAtsServices services) throws OseeCoreException { + IAtsTeamDefinition item = teamDefFactory.createTeamDefinition(guid, name, uuid, changes, services); IAtsCache cache = atsCache(); cache.cacheAtsObject(item); return item; diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/ActionableItem.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/ActionableItem.java index f840f6c1914..e13fe8c6683 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/ActionableItem.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/ActionableItem.java @@ -16,11 +16,11 @@ import java.util.List; import java.util.Set; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.data.AtsRelationTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.user.IAtsUser; import org.eclipse.osee.ats.core.client.internal.AtsClientService; -import org.eclipse.osee.ats.core.config.RuleManager; import org.eclipse.osee.ats.core.config.TeamDefinitions; import org.eclipse.osee.ats.core.model.impl.AtsObject; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; @@ -41,7 +41,6 @@ public class ActionableItem extends AtsObject implements IAtsActionableItem { private Set<IAtsUser> leads; private Set<IAtsUser> subscribed; private Set<IAtsActionableItem> childrenActionableItems; - private final RuleManager ruleMgr = new RuleManager(); public ActionableItem(String name, String guid, long uuid) { super(name, uuid); @@ -185,23 +184,13 @@ public class ActionableItem extends AtsObject implements IAtsActionableItem { * Rules */ @Override - public void removeRule(String rule) { - ruleMgr.removeRule(rule); - } - - @Override public List<String> getRules() { - return ruleMgr.getRules(); - } - - @Override - public void addRule(String rule) { - ruleMgr.addRule(rule); + return ((Artifact) getStoreObject()).getAttributesToStringList(AtsAttributeTypes.RuleDefinition); } @Override public boolean hasRule(String rule) { - return ruleMgr.hasRule(rule); + return getRules().contains(rule); } } diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinition.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinition.java deleted file mode 100644 index f2489c6979d..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinition.java +++ /dev/null @@ -1,519 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 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.core.client.internal.config; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.api.version.VersionLockedType; -import org.eclipse.osee.ats.api.version.VersionReleaseType; -import org.eclipse.osee.ats.core.client.internal.AtsClientService; -import org.eclipse.osee.ats.core.config.RuleManager; -import org.eclipse.osee.ats.core.model.impl.AtsObject; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.Collections; -import org.eclipse.osee.framework.jdk.core.util.Strings; -import org.eclipse.osee.framework.skynet.core.User; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - -/** - * @author Donald G. Dunne - */ -public class TeamDefinition extends AtsObject implements IAtsTeamDefinition { - private boolean active = true; - private boolean actionable = false; - private boolean allowCreateBranch = false; - private boolean allowCommitBranch = false; - private long baselineBranchUuid = 0; - private String description = null; - private String fullName = null; - private String workflowDefinitionName; - private String relatedTaskWorkDefinition; - private IAtsTeamDefinition parentTeamDef; - - private Set<String> staticIds = null; - private final RuleManager ruleMgr = new RuleManager(); - - private Set<IAtsUser> leads = null; - private Set<IAtsUser> members = null; - private Set<IAtsUser> priviledgedMembers = null; - private Set<IAtsUser> subscribed = null; - - private Set<IAtsTeamDefinition> childrenTeamDefinitions = null; - private Set<IAtsActionableItem> actionableItems = null; - private Set<IAtsVersion> versions = null; - private String relatedPeerWorkflowDefinition; - - @Override - public String getRelatedTaskWorkDefinition() { - return relatedTaskWorkDefinition; - } - - public TeamDefinition(String name, String guid, long uuid) { - super(name, uuid); - } - - @Override - public Result isAllowCreateBranchInherited() { - if (!allowCreateBranch) { - return new Result(false, "Branch creation disabled for Team Definition [" + this + "]"); - } - if (!AtsClientService.get().getBranchService().isBranchValid(this)) { - return new Result(false, "Parent Branch not configured for Team Definition [" + this + "]"); - } - return Result.TrueResult; - } - - @Override - public Result isAllowCommitBranchInherited() { - if (!allowCommitBranch) { - return new Result(false, "Team Definition [" + this + "] not configured to allow branch commit."); - } - if (!AtsClientService.get().getBranchService().isBranchValid(this)) { - return new Result(false, "Parent Branch not configured for Team Definition [" + this + "]"); - } - return Result.TrueResult; - } - - /** - * This method will walk up the TeamDefinition tree until a def is found that configured with versions. This allows - * multiple TeamDefinitions to be versioned/released together by having the parent hold the versions. It is not - * required that a product configured in ATS uses the versions option. If no parent with versions is found, null is - * returned. If boolean "Team Uses Versions" is false, just return cause this team doesn't use versions - * - * @return parent TeamDefinition that holds the version definitions - */ - - @Override - public IAtsTeamDefinition getTeamDefinitionHoldingVersions() throws OseeCoreException { - if (getVersions().size() > 0) { - return this; - } - IAtsTeamDefinition parentTda = getParentTeamDef(); - if (parentTda != null) { - return parentTda.getTeamDefinitionHoldingVersions(); - } - return null; - } - - @Override - public IAtsVersion getNextReleaseVersion() { - for (IAtsVersion verArt : getVersions()) { - if (verArt.isNextVersion()) { - return verArt; - } - } - return null; - } - - @Override - public Collection<IAtsVersion> getVersionsFromTeamDefHoldingVersions(VersionReleaseType releaseType, VersionLockedType lockedType) throws OseeCoreException { - IAtsTeamDefinition teamDef = getTeamDefinitionHoldingVersions(); - if (teamDef == null) { - return new ArrayList<IAtsVersion>(); - } - return teamDef.getVersions(releaseType, lockedType); - } - - /** - * Return ONLY leads configured for this Depending on the use, like creating new actions, the assignees (or Leads) - * are determined first from users configured as leads of individual actionable items and only if that returns no - * leads, THEN default to using the leads configured for the TeamDefinition. In these cases, use getLeads(Collection - * <IAtsActionableItem>) instead. - * - * @return users configured as leads for this IAtsTeamDefinition - */ - - @Override - public Collection<IAtsUser> getLeads() { - if (leads == null) { - leads = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact userArt : getArtifact().getRelatedArtifacts(AtsRelationTypes.TeamLead_Lead)) { - IAtsUser user = AtsClientService.get().getUserServiceClient().getUserFromOseeUser((User) userArt); - leads.add(user); - } - } - } - return leads; - } - - private Artifact getArtifact() { - return (Artifact) getStoreObject(); - } - - @Override - public Collection<IAtsUser> getPrivilegedMembers() { - if (priviledgedMembers == null) { - priviledgedMembers = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact userArt : getArtifact().getRelatedArtifacts(AtsRelationTypes.PrivilegedMember_Member)) { - IAtsUser user = AtsClientService.get().getUserServiceClient().getUserFromOseeUser((User) userArt); - priviledgedMembers.add(user); - } - } - } - return priviledgedMembers; - } - - /** - * Returns leads configured first by ActionableItems and only if this is an empty set, THEN defaults to those - * configured by TeamDefinitions. Use getLeads() to only get the leads configured for this - * - * @return users configured as leads by ActionableItems, then by TeamDefinition - */ - - @Override - public Collection<IAtsUser> getLeads(Collection<IAtsActionableItem> actionableItems) throws OseeCoreException { - Set<IAtsUser> leads = new HashSet<>(); - for (IAtsActionableItem aia : actionableItems) { - if (this.equals(aia.getTeamDefinitionInherited())) { - // If leads are specified for this aia, add them - if (aia.getLeads().size() > 0) { - leads.addAll(aia.getLeads()); - } else { - if (aia.getTeamDefinitionInherited() != null) { - leads.addAll(aia.getTeamDefinitionInherited().getLeads()); - } - } - } - } - if (leads.isEmpty()) { - leads.addAll(getLeads()); - } - return leads; - } - - @Override - @SuppressWarnings("unchecked") - public Collection<IAtsUser> getMembersAndLeads() { - return Collections.setUnion(getMembers(), getLeads()); - } - - @Override - public Collection<IAtsUser> getMembers() { - if (members == null) { - members = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact userArt : getArtifact().getRelatedArtifacts(AtsRelationTypes.TeamMember_Member)) { - IAtsUser user = AtsClientService.get().getUserServiceClient().getUserFromOseeUser((User) userArt); - members.add(user); - } - } - } - return members; - } - - @Override - public IAtsVersion getVersion(String name) { - for (IAtsVersion verArt : getVersions()) { - if (verArt.getName().equals(name)) { - return verArt; - } - } - return null; - } - - @Override - public Collection<IAtsVersion> getVersions() { - if (versions == null) { - versions = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact verArt : getArtifact().getRelatedArtifacts( - AtsRelationTypes.TeamDefinitionToVersion_Version)) { - IAtsVersion version = AtsClientService.get().getCache().getAtsObject(verArt.getUuid()); - versions.add(version); - } - } - } - return versions; - } - - @Override - public Collection<IAtsVersion> getVersions(VersionReleaseType releaseType, VersionLockedType lockType) { - return Collections.setIntersection(getVersionsReleased(releaseType), getVersionsLocked(lockType)); - } - - @Override - public Collection<IAtsVersion> getVersionsReleased(VersionReleaseType releaseType) { - ArrayList<IAtsVersion> versions = new ArrayList<>(); - for (IAtsVersion version : getVersions()) { - if (version.isReleased() && (releaseType == VersionReleaseType.Released || releaseType == VersionReleaseType.Both)) { - versions.add(version); - } else if (!version.isReleased() && releaseType == VersionReleaseType.UnReleased || releaseType == VersionReleaseType.Both) { - versions.add(version); - } - } - return versions; - } - - @Override - public Collection<IAtsVersion> getVersionsLocked(VersionLockedType lockType) { - ArrayList<IAtsVersion> versions = new ArrayList<>(); - for (IAtsVersion version : getVersions()) { - if (version.isVersionLocked() && (lockType == VersionLockedType.Locked || lockType == VersionLockedType.Both)) { - versions.add(version); - } else if (!version.isVersionLocked() && lockType == VersionLockedType.UnLocked || lockType == VersionLockedType.Both) { - versions.add(version); - } - } - return versions; - } - - @Override - public boolean isTeamUsesVersions() throws OseeCoreException { - return getTeamDefinitionHoldingVersions() != null; - } - - @Override - public boolean isActionable() { - return actionable; - } - - /** - * Returns the branch associated with this team. If this team does not have a branch associated then the parent team - * will be asked, this results in a recursive look at parent teams until a parent artifact has a related branch or - * the parent of a team is not a team. <br/> - * <br/> - * If no branch is associated then null will be returned. - */ - @Override - public long getTeamBranchUuid() { - long uuid = getBaselineBranchUuid(); - if (uuid > 0) { - return uuid; - } else { - IAtsTeamDefinition parentTeamDef = getParentTeamDef(); - if (parentTeamDef instanceof TeamDefinition) { - return parentTeamDef.getTeamBranchUuid(); - } - } - return 0; - } - - @Override - public String getCommitFullDisplayName() { - return getName(); - } - - @Override - public boolean isAllowCreateBranch() { - return allowCreateBranch; - } - - @Override - public void setAllowCreateBranch(boolean allowCreateBranch) { - this.allowCreateBranch = allowCreateBranch; - } - - @Override - public boolean isAllowCommitBranch() { - return allowCommitBranch; - } - - @Override - public void setAllowCommitBranch(boolean allowCommitBranch) { - this.allowCommitBranch = allowCommitBranch; - } - - @Override - public String getDescription() { - return description; - } - - @Override - public void setDescription(String description) { - this.description = description; - } - - @Override - public String getFullName() { - return fullName; - } - - @Override - public void setFullName(String fullName) { - this.fullName = fullName; - } - - @Override - public IAtsTeamDefinition getParentTeamDef() { - if (parentTeamDef == null && getArtifact() != null) { - Artifact parentTeamDefArt = getArtifact().getParent(); - if (parentTeamDefArt != null && parentTeamDefArt.isOfType(AtsArtifactTypes.TeamDefinition)) { - IAtsTeamDefinition parent = AtsClientService.get().getCache().getAtsObject(parentTeamDefArt.getUuid()); - this.parentTeamDef = parent; - } - } - return parentTeamDef; - } - - @Override - public void setActionable(boolean actionable) { - this.actionable = actionable; - } - - @Override - public boolean isActive() { - return active; - } - - @Override - public void setActive(boolean active) { - this.active = active; - } - - @Override - public Collection<IAtsTeamDefinition> getChildrenTeamDefinitions() { - if (childrenTeamDefinitions == null) { - childrenTeamDefinitions = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact child : getArtifact().getChildren()) { - if (child.isOfType(AtsArtifactTypes.TeamDefinition)) { - IAtsTeamDefinition childTeamDef = AtsClientService.get().getCache().getAtsObject(child.getUuid()); - childrenTeamDefinitions.add(childTeamDef); - } - } - } - } - return childrenTeamDefinitions; - } - - @Override - public void setWorkflowDefinition(String workDefinitionName) { - workflowDefinitionName = workDefinitionName; - } - - @Override - public String getWorkflowDefinition() { - return workflowDefinitionName; - } - - @Override - public Collection<String> getStaticIds() { - if (staticIds == null) { - staticIds = new HashSet<>(); - if (getArtifact() != null) { - for (String staticId : getArtifact().getAttributesToStringList(CoreAttributeTypes.StaticId)) { - staticIds.add(staticId); - } - } - } - return staticIds; - } - - @Override - public Collection<IAtsActionableItem> getActionableItems() { - if (actionableItems == null) { - actionableItems = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact aiArt : getArtifact().getRelatedArtifacts( - AtsRelationTypes.TeamActionableItem_ActionableItem)) { - IAtsActionableItem ai = AtsClientService.get().getCache().getAtsObject(aiArt.getUuid()); - actionableItems.add(ai); - } - } - } - return actionableItems; - } - - @Override - public void setRelatedTaskWorkDefinition(String name) { - relatedTaskWorkDefinition = name; - } - - @Override - public void setParentTeamDef(IAtsTeamDefinition parentTeamDef) { - if (parentTeamDef.getUuid().equals(getUuid())) { - throw new IllegalArgumentException("Can't set parent to self"); - } - this.parentTeamDef = parentTeamDef; - } - - @Override - public Collection<IAtsUser> getSubscribed() { - if (subscribed == null) { - subscribed = new HashSet<>(); - if (getArtifact() != null) { - for (Artifact userArt : getArtifact().getRelatedArtifacts(AtsRelationTypes.SubscribedUser_User)) { - IAtsUser user = AtsClientService.get().getUserServiceClient().getUserFromOseeUser((User) userArt); - subscribed.add(user); - } - } - } - return subscribed; - } - - /** - * Rules - */ - @Override - public void removeRule(String rule) { - ruleMgr.removeRule(rule); - } - - @Override - public List<String> getRules() { - return ruleMgr.getRules(); - } - - @Override - public void addRule(String rule) { - ruleMgr.addRule(rule); - } - - @Override - public boolean hasRule(String rule) { - return ruleMgr.hasRule(rule); - } - - @Override - public String getTypeName() { - return "Team Definition"; - } - - @Override - public String getRelatedPeerWorkDefinition() { - return relatedPeerWorkflowDefinition; - } - - @Override - public void setRelatedPeerWorkDefinition(String relatedPeerWorkflowDefinition) { - this.relatedPeerWorkflowDefinition = relatedPeerWorkflowDefinition; - } - - @Override - public long getBaselineBranchUuid() { - return baselineBranchUuid; - } - - @Override - public void setBaselineBranchUuid(long uuid) { - this.baselineBranchUuid = uuid; - } - - @Override - public void setBaselineBranchUuid(String uuid) { - if (Strings.isValid(uuid)) { - this.baselineBranchUuid = Long.valueOf(uuid); - } - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionFactory.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionFactory.java index cf5cff4263d..c7b0851c480 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionFactory.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/config/TeamDefinitionFactory.java @@ -10,9 +10,14 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.client.internal.config; +import org.eclipse.osee.ats.api.IAtsServices; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.core.client.util.AtsUtilClient; import org.eclipse.osee.ats.core.config.ITeamDefinitionFactory; +import org.eclipse.osee.ats.core.config.TeamDefinition; +import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.jdk.core.util.GUID; /** @@ -21,16 +26,17 @@ import org.eclipse.osee.framework.jdk.core.util.GUID; public class TeamDefinitionFactory implements ITeamDefinitionFactory { @Override - public IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid) { + public IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid, IAtsChangeSet changes, IAtsServices services) { if (guid == null) { throw new IllegalArgumentException("guid can not be null"); } - return new TeamDefinition(name, guid, uuid); + ArtifactId artifact = changes.createArtifact(AtsArtifactTypes.TeamDefinition, name, guid, uuid); + return new TeamDefinition(services.getLogger(), services, artifact); } @Override - public IAtsTeamDefinition createTeamDefinition(String name) { - return createTeamDefinition(GUID.create(), name, AtsUtilClient.createConfigObjectUuid()); + public IAtsTeamDefinition createTeamDefinition(String name, IAtsChangeSet changes, IAtsServices services) { + return createTeamDefinition(GUID.create(), name, AtsUtilClient.createConfigObjectUuid(), changes, services); } } diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/AtsArtifactStore.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/AtsArtifactStore.java index 99e6642169d..bca3f067b23 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/AtsArtifactStore.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/AtsArtifactStore.java @@ -13,10 +13,14 @@ package org.eclipse.osee.ats.core.client.internal.store; import java.util.Map; import org.eclipse.osee.ats.api.IAtsConfigObject; import org.eclipse.osee.ats.api.config.IAtsCache; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.util.IAtsChangeSet; +import org.eclipse.osee.ats.core.client.internal.AtsClientService; import org.eclipse.osee.ats.core.client.internal.IAtsArtifactReader; import org.eclipse.osee.ats.core.client.internal.IAtsArtifactStore; import org.eclipse.osee.ats.core.client.internal.IAtsArtifactWriter; +import org.eclipse.osee.ats.core.config.TeamDefinition; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Conditions; @@ -41,6 +45,11 @@ public class AtsArtifactStore implements IAtsArtifactStore { Conditions.checkNotNull(configObject, "configObject"); Conditions.checkNotNull(changes, "transaction"); + if (configObject instanceof IAtsTeamDefinition) { + IAtsTeamDefinition teamDef = (IAtsTeamDefinition) configObject; + changes.add(teamDef); + return (Artifact) teamDef.getStoreObject(); + } IAtsArtifactWriter<T> writer = getWriter(configObject.getClass()); Conditions.checkNotNull(writer, "writer"); @@ -49,11 +58,17 @@ public class AtsArtifactStore implements IAtsArtifactStore { return art; } + @SuppressWarnings("unchecked") @Override public <T extends IAtsConfigObject> T load(IAtsCache cache, Artifact artifact) throws OseeCoreException { Conditions.checkNotNull(cache, "cache"); Conditions.checkNotNull(artifact, "artifact"); - + if (artifact.isOfType(AtsArtifactTypes.TeamDefinition)) { + IAtsTeamDefinition teamDef = + new TeamDefinition(AtsClientService.get().getLogger(), AtsClientService.get(), artifact); + cache.cacheAtsObject(teamDef); + return (T) teamDef; + } IAtsArtifactReader<T> reader = getReader(artifact.getArtifactTypeToken()); Conditions.checkNotNull(reader, "reader"); diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactReader.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactReader.java deleted file mode 100644 index aefcd7453fa..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactReader.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 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.core.client.internal.store; - -import org.eclipse.osee.ats.api.config.IAtsCache; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.client.internal.IAtsArtifactReader; -import org.eclipse.osee.ats.core.config.ITeamDefinitionFactory; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.Strings; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - -/** - * @author Donald G. Dunne - */ -public class TeamDefinitionArtifactReader implements IAtsArtifactReader<IAtsTeamDefinition> { - - private final ITeamDefinitionFactory teamDefFactory; - - public TeamDefinitionArtifactReader(ITeamDefinitionFactory teamDefFactory) { - this.teamDefFactory = teamDefFactory; - } - - @Override - public IAtsTeamDefinition load(IAtsCache cache, Artifact teamDefArt) throws OseeCoreException { - IAtsTeamDefinition teamDef = - teamDefFactory.createTeamDefinition(teamDefArt.getGuid(), teamDefArt.getName(), teamDefArt.getUuid()); - teamDef.setStoreObject(teamDefArt); - cache.cacheAtsObject(teamDef); - - teamDef.setName(teamDefArt.getName()); - teamDef.setActive(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.Active, false)); - teamDef.setActionable(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.Actionable, false)); - teamDef.setAllowCommitBranch(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, false)); - teamDef.setAllowCreateBranch(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false)); - teamDef.setBaselineBranchUuid(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.BaselineBranchUuid, "")); - String workflowDefinition = teamDefArt.getSoleAttributeValue(AtsAttributeTypes.WorkflowDefinition, ""); - if (Strings.isValid(workflowDefinition)) { - teamDef.setWorkflowDefinition(workflowDefinition); - } - String relatedTaskWorkDefinition = - teamDefArt.getSoleAttributeValue(AtsAttributeTypes.RelatedTaskWorkDefinition, ""); - if (Strings.isValid(relatedTaskWorkDefinition)) { - teamDef.setRelatedTaskWorkDefinition(relatedTaskWorkDefinition); - } - teamDef.setDescription(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.Description, "")); - teamDef.setFullName(teamDefArt.getSoleAttributeValue(AtsAttributeTypes.FullName, "")); - for (String ruleStr : teamDefArt.getAttributesToStringList(AtsAttributeTypes.RuleDefinition)) { - teamDef.addRule(ruleStr); - } - return teamDef; - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactWriter.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactWriter.java deleted file mode 100644 index bdcc1f2ebcf..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/store/TeamDefinitionArtifactWriter.java +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 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.core.client.internal.store; - -import java.util.List; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.config.IAtsCache; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.util.IAtsChangeSet; -import org.eclipse.osee.ats.core.client.internal.AtsClientService; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.core.util.AtsObjects; -import org.eclipse.osee.ats.core.util.AtsUtilCore; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.enums.CoreRelationTypes; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -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.utility.Artifacts; - -/** - * @author Donald G. Dunne - */ -public class TeamDefinitionArtifactWriter extends AbstractAtsArtifactWriter<IAtsTeamDefinition> { - - @Override - public Artifact store(IAtsTeamDefinition teamDef, IAtsCache cache, IAtsChangeSet changes) throws OseeCoreException { - Artifact artifact = getArtifactOrCreate(cache, AtsArtifactTypes.TeamDefinition, teamDef, changes); - store(teamDef, artifact, cache, changes); - return artifact; - } - - @Override - public Artifact store(IAtsTeamDefinition teamDef, Artifact artifact, IAtsCache cache, IAtsChangeSet changes) throws OseeCoreException { - artifact.setName(teamDef.getName()); - artifact.setSoleAttributeValue(AtsAttributeTypes.Active, teamDef.isActive()); - boolean actionable = artifact.getSoleAttributeValue(AtsAttributeTypes.Actionable, false); - if (actionable != teamDef.isActionable()) { - artifact.setSoleAttributeValue(AtsAttributeTypes.Actionable, teamDef.isActionable()); - } - - boolean allowCommitBranch = artifact.getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false); - if (allowCommitBranch != teamDef.isAllowCommitBranch()) { - artifact.setSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, teamDef.isAllowCommitBranch()); - } - - boolean allowCreateBranch = artifact.getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false); - if (allowCreateBranch != teamDef.isAllowCreateBranch()) { - artifact.setSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, teamDef.isAllowCreateBranch()); - } - if (teamDef.getBaselineBranchUuid() > 0) { - artifact.setSoleAttributeValue(AtsAttributeTypes.BaselineBranchUuid, - String.valueOf(teamDef.getBaselineBranchUuid())); - } - if (Strings.isValid(teamDef.getWorkflowDefinition())) { - artifact.setSoleAttributeValue(AtsAttributeTypes.WorkflowDefinition, teamDef.getWorkflowDefinition()); - } - if (Strings.isValid(teamDef.getRelatedTaskWorkDefinition())) { - artifact.setSoleAttributeValue(AtsAttributeTypes.RelatedTaskWorkDefinition, - teamDef.getRelatedTaskWorkDefinition()); - } - if (Strings.isValid(teamDef.getDescription())) { - artifact.setSoleAttributeValue(AtsAttributeTypes.Description, teamDef.getDescription()); - } - if (Strings.isValid(teamDef.getFullName())) { - artifact.setSoleAttributeValue(AtsAttributeTypes.FullName, teamDef.getFullName()); - } - - // set new actionable items if necessary - for (IAtsActionableItem aia : teamDef.getActionableItems()) { - Artifact aiaArt = (Artifact) cache.getArtifact(aia); - if (aiaArt != null && aiaArt.getRelatedArtifactOrNull(AtsRelationTypes.TeamActionableItem_Team) != null) { - aiaArt.addRelation(AtsRelationTypes.TeamActionableItem_Team, artifact); - } - } - - // set new children team defs if changed - List<String> newGuids = AtsObjects.toGuids(teamDef.getChildrenTeamDefinitions()); - List<String> currGuids = Artifacts.toGuids(artifact.getChildren()); - // remove curr children that are not part of new children - for (Artifact child : artifact.getChildren()) { - if (child.isOfType(AtsArtifactTypes.TeamDefinition)) { - if (newGuids.contains(child.getGuid())) { - artifact.deleteRelation(CoreRelationTypes.Default_Hierarchical__Child, child); - } - } - } - // add new children that are not part of curr children - for (String newGuid : newGuids) { - if (!currGuids.contains(newGuid)) { - Artifact newArt = AtsClientService.get().getArtifactByGuid(newGuid); - // if not persisted yet, it should be in artifact cache - if (newArt == null) { - newArt = ArtifactCache.getActive(newGuid, AtsUtilCore.getAtsBranch()); - } - artifact.addRelation(CoreRelationTypes.Default_Hierarchical__Child, newArt); - } - } - - // update relations for versions and users - setRelationsOfType(cache, artifact, teamDef.getVersions(), AtsRelationTypes.TeamDefinitionToVersion_Version); - setRelationsOfType(cache, artifact, teamDef.getSubscribed(), AtsRelationTypes.SubscribedUser_User); - setRelationsOfType(cache, artifact, teamDef.getLeads(), AtsRelationTypes.TeamLead_Lead); - setRelationsOfType(cache, artifact, teamDef.getMembers(), AtsRelationTypes.TeamMember_Member); - setRelationsOfType(cache, artifact, teamDef.getPrivilegedMembers(), AtsRelationTypes.PrivilegedMember_Member); - - // update rules if changed - artifact.setAttributeValues(AtsAttributeTypes.RuleDefinition, teamDef.getRules()); - - // update staticIds - if (!teamDef.getStaticIds().isEmpty()) { - artifact.setAttributeValues(CoreAttributeTypes.StaticId, teamDef.getStaticIds()); - } - - // set parent artifact to top team def - IAtsTeamDefinition topTeamDefinition = - TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()); - if (teamDef.getParentTeamDef() == null && !teamDef.getUuid().equals(topTeamDefinition.getUuid())) { - // if parent is null, add to top team definition - Artifact topTeamDefArt = (Artifact) cache.getArtifact(topTeamDefinition); - topTeamDefArt.addChild(artifact); - changes.add(topTeamDefArt); - } else { - // else reset parent if necessary - Artifact parentTeamDefArt = artifact.getParent(); - if (parentTeamDefArt != null) { - if (parentTeamDefArt.isOfType(AtsArtifactTypes.TeamDefinition)) { - if (!parentTeamDefArt.getUuid().equals(teamDef.getParentTeamDef().getUuid())) { - Artifact newParentTeamDefArt = (Artifact) cache.getArtifact(teamDef); - newParentTeamDefArt.addChild(artifact); - changes.add(newParentTeamDefArt); - changes.add(parentTeamDefArt); - } - } - } - } - changes.add(artifact); - cache.cacheAtsObject(teamDef); - return artifact; - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/CopyActionDetails.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/CopyActionDetails.java index 0308a3cc1f7..d863da0d1ca 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/CopyActionDetails.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/CopyActionDetails.java @@ -19,6 +19,7 @@ import org.eclipse.osee.ats.core.client.task.TaskArtifact; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.ats.core.client.workflow.ChangeTypeUtil; +import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLevel; @@ -65,7 +66,8 @@ public class CopyActionDetails { if (awa instanceof TeamWorkFlowArtifact) { TeamWorkFlowArtifact teamArt = (TeamWorkFlowArtifact) awa; result = ChangeTypeUtil.getChangeTypeStr(awa); - if (teamArt.getTeamDefinition().getStaticIds().contains(USE_DEVELOPER_CHANGE_TYPES)) { + if (AtsClientService.get().getAttributeResolver().getAttributesToStringList(teamArt.getTeamDefinition(), + CoreAttributeTypes.StaticId).contains(USE_DEVELOPER_CHANGE_TYPES)) { if (result.equals("Improvement")) { result = "feature"; } else if (result.equals("Problem")) { diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java index 30bed3a96c0..2f3b4a68f90 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java @@ -20,7 +20,6 @@ import org.junit.runners.Suite; WorkDefinitionSheetTest.class, StateEventTypeTest.class, StateColorTest.class, - RuleManagerTest.class, RuleDefinitionOptionTest.class, ReviewBlockTypeTest.class}) /** diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/RuleManagerTest.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/RuleManagerTest.java deleted file mode 100644 index 1f764f456e7..00000000000 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/RuleManagerTest.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 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.core.workdef; - -import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption; -import org.eclipse.osee.ats.core.config.RuleManager; -import org.junit.Test; - -/** - * Test case for {@link RuleManager} - * - * @author Donald G. Dunne - */ -public class RuleManagerTest { - - @Test - public void testGetOrCreateRule() { - RuleManager mgr = new RuleManager(); - mgr.addRule(RuleDefinitionOption.AddDecisionValidateBlockingReview.name()); - mgr.addRule(RuleDefinitionOption.AddDecisionValidateBlockingReview.name()); - mgr.addRule("test"); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/ITeamDefinitionFactory.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/ITeamDefinitionFactory.java index 0343b90fd17..63db0c9eba5 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/ITeamDefinitionFactory.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/ITeamDefinitionFactory.java @@ -10,7 +10,9 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.config; +import org.eclipse.osee.ats.api.IAtsServices; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; /** @@ -18,8 +20,8 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; */ public interface ITeamDefinitionFactory { - IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid) throws OseeCoreException; + IAtsTeamDefinition createTeamDefinition(String guid, String name, long uuid, IAtsChangeSet changes, IAtsServices services) throws OseeCoreException; - IAtsTeamDefinition createTeamDefinition(String name) throws OseeCoreException; + IAtsTeamDefinition createTeamDefinition(String name, IAtsChangeSet changes, IAtsServices services) throws OseeCoreException; } diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/RuleManager.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/RuleManager.java deleted file mode 100644 index 1b73e45d1ce..00000000000 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/RuleManager.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 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.core.config; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.osee.ats.api.rule.IAtsRules; - -/** - * @author Donald G. Dunne - */ -public class RuleManager implements IAtsRules { - - public List<String> rules = new ArrayList<>(); - - @Override - public List<String> getRules() { - return rules; - } - - @Override - public void addRule(String rule) { - if (!rules.contains(rule)) { - rules.add(rule); - } - } - - @Override - public boolean hasRule(String rule) { - return rules.contains(rule); - } - - @Override - public void removeRule(String rule) { - rules.remove(rule); - } - -} diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/TeamDefinition.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/TeamDefinition.java index a541f7e1c44..d830f912a2c 100644 --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/TeamDefinition.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/config/TeamDefinition.java @@ -8,12 +8,13 @@ * Contributors: * Boeing - initial API and implementation *******************************************************************************/ -package org.eclipse.osee.ats.rest.internal.workitem.model; +package org.eclipse.osee.ats.core.config; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Set; +import org.eclipse.osee.ats.api.IAtsServices; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.data.AtsRelationTypes; @@ -23,24 +24,22 @@ import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.api.version.VersionLockedType; import org.eclipse.osee.ats.api.version.VersionReleaseType; import org.eclipse.osee.ats.core.model.impl.AtsConfigObject; -import org.eclipse.osee.ats.rest.IAtsServer; +import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.enums.CoreRelationTypes; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.type.ResultSet; import org.eclipse.osee.logger.Log; -import org.eclipse.osee.orcs.data.ArtifactReadable; /** * @author Donald G Dunne */ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinition { - private final IAtsServer atsServer; + private final IAtsServices services; - public TeamDefinition(Log logger, IAtsServer atsServer, ArtifactReadable artifact) { - super(logger, atsServer, artifact); - this.atsServer = atsServer; + public TeamDefinition(Log logger, IAtsServices services, ArtifactId artifact) { + super(logger, services, artifact); + this.services = services; } @Override @@ -48,15 +47,12 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio return "Team Definition"; } - private ArtifactReadable getArtifact() { - return (ArtifactReadable) artifact; - } - @Override public Collection<IAtsActionableItem> getActionableItems() { Set<IAtsActionableItem> ais = new HashSet<>(); try { - for (ArtifactReadable aiArt : getArtifact().getRelated(AtsRelationTypes.TeamActionableItem_ActionableItem)) { + for (ArtifactId aiArt : services.getRelationResolver().getRelated(artifact, + AtsRelationTypes.TeamActionableItem_ActionableItem)) { IAtsActionableItem ai = services.getConfigItemFactory().getActionableItem(aiArt); ais.add(ai); } @@ -67,15 +63,11 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setParentTeamDef(IAtsTeamDefinition parentTeamDef) { - getLogger().error("TeamDefinition.setParentTeamDef not implemented"); - } - - @Override public IAtsTeamDefinition getParentTeamDef() { IAtsTeamDefinition parent = null; try { - ResultSet<ArtifactReadable> related = getArtifact().getRelated(CoreRelationTypes.Default_Hierarchical__Parent); + Collection<ArtifactId> related = + services.getRelationResolver().getRelated(artifact, CoreRelationTypes.Default_Hierarchical__Parent); if (!related.isEmpty()) { parent = services.getConfigItemFactory().getTeamDef(related.iterator().next()); } @@ -89,7 +81,8 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio public Collection<IAtsTeamDefinition> getChildrenTeamDefinitions() { Set<IAtsTeamDefinition> children = new HashSet<>(); try { - for (ArtifactReadable childArt : getArtifact().getRelated(CoreRelationTypes.Default_Hierarchical__Child)) { + for (ArtifactId childArt : services.getRelationResolver().getRelated(artifact, + CoreRelationTypes.Default_Hierarchical__Child)) { IAtsTeamDefinition childTeamDef = services.getConfigItemFactory().getTeamDef(childArt); if (childTeamDef != null) { children.add(childTeamDef); @@ -141,15 +134,11 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setAllowCommitBranch(boolean allowCommitBranch) { - throw new UnsupportedOperationException("TeamDefinition.setAllowCommitBranch not implemented"); - } - - @Override public boolean isAllowCommitBranch() { boolean set = false; try { - set = getArtifact().getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, false); + set = + services.getAttributeResolver().getSoleAttributeValue(artifact, AtsAttributeTypes.AllowCommitBranch, false); } catch (OseeCoreException ex) { getLogger().error(ex, "Error is allow commit branch"); } @@ -168,15 +157,11 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setAllowCreateBranch(boolean allowCreateBranch) { - throw new UnsupportedOperationException("TeamDefinition.setAllowCreateBranch not implemented"); - } - - @Override public boolean isAllowCreateBranch() { boolean set = false; try { - set = getArtifact().getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, false); + set = + services.getAttributeResolver().getSoleAttributeValue(artifact, AtsAttributeTypes.AllowCreateBranch, false); } catch (OseeCoreException ex) { getLogger().error(ex, "Error get allow create branch"); } @@ -195,16 +180,6 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setBaselineBranchUuid(long uuid) { - throw new UnsupportedOperationException("TeamDefinition.setBaselineBranchUuid not implemented"); - } - - @Override - public void setBaselineBranchUuid(String uuid) { - throw new UnsupportedOperationException("TeamDefinition.setBaselineBranchUuid not implemented"); - } - - @Override public long getBaselineBranchUuid() { return Long.valueOf((String) getAttributeValue(AtsAttributeTypes.BaselineBranchUuid, "0")); } @@ -275,8 +250,9 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio public Collection<IAtsVersion> getVersions() { Set<IAtsVersion> results = new HashSet<>(); try { - for (ArtifactReadable verArt : getArtifact().getRelated(AtsRelationTypes.TeamDefinitionToVersion_Version)) { - IAtsVersion version = atsServer.getConfigItemFactory().getVersion(verArt); + for (ArtifactId verArt : services.getRelationResolver().getRelated(artifact, + AtsRelationTypes.TeamDefinitionToVersion_Version)) { + IAtsVersion version = services.getConfigItemFactory().getVersion(verArt); results.add(version); } } catch (OseeCoreException ex) { @@ -327,11 +303,6 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setWorkflowDefinition(String workflowDefinitionName) { - throw new UnsupportedOperationException("TeamDefinition.setWorkflowDefinition not implemented"); - } - - @Override public String getWorkflowDefinition() { return getAttributeValue(AtsAttributeTypes.WorkflowDefinition, ""); } @@ -342,30 +313,15 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio } @Override - public void setRelatedTaskWorkDefinition(String name) { - throw new UnsupportedOperationException("TeamDefinition.setRelatedTaskWorkDefinition not implemented"); - } - - @Override public String getRelatedPeerWorkDefinition() { return getAttributeValue(AtsAttributeTypes.RelatedPeerWorkflowDefinition, ""); } @Override - public void setRelatedPeerWorkDefinition(String relatedPeerWorkDefinition) { - throw new UnsupportedOperationException("TeamDefinition.setRelatedPeerWorkDefinition not implemented"); - } - - @Override - public void addRule(String rule) { - throw new UnsupportedOperationException("TeamDefinition.addRule not implemented"); - } - - @Override public Collection<String> getRules() { Collection<String> rules = new ArrayList<>(); try { - rules = getArtifact().getAttributeValues(AtsAttributeTypes.RuleDefinition); + rules = services.getAttributeResolver().getAttributeValues(artifact, AtsAttributeTypes.RuleDefinition); } catch (OseeCoreException ex) { getLogger().error(ex, "Error getting rules"); } @@ -384,9 +340,4 @@ public class TeamDefinition extends AtsConfigObject implements IAtsTeamDefinitio return result; } - @Override - public void removeRule(String rule) { - throw new UnsupportedOperationException("TeamDefinition.setActionable not implemented"); - } - } diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/AtsConfigObject.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/AtsConfigObject.java index 0e33ef59813..9062a12bdba 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/AtsConfigObject.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/AtsConfigObject.java @@ -79,10 +79,6 @@ public abstract class AtsConfigObject extends org.eclipse.osee.ats.core.model.im return value; } - public void setActive(boolean active) { - throw new UnsupportedOperationException("TeamDefinition.setActive not implemented yet"); - } - @Override public boolean isActive() { return getAttributeValue(AtsAttributeTypes.Active, false); diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsServerImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsServerImpl.java index d1f3785453c..51e588cdc7a 100644 --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsServerImpl.java +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/AtsServerImpl.java @@ -712,4 +712,9 @@ public class AtsServerImpl extends AtsCoreServiceImpl implements IAtsServer { return atsCache; } + @Override + public Log getLogger() { + return logger; + } + } diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/ConfigItemFactory.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/ConfigItemFactory.java index 3a33a7a7a66..99c203fea1b 100644 --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/ConfigItemFactory.java +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/ConfigItemFactory.java @@ -28,6 +28,7 @@ import org.eclipse.osee.ats.api.version.IAtsVersion; import org.eclipse.osee.ats.core.config.AbstractConfigItemFactory; import org.eclipse.osee.ats.core.config.Country; import org.eclipse.osee.ats.core.config.Program; +import org.eclipse.osee.ats.core.config.TeamDefinition; import org.eclipse.osee.ats.core.insertion.Insertion; import org.eclipse.osee.ats.core.insertion.InsertionActivity; import org.eclipse.osee.ats.core.model.WorkPackage; @@ -35,7 +36,6 @@ import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.rest.IAtsServer; import org.eclipse.osee.ats.rest.internal.util.AtsChangeSet; import org.eclipse.osee.ats.rest.internal.workitem.model.ActionableItem; -import org.eclipse.osee.ats.rest.internal.workitem.model.TeamDefinition; import org.eclipse.osee.ats.rest.internal.workitem.model.Version; import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.IArtifactType; diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/ActionableItem.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/ActionableItem.java index 91af5ad434f..87e96acb83b 100644 --- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/ActionableItem.java +++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/workitem/model/ActionableItem.java @@ -123,11 +123,6 @@ public class ActionableItem extends AtsConfigObject implements IAtsActionableIte } @Override - public void addRule(String rule) { - throw new UnsupportedOperationException("ActionableItem.addRule not implemented"); - } - - @Override public Collection<String> getRules() { Collection<String> rules = new ArrayList<>(); try { @@ -140,19 +135,7 @@ public class ActionableItem extends AtsConfigObject implements IAtsActionableIte @Override public boolean hasRule(String rule) { - boolean result = false; - for (String rule2 : getRules()) { - if (rule.equals(rule2)) { - result = true; - break; - } - } - return result; - } - - @Override - public void removeRule(String rule) { - throw new UnsupportedOperationException("ActionableItem.setActionable not implemented"); + return getRules().contains(rule); } } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigOperation.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigOperation.java index f0c220d64df..85957c39e99 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigOperation.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsConfigOperation.java @@ -19,9 +19,12 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.osee.ats.AtsOpenOption; +import org.eclipse.osee.ats.api.IAtsServices; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactToken; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.version.IAtsVersion; @@ -37,6 +40,7 @@ import org.eclipse.osee.ats.util.AtsUtil; import org.eclipse.osee.ats.workdef.AtsWorkDefinitionSheetProviders; import org.eclipse.osee.ats.workdef.provider.AtsWorkDefinitionImporter; import org.eclipse.osee.framework.core.data.IArtifactToken; +import org.eclipse.osee.framework.core.enums.CoreRelationTypes; import org.eclipse.osee.framework.core.exception.OseeWrappedException; import org.eclipse.osee.framework.core.operation.AbstractOperation; import org.eclipse.osee.framework.core.util.XResultData; @@ -120,7 +124,7 @@ public class AtsConfigOperation extends AbstractOperation { AtsChangeSet changes = new AtsChangeSet("Configure ATS for Default Team"); - teamDefinition = createTeamDefinition(changes); + teamDefinition = createTeamDefinition(changes, AtsClientService.get()); actionableItems = createActionableItems(changes, teamDefinition); @@ -133,19 +137,20 @@ public class AtsConfigOperation extends AbstractOperation { monitor.worked(calculateWork(0.30)); } - private IAtsTeamDefinition createTeamDefinition(IAtsChangeSet changes) throws OseeCoreException { + private IAtsTeamDefinition createTeamDefinition(IAtsChangeSet changes, IAtsServices services) throws OseeCoreException { IAtsTeamDefinition teamDef = null; if (teamDefToken == null) { - teamDef = AtsClientService.get().createTeamDefinition(teamDefName); + teamDef = AtsClientService.get().createTeamDefinition(teamDefName, changes, services); } else { teamDef = AtsClientService.get().createTeamDefinition(teamDefToken.getGuid(), teamDefToken.getName(), - teamDefToken.getUuid()); + teamDefToken.getUuid(), changes, services); } - teamDef.getLeads().add(AtsClientService.get().getUserService().getCurrentUser()); - teamDef.getMembers().add(AtsClientService.get().getUserService().getCurrentUser()); - TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()).getChildrenTeamDefinitions().add( - teamDef); - AtsClientService.get().storeConfigObject(teamDef, changes); + changes.relate(TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()), + AtsRelationTypes.TeamMember_Member, AtsClientService.get().getUserService().getCurrentUser()); + changes.relate(TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()), + AtsRelationTypes.TeamLead_Lead, AtsClientService.get().getUserService().getCurrentUser()); + changes.relate(TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()), + CoreRelationTypes.Default_Hierarchical__Child, teamDef); return teamDef; } @@ -216,8 +221,7 @@ public class AtsConfigOperation extends AbstractOperation { workDef = workDefMatch.getWorkDefinition(); } // Relate new team def to workflow artifact - teamDef.setWorkflowDefinition(workDef.getId()); - AtsClientService.get().storeConfigObject(teamDef, changes); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.WorkflowDefinition, workDef.getId()); return workDef; } 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 c0b148db9c4..42ea81d4b7b 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 @@ -19,6 +19,7 @@ import javax.ws.rs.core.Response; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactToken; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; import org.eclipse.osee.ats.api.util.AtsActivity; import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinitionAdmin; @@ -59,8 +60,9 @@ public class AtsDatabaseConfig implements IDbInitializationTask { Artifact topTeamDefArt = ArtifactQuery.getArtifactFromToken(AtsArtifactToken.TopTeamDefinition, AtsUtilCore.getAtsBranch()); IAtsTeamDefinition teamDef = AtsClientService.get().getConfigObject(topTeamDefArt); - teamDef.setWorkflowDefinition(IAtsWorkDefinitionAdmin.TeamWorkflowDefaultDefinitionId); AtsChangeSet changes = new AtsChangeSet("Set Top Team Work Definition"); + changes.setSoleAttributeValue(teamDef, AtsAttributeTypes.WorkflowDefinition, + IAtsWorkDefinitionAdmin.TeamWorkflowDefaultDefinitionId); AtsClientService.get().storeConfigObject(teamDef, changes); changes.execute(); 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 753e1c761f6..081006cb910 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 @@ -48,7 +48,6 @@ import org.eclipse.osee.ats.operation.MoveTeamWorkflowsBlam; import org.eclipse.osee.ats.search.AtsQuickSearchOperationFactory; import org.eclipse.osee.ats.search.AtsSearchWorkflowSearchItem; import org.eclipse.osee.ats.util.AtsEditor; -import org.eclipse.osee.ats.util.ConvertAIsAndTeamDefinitions; import org.eclipse.osee.ats.util.CreateActionUsingAllActionableItems; import org.eclipse.osee.ats.util.DoesNotWorkItemAts; import org.eclipse.osee.ats.util.Import.ImportActionsViaSpreadsheetBlam; @@ -197,7 +196,6 @@ public final class AtsNavigateViewItems implements XNavigateViewItems, IXNavigat XNavigateItem adminItems = new XNavigateItem(parent, "Admin", PluginUiImage.ADMIN); XNavigateItem dbConvertItems = new XNavigateItem(adminItems, "Database Conversions", PluginUiImage.ADMIN); - new ConvertAIsAndTeamDefinitions(dbConvertItems); new ImportAIsAndTeamDefinitionsItem(dbConvertItems); new ImportWorkDefinitionsItem(dbConvertItems); new XNavigateItemBlam(dbConvertItems, new ConvertWorkflowStatesBlam()); diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAIsAndTeamDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAIsAndTeamDefinitions.java deleted file mode 100644 index 88153c9e4d3..00000000000 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ConvertAIsAndTeamDefinitions.java +++ /dev/null @@ -1,37 +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 org.eclipse.osee.ats.AtsImage; -import org.eclipse.osee.ats.workdef.provider.AtsWorkDefinitionImporter; -import org.eclipse.osee.framework.core.util.XResultData; -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.XResultDataUI; - -/** - * @author Donald G. Dunne - */ -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(false); - AtsWorkDefinitionImporter.get().convertAndOpenAIandTeamAtsDsl(resultData); - XResultDataUI.report(resultData, getName()); - } - -} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/AtsWorkDefinitionImporter.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/AtsWorkDefinitionImporter.java index 6d9998461b8..f2d100dfb0c 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/AtsWorkDefinitionImporter.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/AtsWorkDefinitionImporter.java @@ -11,7 +11,6 @@ package org.eclipse.osee.ats.workdef.provider; import java.io.File; -import java.io.FileOutputStream; import java.util.Set; import java.util.logging.Level; import org.eclipse.core.resources.IFile; @@ -22,7 +21,6 @@ import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; import org.eclipse.osee.ats.core.util.AtsUtilCore; import org.eclipse.osee.ats.core.workdef.WorkDefinitionSheet; -import org.eclipse.osee.ats.dsl.ModelUtil; import org.eclipse.osee.ats.dsl.atsDsl.AtsDsl; import org.eclipse.osee.ats.dsl.atsDsl.StateDef; import org.eclipse.osee.ats.dsl.atsDsl.WorkDef; @@ -49,7 +47,7 @@ import org.eclipse.osee.framework.ui.ws.AWorkspace; /** * Loads Work Definitions from database or file ATS DSL - * + * * @author Donald G. Dunne */ public class AtsWorkDefinitionImporter { @@ -156,24 +154,4 @@ public class AtsWorkDefinitionImporter { } } - public void convertAndOpenAIandTeamAtsDsl(XResultData resultData) throws OseeCoreException { - ConvertAIsAndTeamsToAtsDsl converter = new ConvertAIsAndTeamsToAtsDsl(resultData); - AtsDsl atsDsl = converter.convert("AIsAndTeams"); - String filename = "AIsAndTeams.ats"; - File file = OseeData.getFile("AIsAndTeams.ats"); - try { - FileOutputStream outputStream = new FileOutputStream(file); - ModelUtil.saveModel(atsDsl, "ats:/ats_fileanme" + Lib.getDateTimeString() + ".ats", outputStream); - String contents = Lib.fileToString(file); - - // contents = cleanupContents(atsDsl, null, contents); - - Lib.writeStringToFile(contents, file); - IFile iFile = OseeData.getIFile(filename); - AWorkspace.openEditor(iFile); - } catch (Exception ex) { - throw new OseeWrappedException(ex); - } - } - } diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/ConvertAIsAndTeamsToAtsDsl.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/ConvertAIsAndTeamsToAtsDsl.java deleted file mode 100644 index 242bbc18c01..00000000000 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/provider/ConvertAIsAndTeamsToAtsDsl.java +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 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.workdef.provider; - -import java.util.HashMap; -import java.util.Map; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.dsl.atsDsl.ActionableItemDef; -import org.eclipse.osee.ats.dsl.atsDsl.AtsDsl; -import org.eclipse.osee.ats.dsl.atsDsl.BooleanDef; -import org.eclipse.osee.ats.dsl.atsDsl.TeamDef; -import org.eclipse.osee.ats.dsl.atsDsl.UserByName; -import org.eclipse.osee.ats.dsl.atsDsl.VersionDef; -import org.eclipse.osee.ats.dsl.atsDsl.impl.AtsDslFactoryImpl; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.internal.AtsClientService; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLevel; -import org.eclipse.osee.framework.logging.OseeLog; - -/** - * Take existing AIs, TeamDefs and Versions and create AtsDsl - * - * @author Donald G. Dunne - */ -public class ConvertAIsAndTeamsToAtsDsl { - - private final XResultData resultData; - private AtsDsl atsDsl; - private final Map<String, TeamDef> dslTeamDefs = new HashMap<>(); - private final Map<String, ActionableItemDef> dslAIDefs = new HashMap<>(); - - public ConvertAIsAndTeamsToAtsDsl(XResultData resultData) { - this.resultData = resultData; - } - - public AtsDsl convert(String definitionName) { - resultData.log("Converting AIs and Teams to ATS DSL"); - atsDsl = AtsDslFactoryImpl.init().createAtsDsl(); - - try { - // Add all TeamDef definitions - TeamDef topTeam = - convertTeamDef(TeamDefinitions.getTopTeamDefinition(AtsClientService.get().getQueryService()), null); - atsDsl.getTeamDef().add(topTeam); - - // Add all AI definitions - ActionableItemDef topAi = - convertAIDef(ActionableItems.getTopActionableItem(AtsClientService.get().getQueryService()), null); - atsDsl.getActionableItemDef().add(topAi); - - } catch (OseeCoreException ex) { - resultData.error("Exception: " + ex.getLocalizedMessage()); - OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex); - } - return atsDsl; - } - - private ActionableItemDef convertAIDef(IAtsActionableItem aiArt, ActionableItemDef dslParentAIDef) throws OseeCoreException { - ActionableItemDef dslAIDef = AtsDslFactoryImpl.init().createActionableItemDef(); - if (dslParentAIDef != null) { - dslParentAIDef.getChildren().add(dslAIDef); - } - dslAIDef.setName(aiArt.getName()); - dslAIDefs.put(aiArt.getName(), dslAIDef); - if (aiArt.isActive()) { - dslAIDef.setActive(BooleanDef.TRUE); - } - if (aiArt.isActionable()) { - dslAIDef.setActionable(BooleanDef.TRUE); - } - for (String staticId : aiArt.getStaticIds()) { - dslAIDef.getStaticId().add(staticId); - } - for (IAtsUser user : aiArt.getLeads()) { - dslAIDef.getLead().add(getUserByName(user)); - } - IAtsTeamDefinition teamDef = aiArt.getTeamDefinition(); - if (teamDef != null) { - dslAIDef.setTeamDef(teamDef.getName()); - dslAIDef.getRules().addAll(teamDef.getRules()); - } - - // process children - for (IAtsActionableItem childAiArt : aiArt.getChildrenActionableItems()) { - convertAIDef(childAiArt, dslAIDef); - } - return dslAIDef; - } - - private TeamDef convertTeamDef(IAtsTeamDefinition teamDef, TeamDef dslParentTeamDef) throws OseeCoreException { - TeamDef dslTeamDef = AtsDslFactoryImpl.init().createTeamDef(); - if (dslParentTeamDef != null) { - dslParentTeamDef.getChildren().add(dslTeamDef); - } - - dslTeamDef.setName(teamDef.getName()); - dslTeamDefs.put(teamDef.getName(), dslTeamDef); - if (teamDef.isActive()) { - dslTeamDef.setActive(BooleanDef.TRUE); - } - for (String staticId : teamDef.getStaticIds()) { - dslTeamDef.getStaticId().add(staticId); - } - for (IAtsUser user : teamDef.getLeads()) { - dslTeamDef.getLead().add(getUserByName(user)); - } - for (IAtsUser user : teamDef.getMembers()) { - dslTeamDef.getMember().add(getUserByName(user)); - } - for (IAtsUser user : teamDef.getPrivilegedMembers()) { - dslTeamDef.getPrivileged().add(getUserByName(user)); - } - for (IAtsVersion verArt : teamDef.getVersions()) { - convertVersionArtifact(dslTeamDef, verArt, teamDef); - } - dslTeamDef.getRules().addAll(teamDef.getRules()); - - // process children - for (IAtsTeamDefinition childAiArt : teamDef.getChildrenTeamDefinitions()) { - convertTeamDef(childAiArt, dslTeamDef); - } - return dslTeamDef; - } - - private void convertVersionArtifact(TeamDef dslTeamDef, IAtsVersion verArt, IAtsTeamDefinition teamDef) { - VersionDef dslVerDef = AtsDslFactoryImpl.init().createVersionDef(); - dslVerDef.setName(verArt.getName()); - if (verArt.isNextVersion()) { - dslVerDef.setNext(BooleanDef.TRUE); - } - for (String staticId : teamDef.getStaticIds()) { - dslVerDef.getStaticId().add(staticId); - } - if (verArt.isReleased()) { - dslVerDef.setReleased(BooleanDef.TRUE); - } - if (verArt.isAllowCommitBranchInherited().isTrue()) { - dslVerDef.setAllowCommitBranch(BooleanDef.TRUE); - } - if (verArt.isAllowCreateBranchInherited().isTrue()) { - dslVerDef.setAllowCreateBranch(BooleanDef.TRUE); - } - if (verArt.getBaselineBranchUuid() > 0) { - dslVerDef.setBaselineBranchUuid(String.valueOf(verArt.getBaselineBranchUuid())); - } - dslTeamDef.getVersion().add(dslVerDef); - } - - private UserByName getUserByName(IAtsUser user) { - UserByName userByName = AtsDslFactoryImpl.init().createUserByName(); - userByName.setUserName(user.getName()); - return userByName; - } -} |