public void cleanupUnusedAndDuplicatedServiceIndexes() { Map<String, List<Long>> launchConfigToServiceIndexes = getUsedServiceIndexesIds(true); for (ServiceIndex serviceIndex : context.objectManager.find(ServiceIndex.class, SERVICE_INDEX.SERVICE_ID, service.getId(), SERVICE_INDEX.REMOVED, null)) { boolean remove = false; List<Long> usedServiceIndexes = launchConfigToServiceIndexes.get(serviceIndex.getLaunchConfigName()); if (usedServiceIndexes == null) { remove = true; } else { if (!usedServiceIndexes.contains(serviceIndex.getId())) { remove = true; } } if (remove) { context.objectProcessManager.scheduleStandardProcessAsync(StandardProcess.REMOVE, serviceIndex, null); } } } }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ServiceIndex from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setServiceIndex(from.getServiceIndex()); setLaunchConfigName(from.getLaunchConfigName()); setServiceId(from.getServiceId()); setAddress(from.getAddress()); }