@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; }
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()); } }