package com.sixsq.slipstream.api;
import com.sixsq.slipstream.util.RequestUtil;
public class APICollectionResource extends APIBaseResource {
public APICollectionResource(String resourceName) {
super(resourceName);
}
@Override
protected String getPageRepresentation() {
return resourceName + "s";
}
@Override
protected String resourceUri() {
return super.resourceUri() + "/" + this.resourceName + cimiParams();
}
private String cimiParams() {
int limit = RequestUtil.getLimit(getRequest());
int offset = RequestUtil.getOffset(getRequest());
int first = offset + 1;
int last = offset + limit;
return "?$first=" + first + "&$last=" + last + cimiFilter();
}
protected String cimiFilter() {
String cimiFilter = RequestUtil.getCIMIFilter(getRequest());
if (cimiFilter != null && !cimiFilter.isEmpty()) {
return "&$filter=" + cimiFilter;
} else {
return "";
}
}
}