private void closeAll(List<ImportRegistration> removed) { for (ImportRegistration ir : removed) { importedServices.remove(ir); ir.close(); } }
/** * Tries to import the service with each rsa until one import is successful * * @param endpoint endpoint to import * @return import registration of the first successful import */ private ImportRegistration importService(EndpointDescription endpoint) { for (RemoteServiceAdmin rsa : rsaSet) { ImportRegistration ir = rsa.importService(endpoint); if (ir != null) { if (ir.getException() == null) { LOG.debug("Service import was successful {}", ir); return ir; } else { LOG.info("Error importing service " + endpoint, ir.getException()); } } } return null; }
private void unImport(ImportReference ref) { List<ImportRegistration> removed = new ArrayList<ImportRegistration>(); HashSet<String> imported = new HashSet<>(importedServices.keySet()); for (String key : imported) { for (ImportRegistration ir : importedServices.get(key)) { if (ir.getImportReference().equals(ref)) { removed.add(ir); } } } closeAll(removed); }
private void unImportForGoneEndpoints(String filter) { Set<ImportRegistration> importRegistrations = new HashSet<>(importedServices.get(filter)); Set<EndpointDescription> endpoints = importPossibilities.get(filter); for (ImportRegistration ir : importRegistrations) { EndpointDescription endpoint = ir.getImportReference().getImportedEndpoint(); if (!endpoints.contains(endpoint)) { unImport(ir.getImportReference()); } } }
private boolean alreadyImported(EndpointDescription endpoint, Set<ImportRegistration> importRegistrations) { for (ImportRegistration ir : importRegistrations) { if (endpoint.equals(ir.getImportReference().getImportedEndpoint())) { return true; } } return false; }