private void removeOldServiceMaps(Service service, Map<String, ServiceLink> newServiceLinks) { List<? extends ServiceConsumeMap> existingMaps = consumeMapDao.findConsumedMapsToRemove(service.getId()); List<ServiceLink> linksToRemove = new ArrayList<>(); for (ServiceConsumeMap existingMap : existingMaps) { ServiceLink existingLink = new ServiceLink(existingMap.getConsumedServiceId(), existingMap.getName(), existingMap.getConsumedService()); if (!newServiceLinks.containsKey(existingLink.getUuid())) { linksToRemove.add(existingLink); } } for (ServiceLink linkToRemove : linksToRemove) { sdService.removeServiceLink(service, linkToRemove); } } }
@Override public void cloneConsumingServices(Service fromService, Service toService) { List<ServiceLink> linksToCreate = new ArrayList<>(); for (ServiceConsumeMap map : consumeMapDao.findConsumingServices(fromService.getId())) { ServiceLink link = new ServiceLink(toService.getId(), map.getName(), null); link.setConsumingServiceId(map.getServiceId()); linksToCreate.add(link); } consumeMapDao.createServiceLinks(linksToCreate); }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { InstanceLink link = (InstanceLink)state.getResource(); if (link.getServiceConsumeMapId() == null) { return null; } ServiceConsumeMap map = objectManager.loadResource(ServiceConsumeMap.class, link.getServiceConsumeMapId()); String serviceName = map.getName(); if (StringUtils.isBlank(serviceName)) { Service service = objectManager.loadResource(Service.class, map.getConsumedServiceId()); serviceName = service.getName(); } Instance instance = consumeMapDao.findOneInstanceForService(map.getConsumedServiceId()); List<String> names = consumeMapDao.findInstanceNamesForService(map.getConsumedServiceId()); return new HandlerResult(INSTANCE_LINK.LINK_NAME, serviceName, InstanceLinkConstants.FIELD_INSTANCE_NAMES, names, INSTANCE_LINK.TARGET_INSTANCE_ID, instance == null ? null : instance.getId()); }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ServiceConsumeMap from) { setId(from.getId()); setName(from.getName()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setServiceId(from.getServiceId()); setConsumedServiceId(from.getConsumedServiceId()); setAccountId(from.getAccountId()); setConsumedService(from.getConsumedService()); }