public void writeMetadata()throws ODataLibraryException { assert (!isClosed()); this.response.setContent(this.serializer.metadataDocument(this.metadata).getContent()); writeOK(responseContentType); close(); }
public void writeMetadata()throws ODataLibraryException { assert (!isClosed()); this.response.setContent(this.serializer.metadataDocument(this.metadata).getContent()); writeOK(responseContentType); close(); }
@Override public void readMetadata(final ODataRequest request, final ODataResponse response, final UriInfo uriInfo, final ContentType requestedContentType) throws ODataApplicationException, ODataLibraryException { boolean isNotModified = false; ServiceMetadataETagSupport eTagSupport = serviceMetadata.getServiceMetadataETagSupport(); if (eTagSupport != null && eTagSupport.getMetadataETag() != null) { // Set application etag at response response.setHeader(HttpHeader.ETAG, eTagSupport.getMetadataETag()); // Check if metadata document has been modified ETagHelper eTagHelper = odata.createETagHelper(); isNotModified = eTagHelper.checkReadPreconditions(eTagSupport.getMetadataETag(), request .getHeaders(HttpHeader.IF_MATCH), request.getHeaders(HttpHeader.IF_NONE_MATCH)); } // Send the correct response if (isNotModified) { response.setStatusCode(HttpStatusCode.NOT_MODIFIED.getStatusCode()); } else { // HTTP HEAD requires no payload but a 200 OK response if (HttpMethod.HEAD == request.getMethod()) { response.setStatusCode(HttpStatusCode.OK.getStatusCode()); } else { ODataSerializer serializer = odata.createSerializer(requestedContentType); response.setContent(serializer.metadataDocument(serviceMetadata).getContent()); response.setStatusCode(HttpStatusCode.OK.getStatusCode()); response.setHeader(HttpHeader.CONTENT_TYPE, requestedContentType.toContentTypeString()); } } }
@Override public void readMetadata(final ODataRequest request, final ODataResponse response, final UriInfo uriInfo, final ContentType requestedContentType) throws ODataApplicationException, ODataLibraryException { boolean isNotModified = false; ServiceMetadataETagSupport eTagSupport = serviceMetadata.getServiceMetadataETagSupport(); if (eTagSupport != null && eTagSupport.getMetadataETag() != null) { // Set application etag at response response.setHeader(HttpHeader.ETAG, eTagSupport.getMetadataETag()); // Check if metadata document has been modified ETagHelper eTagHelper = odata.createETagHelper(); isNotModified = eTagHelper.checkReadPreconditions(eTagSupport.getMetadataETag(), request .getHeaders(HttpHeader.IF_MATCH), request.getHeaders(HttpHeader.IF_NONE_MATCH)); } // Send the correct response if (isNotModified) { response.setStatusCode(HttpStatusCode.NOT_MODIFIED.getStatusCode()); } else { // HTTP HEAD requires no payload but a 200 OK response if (HttpMethod.HEAD == request.getMethod()) { response.setStatusCode(HttpStatusCode.OK.getStatusCode()); } else { ODataSerializer serializer = odata.createSerializer(requestedContentType); response.setContent(serializer.metadataDocument(serviceMetadata).getContent()); response.setStatusCode(HttpStatusCode.OK.getStatusCode()); response.setHeader(HttpHeader.CONTENT_TYPE, requestedContentType.toContentTypeString()); } } }