import java.net.URI; import java.util.ArrayList; import java.util.List; import org.apache.olingo.client.api.ODataClient; import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest; import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest; import org.apache.olingo.client.api.communication.request.retrieve.ODataRetrieveRequest; import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse; import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse; import org.apache.olingo.client.api.domain.ClientCollectionValue; import org.apache.olingo.client.api.domain.ClientComplexValue; import org.apache.olingo.client.api.domain.ClientEntity; import org.apache.olingo.client.api.domain.ClientEntitySet; import org.apache.olingo.client.api.domain.ClientObjectFactory; import org.apache.olingo.client.api.domain.ClientProperty; import org.apache.olingo.client.core.ODataClientFactory; import org.apache.olingo.client.core.http.ProxyWrappingHttpClientFactory; import org.apache.olingo.commons.api.edm.Edm; import org.apache.olingo.commons.api.edm.EdmComplexType; import org.apache.olingo.commons.api.edm.EdmEntityType; import org.apache.olingo.commons.api.edm.EdmProperty; import org.apache.olingo.commons.api.edm.EdmSchema; import org.apache.olingo.commons.api.edm.FullQualifiedName; import org.apache.olingo.commons.api.format.ContentType; public class OlingoExample { public String serviceUrl = "https://hosted.datascopeapi.reuters.com/RestApi/v1/"; public ODataClient client; public String username = "dssusername"; public String password = "dsspassword"; public String token = null; public void CompositeExtractionRequest() { ClientEntity newEntity = client.getObjectFactory().newEntity(new FullQualifiedName("ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.CompositeExtractionRequest")); newEntity.getProperties() .add(client.getObjectFactory().newComplexProperty("ExtractionRequest", client.getObjectFactory().newComplexValue("ExtractionRequest") .add(client.getObjectFactory().newPrimitiveProperty("@odata.type", client.getObjectFactory().newPrimitiveValueBuilder().buildString("#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.CompositeExtractionRequest"))) .add(client.getObjectFactory().newCollectionProperty("ContentFieldNames", client.getObjectFactory().newCollectionValue("ContentFieldNames") .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("RIC")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("CUSIP")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("ISIN")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("SEDOL")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Issuer OrgID")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Currency Code")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Annualized Dividend Period Start Date")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Annualized Dividend Adjusted Gross Amount")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Balance Sheet - Enterprise Value")) .add(client.getObjectFactory().newPrimitiveValueBuilder().buildString("Balance Sheet - Market Value")) )) .add(client.getObjectFactory().newComplexProperty("IdentifierList", client.getObjectFactory().newComplexValue("IdentifierList") .add(client.getObjectFactory().newPrimitiveProperty("@odata.type", client.getObjectFactory().newPrimitiveValueBuilder().buildString("#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList"))) .add(client.getObjectFactory().newCollectionProperty("InstrumentIdentifiers", client.getObjectFactory().newCollectionValue("InstrumentIdentifiers") .add(client.getObjectFactory().newComplexValue("Ident1") .add(client.getObjectFactory().newPrimitiveProperty("Identifier", client.getObjectFactory().newPrimitiveValueBuilder().buildString("00209tab1"))) .add(client.getObjectFactory().newPrimitiveProperty("IdentifierType", client.getObjectFactory().newPrimitiveValueBuilder().buildString("Cusip"))) ) .add(client.getObjectFactory().newComplexValue("Ident2") .add(client.getObjectFactory().newPrimitiveProperty("Identifier", client.getObjectFactory().newPrimitiveValueBuilder().buildString("IBM.N"))) .add(client.getObjectFactory().newPrimitiveProperty("IdentifierType", client.getObjectFactory().newPrimitiveValueBuilder().buildString("Ric"))) ) .add(client.getObjectFactory().newComplexValue("Ident3") .add(client.getObjectFactory().newPrimitiveProperty("Identifier", client.getObjectFactory().newPrimitiveValueBuilder().buildString("US4592001014"))) .add(client.getObjectFactory().newPrimitiveProperty("IdentifierType", client.getObjectFactory().newPrimitiveValueBuilder().buildString("Isin"))) ) .add(client.getObjectFactory().newComplexValue("Ident4") .add(client.getObjectFactory().newPrimitiveProperty("Identifier", client.getObjectFactory().newPrimitiveValueBuilder().buildString("B1YW440"))) .add(client.getObjectFactory().newPrimitiveProperty("IdentifierType", client.getObjectFactory().newPrimitiveValueBuilder().buildString("Sedol"))) ) ) ) ) ) )); ODataEntityCreateRequest createRequest = client.getCUDRequestFactory().getEntityCreateRequest( client.newURIBuilder(serviceUrl).appendEntitySetSegment("Extractions/ExtractWithNotes").build(), newEntity); createRequest.addCustomHeader("Authorization", "Token "+token); ODataEntityCreateResponse createResponse = createRequest.execute(); ClientEntity createdEntity = createResponse.getBody(); System.out.println(createdEntity.toString()); } public void Login() { ClientEntity newEntity = client.getObjectFactory().newEntity(new FullQualifiedName("ThomsonReuters.Dss.Api.Authentication.Credentials")); newEntity.getProperties().add(client.getObjectFactory().newComplexProperty("Credentials" , client.getObjectFactory().newComplexValue("credential") .add(client.getObjectFactory().newPrimitiveProperty("Username", client.getObjectFactory().newPrimitiveValueBuilder().buildString(username))) .add(client.getObjectFactory().newPrimitiveProperty("Password", client.getObjectFactory().newPrimitiveValueBuilder().buildString(password))) )); ODataEntityCreateRequest createRequest = client.getCUDRequestFactory().getEntityCreateRequest( client.newURIBuilder(serviceUrl).appendEntitySetSegment("Authentication/RequestToken").build(), newEntity); createRequest.addCustomHeader("Prefer", "respond-async"); ODataEntityCreateResponse createResponse = createRequest.execute(); if(createResponse.getStatusCode() == 200) { ClientEntity createdEntity = createResponse.getBody(); ClientProperty valueProperty = createdEntity.getProperty("value"); token = valueProperty.getValue().asPrimitive().toString(); System.out.println(token); } } public void Run() { client = ODataClientFactory.getClient(); client.getConfiguration().setDefaultPubFormat(ContentType.APPLICATION_JSON); Login(); CompositeExtractionRequest(); } public static void main(String[] args) { // TODO Auto-generated method stub OlingoExample app = new OlingoExample(); app.Run(); } }