public static List<QueryParam> topologyVersionsQueryParam(Long topologyId) { List<QueryParam> params = buildTopologyIdAwareQueryParams(topologyId, null); return params; }
public static List<QueryParam> currentTopologyVersionQueryParam(Long topologyId, UriInfo uriInfo) { List<QueryParam> params = buildTopologyIdAwareQueryParams(topologyId, uriInfo); params.addAll(currentVersionQueryParam()); return params; }
public Optional<TopologyVersion> getLatestVersionInfo(Long topologyId) { Collection<TopologyVersion> versions = listTopologyVersionInfos(WSUtils.buildTopologyIdAwareQueryParams(topologyId, null)); return versions.stream() .filter(v -> !v.getName().equals(CURRENT_VERSION)) .max((versionInfo1, versionInfo2) -> { // compares the number part from version strings like V1, V2 ... return versionInfo1.getVersionNumber() - versionInfo2.getVersionNumber(); }); } public TopologyVersion getTopologyVersionInfo(Long versionId) {
@GET @Path("/topologies/{topologyId}/versions") @Timed public Response listTopologyVersions(@PathParam("topologyId") Long topologyId, @Context SecurityContext securityContext) { SecurityUtil.checkRoleOrPermissions(authorizer, securityContext, Roles.ROLE_TOPOLOGY_USER, NAMESPACE, topologyId, READ); Collection<TopologyVersion> versionInfos = catalogService.listTopologyVersionInfos( WSUtils.buildTopologyIdAwareQueryParams(topologyId, null)); Response response; if (versionInfos != null) { response = WSUtils.respondEntities(versionInfos, OK); } else { response = WSUtils.respondEntities(Collections.emptyList(), OK); } return response; }