Skip to content
Francesco Chicchiriccò edited this page May 21, 2013 · 18 revisions

This page shows some sample usage of ODataJClient, either at high (e.g. Proxy) and low (e.g. Engine) level.

Proxy samples

Engine samples

Create entity

        // provide the target URI
        final ODataURI targetURI = new ODataURI("http://services.odata.org/OData/Odata.svc");
        targetURI.append("Products");

        // build the new object
        final ODataEntity newEntity = EntityFactory.newEntity("Java Code");
        newEntity.setSummary("OData client Java framework");
        // entity.set......

        // create your request
        final ODataRequest request = ODataRequestFactory.getCreateRequest(targetURI, newEntity);

        // execute the request
        ODataResponse res = client.execute(request);

        // retrieve and process execution results
        int statusCode = res.getStatusCode();
        String statusMessage = res.getStatusMessage();

Create link

        // provide the source URI
        final ODataURI sourceURI = new ODataURI("http://services.odata.org/OData/Odata.svc");
        sourceURI.append("Products(1)");

        // provide the target URI
        final ODataURI targetURI = new ODataURI("http://services.odata.org/OData/Odata.svc");
        targetURI.append("Suppliers(5)");

        // build the new link
        final ODataLink newLink = EntityFactory.newLink("Supplier", targetURI);

        // create your request
        final ODataRequest request = ODataRequestFactory.getCreateRequest(sourceURI, newLink);

        // execute the request
        ODataResponse res = client.execute(request);

        // retrieve and process execution results
        int statusCode = res.getStatusCode();
        String statusMessage = res.getStatusMessage();

Update entity (PATCH)

        // provide the target URI
        final ODataURI targetURI = new ODataURI("http://services.odata.org/OData/Odata.svc");
        targetURI.append("Products(2)");

        // build the new object to change Rating value
        final ODataEntity changes = EntityFactory.newEntity("Java Code");
        ODataProperty rating = new ODataProperty("Rating", "3");

        // create your request
        final ODataRequest request = ODataRequestFactory.getUpdateRequest(targetURI, changes, UpdateType.PATCH);

        // execute the request
        ODataResponse res = client.execute(request);

        // retrieve and process execution results
        int statusCode = res.getStatusCode();
        String statusMessage = res.getStatusMessage();

Delete entity

        // provide the target URI
        final ODataURI targetURI = new ODataURI("http://services.odata.org/OData/Odata.svc");
        targetURI.append("Products(2)");

        // create your request
        final ODataRequest request = ODataRequestFactory.getDeleteRequest(targetURI);

        // execute the request
        ODataResponse res = client.execute(request);

        // retrieve and process execution results
        int statusCode = res.getStatusCode();
        String statusMessage = res.getStatusMessage();

Query

        // prepare URI
        final ODataURI uri = new ODataURI("http://services.odata.org/OData/Odata.svc");
        uri.append("Products(0)").expand("Supplier").select("Rating,Supplier/Name");

        // create new request
        final ODataRequest request = ODataRequestFactory.getQueryRequest(uri);

        // execute request
        final ODataResponse res = client.execute(request);

        // retrieve and process the query result
        for (ODataEntity entity : (Iterable<ODataEntity>) res.getBody()) {
            // .................
        }

Clone this wiki locally