/** * Create an OData Request Context with the given OData Request, OData URI and Entity Data Model. * * @param request The given OData Request. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @return The created OData Request Context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest request, ODataUri oDataUri, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(request, oDataUri, entityDataModel); }
/** * Create an OData Request Context with the given OData Request, OData URI and Entity Data Model. * * @param request The given OData Request. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @return The created OData Request Context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest request, ODataUri oDataUri, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(request, oDataUri, entityDataModel); }
public ODataRequestContext withUri(ODataUri oDataUri) { return new ODataRequestContext(this.request, oDataUri, this.entityDataModel); }
public ODataRequestContext withUri(ODataUri oDataUri) { return new ODataRequestContext(this.request, oDataUri, this.entityDataModel); }
/** * Create an OData Request Context with the given HTTP method, OData URI and Entity Data Model. * * @param method The given HTTP method. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @return The created OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, ODataUri oDataUri, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method), oDataUri, entityDataModel); }
/** * Create an OData Request Context with the given HTTP method, OData URI and Entity Data Model. * * @param method The given HTTP method. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @return The created OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, ODataUri oDataUri, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method), oDataUri, entityDataModel); }
/** * Create an OData Request Context with the given HTTP method, OData URI and Entity Data Model. * * @param method The given HTTP method. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @param headers An additional request headers. * @return The created OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, ODataUri oDataUri, EntityDataModel entityDataModel, Map<String, String> headers) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method, headers), oDataUri, entityDataModel); }
/** * Create an OData Request Context with the given HTTP method, OData URI and Entity Data Model. * * @param method The given HTTP method. * @param oDataUri The given OData URI. * @param entityDataModel The given Entity Data Model. * @param headers An additional request headers. * @return The created OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, ODataUri oDataUri, EntityDataModel entityDataModel, Map<String, String> headers) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method, headers), oDataUri, entityDataModel); }
/** * Create an OData Request Context with the given HTTP method. * * @param method The given HTTP method. * @param entityDataModel The Entity Data Model. * @return The crated OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method), createODataUri(), entityDataModel); }
/** * Create an OData Request Context with the given HTTP method. * * @param method The given HTTP method. * @param entityDataModel The Entity Data Model. * @return The crated OData request context. * @throws UnsupportedEncodingException */ public static ODataRequestContext createODataRequestContext(ODataRequest.Method method, EntityDataModel entityDataModel) throws UnsupportedEncodingException { return new ODataRequestContext(createODataRequest(method), createODataUri(), entityDataModel); }
/** * Unmarshalls an Atom XML form of on OData entity into the actual entity (DTO) object. * * @param oDataEntityXml the Atom XML form of on OData entity * @return an entity (DTO) object * @throws java.io.UnsupportedEncodingException * @throws ODataClientException */ public Object atomUnmarshall(String oDataEntityXml, String fullResponse, ODataClientQuery query) throws UnsupportedEncodingException, ODataClientException { Object unmarshalledEntity; // build a dummy request context which contains the Xml ODataRequest request = buildODataRequestFromString(oDataEntityXml, query); ODataRequestContext requestContext = new ODataRequestContext(request, createODataUri(url, query.getEdmEntityName()), entityDataModel); // unmarshall the OData request context into an entity try { unmarshalledEntity = getODataAtomParser(requestContext).getODataEntity(); } catch (ODataException | RuntimeException e) { throw new ODataClientParserException( format("Caught exception {0}: {1} when parsing response received from OData service", e.getClass().getSimpleName(), e.getMessage()), e, oDataEntityXml, fullResponse); } return unmarshalledEntity; }
@Override public List<?> unmarshall(String odataServiceResponse, ODataClientQuery query) throws ODataClientException { LOG.debug("Unmarshalling entities for query: {}", query); try { ODataRequest request = buildODataRequestFromString(odataServiceResponse, query); ODataUri oDataUri = createODataUri(url, query.getEdmEntityName()); ODataRequestContext requestContext = new ODataRequestContext(request, oDataUri, entityDataModel); return getODataAtomParser(requestContext).getODataEntities(); } catch (UnsupportedEncodingException | ODataException e) { throw new ODataClientException(e); } }
private ODataRequestContext buildODataPostContext(ODataUri serviceUri) throws UnsupportedEncodingException, ODataEdmException { ODataRequest request = new ODataRequest.Builder() .setUri(serviceUri.serviceRoot()) .setBodyText("", StandardCharsets.UTF_8.name()) .setAccept(ATOM_XML) .setMethod(POST) .build(); return new ODataRequestContext(request, serviceUri, entityDataModel); }
/** * Unmarshalls an Atom XML form of on OData entity into the actual entity (DTO) object. * * @param oDataEntityXml the Atom XML form of on OData entity * @param serviceUri the service uri * @return an entity (DTO) object * @throws java.io.UnsupportedEncodingException * @throws com.sdl.odata.api.ODataException */ public static Object atomUnmarshall(String oDataEntityXml, ODataUri serviceUri) throws UnsupportedEncodingException, ODataException { EntityDataModel entityDataModel = buildEntityDataModel(); // build a dummy request context which contains the Xml ODataRequest request = buildODataRequestFromString(oDataEntityXml, serviceUri); ODataRequestContext requestContext = new ODataRequestContext(request, serviceUri, entityDataModel); // unmarshall the OData request context into an entity return new ODataAtomParser(requestContext, new ODataParserImpl()).getODataEntity(); }
private static ODataRequestContext buildODataContext( String body, MediaType mediaType, ODataUri serviceUri) throws UnsupportedEncodingException, ODataEdmException { ODataRequest request = new ODataRequest.Builder().setBodyText(body, "UTF-8") .setUri(serviceUri.serviceRoot()) .setAccept(mediaType) .setMethod(GET).build(); return new ODataRequestContext(request, serviceUri, buildEntityDataModel()); }