public static <T> InputStream contentAsStream(final T content) throws ODataException { if (content == null) { throw new ODataBadRequestException(ODataBadRequestException.COMMON); } InputStream inputStream; if (content instanceof InputStream) { inputStream = (InputStream) content; } else if (content instanceof String) { try { inputStream = new ByteArrayInputStream(((String) content).getBytes("UTF-8")); } catch (final UnsupportedEncodingException e) { throw new ODataBadRequestException(ODataBadRequestException.COMMON, e); } } else { throw new ODataBadRequestException(ODataBadRequestException.COMMON); } return inputStream; }
public static <T> InputStream contentAsStream(final T content) throws ODataException { if (content == null) { throw new ODataBadRequestException(ODataBadRequestException.COMMON); } InputStream inputStream; if (content instanceof InputStream) { inputStream = (InputStream) content; } else if (content instanceof String) { try { inputStream = new ByteArrayInputStream(((String) content).getBytes("UTF-8")); } catch (final UnsupportedEncodingException e) { throw new ODataBadRequestException(ODataBadRequestException.COMMON, e); } } else { throw new ODataBadRequestException(ODataBadRequestException.COMMON); } return inputStream; }
/** * Validates that <code>dollar format query/syntax</code> is correct for further processing. * If some validation error occurs an exception is thrown. * * @param uriInfo * @throws ODataBadRequestException */ private void validateFormatQuery(final UriInfoImpl uriInfo) throws ODataBadRequestException { if (uriInfo.isValue()) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_SYNTAX); } }
/** * Validates that <code>dollar format query/syntax</code> is correct for further processing. * If some validation error occurs an exception is thrown. * * @param uriInfo * @throws ODataBadRequestException */ private void validateFormatQuery(final UriInfoImpl uriInfo) throws ODataBadRequestException { if (uriInfo.isValue()) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_SYNTAX); } }
@Override public ODataResponse existsEntity(GetEntityCountUriInfo uriInfo,String contentType) throws ODataBadRequestException { ODataBadRequestException exception = new ODataBadRequestException(ODataBadRequestException.COMMON); LoggerFactory.getLogger(GenericODataProcessor.class).error(exception.getMessage(), exception); throw exception; }
/** * Validates that <code>dollar format query/syntax</code> is correct for further processing. * If some validation error occurs an exception is thrown. * * @param uriInfo * @throws ODataBadRequestException */ private void validateFormatQuery(final UriInfoImpl uriInfo) throws ODataBadRequestException { if (uriInfo.isValue()) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_SYNTAX); } }
private List<ContentType> extractAcceptHeaders(final List<String> acceptHeaderValues) throws ODataBadRequestException { final List<ContentType> mediaTypes = new ArrayList<ContentType>(); if (acceptHeaderValues != null) { for (final String mediaType : acceptHeaderValues) { try { mediaTypes.add(ContentType.create(mediaType.toString())); } catch (IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_HEADER.addContent("Accept") .addContent(mediaType.toString()), e); } } } return mediaTypes; }
private List<ContentType> extractAcceptHeaders(final List<String> acceptHeaderValues) throws ODataBadRequestException { final List<ContentType> mediaTypes = new ArrayList<ContentType>(); if (acceptHeaderValues != null) { for (final String mediaType : acceptHeaderValues) { try { mediaTypes.add(ContentType.create(mediaType.toString())); } catch (IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_HEADER.addContent("Accept") .addContent(mediaType.toString()), e); } } } return mediaTypes; }
private List<ContentType> extractAcceptHeaders(final List<String> acceptHeaderValues) throws ODataBadRequestException { final List<ContentType> mediaTypes = new ArrayList<ContentType>(); if (acceptHeaderValues != null) { for (final String mediaType : acceptHeaderValues) { try { mediaTypes.add(ContentType.create(mediaType.toString())); } catch (IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.INVALID_HEADER.addContent("Accept") .addContent(mediaType.toString()), e); } } } return mediaTypes; }
private static void validateDataServiceVersion(final String serverDataServiceVersion, final String requestDataServiceVersion) throws ODataException { if (requestDataServiceVersion != null) { try { final boolean isValid = ODataServiceVersion.validateDataServiceVersion(requestDataServiceVersion); if (!isValid || ODataServiceVersion.isBiggerThan(requestDataServiceVersion, serverDataServiceVersion)) { throw new ODataBadRequestException(ODataBadRequestException.VERSIONERROR.addContent(requestDataServiceVersion .toString())); } } catch (final IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.PARSEVERSIONERROR .addContent(requestDataServiceVersion), e); } } }
private static void validateDataServiceVersion(final String serverDataServiceVersion, final String requestDataServiceVersion) throws ODataException { if (requestDataServiceVersion != null) { try { final boolean isValid = ODataServiceVersion.validateDataServiceVersion(requestDataServiceVersion); if (!isValid || ODataServiceVersion.isBiggerThan(requestDataServiceVersion, serverDataServiceVersion)) { throw new ODataBadRequestException(ODataBadRequestException.VERSIONERROR .addContent(requestDataServiceVersion)); } } catch (final IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.PARSEVERSIONERROR .addContent(requestDataServiceVersion), e); } } }
private static void validateDataServiceVersion(final String serverDataServiceVersion, final String requestDataServiceVersion) throws ODataException { if (requestDataServiceVersion != null) { try { final boolean isValid = ODataServiceVersion.validateDataServiceVersion(requestDataServiceVersion); if (!isValid || ODataServiceVersion.isBiggerThan(requestDataServiceVersion, serverDataServiceVersion)) { throw new ODataBadRequestException(ODataBadRequestException.VERSIONERROR .addContent(requestDataServiceVersion)); } } catch (final IllegalArgumentException e) { throw new ODataBadRequestException(ODataBadRequestException.PARSEVERSIONERROR .addContent(requestDataServiceVersion), e); } } }
private ODataEntry parseEntry(final EdmEntitySet entitySet, final InputStream content, final String requestContentType, final EntityProviderReadProperties properties) throws ODataBadRequestException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityConsumer", "readEntry"); ODataEntry entryValues; try { entryValues = EntityProvider.readEntry(requestContentType, entitySet, content, properties); } catch (final EntityProviderException e) { throw new ODataBadRequestException(ODataBadRequestException.BODY, e); } context.stopRuntimeMeasurement(timingHandle); return entryValues; }
private ODataEntry parseEntry(final EdmEntitySet entitySet, final InputStream content, final String requestContentType, final EntityProviderReadProperties properties) throws ODataBadRequestException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityConsumer", "readEntry"); ODataEntry entryValues; try { entryValues = EntityProvider.readEntry(requestContentType, entitySet, content, properties); } catch (final EntityProviderException e) { throw new ODataBadRequestException(ODataBadRequestException.BODY, e); } context.stopRuntimeMeasurement(timingHandle); return entryValues; }
public final ODataEntry parseEntry(final EdmEntitySet entitySet, final InputStream content, final String requestContentType, final boolean merge) throws ODataBadRequestException { ODataEntry entryValues; try { EntityProviderReadProperties entityProviderProperties = EntityProviderReadProperties.init().mergeSemantic(merge).build(); entryValues = EntityProvider.readEntry(requestContentType, entitySet, content, entityProviderProperties); } catch (EntityProviderException e) { throw new ODataBadRequestException(ODataBadRequestException.BODY, e); } return entryValues; }
private ODataEntry parseEntry(final EdmEntitySet entitySet, final InputStream content, final String requestContentType, final EntityProviderReadProperties properties) throws ODataBadRequestException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityConsumer", "readEntry"); ODataEntry entryValues; try { entryValues = EntityProvider.readEntry(requestContentType, entitySet, content, properties); } catch (final EntityProviderException e) { throw new ODataBadRequestException(ODataBadRequestException.BODY, e); } context.stopRuntimeMeasurement(timingHandle); return entryValues; }
private Map<String, Object> parseLink(final EdmEntitySet entitySet, final InputStream content, final String contentType) throws ODataException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "readLink"); final String uriString = EntityProvider.readLink(contentType, entitySet, content); context.stopRuntimeMeasurement(timingHandle); final Map<String, Object> targetKeys = parseLinkUri(entitySet, uriString); if (targetKeys == null) { throw new ODataBadRequestException(ODataBadRequestException.BODY); } return targetKeys; }
private Map<String, Object> parseLink(final EdmEntitySet entitySet, final InputStream content, final String contentType) throws ODataException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "readLink"); final String uriString = EntityProvider.readLink(contentType, entitySet, content); context.stopRuntimeMeasurement(timingHandle); final Map<String, Object> targetKeys = parseLinkUri(entitySet, uriString); if (targetKeys == null) { throw new ODataBadRequestException(ODataBadRequestException.BODY); } return targetKeys; }
private Map<String, Object> parseLink(final EdmEntitySet entitySet, final InputStream content, final String contentType) throws ODataException { ODataContext context = getContext(); final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "readLink"); final String uriString = EntityProvider.readLink(contentType, entitySet, content); context.stopRuntimeMeasurement(timingHandle); final Map<String, Object> targetKeys = parseLinkUri(entitySet, uriString); if (targetKeys == null) { throw new ODataBadRequestException(ODataBadRequestException.BODY); } return targetKeys; }
private void initializeContext(ODataContext context, PathInfoExtractor pathInfoExtractor, IServiceInfo gwService) throws ODataException { if (pathInfoExtractor.isMultiOrigin() && pathInfoExtractor.hasOrigin()) { // combination of both is not supported ODataBadRequestException exception = new ODataBadRequestException(ODataBadRequestException.NOTSUPPORTED); log.error(exception.getMessage(), exception); gwLogger.logErrors(GatewayLogMessage.CoreRtMultiOriginAndOriginNotSupp, exception.getMessage(), exception.getMessage()); throw exception; } if (pathInfoExtractor.isMultiOrigin()) { context.setParameter(ContextConstants.MULTI_ORIGIN, Boolean.TRUE); } else if (pathInfoExtractor.hasOrigin()) { String origin = pathInfoExtractor.getOrigin(); origin = DestinationInfoUtil.getDestinationForSid(origin, gwService, context); context.setParameter(ContextConstants.ORIGIN, origin); } }