diff options
author | jmisinco | 2013-03-07 19:32:03 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2013-03-07 19:32:03 +0000 |
commit | db62c0b2b7ffb4491f646c22d477c9c21cccc03d (patch) | |
tree | e96c2ac5d4c879f976aaa7f5ac31cbcb988bb46a /plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee | |
parent | eed2d1022c0ac232ae73f93d750e132de44d7350 (diff) | |
download | org.eclipse.osee-db62c0b2b7ffb4491f646c22d477c9c21cccc03d.tar.gz org.eclipse.osee-db62c0b2b7ffb4491f646c22d477c9c21cccc03d.tar.xz org.eclipse.osee-db62c0b2b7ffb4491f646c22d477c9c21cccc03d.zip |
refactor[ats_S6KFB]: ArtifactQuery checkFromId not honoring the DeletionFlag
Change-Id: I0e7be9641bec007f58adbf78655a876424c744a4
Diffstat (limited to 'plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee')
4 files changed, 18 insertions, 8 deletions
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java index 4e4ef4624de..497d08970ba 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java @@ -10,9 +10,10 @@ *******************************************************************************/ package org.eclipse.osee.framework.skynet.core.artifact.search; -import static org.eclipse.osee.framework.core.enums.DeletionFlag.*; -import static org.eclipse.osee.framework.core.enums.LoadLevel.*; -import static org.eclipse.osee.framework.skynet.core.artifact.LoadType.*; +import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; +import static org.eclipse.osee.framework.core.enums.DeletionFlag.INCLUDE_DELETED; +import static org.eclipse.osee.framework.core.enums.LoadLevel.FULL; +import static org.eclipse.osee.framework.skynet.core.artifact.LoadType.INCLUDE_CACHE; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; @@ -105,9 +106,17 @@ public class ArtifactQuery { private static Artifact getOrCheckArtifactFromId(int artId, IOseeBranch branch, DeletionFlag allowDeleted, QueryType queryType) throws OseeCoreException { Artifact artifact = ArtifactCache.getActive(artId, branch); if (artifact != null) { - return artifact; + if (artifact.isDeleted() && allowDeleted == EXCLUDE_DELETED) { + if (queryType == QueryType.CHECK) { + artifact = null; + } else { + throw new ArtifactDoesNotExist("Deleted artifact unexpectedly returned"); + } + } + } else { + artifact = new ArtifactQueryBuilder(artId, branch, allowDeleted, FULL).getOrCheckArtifact(queryType); } - return new ArtifactQueryBuilder(artId, branch, allowDeleted, FULL).getOrCheckArtifact(queryType); + return artifact; } /** diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java index 24f6eb55855..0c224a92e4a 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java @@ -16,6 +16,7 @@ import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.data.IRelationSorterId; import org.eclipse.osee.framework.core.data.IRelationType; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.enums.DeletionFlag; import org.eclipse.osee.framework.core.enums.ModificationType; import org.eclipse.osee.framework.core.enums.RelationOrderBaseTypes; import org.eclipse.osee.framework.core.enums.RelationSide; @@ -140,7 +141,7 @@ public class RelationLink { private void deleteEmptyRelationOrder(SkynetTransaction transaction) { try { - Artifact aArtifact = ArtifactQuery.getArtifactFromId(aArtifactId, branch); + Artifact aArtifact = ArtifactQuery.getArtifactFromId(aArtifactId, branch, DeletionFlag.INCLUDE_DELETED); if (aArtifact.getAttributeCount(CoreAttributeTypes.RelationOrder) == 1) { RelationOrderData relationOrderData = new RelationOrderFactory().createRelationOrderData(aArtifact); diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java index 939671e62e3..d21ce3bee7c 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java @@ -597,7 +597,7 @@ public class RelationManager { @Override public Artifact getArtifact(int artifactId, IOseeBranch branch) throws OseeCoreException { - return ArtifactQuery.getArtifactFromId(artifactId, branch); + return ArtifactQuery.getArtifactFromId(artifactId, branch, DeletionFlag.INCLUDE_DELETED); } @Override diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java index fc991c87c29..5317792a82d 100644 --- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java +++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java @@ -275,7 +275,7 @@ public final class SkynetTransaction extends TransactionOperation<Branch> { private Artifact getArtifact(int artId, IOseeBranch branch) throws OseeCoreException { try { - return ArtifactQuery.getArtifactFromId(artId, branch); + return ArtifactQuery.getArtifactFromId(artId, branch, DeletionFlag.INCLUDE_DELETED); } catch (ArtifactDoesNotExist ex) { // do nothing } |