/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.smartitengineering.generetor.engine.webservice.client.api.Impl;
import com.smartitengineering.generator.engine.webservice.domain.ReportConfig;
import com.smartitengineering.generetor.engine.webservice.client.api.ConfigResource;
import com.smartitengineering.generetor.engine.webservice.client.api.ConfigsResource;
import com.smartitengineering.util.rest.atom.AbstractFeedClientResource;
import com.smartitengineering.util.rest.client.ClientUtil;
import com.smartitengineering.util.rest.client.Resource;
import com.smartitengineering.util.rest.client.ResourceLink;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.config.ClientConfig;
import java.util.Collection;
import javax.ws.rs.core.MediaType;
import org.apache.abdera.model.Feed;
/**
*
* @author saumitra
*/
public class ConfigsResourceImpl extends AbstractFeedClientResource<Resource<? extends Feed>> implements ConfigsResource {
public ConfigsResourceImpl(Resource referrer, ResourceLink resouceLink) throws IllegalArgumentException,
UniformInterfaceException {
super(referrer, resouceLink);
}
@Override
protected void processClientConfig(ClientConfig cc) {
}
@Override
protected Resource<? extends Feed> instantiatePageableResource(ResourceLink rl) {
return new ConfigsResourceImpl(this, rl);
}
@Override
public ConfigResource createConfig(ReportConfig reportConfig) {
ClientResponse response = post(MediaType.APPLICATION_JSON, reportConfig, ClientResponse.Status.CREATED);
if (response.getLocation() == null) {
logger.info("response.getLocation is null for reportconfig resource");
}
final ResourceLink configLink = ClientUtil.createResourceLink("config", response.getLocation(),
MediaType.APPLICATION_ATOM_XML);
return new ConfigResourceImpl(this, configLink);
}
@Override
public Collection<ConfigResource> searchConfig() {
throw new UnsupportedOperationException("Not supported yet.");
}
}