Search in sources :

Example 11 with Entity

use of org.apache.olingo.commons.api.data.Entity in project syndesis by syndesisio.

the class AbstractODataConnector method createEndpointUri.

@Override
public String createEndpointUri(final String scheme, final Map<String, String> options) throws URISyntaxException {
    // set serviceUri on delegate component
    Olingo4Component delegate = getCamelContext().getComponent(scheme, Olingo4Component.class);
    Olingo4Configuration configuration = new Olingo4Configuration();
    configuration.setServiceUri(this.serviceUri);
    delegate.setConfiguration(configuration);
    setAfterProducer(exchange -> {
        if (!exchange.isFailed()) {
            ClientEntity clientEntity = exchange.getIn().getBody(ClientEntity.class);
            if (clientEntity != null) {
                // convert client entity to JSON
                final StringWriter writer = new StringWriter();
                final Entity entity = odataClient.getBinder().getEntity(clientEntity);
                final ODataSerializer serializer = odataClient.getSerializer(APPLICATION_JSON);
                serializer.write(writer, entity);
                exchange.getIn().setBody(writer.toString());
            }
        }
    // TODO handle failure on missing resource 404
    });
    return super.createEndpointUri(scheme, options);
}
Also used : ClientEntity(org.apache.olingo.client.api.domain.ClientEntity) Entity(org.apache.olingo.commons.api.data.Entity) ClientEntity(org.apache.olingo.client.api.domain.ClientEntity) ODataSerializer(org.apache.olingo.client.api.serialization.ODataSerializer) Olingo4Configuration(org.apache.camel.component.olingo4.Olingo4Configuration) StringWriter(java.io.StringWriter) Olingo4Component(org.apache.camel.component.olingo4.Olingo4Component)

Aggregations

Entity (org.apache.olingo.commons.api.data.Entity)11 Property (org.apache.olingo.commons.api.data.Property)5 Link (org.apache.olingo.commons.api.data.Link)4 ArrayList (java.util.ArrayList)3 EntityCollection (org.apache.olingo.commons.api.data.EntityCollection)3 EdmNavigationProperty (org.apache.olingo.commons.api.edm.EdmNavigationProperty)3 StringWriter (java.io.StringWriter)2 SQLException (java.sql.SQLException)2 ComplexValue (org.apache.olingo.commons.api.data.ComplexValue)2 TranslatorException (org.teiid.translator.TranslatorException)2 IOException (java.io.IOException)1 URI (java.net.URI)1 URISyntaxException (java.net.URISyntaxException)1 LinkedHashMap (java.util.LinkedHashMap)1 List (java.util.List)1 Olingo4Component (org.apache.camel.component.olingo4.Olingo4Component)1 Olingo4Configuration (org.apache.camel.component.olingo4.Olingo4Configuration)1 ClientEntity (org.apache.olingo.client.api.domain.ClientEntity)1 ODataDeserializerException (org.apache.olingo.client.api.serialization.ODataDeserializerException)1 ODataSerializer (org.apache.olingo.client.api.serialization.ODataSerializer)1