Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmisinco2012-05-02 17:35:21 +0000
committerRoberto E. Escobar2012-05-02 17:35:21 +0000
commit39b7696e7cc5a50eaea368fe7889a83663f32e03 (patch)
treecac7caa4335c7ee7660359a646d766d09106be4a /plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org
parent45f0a36b478f2e09ae77e03ba67e31417ef76fa9 (diff)
downloadorg.eclipse.osee-39b7696e7cc5a50eaea368fe7889a83663f32e03.tar.gz
org.eclipse.osee-39b7696e7cc5a50eaea368fe7889a83663f32e03.tar.xz
org.eclipse.osee-39b7696e7cc5a50eaea368fe7889a83663f32e03.zip
bug[ats_X0BJK]: Access control hangs OSEE if cycle present in hierarchy
Diffstat (limited to 'plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org')
-rw-r--r--plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
index acaada650d6..697ecd7f249 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.framework.core.dsl.ui.integration.internal;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.logging.Level;
import org.eclipse.osee.framework.core.data.IAttributeType;
@@ -92,7 +93,11 @@ public final class ArtifactDataProviderImpl implements ArtifactDataProvider {
try {
Artifact artifactPtr = self.getParent();
while (artifactPtr != null) {
- hierarchy.add(new XArtifactProxy(artifactPtr));
+ if (!hierarchy.add(new XArtifactProxy(artifactPtr))) {
+ OseeLog.log(DslUiIntegrationConstants.class, Level.SEVERE,
+ String.format("Cycle detected with artifact: %s", artifactPtr));
+ return Collections.emptyList();
+ }
artifactPtr = artifactPtr.getParent();
}
} catch (OseeCoreException ex) {

Back to the top