예제 #1
0
 @Override
 public IAtsVersion getTargetedVersionByTeamWf(IAtsTeamWorkflow teamWf) throws OseeCoreException {
   IAtsVersion version = versionCache.getVersion(teamWf);
   if (version == null) {
     if (getArtifact(teamWf)
             .getRelatedArtifactsCount(AtsRelationTypes.TeamWorkflowTargetedForVersion_Version)
         > 0) {
       List<Artifact> verArts =
           getArtifact(teamWf)
               .getRelatedArtifacts(AtsRelationTypes.TeamWorkflowTargetedForVersion_Version);
       if (verArts.size() > 1) {
         OseeLog.log(
             Activator.class,
             Level.SEVERE,
             "Multiple targeted versions for artifact " + teamWf.toStringWithId());
         version =
             cacheProvider
                 .get()
                 .getSoleByGuid(verArts.iterator().next().getGuid(), IAtsVersion.class);
       } else {
         version =
             cacheProvider
                 .get()
                 .getSoleByGuid(verArts.iterator().next().getGuid(), IAtsVersion.class);
       }
       versionCache.cache(teamWf, version);
     }
   }
   return version;
 }
예제 #2
0
 private IAtsTeamWorkflow setTargetedVersionLink(IAtsTeamWorkflow teamWf, IAtsVersion version)
     throws OseeCoreException {
   Artifact versionArt =
       ArtifactQuery.checkArtifactFromId(version.getGuid(), AtsUtilCore.getAtsBranch());
   if (versionArt != null) {
     TeamWorkFlowArtifact teamArt = TeamWorkFlowManager.getTeamWorkflowArt(teamWf);
     if (teamArt != null) {
       teamArt.setRelations(
           AtsRelationTypes.TeamWorkflowTargetedForVersion_Version,
           Collections.singleton(versionArt));
       return teamArt;
     } else {
       throw new OseeStateException(
           "Team Workflow artifact does not exist [%s]", teamWf.toStringWithId());
     }
   } else {
     throw new OseeStateException(
         "Version artifact does not exist [%s]", version.toStringWithId());
   }
 }