Skip to content

Commit

Permalink
fix selfservice stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
mbeisel committed Dec 4, 2023
1 parent d7ea8d7 commit 9f96ab3
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ public static ServiceTemplateId completeModelBasedOnReqs(ServiceTemplateId incom
}
}
if (suitableIPKey != null && suitablePortKey != null) {
String targetPropertyRef = "concat('http://', " + nt.getId() + ".Properties." + suitableIPKey + ", ':', " + nt.getId() + ".Properties." + suitablePortKey + "')";
String targetPropertyRef = "concat('http://', " + nt.getId() + ".Properties." + suitableIPKey + ", ':', " + nt.getId() + ".Properties." + suitablePortKey + ")";
TPropertyMapping selfserviceProperty = new TPropertyMapping("/*[local-name()='selfserviceApplicationUrl']", nt, targetPropertyRef);
propertyMappings.add(selfserviceProperty);
properties.setPropertyMappings(propertyMappings);
Expand Down Expand Up @@ -743,13 +743,15 @@ public static ServiceTemplateId completeModelBasedOnReqs(ServiceTemplateId incom
* @param topology topology of the servicetemplate to check for equivalency
* @return
*/
public static List<ServiceTemplateId> checkServiceTemplateForEquivalency(ServiceTemplateId serviceTemplateId, TTopologyTemplate topology) {
public static List<ServiceTemplateId> checkServiceTemplateForEquivalency(ServiceTemplateId serviceTemplateId, TTopologyTemplate topology, Boolean includeSelf) {
List<TNodeTemplate> nodeTemplates = topology.getNodeTemplates();
List<TRelationshipTemplate> relationshipTemplates = topology.getRelationshipTemplates();
Set<ServiceTemplateId> serviceTemplateIds = RepositoryFactory.getRepository().getAllDefinitionsChildIds(ServiceTemplateId.class);
if (!includeSelf) {
serviceTemplateIds = serviceTemplateIds.stream().filter(id -> !id.equals(serviceTemplateId)).collect(Collectors.toSet());
}

return RepositoryFactory.getRepository().getAllDefinitionsChildIds(ServiceTemplateId.class).stream()
// remove self
.filter(id -> !id.equals(serviceTemplateId))
return serviceTemplateIds.stream()
// remove topologies that contain different nodetemplates/relationshiptemplates
.filter(id -> {
TServiceTemplate serviceTemplateFilter = RepositoryFactory.getRepository().getElement(id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public static class Properties implements Serializable {
@XmlElementWrapper(name = "PropertyMappings")
@XmlElement(name = "PropertyMapping", required = true)
protected List<TPropertyMapping> propertyMappings;
@XmlElement(name = "SelfServiceApplicationUrl")
@XmlElement(name = "selfserviceApplicationUrl")
protected TSelfServiceApplicationUrl selfServiceApplicationUrl;

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public static class Properties implements Serializable {
@XmlElementWrapper(name = "PropertyMappings")
@XmlElement(name = "PropertyMapping", required = true)
protected List<XTPropertyMapping> propertyMappings;
@XmlElement(name = "SelfServiceApplicationUrl")
@XmlElement(name = "selfserviceApplicationUrl")
protected XTSelfServiceApplicationUrl selfServiceApplicationUrl;

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.util.stream.Collectors;

import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
Expand Down Expand Up @@ -619,10 +620,12 @@ public Response completeModel(@Context UriInfo uriInfo, CompletionInputData comp
@POST
@Path("checkforequivalentcsars")
@Produces(MediaType.APPLICATION_JSON)
public Response checkEquivalency(@Context UriInfo uriInfo) {
public Response checkEquivalency(@Context UriInfo uriInfo,
@DefaultValue("false")
@QueryParam(value = "includeSelf") Boolean includeSelf) {
try {
List<ServiceTemplateId> equivalentTemplateIds =
PlacementUtils.checkServiceTemplateForEquivalency((ServiceTemplateId) this.parent.getId(), this.topologyTemplate);
PlacementUtils.checkServiceTemplateForEquivalency((ServiceTemplateId) this.parent.getId(), this.topologyTemplate, includeSelf);
List<URI> urls = equivalentTemplateIds.stream().map( id -> uriInfo.getBaseUri().resolve(RestUtils.getAbsoluteURL(id))).toList();
return Response.ok(urls).build();
} catch (InvalidParameterException e) {
Expand Down

0 comments on commit 9f96ab3

Please sign in to comment.