diff options
author | donald.g.dunne | 2015-02-06 20:51:57 +0000 |
---|---|---|
committer | Angel Avila | 2015-02-06 20:51:57 +0000 |
commit | 9422eee01a56004b6799060d7da355e1ad271250 (patch) | |
tree | 53a967a0f9565942d313fbb3e308e73bc3c105b7 | |
parent | fce0714ee9a4116384d01908e6513bbf7ddadbe1 (diff) | |
download | org.eclipse.osee-9422eee01a56004b6799060d7da355e1ad271250.tar.gz org.eclipse.osee-9422eee01a56004b6799060d7da355e1ad271250.tar.xz org.eclipse.osee-9422eee01a56004b6799060d7da355e1ad271250.zip |
feature[ats_9T84L]: Add getReviews to ReviewService
Change-Id: I22ccbde1360962b35dfacb664f52263f351ebdcb
7 files changed, 65 insertions, 13 deletions
diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/review/IAtsReviewService.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/review/IAtsReviewService.java index 338e67d2ae4..e4046d174ae 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/review/IAtsReviewService.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/review/IAtsReviewService.java @@ -39,4 +39,6 @@ public interface IAtsReviewService { boolean isStandAloneReview(IAtsAbstractReview review); + Collection<IAtsAbstractReview> getReviews(IAtsTeamWorkflow teamWf); + } diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreFactory.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreFactory.java index ed28f3b603b..f8ef6fb724f 100644 --- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreFactory.java +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreFactory.java @@ -10,10 +10,14 @@ *******************************************************************************/ package org.eclipse.osee.ats.api.util; +import java.util.List; +import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.user.IAtsUser; public interface IAtsStoreFactory { IAtsChangeSet createAtsChangeSet(String comment, IAtsUser user); + List<IAtsWorkItem> reload(List<IAtsWorkItem> inWorkWorkflows); + } 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 dd2da19f076..4591b329f53 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 @@ -218,7 +218,7 @@ public class AtsClientImpl implements IAtsClient { new AtsWorkDefinitionAdminImpl(workDefCacheProvider, workItemService, workDefService, teamWorkflowProvider, attributeResolverService); branchService = new AtsBranchServiceImpl(this); - reviewService = new AtsReviewServiceImpl(this); + reviewService = new AtsReviewServiceImpl(this, this); atsLogFactory = AtsCoreFactory.newLogFactory(); atsStateFactory = AtsCoreFactory.newStateFactory(getServices(), atsLogFactory); diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/review/AtsReviewServiceImpl.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/review/AtsReviewServiceImpl.java index 3732c82160f..c09dfcebf40 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/review/AtsReviewServiceImpl.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/review/AtsReviewServiceImpl.java @@ -10,8 +10,10 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.client.internal.review; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.List; import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.data.AtsAttributeTypes; import org.eclipse.osee.ats.api.review.IAtsAbstractReview; @@ -21,6 +23,7 @@ import org.eclipse.osee.ats.api.user.IAtsUser; import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.workdef.ReviewBlockType; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; +import org.eclipse.osee.ats.core.client.IAtsClient; import org.eclipse.osee.ats.core.client.internal.IArtifactProvider; import org.eclipse.osee.ats.core.client.review.AbstractReviewArtifact; import org.eclipse.osee.ats.core.client.review.ReviewManager; @@ -34,8 +37,10 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; public class AtsReviewServiceImpl implements IAtsReviewService { private final IArtifactProvider artifactProvider; + private final IAtsClient atsClient; - public AtsReviewServiceImpl(IArtifactProvider artifactProvider) { + public AtsReviewServiceImpl(IAtsClient atsClient, IArtifactProvider artifactProvider) { + this.atsClient = atsClient; this.artifactProvider = artifactProvider; } @@ -70,4 +75,13 @@ public class AtsReviewServiceImpl implements IAtsReviewService { return ((AbstractReviewArtifact) review).isStandAloneReview(); } + @Override + public Collection<IAtsAbstractReview> getReviews(IAtsTeamWorkflow teamWf) { + List<IAtsAbstractReview> reviews = new ArrayList<IAtsAbstractReview>(); + for (AbstractReviewArtifact reviewArt : ReviewManager.getReviews((TeamWorkFlowArtifact) teamWf.getStoreObject())) { + reviews.add(atsClient.getWorkItemFactory().getReview(reviewArt)); + } + return reviews; + } + } diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java index 86d58784f02..32e65d3462a 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java @@ -186,7 +186,7 @@ public class AtsServerImpl implements IAtsServer { workItemService = new AtsWorkItemServiceImpl(this, this); branchService = new AtsBranchServiceImpl(getServices(), orcsApi); - reviewService = new AtsReviewServiceImpl(this, workItemService); + reviewService = new AtsReviewServiceImpl(this, this, workItemService); workDefCacheProvider = new AtsWorkDefinitionCacheProvider(workDefService); teamWorkflowProvider = new TeamWorkflowProvider(); @@ -199,8 +199,7 @@ public class AtsServerImpl implements IAtsServer { atsLogFactory = AtsCoreFactory.newLogFactory(); atsStateFactory = AtsCoreFactory.newStateFactory(getServices(), atsLogFactory); - atsStoreFactory = - new AtsStoreFactoryImpl(attributeResolverService, orcsApi, atsStateFactory, atsLogFactory, this); + atsStoreFactory = new AtsStoreFactoryImpl(attributeResolverService, this, atsStateFactory, atsLogFactory, this); utilService = AtsCoreFactory.getUtilService(attributeResolverService); sequenceProvider = new ISequenceProvider() { @@ -221,8 +220,7 @@ public class AtsServerImpl implements IAtsServer { agileService = new AgileService(logger, this); atsQueryService = new AtsQueryServiceIimpl(this); - versionService = - new AtsVersionServiceImpl(getServices()); + versionService = new AtsVersionServiceImpl(getServices()); addAtsDatabaseConversion(new ConvertBaselineGuidToBaselineUuid(logger, jdbcClient, orcsApi, this)); addAtsDatabaseConversion(new ConvertFavoriteBranchGuidToUuid(logger, jdbcClient, orcsApi, this)); diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsReviewServiceImpl.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsReviewServiceImpl.java index 5e3afac0b78..ca86391f560 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsReviewServiceImpl.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsReviewServiceImpl.java @@ -10,10 +10,13 @@ *******************************************************************************/ package org.eclipse.osee.ats.impl.internal.util; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.List; import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; import org.eclipse.osee.ats.api.review.IAtsAbstractReview; import org.eclipse.osee.ats.api.review.IAtsDecisionReview; import org.eclipse.osee.ats.api.review.IAtsReviewService; @@ -22,9 +25,11 @@ import org.eclipse.osee.ats.api.util.IAtsChangeSet; import org.eclipse.osee.ats.api.workdef.ReviewBlockType; import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow; import org.eclipse.osee.ats.api.workflow.IAtsWorkItemService; +import org.eclipse.osee.ats.impl.IAtsServer; import org.eclipse.osee.ats.impl.internal.workitem.IArtifactProvider; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.type.OseeStateException; +import org.eclipse.osee.orcs.data.ArtifactReadable; /** * @author Donald G. Dunne @@ -33,8 +38,10 @@ public class AtsReviewServiceImpl implements IAtsReviewService { private final IArtifactProvider artifactProvider; private final IAtsWorkItemService workItemService; + private final IAtsServer atsServer; - public AtsReviewServiceImpl(IArtifactProvider artifactProvider, IAtsWorkItemService workItemService) { + public AtsReviewServiceImpl(IAtsServer atsServer, IArtifactProvider artifactProvider, IAtsWorkItemService workItemService) { + this.atsServer = atsServer; this.artifactProvider = artifactProvider; this.workItemService = workItemService; } @@ -73,4 +80,14 @@ public class AtsReviewServiceImpl implements IAtsReviewService { return artifactProvider.getArtifact(review).getAttributeCount(AtsAttributeTypes.ActionableItem) > 0; } + @Override + public Collection<IAtsAbstractReview> getReviews(IAtsTeamWorkflow teamWf) { + List<IAtsAbstractReview> reviews = new ArrayList<IAtsAbstractReview>(); + + for (ArtifactReadable reviewArt : ((ArtifactReadable) teamWf.getStoreObject()).getRelated(AtsRelationTypes.TeamWorkflowToReview_Review)) { + reviews.add(atsServer.getWorkItemFactory().getReview(reviewArt)); + } + return reviews; + } + } diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsStoreFactoryImpl.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsStoreFactoryImpl.java index 20464a4d661..ffdda5f07e6 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsStoreFactoryImpl.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsStoreFactoryImpl.java @@ -10,6 +10,10 @@ *******************************************************************************/ package org.eclipse.osee.ats.impl.internal.util; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.notify.IAtsNotifier; import org.eclipse.osee.ats.api.user.IAtsUser; import org.eclipse.osee.ats.api.util.IAtsChangeSet; @@ -17,7 +21,9 @@ import org.eclipse.osee.ats.api.util.IAtsStoreFactory; import org.eclipse.osee.ats.api.workdef.IAttributeResolver; import org.eclipse.osee.ats.api.workflow.log.IAtsLogFactory; import org.eclipse.osee.ats.api.workflow.state.IAtsStateFactory; -import org.eclipse.osee.orcs.OrcsApi; +import org.eclipse.osee.ats.core.util.AtsUtilCore; +import org.eclipse.osee.ats.impl.IAtsServer; +import org.eclipse.osee.orcs.data.ArtifactReadable; /** * @author Donald G. Dunne @@ -25,22 +31,33 @@ import org.eclipse.osee.orcs.OrcsApi; public class AtsStoreFactoryImpl implements IAtsStoreFactory { private final IAttributeResolver attributeResolver; - private final OrcsApi orcsApi; private final IAtsStateFactory stateFactory; private final IAtsLogFactory logFactory; private final IAtsNotifier notifier; + private final IAtsServer atsServer; - public AtsStoreFactoryImpl(IAttributeResolver attributeResolver, OrcsApi orcsApi, IAtsStateFactory stateFactory, IAtsLogFactory logFactory, IAtsNotifier notifier) { + public AtsStoreFactoryImpl(IAttributeResolver attributeResolver, IAtsServer atsServer, IAtsStateFactory stateFactory, IAtsLogFactory logFactory, IAtsNotifier notifier) { + this.atsServer = atsServer; this.attributeResolver = attributeResolver; this.logFactory = logFactory; this.stateFactory = stateFactory; - this.orcsApi = orcsApi; this.notifier = notifier; } @Override public IAtsChangeSet createAtsChangeSet(String comment, IAtsUser user) { - return new AtsChangeSet(attributeResolver, orcsApi, stateFactory, logFactory, comment, user, notifier); + return new AtsChangeSet(attributeResolver, atsServer.getOrcsApi(), stateFactory, logFactory, comment, user, + notifier); } + @Override + public List<IAtsWorkItem> reload(List<IAtsWorkItem> inWorkWorkflows) { + List<IAtsWorkItem> workItems = new ArrayList<IAtsWorkItem>(inWorkWorkflows.size()); + Iterator<ArtifactReadable> arts = + atsServer.getOrcsApi().getQueryFactory(null).fromBranch(AtsUtilCore.getAtsBranch()).andIds(inWorkWorkflows).getResults().iterator(); + while (arts.hasNext()) { + workItems.add(atsServer.getWorkItemFactory().getWorkItem(arts.next())); + } + return workItems; + } } |