@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonFeedEntityProducer(properties).appendAsObject(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()).build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonFeedEntityProducer(properties).append(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()).build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonFeedEntityProducer(properties).appendAsObject(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()).build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLink(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); XmlLinkEntityProducer entity = new XmlLinkEntityProducer(properties); final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); entity.append(writer, entityInfo, data, true); writer.flush(); csb.closeWrite(); return ODataResponse.entity(csb.getInputStream()).build(); } catch (EntityProviderException e) { csb.close(); throw e; } catch (Exception e) { csb.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLinks(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); XmlLinksEntityProducer entity = new XmlLinksEntityProducer(properties); final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); entity.append(writer, entityInfo, data); writer.flush(); csb.closeWrite(); return ODataResponse.entity(csb.getInputStream()).build(); } catch (EntityProviderException e) { csb.close(); throw e; } catch (Exception e) { csb.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); AtomFeedProducer atomFeedProvider = new AtomFeedProducer(properties); EntityInfoAggregator eia = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); atomFeedProvider.append(writer, eia, data, false); writer.flush(); csb.closeWrite(); ODataResponse response = ODataResponse.entity(csb.getInputStream()).build(); return response; } catch (EntityProviderException e) { csb.close(); throw e; } catch (XMLStreamException e) { csb.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLink(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonLinkEntityProducer(properties).append(writer, entityInfo, data); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()) .header(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V10) .build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
public ODataEntityProviderPropertiesBuilder fromProperties(final EntityProviderWriteProperties properties) { this.properties.mediaResourceMimeType = properties.getMediaResourceMimeType(); this.properties.inlineCountType = properties.getInlineCountType(); this.properties.inlineCount = properties.getInlineCount(); this.properties.nextLink = properties.getNextLink(); this.properties.expandSelectTree = properties.getExpandSelectTree(); this.properties.callbacks = properties.getCallbacks(); this.properties.selfLink = properties.getSelfLink(); this.properties.includeSimplePropertyType = properties.includeSimplePropertyType; return this; } }
@Override public ODataResponse writeLink(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonLinkEntityProducer(properties).append(writer, entityInfo, data); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()) .header(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V10) .build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLink(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonLinkEntityProducer(properties).append(writer, entityInfo, data); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()) .header(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V10) .build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLinks(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonLinksEntityProducer(properties).append(writer, entityInfo, data); writer.flush(); buffer.closeWrite(); ODataResponseBuilder response = ODataResponse.entity(buffer.getInputStream()); if (properties.getInlineCountType() != InlineCount.ALLPAGES) { response = response.header(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V10); } return response.build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeLinks(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); new JsonLinksEntityProducer(properties).append(writer, entityInfo, data); writer.flush(); buffer.closeWrite(); ODataResponseBuilder response = ODataResponse.entity(buffer.getInputStream()); if (properties.getInlineCountType() != InlineCount.ALLPAGES) { response = response.header(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V10); } return response.build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
public ODataEntityProviderPropertiesBuilder fromProperties(final EntityProviderWriteProperties properties) { this.properties.inlineCountType = properties.getInlineCountType(); this.properties.inlineCount = properties.getInlineCount(); this.properties.nextLink = properties.getNextLink(); this.properties.expandSelectTree = properties.getExpandSelectTree(); this.properties.callbacks = properties.getCallbacks(); this.properties.selfLink = properties.getSelfLink(); this.properties.includeSimplePropertyType = properties.includeSimplePropertyType; this.properties.additionalLinks = properties.additionalLinks; this.properties.omitJsonWrapper = properties.omitJsonWrapper; this.properties.contentOnly = properties.contentOnly; this.properties.omitETag = properties.omitETag; this.properties.validatingFacets = properties.validatingFacets; this.properties.isResponsePayload = properties.isResponsePayload; this.properties.includeMetadataInContentOnly = properties.includeMetadataInContentOnly; this.properties.isDataBasedPropertySerialization = properties.isDataBasedPropertySerialization; this.properties.omitInlineForNullData = properties.omitInlineForNullData; return this; }
@Override public ODataResponse writeLink(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XmlHelper.getXMLOutputFactory().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); XmlLinkEntityProducer entity = new XmlLinkEntityProducer(properties); final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); entity.append(writer, entityInfo, data, true); writer.flush(); csb.closeWrite(); return ODataResponse.entity(csb.getInputStream()).build(); } catch (EntityProviderException e) { csb.close(); throw e; } catch (Exception e) { csb.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XmlHelper.getXMLOutputFactory().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); AtomFeedProducer atomFeedProvider = new AtomFeedProducer(properties); EntityInfoAggregator eia = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); atomFeedProvider.append(writer, eia, data, false); writer.flush(); csb.closeWrite(); ODataResponse response = ODataResponse.entity(csb.getInputStream()).build(); return response; } catch (EntityProviderException e) { csb.close(); throw e; } catch (XMLStreamException e) { csb.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeFeed(final EdmEntitySet entitySet, final List<Map<String, Object>> data, final EntityProviderWriteProperties properties) throws EntityProviderException { CircleStreamBuffer csb = new CircleStreamBuffer(); try { OutputStream outStream = csb.getOutputStream(); XMLStreamWriter writer = XmlHelper.getXMLOutputFactory().createXMLStreamWriter(outStream, DEFAULT_CHARSET); writer.writeStartDocument(DEFAULT_CHARSET, XML_VERSION); AtomFeedProducer atomFeedProvider = new AtomFeedProducer(properties); EntityInfoAggregator eia = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); atomFeedProvider.append(writer, eia, data, false); writer.flush(); csb.closeWrite(); ODataResponse response = ODataResponse.entity(csb.getInputStream()).build(); return response; } catch (EntityProviderException e) { csb.close(); throw e; } catch (XMLStreamException e) { csb.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
public ODataEntityProviderPropertiesBuilder fromProperties(final EntityProviderWriteProperties properties) { this.properties.inlineCountType = properties.getInlineCountType(); this.properties.inlineCount = properties.getInlineCount(); this.properties.nextLink = properties.getNextLink(); this.properties.expandSelectTree = properties.getExpandSelectTree(); this.properties.callbacks = properties.getCallbacks(); this.properties.selfLink = properties.getSelfLink(); this.properties.includeSimplePropertyType = properties.includeSimplePropertyType; this.properties.additionalLinks = properties.additionalLinks; this.properties.omitJsonWrapper = properties.omitJsonWrapper; this.properties.contentOnly = properties.contentOnly; this.properties.omitETag = properties.omitETag; this.properties.validatingFacets = properties.validatingFacets; this.properties.isResponsePayload = properties.isResponsePayload; this.properties.includeMetadataInContentOnly = properties.includeMetadataInContentOnly; this.properties.isDataBasedPropertySerialization = properties.isDataBasedPropertySerialization; this.properties.omitInlineForNullData = properties.omitInlineForNullData; return this; }
@Override public ODataResponse writeEntry(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); JsonEntryEntityProducer producer = new JsonEntryEntityProducer(properties); producer.append(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()) .eTag(producer.getETag()) .idLiteral(producer.getLocation()) .build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderProducerException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
@Override public ODataResponse writeEntry(final EdmEntitySet entitySet, final Map<String, Object> data, final EntityProviderWriteProperties properties) throws EntityProviderException { final EntityInfoAggregator entityInfo = EntityInfoAggregator.create(entitySet, properties.getExpandSelectTree()); CircleStreamBuffer buffer = new CircleStreamBuffer(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); JsonEntryEntityProducer producer = new JsonEntryEntityProducer(properties); producer.append(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); return ODataResponse.entity(buffer.getInputStream()) .eTag(producer.getETag()) .idLiteral(producer.getLocation()) .build(); } catch (EntityProviderException e) { buffer.close(); throw e; } catch (Exception e) { buffer.close(); throw new EntityProviderException(EntityProviderException.EXCEPTION_OCCURRED.addContent(e.getClass() .getSimpleName()), e); } }
public ODataEntityProviderPropertiesBuilder fromProperties(final EntityProviderWriteProperties properties) { this.properties.inlineCountType = properties.getInlineCountType(); this.properties.inlineCount = properties.getInlineCount(); this.properties.callback = properties.getCallback(); this.properties.nextLink = properties.getNextLink(); this.properties.expandSelectTree = properties.getExpandSelectTree(); this.properties.callbacks = properties.getCallbacks(); this.properties.selfLink = properties.getSelfLink(); this.properties.includeSimplePropertyType = properties.includeSimplePropertyType; this.properties.additionalLinks = properties.additionalLinks; this.properties.omitJsonWrapper = properties.omitJsonWrapper; this.properties.contentOnly = properties.contentOnly; this.properties.omitETag = properties.omitETag; this.properties.validatingFacets = properties.validatingFacets; this.properties.isResponsePayload = properties.isResponsePayload; this.properties.includeMetadataInContentOnly = properties.includeMetadataInContentOnly; this.properties.isDataBasedPropertySerialization = properties.isDataBasedPropertySerialization; this.properties.omitInlineForNullData = properties.omitInlineForNullData; return this; }