in src/main/java/com/microsoft/store/partnercenter/auditrecords/AuditRecordsCollection.java [44:133]
public SeekBasedResourceCollection<AuditRecord> query(DateTime startDate, DateTime endDate, IQuery query)
{
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>>();
DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-DD");
parameters.add
(
new KeyValuePair<String, String>
(
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getParameters().get("StartDate"),
startDate.toString(formatter)
)
);
if (endDate != null)
{
parameters.add
(
new KeyValuePair<String, String>
(
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getParameters().get("EndDate"),
endDate.toString(formatter)
)
);
}
if (query.getType() == QueryType.INDEXED)
{
parameters.add
(
new KeyValuePair<String, String>
(
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getParameters().get("Size"),
Integer.toString(query.getPageSize())
)
);
}
if (query.getFilter() != null)
{
// add the filter to the request if specified
ObjectMapper mapper = new ObjectMapper();
try
{
parameters.add
(
new KeyValuePair<String, String>
(
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getParameters().get("Filter"),
URLEncoder.encode
(
mapper.writeValueAsString(query.getFilter()),
"UTF-8"
)
)
);
}
catch(JsonProcessingException e)
{
throw new PartnerException("", null, PartnerErrorCategory.REQUEST_PARSING, e);
}
catch (UnsupportedEncodingException e)
{
throw new PartnerException("", null, PartnerErrorCategory.REQUEST_PARSING, e);
}
}
if (query.getToken() != null)
{
parameters.add
(
new KeyValuePair<String, String>
(
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getAdditionalHeaders().get("ContinuationToken"),
query.getToken().toString()
)
);
}
return this.getPartner().getServiceClient().get(
this.getPartner(),
new TypeReference<SeekBasedResourceCollection<AuditRecord>>(){},
PartnerService.getInstance().getConfiguration().getApis().get("GetAuditRecordsRequest").getPath(),
parameters);
}