org.odata4j.examples.consumer.ODataValidatorExample Maven / Gradle / Ivy
The newest version!
package org.odata4j.examples.consumer;
import org.odata4j.consumer.ODataConsumer;
import org.odata4j.consumer.ODataConsumers;
import org.odata4j.core.Guid;
import org.odata4j.core.OEntity;
import org.odata4j.core.OProperties;
import org.odata4j.core.ORelatedEntitiesLink;
import org.odata4j.examples.AbstractExample;
import org.odata4j.internal.InternalUtil;
public class ODataValidatorExample extends AbstractExample {
public static void main(String[] args) {
ODataValidatorExample example = new ODataValidatorExample();
example.run(args);
}
private void run(String[] args) {
String uri = ODataEndpoints.NORTHWIND;
ODataConsumer c = ODataConsumers.create("http://services.odata.org/validation/odatavalidator/");
Guid validationJobId = Guid.fromString("f4aa9495-ef40-469e-818c-29c4ec5fb2ed");
if (true) {
OEntity newValidationJob = c.createEntity("ValidationJobs").properties(OProperties.string("Uri", uri), OProperties.string("Format", "atompub")).execute();
reportEntity("new job", newValidationJob);
validationJobId = (Guid) newValidationJob.getEntityKey().asSingleValue();
}
boolean complete = false;
OEntity validationJob = null;
while (!complete) {
if (validationJob != null)
InternalUtil.sleep(500);
validationJob = c.getEntity("ValidationJobs", validationJobId).execute();
complete = validationJob.getProperty("Complete", Boolean.class).getValue();
}
reportEntity("job", validationJob);
for (OEntity testResult : c.getEntities(validationJob.getLink("TestResults", ORelatedEntitiesLink.class)).execute()) {
reportEntity("result", testResult);
}
report("PayloadLines:");
for (OEntity payloadLine : c.getEntities(validationJob.getLink("PayloadLines", ORelatedEntitiesLink.class)).orderBy("LineNumber").execute())
report(payloadLine.getProperty("LineText", String.class).getValue());
}
}