public Builder resource(final String resource) { if (resource != null) { instance.getResources().add(resource); } return this; }
public Builder() { this.instance = new ResourceDR(); }
public Builder action(final ResourceDeassociationAction action) { instance.setAction(action); return this; }
public Builder key(final String key) { instance.setKey(key); return this; }
public Builder resources(final Collection<String> resources) { if (resources != null) { instance.getResources().addAll(resources); } return this; }
public Builder resources(final String... resources) { instance.getResources().addAll(Arrays.asList(resources)); return this; }
public Map<String, String> deassociate( final ResourceDeassociationAction action, final String etag, final String key, final List<StatusBean> statuses) { Map<String, String> result = new LinkedHashMap<>(); synchronized (this) { AnyService<?> service = getService(etag, getAnyServiceClass()); Client client = WebClient.client(service); List<String> accept = client.getHeaders().get(HttpHeaders.ACCEPT); if (!accept.contains(RESTHeaders.MULTIPART_MIXED)) { client.accept(RESTHeaders.MULTIPART_MIXED); } ResourceDR resourceDR = new ResourceDR.Builder().key(key). action(action). resources(StatusUtils.statusR(statuses).build().getResources()).build(); try { List<BatchResponseItem> items = parseBatchResponse(service.deassociate(resourceDR)); for (int i = 0; i < items.size(); i++) { result.put( resourceDR.getResources().get(i), getStatus(items.get(i).getStatus())); } } catch (IOException e) { LOG.error("While processing Batch response", e); } resetClient(getAnyServiceClass()); } return result; }