Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2011-01-11 19:49:41 +0000
committerRyan D. Brooks2011-01-11 19:49:41 +0000
commitf5afbdab25225f8f5ee3567a2b4bf5323e125378 (patch)
treec2194a2c51798f19751701e3cc8474aecb8992df
parent308170549d4fee6f6da6d8e6879f2cf0dda4d5bb (diff)
downloadorg.eclipse.osee-f5afbdab25225f8f5ee3567a2b4bf5323e125378.tar.gz
org.eclipse.osee-f5afbdab25225f8f5ee3567a2b4bf5323e125378.tar.xz
org.eclipse.osee-f5afbdab25225f8f5ee3567a2b4bf5323e125378.zip
feature: Improve Action import to check and resolve team versions
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
index 8529102eafc..f988df6f4b1 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
@@ -31,6 +31,7 @@ import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.ActionManager;
@@ -38,6 +39,7 @@ import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsNotifyUsers;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeExceptions;
import org.eclipse.osee.framework.core.exception.UserNotInDatabase;
@@ -84,6 +86,7 @@ public class ExcelAtsActionArtifactExtractor {
if (aData.title.equals("")) {
rd.logError("Row " + rowNum + "; Invalid Title");
}
+ Set<TeamDefinitionArtifact> teamDefs = new HashSet<TeamDefinitionArtifact>();
if (aData.actionableItems.isEmpty()) {
rd.logError("Row " + rowNum + ": Must have at least one ActionableItem defined");
} else {
@@ -97,8 +100,7 @@ public class ExcelAtsActionArtifactExtractor {
rd.logError("Row " + rowNum + ": Duplicate actionable items found with name \"" + actionableItemName + "\"");
}
ActionableItemArtifact aia = (ActionableItemArtifact) aias.iterator().next();
- Collection<TeamDefinitionArtifact> teamDefs =
- ActionableItemArtifact.getImpactedTeamDefs(Arrays.asList(aia));
+ teamDefs.addAll(ActionableItemArtifact.getImpactedTeamDefs(Arrays.asList(aia)));
if (teamDefs.size() == 0) {
rd.logError("Row " + rowNum + ": No related Team Definition for Actionable Item\"" + actionableItemName + "\"");
} else if (teamDefs.size() > 1) {
@@ -113,8 +115,15 @@ public class ExcelAtsActionArtifactExtractor {
}
if (!aData.version.equals("")) {
try {
- if (AtsCacheManager.getSoleArtifactByName(AtsArtifactTypes.Version, aData.version) == null) {
- rd.logError("Row " + rowNum + ": Can't find single version \"" + aData.version + "\"");
+ for (TeamDefinitionArtifact teamDef : teamDefs) {
+ if (teamDef.getTeamDefinitionHoldingVersions() == null) {
+ rd.logErrorWithFormat("No Team Definitions Holding Versions found for Team Definition [%s]",
+ teamDef);
+ }
+ if (teamDef.getTeamDefinitionHoldingVersions().getVersionArtifact(aData.version, false) == null) {
+ rd.logErrorWithFormat("No version [%s] configured for Team Definition [%s]", aData.version,
+ teamDef);
+ }
}
} catch (Exception ex) {
rd.logError("Row " + rowNum + " - " + ex.getLocalizedMessage());
@@ -177,9 +186,14 @@ public class ExcelAtsActionArtifactExtractor {
}
}
if (!aData.version.equals("")) {
- Artifact verArt = AtsCacheManager.getSoleArtifactByName(AtsArtifactTypes.Version, aData.version);
-
for (TeamWorkFlowArtifact team : newTeamArts) {
+ VersionArtifact verArt =
+ team.getTeamDefinition().getTeamDefinitionHoldingVersions().getVersionArtifact(aData.version,
+ false);
+ if (verArt == null) {
+ throw new OseeArgumentException("No version [%s] configured for Team Definition [%s]",
+ aData.version, team.getTeamDefinition());
+ }
verArt.addRelation(AtsRelationTypes.TeamWorkflowTargetedForVersion_Workflow, team);
}
}

Back to the top