![JAR search and dependency download from the Maven repository](/logo.png)
org.odata4j.examples.consumer.CodePlexConsumerExample Maven / Gradle / Ivy
The newest version!
package org.odata4j.examples.consumer;
import org.core4j.Enumerable;
import org.odata4j.consumer.ODataConsumer;
import org.odata4j.consumer.ODataConsumers;
import org.odata4j.consumer.behaviors.OClientBehaviors;
import org.odata4j.core.OEntity;
import org.odata4j.core.ORelatedEntitiesLink;
import org.odata4j.examples.AbstractExample;
public class CodePlexConsumerExample extends AbstractExample {
// for more info: https://codeplexodata.cloudapp.net/
private static final int MAX_LISTING = 5;
public static void main(String[] args) {
CodePlexConsumerExample example = new CodePlexConsumerExample();
example.run(args);
}
private void run(String[] args) {
ODataConsumer.dump.requestHeaders(true);
String[] codeplexCreds = args.length > 0 ? args : System.getenv("CODEPLEX").split(":");
String codeplexUser = "snd\\" + codeplexCreds[0] + "_cp";
String codeplexPassword = codeplexCreds[1];
for (String collection : Enumerable.create("TFS03", "TFS05", "TFS09")) {
ODataConsumer c = ODataConsumers.newBuilder("https://codeplexodata.cloudapp.net/" + collection)
.setClientBehaviors(OClientBehaviors.basicAuth(codeplexUser, codeplexPassword))
.build();
for (OEntity p : c.getEntities("Projects").execute()) {
reportEntity("project:", p);
if (p.getProperty("Name", String.class).getValue().equals("s3"))
continue;
for (OEntity cs : listChildren(c, p, "Changesets")) {
reportEntity("changeset:", cs);
for (OEntity ch : listChildren(c, cs, "Changes")) {
reportEntity("change:", ch);
}
}
for (OEntity wi : listChildren(c, p, "WorkItems")) {
reportEntity("workitem:", wi);
for (OEntity a : listChildren(c, wi, "Attachments")) {
reportEntity("attachment:", a);
}
}
}
}
}
private static Iterable listChildren(ODataConsumer c, OEntity parent, String child) {
return c.getEntities(parent.getLink(child, ORelatedEntitiesLink.class)).execute().take(MAX_LISTING);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy