private void deleteUnwantedJobs(OctopusCollector collector) { List<OctopusApplication> deleteAppList = new ArrayList<>(); Set<ObjectId> udId = new HashSet<>(); udId.add(collector.getId()); // for (OctopusApplication app : octopusApplicationRepository.findByCollectorIdIn(udId)) { // // if (!collector.getUdeployServers().contains(app.getInstanceUrl()) || // // (!app.getCollectorId().equals(collector.getId()))) { // // deleteAppList.add(app); // // } // } octopusApplicationRepository.delete(deleteAppList); }
/** * Clean up unused deployment collector items * * @param collector the {@link UDeployCollector} */ @SuppressWarnings("PMD.AvoidDeeplyNestedIfStmts") private void clean(OctopusCollector collector) { deleteUnwantedJobs(collector); Set<ObjectId> uniqueIDs = new HashSet<>(); for (com.capitalone.dashboard.model.Component comp : dbComponentRepository.findAll()) { if (comp.getCollectorItems() == null || comp.getCollectorItems().isEmpty()) continue; List<CollectorItem> itemList = comp.getCollectorItems().get(CollectorType.Deployment); if (itemList == null) continue; for (CollectorItem ci : itemList) { if (ci == null) continue; uniqueIDs.add(ci.getId()); } } List<OctopusApplication> appList = new ArrayList<>(); Set<ObjectId> udId = new HashSet<>(); udId.add(collector.getId()); for (OctopusApplication app : octopusApplicationRepository.findByCollectorIdIn(udId)) { if (app != null) { app.setEnabled(uniqueIDs.contains(app.getId())); appList.add(app); } } octopusApplicationRepository.save(appList); }
private void addNewApplications( List<OctopusApplication> applications, OctopusCollector collector) { long start = System.currentTimeMillis(); int count = 0; log("All apps", start, applications.size()); for (OctopusApplication application : applications) { if (isNewApplication(collector, application)) { application.setCollectorId(collector.getId()); application.setEnabled(false); application.setDescription(application.getApplicationName()); try { octopusApplicationRepository.save(application); } catch (org.springframework.dao.DuplicateKeyException ce) { log("Duplicates items not allowed", 0); } count++; } } log("New apps", start, count); }
private List<OctopusApplication> enabledApplications( OctopusCollector collector, String instanceUrl) { return octopusApplicationRepository.findEnabledApplications(collector.getId(), instanceUrl); }
private boolean isNewApplication(OctopusCollector collector, OctopusApplication application) { return octopusApplicationRepository.findUDeployApplication( collector.getId(), octopusSettings.getUrl(), application.getApplicationId()) == null; }