in src/main/java/com/microsoft/store/partnercenter/invoices/InvoiceCollection.java [156:210]
public ResourceCollection<Invoice> query(IQuery query)
{
if (query == null)
{
throw new IllegalArgumentException("query can't be null");
}
if (query.getType() != QueryType.INDEXED && query.getType() != QueryType.SIMPLE)
{
throw new IllegalArgumentException("This type of query is not supported.");
}
Collection<KeyValuePair<String, String>> parameters = new ArrayList<KeyValuePair<String, String>>();
if (query.getType() == QueryType.INDEXED)
{
parameters.add(
new KeyValuePair<String, String>(
PartnerService.getInstance().getConfiguration().getApis().get("GetInvoices").getParameters().get("Size"),
String.valueOf(query.getPageSize())));
parameters.add(
new KeyValuePair<String, String>(
PartnerService.getInstance().getConfiguration().getApis().get("GetInvoices").getParameters().get("Offset"),
String.valueOf(query.getIndex())));
}
if (query.getFilter() != null)
{
ObjectMapper mapper = new ObjectMapper();
try
{
parameters.add(
new KeyValuePair<String, String>(
PartnerService.getInstance().getConfiguration().getApis().get("GetInvoices").getParameters().get("Filter"),
URLEncoder.encode(mapper.writeValueAsString(query.getFilter()),
"UTF-8")));
}
catch (UnsupportedEncodingException e)
{
throw new PartnerException("", null, PartnerErrorCategory.REQUEST_PARSING, e);
}
catch (JsonProcessingException e)
{
throw new PartnerException("", null, PartnerErrorCategory.REQUEST_PARSING, e);
}
}
return this.getPartner().getServiceClient().get(
this.getPartner(),
new TypeReference<SeekBasedResourceCollection<Invoice>>(){},
PartnerService.getInstance().getConfiguration().getApis().get("GetInvoices").getPath(),
parameters);
}