diff options
author | ddunne | 2008-06-18 19:56:28 +0000 |
---|---|---|
committer | ddunne | 2008-06-18 19:56:28 +0000 |
commit | be20b0a73a70fccdac12efcdf0939676ab66cd14 (patch) | |
tree | 9874bf39516ec9baae92d684c913a65ef2428c15 | |
parent | 9b663c40d34c977a7f0750b156c19a11e65fb446 (diff) | |
download | org.eclipse.osee-be20b0a73a70fccdac12efcdf0939676ab66cd14.tar.gz org.eclipse.osee-be20b0a73a70fccdac12efcdf0939676ab66cd14.tar.xz org.eclipse.osee-be20b0a73a70fccdac12efcdf0939676ab66cd14.zip |
Added AtsCache
19 files changed, 180 insertions, 155 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewAction.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewAction.java index c9e0bdd2a99..18f5f530728 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewAction.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/NewAction.java @@ -10,10 +10,7 @@ *******************************************************************************/ package org.eclipse.osee.ats.actions; -import java.sql.SQLException; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; +import java.util.Arrays; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.Action; import org.eclipse.jface.wizard.WizardDialog; @@ -21,8 +18,7 @@ import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.actions.wizard.NewActionJob; import org.eclipse.osee.ats.actions.wizard.NewActionWizard; import org.eclipse.osee.ats.artifact.ActionableItemArtifact; -import org.eclipse.osee.ats.config.BulkLoadAtsConfigData; -import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; +import org.eclipse.osee.ats.config.BulkLoadAtsCache; import org.eclipse.osee.framework.ui.plugin.util.Result; import org.eclipse.osee.framework.ui.skynet.util.OSEELog; import org.eclipse.ui.PlatformUI; @@ -54,11 +50,11 @@ public class NewAction extends Action { @Override public void run() { super.run(); - BulkLoadAtsConfigData.run(true); + BulkLoadAtsCache.run(true); NewActionWizard wizard = new NewActionWizard(); try { if (actionableItem != null) { - wizard.setInitialAias(getTeamActionableItems()); + wizard.setInitialAias(ActionableItemArtifact.getActionableItems(Arrays.asList(actionableItem))); } if (initialDescription != null) { wizard.setInitialDescription(initialDescription); @@ -86,14 +82,6 @@ public class NewAction extends Action { } } - private Collection<ActionableItemArtifact> getTeamActionableItems()throws OseeCoreException, SQLException{ - Set<ActionableItemArtifact> ais = new HashSet<ActionableItemArtifact>(); - if (actionableItem != null) { - ais.add(ActionableItemArtifact.getSoleActionableItem(actionableItem)); - } - return ais; - } - /** * @return the initialDescription */ diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java index 774879a86f6..5a64fa6f369 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionableItemArtifact.java @@ -15,8 +15,9 @@ import java.sql.SQLException; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; +import java.util.List; import java.util.Set; -import org.eclipse.osee.ats.AtsPlugin; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsLib; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.framework.skynet.core.User; @@ -27,8 +28,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Branch; import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.StaticIdQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ActiveArtifactTypeSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; import org.eclipse.osee.framework.skynet.core.utility.Artifacts; @@ -53,9 +52,8 @@ public class ActionableItemArtifact extends Artifact { super(parentFactory, guid, humanReadableId, branch, artifactType); } - public static Set<ActionableItemArtifact> getActionableItems(Active active) throws OseeCoreException { - return ActiveArtifactTypeSearch.getArtifacts(ARTIFACT_NAME, active, BranchPersistenceManager.getAtsBranch(), - ActionableItemArtifact.class); + public static List<ActionableItemArtifact> getActionableItems(Active active) throws OseeCoreException { + return AtsCache.getArtifactsByActive(active, ActionableItemArtifact.class); } public static String getNotActionableItemError(ActionableItemArtifact aia) { @@ -78,9 +76,8 @@ public class ActionableItemArtifact extends Artifact { ActionableItemArtifact.ARTIFACT_NAME, TOP_AI_STATIC_ID, BranchPersistenceManager.getAtsBranch()); } - public static Set<ActionableItemArtifact> getActionableItems() throws OseeCoreException { - return ActiveArtifactTypeSearch.getArtifacts(ARTIFACT_NAME, Active.Active, - BranchPersistenceManager.getAtsBranch(), ActionableItemArtifact.class); + public static List<ActionableItemArtifact> getActionableItems() throws OseeCoreException { + return AtsCache.getArtifactsByActive(Active.Both, ActionableItemArtifact.class); } public boolean isActionable() throws IllegalStateException, SQLException, MultipleAttributesExist { @@ -90,23 +87,11 @@ public class ActionableItemArtifact extends Artifact { public static Set<ActionableItemArtifact> getActionableItems(Collection<String> actionableItemNames) throws OseeCoreException, SQLException { Set<ActionableItemArtifact> aias = new HashSet<ActionableItemArtifact>(); for (String actionableItemName : actionableItemNames) { - aias.add(getSoleActionableItem(actionableItemName)); + aias.addAll(AtsCache.getArtifactsByName(actionableItemName, ActionableItemArtifact.class)); } return aias; } - /** - * Refrain from using this method as Actionable Items names can be changed by the user. - * - * @param name - * @return - * @throws SQLException - */ - public static ActionableItemArtifact getSoleActionableItem(String name) throws OseeCoreException, SQLException { - return (ActionableItemArtifact) ArtifactQuery.getArtifactFromTypeAndName(ARTIFACT_NAME, name, - AtsPlugin.getAtsBranch()); - } - public static Collection<TeamDefinitionArtifact> getImpactedTeamDefs(Collection<ActionableItemArtifact> aias) throws OseeCoreException, SQLException { return TeamDefinitionArtifact.getImpactedTeamDefs(aias); } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java index dbcb6ad58a2..7735d6b7851 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamDefinitionArtifact.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Set; import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.VersionArtifact.VersionReleaseType; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.config.AtsConfig; import org.eclipse.osee.ats.util.AtsLib; import org.eclipse.osee.ats.util.AtsRelation; @@ -34,8 +35,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Branch; import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.StaticIdQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ActiveArtifactTypeSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.AttributeDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.BranchDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; @@ -108,13 +107,10 @@ public class TeamDefinitionArtifact extends BasicArtifact { } tda.persistAttributesAndRelations(); + AtsCache.cache(tda); return tda; } - public static TeamDefinitionArtifact getOrCreateTeamsDefinitionArtifact() throws OseeCoreException, SQLException { - return AtsConfig.getInstance().getOrCreateTeamsDefinitionArtifact(); - } - /** * 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 @@ -162,9 +158,8 @@ public class TeamDefinitionArtifact extends BasicArtifact { return teamDef.getVersionsArtifacts(releaseType); } - public static Set<TeamDefinitionArtifact> getTeamDefinitions(Active active) throws OseeCoreException { - return ActiveArtifactTypeSearch.getArtifacts(ARTIFACT_NAME, active, BranchPersistenceManager.getAtsBranch(), - TeamDefinitionArtifact.class); + public static List<TeamDefinitionArtifact> getTeamDefinitions(Active active) throws OseeCoreException { + return AtsCache.getArtifactsByActive(active, TeamDefinitionArtifact.class); } public static Set<TeamDefinitionArtifact> getTeamTopLevelDefinitions(Active active) throws SQLException, OseeCoreException { @@ -181,10 +176,10 @@ public class TeamDefinitionArtifact extends BasicArtifact { public static Set<TeamDefinitionArtifact> getTeamReleaseableDefinitions(Active active) throws OseeCoreException, SQLException { Set<TeamDefinitionArtifact> teamDefs = new HashSet<TeamDefinitionArtifact>(); - for (TeamDefinitionArtifact teamDef : ActiveArtifactTypeSearch.getArtifacts(ARTIFACT_NAME, active, - BranchPersistenceManager.getAtsBranch(), TeamDefinitionArtifact.class)) { - if (teamDef.getVersionsArtifacts().size() > 0 && teamDef.getSoleAttributeValue( - ATSAttributes.ACTIVE_ATTRIBUTE.getStoreName(), false)) teamDefs.add(teamDef); + for (TeamDefinitionArtifact teamDef : getTeamDefinitions(active)) { + if (teamDef.getSoleAttributeValue(ATSAttributes.ACTIVE_ATTRIBUTE.getStoreName(), false) && teamDef.getVersionsArtifacts().size() > 0) { + teamDefs.add(teamDef); + } } return teamDefs; } @@ -237,11 +232,6 @@ public class TeamDefinitionArtifact extends BasicArtifact { } } - public static TeamDefinitionArtifact getHeadTeamDefinition() throws OseeCoreException, SQLException { - return (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName(TeamDefinitionArtifact.ARTIFACT_NAME, - AtsConfig.TEAMS_HEADING, AtsPlugin.getAtsBranch()); - } - public double getManDayHrsFromItemAndChildren() throws SQLException { return getManDayHrsFromItemAndChildren(this); } @@ -338,6 +328,7 @@ public class TeamDefinitionArtifact extends BasicArtifact { BranchPersistenceManager.getAtsBranch(), name); versionArt.addRelation(AtsRelation.TeamDefinitionToVersion_Version, versionArt); versionArt.persistAttributesAndRelations(); + AtsCache.cache(versionArt); return versionArt; } catch (SQLException ex) { throw new OseeDataStoreException(ex); @@ -396,21 +387,9 @@ public class TeamDefinitionArtifact extends BasicArtifact { public static Set<TeamDefinitionArtifact> getTeamDefinitions(Collection<String> teamDefNames) throws OseeCoreException, SQLException { Set<TeamDefinitionArtifact> teamDefs = new HashSet<TeamDefinitionArtifact>(); for (String teamDefName : teamDefNames) { - teamDefs.add(getSoleTeamDefinition(teamDefName)); + teamDefs.addAll(AtsCache.getArtifactsByName(teamDefName, TeamDefinitionArtifact.class)); } return teamDefs; } - /** - * Refrain from using this method as Team Definition names can be changed by the user. - * - * @param name - * @return - * @throws SQLException - */ - public static TeamDefinitionArtifact getSoleTeamDefinition(String name) throws OseeCoreException, SQLException { - return (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName(ARTIFACT_NAME, name, - AtsPlugin.getAtsBranch()); - } - } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java index 20f049afe4d..dedafcffa6a 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/VersionArtifact.java @@ -15,14 +15,13 @@ import java.util.Collection; import java.util.Date; import java.util.HashSet; import java.util.Set; -import org.eclipse.osee.ats.AtsPlugin; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactType; import org.eclipse.osee.framework.skynet.core.artifact.BasicArtifact; import org.eclipse.osee.framework.skynet.core.artifact.Branch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.ArtifactDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; @@ -119,7 +118,7 @@ public class VersionArtifact extends BasicArtifact { return getSoleAttributeValue(ATSAttributes.RELEASE_DATE_ATTRIBUTE.getStoreName(), null); } - public static Set<VersionArtifact> getVersions(Collection<String> teamDefNames)throws OseeCoreException, SQLException{ + public static Set<VersionArtifact> getVersions(Collection<String> teamDefNames) throws OseeCoreException, SQLException { Set<VersionArtifact> teamDefs = new HashSet<VersionArtifact>(); for (String teamDefName : teamDefNames) { teamDefs.add(getSoleVersion(teamDefName)); @@ -134,8 +133,7 @@ public class VersionArtifact extends BasicArtifact { * @return * @throws SQLException */ - public static VersionArtifact getSoleVersion(String name)throws OseeCoreException, SQLException{ - return (VersionArtifact) ArtifactQuery.getArtifactFromTypeAndName(ARTIFACT_NAME, name, AtsPlugin.getAtsBranch()); + public static VersionArtifact getSoleVersion(String name) throws OseeCoreException, SQLException { + return (VersionArtifact) AtsCache.getArtifactsByName(name, VersionArtifact.class); } - } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsCache.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsCache.java new file mode 100644 index 00000000000..ec24c1f38fa --- /dev/null +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/AtsCache.java @@ -0,0 +1,83 @@ +/*******************************************************************************
+ * 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.config;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
+import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
+import org.eclipse.osee.ats.artifact.VersionArtifact;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.search.Active;
+import org.eclipse.osee.framework.skynet.core.exception.ArtifactDoesNotExist;
+import org.eclipse.osee.framework.skynet.core.exception.MultipleArtifactsExist;
+import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException;
+
+/**
+ * Common cache storage for ATS configuration artifacts:<br>
+ * TeamDefinitionArtifact<br>
+ * VersionArtifact<br>
+ * ActionableItemArtifact<br>
+ * All other artifact types will silently not cached
+ *
+ * @author Donald G. Dunne
+ */
+public class AtsCache {
+
+ private final Set<Artifact> cache = new HashSet<Artifact>();
+ private static final AtsCache instance = new AtsCache();
+ private static List<String> cacheTypes =
+ Arrays.asList(ActionableItemArtifact.ARTIFACT_NAME, TeamDefinitionArtifact.ARTIFACT_NAME,
+ VersionArtifact.ARTIFACT_NAME);
+
+ public static void cache(Artifact artifact) throws OseeCoreException {
+ if (cacheTypes.contains(artifact.getArtifactTypeName())) instance.cache.add(artifact);
+ }
+
+ public static void deCache(Artifact artifact) {
+ instance.cache.remove(artifact);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <A> List<A> getArtifactsByActive(Active active, Class<A> clazz) {
+ BulkLoadAtsCache.run(true);
+ List<A> arts = new ArrayList<A>();
+ for (Artifact art : instance.cache) {
+ if (!art.isDeleted() && art.getClass().isInstance(clazz)) {
+ arts.add((A) art);
+ }
+ }
+ return arts;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <A> List<A> getArtifactsByName(String name, Class<A> clazz) {
+ BulkLoadAtsCache.run(true);
+ List<A> arts = new ArrayList<A>();
+ for (Artifact art : instance.cache) {
+ if (!art.isDeleted() && art.getClass().isInstance(clazz) && art.getDescriptiveName().equals(name)) {
+ arts.add((A) art);
+ }
+ }
+ return arts;
+ }
+
+ public static <A> A getSoleArtifactByName(String name, Class<A> clazz) throws MultipleArtifactsExist, ArtifactDoesNotExist {
+ List<A> arts = getArtifactsByName(name, clazz);
+ if (arts.size() == 1) {
+ return (A) arts.iterator().next();
+ }
+ return null;
+ }
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/BulkLoadAtsConfigData.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/BulkLoadAtsCache.java index 2ded9598d50..ef480abcc74 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/BulkLoadAtsConfigData.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/config/BulkLoadAtsCache.java @@ -12,6 +12,7 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.ats.artifact.VersionArtifact;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
import org.eclipse.osee.framework.skynet.core.relation.CoreRelationEnumeration;
import org.eclipse.osee.framework.skynet.core.relation.RelationManager;
@@ -20,9 +21,9 @@ import org.eclipse.osee.framework.ui.skynet.util.OSEELog; /**
* @author Donald G. Dunne
*/
-public class BulkLoadAtsConfigData extends org.eclipse.core.runtime.jobs.Job {
+public class BulkLoadAtsCache extends org.eclipse.core.runtime.jobs.Job {
- private BulkLoadAtsConfigData() {
+ private BulkLoadAtsCache() {
super("Bulk Loading ATS Config Artifacts");
}
@@ -31,7 +32,7 @@ public class BulkLoadAtsConfigData extends org.eclipse.core.runtime.jobs.Job { public static void run(boolean forcePend) {
if (atsTypeDataLoaded) return;
atsTypeDataLoaded = true;
- BulkLoadAtsConfigData job = new BulkLoadAtsConfigData();
+ BulkLoadAtsCache job = new BulkLoadAtsCache();
job.setPriority(Job.SHORT);
job.setSystem(true);
job.schedule();
@@ -49,14 +50,19 @@ public class BulkLoadAtsConfigData extends org.eclipse.core.runtime.jobs.Job { protected IStatus run(IProgressMonitor monitor) {
OSEELog.logInfo(AtsPlugin.class, getName(), false);
try {
- RelationManager.getRelatedArtifacts(Arrays.asList(AtsConfig.getInstance().getOrCreateAtsHeadingArtifact()), 6,
- CoreRelationEnumeration.DEFAULT_HIERARCHICAL__CHILD);
- ArtifactQuery.getArtifactsFromType(VersionArtifact.ARTIFACT_NAME, AtsPlugin.getAtsBranch());
+ for (Artifact artifact : RelationManager.getRelatedArtifacts(
+ Arrays.asList(AtsConfig.getInstance().getOrCreateAtsHeadingArtifact()), 6,
+ CoreRelationEnumeration.DEFAULT_HIERARCHICAL__CHILD)) {
+ AtsCache.cache(artifact);
+ }
+ for (Artifact artifact : ArtifactQuery.getArtifactsFromType(VersionArtifact.ARTIFACT_NAME,
+ AtsPlugin.getAtsBranch())) {
+ AtsCache.cache(artifact);
+ }
} catch (Exception ex) {
OSEELog.logException(AtsPlugin.class, ex, false);
}
monitor.done();
return Status.OK_STATUS;
}
-
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperView.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperView.java index c162da7d2d2..b6ab016ea0c 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperView.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperView.java @@ -20,7 +20,7 @@ import org.eclipse.osee.ats.artifact.ReviewSMArtifact; import org.eclipse.osee.ats.artifact.StateMachineArtifact; import org.eclipse.osee.ats.artifact.TaskArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.config.BulkLoadAtsConfigData; +import org.eclipse.osee.ats.config.BulkLoadAtsCache; import org.eclipse.osee.ats.editor.SMAEditor; import org.eclipse.osee.ats.util.AtsLib; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -77,7 +77,7 @@ public class ActionHyperView extends HyperView implements IPartListener, IAction PlatformUI.getWorkbench().getActiveWorkbenchWindow().removePerspectiveListener(this); return; } - BulkLoadAtsConfigData.run(false); + BulkLoadAtsCache.run(false); super.createPartControl(top); OseeAts.addBugToViewToolbar(this, this, AtsPlugin.getInstance(), VIEW_ID, "SkyWalker"); AtsPlugin.getInstance().setHelp(top, HELP_CONTEXT_ID); diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/FirstTimeQualityMetricReportItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/FirstTimeQualityMetricReportItem.java index 411325c3858..2d8e9d25745 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/FirstTimeQualityMetricReportItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/FirstTimeQualityMetricReportItem.java @@ -21,6 +21,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsLib; import org.eclipse.osee.ats.util.VersionMetrics; import org.eclipse.osee.ats.util.VersionTeamMetrics; @@ -28,7 +29,6 @@ import org.eclipse.osee.ats.util.AtsPriority.PriorityType; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.jdk.core.util.AHTML; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; import org.eclipse.osee.framework.ui.skynet.util.ChangeType; @@ -68,14 +68,11 @@ public class FirstTimeQualityMetricReportItem extends XNavigateItemAction { } @Override - public void run(TableLoadOption... tableLoadOptions)throws OseeCoreException, SQLException{ + public void run(TableLoadOption... tableLoadOptions) throws OseeCoreException, SQLException { if (!MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), getName(), getName())) return; TeamDefinitionArtifact useTeamDef = teamDef; if (useTeamDef == null && teamDefName != null) { - useTeamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName(TeamDefinitionArtifact.ARTIFACT_NAME, - teamDefName, AtsPlugin.getAtsBranch()); - + useTeamDef = AtsCache.getSoleArtifactByName(teamDefName, TeamDefinitionArtifact.class); } if (useTeamDef == null) { TeamDefinitionDialog ld = new TeamDefinitionDialog("Select Team", "Select Team"); @@ -135,7 +132,7 @@ public class FirstTimeQualityMetricReportItem extends XNavigateItemAction { * @return * @throws SQLException */ - public static String getTeamWorkflowReport(TeamDefinitionArtifact teamDef, IProgressMonitor monitor)throws OseeCoreException, SQLException{ + public static String getTeamWorkflowReport(TeamDefinitionArtifact teamDef, IProgressMonitor monitor) throws OseeCoreException, SQLException { StringBuilder sb = new StringBuilder(); sb.append(AHTML.beginMultiColumnTable(100, 1)); sb.append(AHTML.addHeaderRowMultiColumnTable(new String[] {"Version", "StartDate", "RelDate", diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateFullVersionReportItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateFullVersionReportItem.java index 59a6004a1bf..5aec4aad723 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateFullVersionReportItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/GenerateFullVersionReportItem.java @@ -19,10 +19,10 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.VersionReportJob; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.ArtifactDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; @@ -62,7 +62,7 @@ public class GenerateFullVersionReportItem extends XNavigateItemAction { } @Override - public void run(TableLoadOption... tableLoadOptions)throws OseeCoreException, SQLException{ + public void run(TableLoadOption... tableLoadOptions) throws OseeCoreException, SQLException { TeamDefinitionArtifact teamDef = getTeamDefinition(); if (teamDef == null) return; if (!MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), getName(), getName())) return; @@ -72,13 +72,11 @@ public class GenerateFullVersionReportItem extends XNavigateItemAction { job.schedule(); } - public TeamDefinitionArtifact getTeamDefinition()throws OseeCoreException, SQLException{ + public TeamDefinitionArtifact getTeamDefinition() throws OseeCoreException, SQLException { if (teamDef != null) return teamDef; if (teamDefName != null && !teamDefName.equals("")) { try { - TeamDefinitionArtifact teamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName( - TeamDefinitionArtifact.ARTIFACT_NAME, teamDefName, AtsPlugin.getAtsBranch()); + TeamDefinitionArtifact teamDef = AtsCache.getSoleArtifactByName(teamDefName, TeamDefinitionArtifact.class); if (teamDef != null) return teamDef; } catch (ArtifactDoesNotExist ex) { // do nothing, going to get team below diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/MassEditTeamVersionItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/MassEditTeamVersionItem.java index c26ec3f4690..d494f714667 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/MassEditTeamVersionItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/MassEditTeamVersionItem.java @@ -14,9 +14,9 @@ package org.eclipse.osee.ats.navigate; import java.sql.SQLException; import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.ArtifactDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.MultipleAttributesExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; @@ -61,14 +61,12 @@ public class MassEditTeamVersionItem extends XNavigateItemAction { this.teamDefName = null; } - private TeamDefinitionArtifact getTeamDefinition()throws OseeCoreException, SQLException{ + private TeamDefinitionArtifact getTeamDefinition() throws OseeCoreException, SQLException { if (selectedTeamDef != null) return selectedTeamDef; if (teamDef != null) return teamDef; if (teamDefName != null && !teamDefName.equals("")) { try { - TeamDefinitionArtifact teamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName( - TeamDefinitionArtifact.ARTIFACT_NAME, teamDefName, AtsPlugin.getAtsBranch()); + TeamDefinitionArtifact teamDef = AtsCache.getSoleArtifactByName(teamDefName, TeamDefinitionArtifact.class); if (teamDef != null) return teamDef; } catch (ArtifactDoesNotExist ex) { // do nothing, going to get team below diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java index e0afbda0403..e39edbf49a0 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/NavigateView.java @@ -22,7 +22,7 @@ import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.actions.NewAction; import org.eclipse.osee.ats.artifact.ActionArtifact; import org.eclipse.osee.ats.artifact.StateMachineArtifact; -import org.eclipse.osee.ats.config.BulkLoadAtsConfigData; +import org.eclipse.osee.ats.config.BulkLoadAtsCache; import org.eclipse.osee.ats.world.WorldView; import org.eclipse.osee.ats.world.search.MultipleHridSearchItem; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -69,7 +69,7 @@ public class NavigateView extends ViewPart implements IActionable { public void createPartControl(Composite parent) { debug.report("createPartControl"); - BulkLoadAtsConfigData.run(false); + BulkLoadAtsCache.run(false); if (!DbConnectionExceptionComposite.dbConnectionIsOk(parent)) return; SkynetContributionItem.addTo(this, false); diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/PublishFullVersionReportItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/PublishFullVersionReportItem.java index 6dda029cfdb..78429678f5e 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/PublishFullVersionReportItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/navigate/PublishFullVersionReportItem.java @@ -18,11 +18,11 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.VersionReportJob; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionDialog; import org.eclipse.osee.framework.jdk.core.util.AFile; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.ArtifactDoesNotExist; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; @@ -62,7 +62,7 @@ public class PublishFullVersionReportItem extends XNavigateItemAction { } @Override - public void run(TableLoadOption... tableLoadOptions)throws OseeCoreException, SQLException{ + public void run(TableLoadOption... tableLoadOptions) throws OseeCoreException, SQLException { String usePublishToFilename = publishToFilename; if (usePublishToFilename == null) { final FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell().getShell(), SWT.SAVE); @@ -73,9 +73,7 @@ public class PublishFullVersionReportItem extends XNavigateItemAction { TeamDefinitionArtifact useTeamDef = teamDef; if (useTeamDef == null && teamDefName != null) { try { - useTeamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName( - TeamDefinitionArtifact.ARTIFACT_NAME, teamDefName, AtsPlugin.getAtsBranch()); + useTeamDef = AtsCache.getSoleArtifactByName(teamDefName, TeamDefinitionArtifact.class); } catch (ArtifactDoesNotExist ex) { // do nothing, going to get team below } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsLib.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsLib.java index 482420a7073..229723bd911 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsLib.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsLib.java @@ -21,11 +21,12 @@ import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.actions.NewAction; import org.eclipse.osee.ats.artifact.ATSAttributes; import org.eclipse.osee.ats.artifact.ActionArtifact; -import org.eclipse.osee.ats.artifact.ActionableItemArtifact; import org.eclipse.osee.ats.artifact.StateMachineArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; import org.eclipse.osee.ats.artifact.TeamWorkflowLabelProvider; -import org.eclipse.osee.ats.config.BulkLoadAtsConfigData; +import org.eclipse.osee.ats.artifact.VersionArtifact; +import org.eclipse.osee.ats.config.AtsCache; +import org.eclipse.osee.ats.config.BulkLoadAtsCache; import org.eclipse.osee.ats.editor.SMAEditor; import org.eclipse.osee.ats.world.WorldView; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; @@ -104,13 +105,13 @@ public class AtsLib implements IAtsLib { return String.format("%5.2f", d); } - public static void editActionActionableItems(ActionArtifact actionArt)throws OseeCoreException, SQLException{ + public static void editActionActionableItems(ActionArtifact actionArt) throws OseeCoreException, SQLException { Result result = actionArt.addActionableItems(); if (result.isFalse() && result.getText().equals("")) return; if (result.isFalse()) result.popup(result.isTrue()); } - public static void editTeamActionableItems(TeamWorkFlowArtifact teamArt)throws OseeCoreException, SQLException{ + public static void editTeamActionableItems(TeamWorkFlowArtifact teamArt) throws OseeCoreException, SQLException { Result result = teamArt.addActionableItems(); if (result.isFalse() && result.getText().equals("")) return; if (result.isFalse() && !result.getText().equals("")) result.popup(result.isTrue()); @@ -136,7 +137,7 @@ public class AtsLib implements IAtsLib { * @param guid */ public void openArtifact(String guid, OseeAts.OpenView view) { - BulkLoadAtsConfigData.run(false); + BulkLoadAtsCache.run(false); Artifact artifact = null; try { artifact = ArtifactQuery.getArtifactFromId(guid, BranchPersistenceManager.getAtsBranch()); @@ -161,22 +162,21 @@ public class AtsLib implements IAtsLib { (new AtsLib()).createATSAction(initialDescription, actionableItem); } - public void createATSAction(String initialDescription, String actionableItem) { + public void createATSAction(String initialDescription, String actionableItemName) { // Ensure actionable item is configured for ATS before continuing try { - ArtifactQuery.getArtifactFromTypeAndName(ActionableItemArtifact.ARTIFACT_NAME, actionableItem, - AtsPlugin.getAtsBranch()); + AtsCache.getSoleArtifactByName(actionableItemName, VersionArtifact.class); } catch (ArtifactDoesNotExist ex) { AWorkbench.popup( "Configuration Error", - "Actionable Item \"" + actionableItem + "\" is not configured for ATS tracking.\n\nAction can not be created."); + "Actionable Item \"" + actionableItemName + "\" is not configured for ATS tracking.\n\nAction can not be created."); return; } catch (Exception ex) { OSEELog.logException(AtsPlugin.class, ex, true); return; } - NewAction newAction = new NewAction(actionableItem); + NewAction newAction = new NewAction(actionableItemName); newAction.setInitialDescription(initialDescription); newAction.run(); diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java index 1ae89e8c277..1cc7c2562a6 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java @@ -23,6 +23,7 @@ import org.eclipse.osee.ats.artifact.ActionArtifact; import org.eclipse.osee.ats.artifact.ActionableItemArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; import org.eclipse.osee.ats.artifact.VersionArtifact; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsNotifyUsers; import org.eclipse.osee.ats.util.AtsPriority; import org.eclipse.osee.ats.util.AtsRelation; @@ -31,7 +32,6 @@ import org.eclipse.osee.framework.jdk.core.util.io.xml.RowProcessor; import org.eclipse.osee.framework.skynet.core.SkynetAuthentication; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.artifact.Branch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.exception.OseeCoreException; import org.eclipse.osee.framework.ui.skynet.Import.AbstractArtifactExtractor; import org.eclipse.osee.framework.ui.skynet.util.ChangeType; @@ -152,11 +152,10 @@ public class ExcelAtsActionArtifactExtractor extends AbstractArtifactExtractor i if (aData.actionableItems.size() == 0) rd.logError("Row " + rowNum + ": Must have at least one ActionableItem defined"); else { - for (String ai : aData.actionableItems) { + for (String actionableItemName : aData.actionableItems) { try { - ActionableItemArtifact aia = ActionableItemArtifact.getSoleActionableItem(ai); - if (aia == null) { - rd.logError("Row " + rowNum + ": Couldn't find actionable item for \"" + ai + "\""); + if (AtsCache.getArtifactsByName(actionableItemName, ActionableItemArtifact.class).size() > 0) { + rd.logError("Row " + rowNum + ": Couldn't find actionable item for \"" + actionableItemName + "\""); } } catch (Exception ex) { rd.logError("Row " + rowNum + " - " + ex.getLocalizedMessage()); @@ -166,8 +165,9 @@ public class ExcelAtsActionArtifactExtractor extends AbstractArtifactExtractor i } if (!aData.version.equals("")) { try { - if (ArtifactQuery.getArtifactFromTypeAndName(VersionArtifact.ARTIFACT_NAME, aData.version, - AtsPlugin.getAtsBranch()) == null) rd.logError("Row " + rowNum + ": Can't find single version \"" + aData.version + "\""); + if (AtsCache.getSoleArtifactByName(aData.version, VersionArtifact.class) == null) { + rd.logError("Row " + rowNum + ": Can't find single version \"" + aData.version + "\""); + } } catch (Exception ex) { rd.logError("Row " + rowNum + " - " + ex.getLocalizedMessage()); OSEELog.logException(AtsPlugin.class, ex, false); @@ -204,12 +204,10 @@ public class ExcelAtsActionArtifactExtractor extends AbstractArtifactExtractor i ActionableItemArtifact.getActionableItems(aData.actionableItems)); actionArts.add(actionArt); if (!aData.version.equals("")) { - VersionArtifact verArt = - (VersionArtifact) ArtifactQuery.getArtifactFromTypeAndName(VersionArtifact.ARTIFACT_NAME, - aData.version, AtsPlugin.getAtsBranch()); + VersionArtifact verArt = AtsCache.getSoleArtifactByName(aData.version, VersionArtifact.class); for (TeamWorkFlowArtifact team : actionArt.getTeamWorkFlowArtifacts()) - verArt.relate(AtsRelation.TeamWorkflowTargetedForVersion_Workflow, team, true); + verArt.addRelation(AtsRelation.TeamWorkflowTargetedForVersion_Workflow, team); } if (aData.assigneeStrs.size() > 0) { for (TeamWorkFlowArtifact team : actionArt.getTeamWorkFlowArtifacts()) { diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldView.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldView.java index ead722701eb..c505dc39bb6 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldView.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldView.java @@ -40,7 +40,7 @@ import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.actions.NewAction; import org.eclipse.osee.ats.artifact.ActionArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.config.BulkLoadAtsConfigData; +import org.eclipse.osee.ats.config.BulkLoadAtsCache; import org.eclipse.osee.ats.navigate.AtsNavigateViewItems; import org.eclipse.osee.ats.util.SMAMetrics; import org.eclipse.osee.ats.world.search.WorldSearchItem; @@ -205,7 +205,7 @@ public class WorldView extends ViewPart implements IEventReceiver, IPartListener debug.report("createPartControl"); if (!DbConnectionExceptionComposite.dbConnectionIsOk(parent)) return; - BulkLoadAtsConfigData.run(false); + BulkLoadAtsCache.run(false); GridLayout layout = new GridLayout(); layout.numColumns = 1; diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java index 72f19413bd2..443f0430c58 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/ActionableItemWorldSearchItem.java @@ -17,13 +17,12 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; -import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.ATSAttributes; import org.eclipse.osee.ats.artifact.ActionableItemArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.ats.util.widgets.dialog.ActionActionableItemListDialog; -import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.search.AbstractArtifactSearchCriteria; @@ -83,9 +82,12 @@ public class ActionableItemWorldSearchItem extends WorldSearchItem { public void getActionableItems() throws OseeCoreException, SQLException { if (actionItemNames != null && actionItems == null) { - actionItems = - Collections.castAll(ArtifactQuery.getArtifactsFromTypeAndAttribute(ActionableItemArtifact.ARTIFACT_NAME, - "Name", actionItemNames, AtsPlugin.getAtsBranch(), 200)); + for (String actionItemName : actionItemNames) { + ActionableItemArtifact aia = AtsCache.getSoleArtifactByName(actionItemName, ActionableItemArtifact.class); + if (aia != null) { + actionItems.add(aia); + } + } } } diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamVersionWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamVersionWorldSearchItem.java index 1b3024930e8..c148764afcd 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamVersionWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamVersionWorldSearchItem.java @@ -19,17 +19,16 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; -import org.eclipse.osee.ats.AtsPlugin; 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.AtsCache; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionTreeByVersionDialog; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactIdSearch; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.DepricatedOperator; import org.eclipse.osee.framework.skynet.core.artifact.search.FromArtifactsSearch; import org.eclipse.osee.framework.skynet.core.artifact.search.ISearchPrimitive; @@ -81,10 +80,7 @@ public class TeamVersionWorldSearchItem extends WorldSearchItem { if (teamDefs == null) { teamDefs = new HashSet<TeamDefinitionArtifact>(); for (String name : teamDefNames) { - TeamDefinitionArtifact teamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName( - TeamDefinitionArtifact.ARTIFACT_NAME, name, AtsPlugin.getAtsBranch()); - teamDefs.add(teamDef); + teamDefs.add(AtsCache.getSoleArtifactByName(name, TeamDefinitionArtifact.class)); } } if (teamDefs == null) throw new IllegalArgumentException("Can't Find ProductDefinitionArtifact for " + getName()); diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java index 38249ba1b37..4a6a4032596 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/TeamWorldSearchItem.java @@ -18,13 +18,12 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; -import org.eclipse.osee.ats.AtsPlugin; import org.eclipse.osee.ats.artifact.ATSAttributes; import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionTreeDialog; -import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.search.AbstractArtifactSearchCriteria; @@ -102,9 +101,12 @@ public class TeamWorldSearchItem extends WorldSearchItem { */ public void getTeamDefs() throws OseeCoreException, SQLException { if (teamDefNames != null && teamDefs == null) { - teamDefs = - Collections.castAll(ArtifactQuery.getArtifactsFromTypeAndAttribute(TeamDefinitionArtifact.ARTIFACT_NAME, - "Name", teamDefNames, AtsPlugin.getAtsBranch(), 200)); + for (String teamDefName : teamDefNames) { + TeamDefinitionArtifact aia = AtsCache.getSoleArtifactByName(teamDefName, TeamDefinitionArtifact.class); + if (aia != null) { + teamDefs.add(aia); + } + } } } @@ -136,7 +138,7 @@ public class TeamWorldSearchItem extends WorldSearchItem { criteria.add(new AttributeCriteria(ATSAttributes.TEAM_DEFINITION_GUID_ATTRIBUTE.getStoreName(), teamDefinitionGuids)); - if (!showFinished) { + if (!selectedShowFinished) { List<String> cancelOrComplete = new ArrayList<String>(2); cancelOrComplete.add(DefaultTeamState.Cancelled.name() + ";;;"); cancelOrComplete.add(DefaultTeamState.Completed.name() + ";;;"); @@ -150,7 +152,7 @@ public class TeamWorldSearchItem extends WorldSearchItem { List<Artifact> artifacts = ArtifactQuery.getArtifactsFromCriteria(BranchPersistenceManager.getAtsBranch(), 1000, criteria); - if (showAction) { + if (selectedShowAction) { return RelationManager.getRelatedArtifacts(artifacts, 1, AtsRelation.ActionToWorkflow_Action); } else { return artifacts; diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UnReleasedTeamWorldSearchItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UnReleasedTeamWorldSearchItem.java index 33a9e500ec2..efb520d2e7a 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UnReleasedTeamWorldSearchItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/search/UnReleasedTeamWorldSearchItem.java @@ -25,13 +25,13 @@ import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact; import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions; import org.eclipse.osee.ats.artifact.VersionArtifact; import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact.DefaultTeamState; +import org.eclipse.osee.ats.config.AtsCache; import org.eclipse.osee.ats.util.AtsRelation; import org.eclipse.osee.ats.util.widgets.dialog.TeamDefinitionTreeDialog; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager; import org.eclipse.osee.framework.skynet.core.artifact.search.Active; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactTypeSearch; import org.eclipse.osee.framework.skynet.core.artifact.search.AttributeValueSearch; import org.eclipse.osee.framework.skynet.core.artifact.search.DepricatedOperator; @@ -101,10 +101,7 @@ public class UnReleasedTeamWorldSearchItem extends WorldSearchItem { if (teamDefs == null) { teamDefs = new HashSet<TeamDefinitionArtifact>(); for (String name : teamDefNames) { - TeamDefinitionArtifact teamDef = - (TeamDefinitionArtifact) ArtifactQuery.getArtifactFromTypeAndName( - TeamDefinitionArtifact.ARTIFACT_NAME, name, AtsPlugin.getAtsBranch()); - teamDefs.add(teamDef); + teamDefs.add(AtsCache.getSoleArtifactByName(name, TeamDefinitionArtifact.class)); } } if (teamDefs == null) throw new IllegalArgumentException("Can't Find ProductDefinitionArtifact for " + getName()); |