@Override public Set<ReductionKeyEdge> getReductionKeyEdges() { return m_entity.getReductionKeyEdges() .stream() .map(edge -> new ReductionKeyEdgeImpl(m_manager, edge)) .collect(Collectors.toSet()); }
@Override public void setReductionKeyEdges(BusinessService businessService, Set<ReductionKeyEdge> reductionKeyEdges) { final BusinessServiceEntity parentEntity = getBusinessServiceEntity(businessService); for (final SingleReductionKeyEdgeEntity e : parentEntity.getReductionKeyEdges()) { parentEntity.removeEdge(e); } reductionKeyEdges.forEach(e -> parentEntity.addEdge(((ReductionKeyEdgeImpl) e).getEntity())); }
public static BusinessServiceResponseDTO toResponseDto(BusinessServiceEntity input) { Objects.requireNonNull(input); BusinessServiceResponseDTO response = new BusinessServiceResponseDTO(); response.setId(input.getId()); response.setName(input.getName()); response.setReduceFunction(transform(input.getReductionFunction())); response.setOperationalStatus(Status.INDETERMINATE); // we assume INDETERMINATE response.setAttributes(input.getAttributes()); response.setLocation(ResourceLocationFactory.createBusinessServiceLocation(input.getId().toString())); response.setReductionKeys(input.getReductionKeyEdges().stream().map(BsmTestUtils::toResponseDTO).collect(Collectors.toList())); response.setIpServices(input.getIpServiceEdges().stream().map(BsmTestUtils::toResponseDTO).collect(Collectors.toList())); response.setChildren(input.getChildEdges().stream().map(BsmTestUtils::toResponseDTO).collect(Collectors.toList())); response.setParentServices(Sets.newHashSet()); // do not know that here return response; }
@Override public boolean addReductionKeyEdge(BusinessService businessService, String reductionKey, MapFunction mapFunction, int weight, String friendlyName) { final BusinessServiceEntity parentEntity = getBusinessServiceEntity(businessService); // Create the edge final ReductionKeyEdgeImpl edge = (ReductionKeyEdgeImpl) createEdge(ReductionKeyEdge.class, businessService, mapFunction, weight); edge.setReductionKey(reductionKey); edge.setFriendlyName(friendlyName); // if already exists, no update final SingleReductionKeyEdgeEntity edgeEntity = getBusinessServiceEdgeEntity(edge); long count = parentEntity.getReductionKeyEdges().stream().filter(e -> e.equalsDefinition(edgeEntity)).count(); if (count > 0) { return false; } parentEntity.addEdge(edge.getEntity()); return true; }