Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2015-02-05 16:45:26 +0000
committerDonald Dunne2015-02-05 23:00:50 +0000
commit130ed9f3a00e8f6f18917c17f6c6421b731c3056 (patch)
tree358bd3b7a8380434eaa21ff68b131ea55ef8cdd5
parentb5d1fe5e3106fcf6e9abd9fef1310e3f0576a056 (diff)
downloadorg.eclipse.osee-130ed9f3a00e8f6f18917c17f6c6421b731c3056.tar.gz
org.eclipse.osee-130ed9f3a00e8f6f18917c17f6c6421b731c3056.tar.xz
org.eclipse.osee-130ed9f3a00e8f6f18917c17f6c6421b731c3056.zip
bug[ats_ATS168392]: Improve performance of ATS Goal Order Column
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/IAtsClient.java2
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/artifact/SprintArtifact.java2
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactCollectorsCache.java150
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactMembersCache.java101
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java18
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/IArtifactMembersCache.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/agile/SprintManager.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalManager.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/MembersManager.java32
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java2
11 files changed, 183 insertions, 145 deletions
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/IAtsClient.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/IAtsClient.java
index 6af1abe5686..f166051e16a 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/IAtsClient.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/IAtsClient.java
@@ -155,6 +155,6 @@ public interface IAtsClient extends IAtsServices, IAtsNotifier, IAttributeResolv
IArtifactMembersCache<GoalArtifact> getGoalMembersCache();
- IArtifactMembersCache<SprintArtifact> getSprintMembersCache();
+ IArtifactMembersCache<SprintArtifact> getSprintItemsCache();
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/artifact/SprintArtifact.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/artifact/SprintArtifact.java
index 7d7bf0ede81..08fd00b329f 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/artifact/SprintArtifact.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/artifact/SprintArtifact.java
@@ -67,7 +67,7 @@ public class SprintArtifact extends CollectorArtifact implements IAgileSprint {
@Override
public List<Artifact> getMembers() throws OseeCoreException {
- return AtsClientService.get().getSprintMembersCache().getMembers(this);
+ return AtsClientService.get().getSprintItemsCache().getMembers(this);
}
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactCollectorsCache.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactCollectorsCache.java
new file mode 100644
index 00000000000..827f6d6409e
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactCollectorsCache.java
@@ -0,0 +1,150 @@
+/*******************************************************************************
+ * 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;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.eclipse.osee.ats.api.data.AtsRelationTypes;
+import org.eclipse.osee.ats.core.client.artifact.CollectorArtifact;
+import org.eclipse.osee.ats.core.client.util.IArtifactMembersCache;
+import org.eclipse.osee.framework.core.enums.DeletionFlag;
+import org.eclipse.osee.framework.jdk.core.type.DoubleKeyHashMap;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
+import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactEventFilter;
+import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter;
+import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener;
+import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent;
+import org.eclipse.osee.framework.skynet.core.event.model.Sender;
+
+/**
+ * @author John Misinco
+ */
+public class ArtifactCollectorsCache<T extends CollectorArtifact> implements IArtifactMembersCache<T> {
+
+ private static Map<Integer, List<Artifact>> cache;
+ private static DoubleKeyHashMap<Integer, Integer, String> goalMemberOrderMap;
+ private static Set<Integer> registered;
+ private static volatile boolean initialized = false;
+
+ private void initializeStructures() {
+ if (!initialized) {
+ initialized = true;
+ cache = new HashMap<Integer, List<Artifact>>();
+ registered = new HashSet<Integer>();
+ goalMemberOrderMap = new DoubleKeyHashMap<Integer, Integer, String>();
+ }
+ }
+
+ private void registerForEvents(final T collectorArt) {
+ if (!registered.contains(collectorArt.getArtId())) {
+ IArtifactEventListener eventListener = new IArtifactEventListener() {
+
+ @Override
+ public List<? extends IEventFilter> getEventFilters() {
+ return Arrays.asList(new ArtifactEventFilter(collectorArt));
+ }
+
+ @Override
+ public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
+ synchronized (cache) {
+ cache.remove(collectorArt.getArtId());
+ }
+ }
+ };
+ OseeEventManager.addListener(eventListener);
+ synchronized (registered) {
+ registered.add(collectorArt.getArtId());
+ }
+ }
+ }
+
+ @Override
+ public List<Artifact> getMembers(T collector) throws OseeCoreException {
+ initializeStructures();
+ registerForEvents(collector);
+ List<Artifact> members = cache.get(collector.getArtId());
+ if (members == null) {
+ members = collector.getRelatedArtifacts(AtsRelationTypes.Goal_Member, DeletionFlag.EXCLUDE_DELETED);
+ synchronized (cache) {
+ cache.put(collector.getArtId(), members);
+ fillOrderCache(collector, members);
+ }
+ }
+ LinkedList<Artifact> linkedList = new LinkedList<Artifact>(members);
+ return linkedList;
+ }
+
+ @Override
+ public void decache(T collectorArt) {
+ if (initialized) {
+ synchronized (cache) {
+ cache.remove(collectorArt.getArtId());
+ }
+ synchronized (goalMemberOrderMap) {
+ clearOrderCache(collectorArt);
+ }
+ }
+ }
+
+ @Override
+ public void invalidate() {
+ if (initialized) {
+ synchronized (cache) {
+ cache.clear();
+ }
+ synchronized (goalMemberOrderMap) {
+ goalMemberOrderMap.clear();
+ }
+ }
+ }
+
+ @Override
+ public String getMemberOrder(T collectorArt, Artifact member) throws OseeCoreException {
+ initializeStructures();
+ if (goalMemberOrderMap.getSubHash(collectorArt.getArtId()) == null) {
+ fillOrderCache(collectorArt, getMembers(collectorArt));
+ }
+ String order = goalMemberOrderMap.get(collectorArt.getArtId(), member.getArtId());
+ return order == null ? "" : order;
+ }
+
+ private void fillOrderCache(T collectorArt, List<Artifact> members) {
+ initializeStructures();
+ synchronized (goalMemberOrderMap) {
+ clearOrderCache(collectorArt);
+ int x = 1;
+ for (Artifact artifact : members) {
+ goalMemberOrderMap.put(collectorArt.getArtId(), artifact.getArtId(), String.valueOf(x++));
+ }
+ }
+ }
+
+ private void clearOrderCache(T collectorArt) {
+ if (initialized) {
+ List<Integer> memberIds = new ArrayList<Integer>();
+ Map<Integer, String> subHash = goalMemberOrderMap.getSubHash(collectorArt.getArtId());
+ if (subHash != null) {
+ memberIds.addAll(subHash.keySet());
+ for (Integer memberId : memberIds) {
+ goalMemberOrderMap.remove(collectorArt.getArtId(), memberId);
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactMembersCache.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactMembersCache.java
deleted file mode 100644
index c6ec25936cc..00000000000
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/ArtifactMembersCache.java
+++ /dev/null
@@ -1,101 +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;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.eclipse.osee.ats.api.data.AtsRelationTypes;
-import org.eclipse.osee.ats.core.client.artifact.CollectorArtifact;
-import org.eclipse.osee.ats.core.client.util.IArtifactMembersCache;
-import org.eclipse.osee.framework.core.enums.DeletionFlag;
-import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
-import org.eclipse.osee.framework.skynet.core.event.filter.ArtifactEventFilter;
-import org.eclipse.osee.framework.skynet.core.event.filter.IEventFilter;
-import org.eclipse.osee.framework.skynet.core.event.listener.IArtifactEventListener;
-import org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent;
-import org.eclipse.osee.framework.skynet.core.event.model.Sender;
-
-/**
- * @author John Misinco
- */
-public class ArtifactMembersCache<T extends CollectorArtifact> implements IArtifactMembersCache<T> {
-
- private static Map<String, List<Artifact>> cache;
- private static Set<String> registered;
- private static volatile boolean initialized = false;
-
- private void initializeStructures() {
- if (!initialized) {
- initialized = true;
- cache = new HashMap<String, List<Artifact>>();
- registered = new HashSet<String>();
- }
- }
-
- private void registerForEvents(final T artifact) {
- if (!registered.contains(artifact.getGuid())) {
- IArtifactEventListener eventListener = new IArtifactEventListener() {
-
- @Override
- public List<? extends IEventFilter> getEventFilters() {
- return Arrays.asList(new ArtifactEventFilter(artifact));
- }
-
- @Override
- public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
- synchronized (cache) {
- cache.remove(artifact.getGuid());
- }
- }
- };
- OseeEventManager.addListener(eventListener);
- synchronized (registered) {
- registered.add(artifact.getGuid());
- }
- }
- }
-
- @Override
- public List<Artifact> getMembers(T artifact) throws OseeCoreException {
- initializeStructures();
- registerForEvents(artifact);
- List<Artifact> toReturn = cache.get(artifact.getGuid());
- if (toReturn == null) {
- toReturn = artifact.getRelatedArtifacts(AtsRelationTypes.Goal_Member, DeletionFlag.EXCLUDE_DELETED);
- synchronized (cache) {
- cache.put(artifact.getGuid(), toReturn);
- }
- }
- LinkedList<Artifact> linkedList = new LinkedList<Artifact>(toReturn);
- return linkedList;
- }
-
- @Override
- public void decache(T artifact) {
- synchronized (cache) {
- cache.remove(artifact.getGuid());
- }
- }
-
- @Override
- public void invalidate() {
- synchronized (cache) {
- cache.clear();
- }
- }
-}
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 f1cce627586..e7c49973b83 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
@@ -159,8 +159,8 @@ public class AtsClientImpl implements IAtsClient {
private IAtsProgramService programService;
private IAtsTeamDefinitionService teamDefinitionService;
private IAtsQueryService atsQueryService;
- private ArtifactMembersCache<GoalArtifact> goalMembersCache;
- private ArtifactMembersCache<SprintArtifact> sprintMembersCache;
+ private ArtifactCollectorsCache<GoalArtifact> goalMembersCache;
+ private ArtifactCollectorsCache<SprintArtifact> sprintItemsCache;
public void setJdbcService(JdbcService jdbcService) {
this.jdbcService = jdbcService;
@@ -333,8 +333,8 @@ public class AtsClientImpl implements IAtsClient {
if (goalMembersCache != null) {
goalMembersCache.invalidate();
}
- if (sprintMembersCache != null) {
- sprintMembersCache.invalidate();
+ if (sprintItemsCache != null) {
+ sprintItemsCache.invalidate();
}
}
@@ -732,17 +732,17 @@ public class AtsClientImpl implements IAtsClient {
@Override
public IArtifactMembersCache<GoalArtifact> getGoalMembersCache() {
if (goalMembersCache == null) {
- goalMembersCache = new ArtifactMembersCache<GoalArtifact>();
+ goalMembersCache = new ArtifactCollectorsCache<GoalArtifact>();
}
return goalMembersCache;
}
@Override
- public IArtifactMembersCache<SprintArtifact> getSprintMembersCache() {
- if (sprintMembersCache == null) {
- sprintMembersCache = new ArtifactMembersCache<SprintArtifact>();
+ public IArtifactMembersCache<SprintArtifact> getSprintItemsCache() {
+ if (sprintItemsCache == null) {
+ sprintItemsCache = new ArtifactCollectorsCache<SprintArtifact>();
}
- return sprintMembersCache;
+ return sprintItemsCache;
}
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/IArtifactMembersCache.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/IArtifactMembersCache.java
index f59a129d1d1..0ef8c5efc16 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/IArtifactMembersCache.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/IArtifactMembersCache.java
@@ -23,4 +23,6 @@ public interface IArtifactMembersCache<T extends CollectorArtifact> {
void invalidate();
+ String getMemberOrder(T memberArt, Artifact member);
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/agile/SprintManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/agile/SprintManager.java
index de4ed989414..f30b7cc1feb 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/agile/SprintManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/agile/SprintManager.java
@@ -15,6 +15,7 @@ import org.eclipse.osee.ats.api.data.AtsArtifactTypes;
import org.eclipse.osee.ats.api.data.AtsRelationTypes;
import org.eclipse.osee.ats.artifact.MembersManager;
import org.eclipse.osee.ats.core.client.artifact.SprintArtifact;
+import org.eclipse.osee.ats.internal.AtsClientService;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.IRelationTypeSide;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
@@ -61,4 +62,9 @@ public class SprintManager extends MembersManager<SprintArtifact> {
return AtsArtifactTypes.AgileSprint;
}
+ @Override
+ public String getMemberOrder(SprintArtifact sprintArt, Artifact member) throws OseeCoreException {
+ return AtsClientService.get().getSprintItemsCache().getMemberOrder(sprintArt, member);
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalManager.java
index ee97e8b83df..45919930e9c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/GoalManager.java
@@ -91,4 +91,10 @@ public class GoalManager extends MembersManager<GoalArtifact> {
public IArtifactType getArtifactType() {
return AtsArtifactTypes.Goal;
}
+
+ @Override
+ public String getMemberOrder(GoalArtifact goalArt, Artifact member) throws OseeCoreException {
+ return AtsClientService.get().getGoalMembersCache().getMemberOrder(goalArt, member);
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/MembersManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/MembersManager.java
index 0fcbef41b3e..02abcbd7048 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/MembersManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/MembersManager.java
@@ -27,7 +27,6 @@ import org.eclipse.osee.framework.core.data.IRelationTypeSide;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
-import org.eclipse.osee.framework.ui.skynet.util.LogUtil;
import org.eclipse.osee.framework.ui.skynet.widgets.dialog.EntryDialog;
/**
@@ -130,31 +129,14 @@ public abstract class MembersManager<T extends CollectorArtifact> {
return "";
}
Collection<Artifact> collectors = getCollectors(artifact, false);
- if (collectors.size() > 1) {
- List<Artifact> membersSorted = new ArrayList<Artifact>(collectors);
- Collections.sort(membersSorted);
- StringBuffer sb = new StringBuffer();
- for (Artifact member : membersSorted) {
- sb.append(String.format("%s-[%s] ", getMemberOrder((T) member, artifact), member));
- }
- return sb.toString();
- }
- Artifact member = collectors.iterator().next();
- return getMemberOrder((T) member, artifact);
- }
-
- public String getMemberOrder(T memberArt, Artifact member) throws OseeCoreException {
- try {
- List<Artifact> members = memberArt.getMembers();
- int location = members.indexOf(member);
- if (location == -1) {
- return "";
- } else {
- return String.valueOf(location + 1);
- }
- } catch (Exception ex) {
- return LogUtil.getCellExceptionString(ex);
+ List<Artifact> collectorsSorted = new ArrayList<Artifact>(collectors);
+ Collections.sort(collectorsSorted);
+ StringBuffer sb = new StringBuffer();
+ for (Artifact member : collectorsSorted) {
+ sb.append(String.format("%s-[%s] ", getMemberOrder((T) member, artifact), member));
}
+ return sb.toString();
}
+ public abstract String getMemberOrder(T memberArt, Artifact member) throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java
index 1e3b7c7090d..f3c1d5718d8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java
@@ -584,9 +584,6 @@ public class SMAMembersTab extends FormPage implements ISelectedAtsArtifacts, IW
for (Artifact dropped : droppedArtifacts) {
if (!members.contains(dropped)) {
provider.addMember(dropped);
- int index = isFeedbackAfter ? members.indexOf(dropTarget) + 1 : members.indexOf(dropTarget);
- worldComposite.insert(dropped, index);
- worldComposite.update();
}
if (dropTarget != null) {
provider.getArtifact().setRelationOrder(provider.getMemberRelationTypeSide(), dropTarget,
@@ -594,10 +591,6 @@ public class SMAMembersTab extends FormPage implements ISelectedAtsArtifacts, IW
}
}
provider.getArtifact().persist(SMAMembersTab.class.getSimpleName());
- worldComposite.getXViewer().refresh(provider.getArtifact());
- if (dropTarget != null) {
- worldComposite.getXViewer().update(dropTarget, null);
- }
} else if (!dropValid) {
AWorkbench.popup("Drag/Drop is disabled when table is filtered or sorted.\n\nSwitch to default table customization and try again.");
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java
index 6d45782506d..a47a9439a1a 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldContentProvider.java
@@ -95,7 +95,7 @@ public class WorldContentProvider implements ITreeContentProvider {
}
if (artifact.isOfType(AtsArtifactTypes.AgileSprint)) {
List<Artifact> arts =
- AtsClientService.get().getSprintMembersCache().getMembers((SprintArtifact) artifact);
+ AtsClientService.get().getSprintItemsCache().getMembers((SprintArtifact) artifact);
relatedArts.addAll(arts);
AtsBulkLoad.bulkLoadArtifacts(relatedArts);
return arts.toArray(new Artifact[arts.size()]);

Back to the top