package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.thumbnails; import com.jaspersoft.jasperserver.jaxrs.client.apiadapters.AbstractAdapter; import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest; import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage; import com.jaspersoft.jasperserver.jaxrs.client.core.enums.RequestMethod; import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler; import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult; import com.jaspersoft.jasperserver.dto.thumbnails.ResourceThumbnailsListWrapper; import javax.ws.rs.core.MultivaluedHashMap; import java.util.Collection; /** * @author Alex Krasnyanskiy * @author Tetiana Iefimenko * @since 6.0.1-ALPHA */ public class BatchThumbnailAdapter extends AbstractAdapter { public static final String SERVICE_URI = "thumbnails"; private final MultivaluedHashMap<String, String> params = new MultivaluedHashMap<String, String>(); private RequestMethod requestMethod; private Boolean defaultAllowed = false; public BatchThumbnailAdapter(SessionStorage sessionStorage) { super(sessionStorage); requestMethod = RequestMethod.POST; } public BatchThumbnailAdapter report(String uri) { params.add("uri", uri); return this; } public BatchThumbnailAdapter reports(String... uris) { for (String uri : uris) { params.add("uri", uri); } return this; } public BatchThumbnailAdapter reports(Collection<String> uris) { for (String uri : uris) { params.add("uri", uri); } return this; } public BatchThumbnailAdapter defaultAllowed(Boolean value) { this.defaultAllowed = value; return this; } public BatchThumbnailAdapter requestMethod(RequestMethod requestMethod){ this.requestMethod = requestMethod; return this; } public OperationResult<ResourceThumbnailsListWrapper> get() { if (requestMethod == RequestMethod.POST) { return request() .setContentType("application/x-www-form-urlencoded") .post(params); } return request().addParams(params).get(); } private JerseyRequest<ResourceThumbnailsListWrapper> request() { JerseyRequest<ResourceThumbnailsListWrapper> jerseyRequest = JerseyRequest.buildRequest(sessionStorage, ResourceThumbnailsListWrapper.class, new String[]{SERVICE_URI}, new DefaultErrorHandler()); jerseyRequest.addParam("defaultAllowed", defaultAllowed.toString()); return jerseyRequest; } }