String selfLink = createSelfLink(eia, data.getProperties(), navigationPropertyName, properties.isKeyAutoGenerated(), false); if (!((EntityCollection) entry.getValue()).getEntities().isEmpty()) { appendNavigationLink(writer, selfLink, navigationPropertyName);
private void appendInlineFeed(final XMLStreamWriter writer, final String navigationPropertyName, final EntityInfoAggregator eia, final Entity data) throws EntityProviderException, XMLStreamException, EdmException { if (eia.getNavigationPropertyNames().contains(navigationPropertyName) && data != null && data.getNavigations().containsKey(navigationPropertyName)) { EdmNavigationProperty navProp = (EdmNavigationProperty) eia.getEntityType().getProperty(navigationPropertyName); if (navProp == null) { throw new EntityProviderProducerException(EntityProviderException.EXPANDNOTSUPPORTED); } EntityCollection inlineData; inlineData = (EntityCollection) data.getNavigation(navigationPropertyName); if (inlineData == null) { inlineData = new EntityCollection(); } if (inlineData.getEntities().isEmpty()) { return; } writer.writeStartElement(Edm.NAMESPACE_M_2007_08, FormatXml.M_INLINE); EntityCollectionSerializerProperties inlineProperties = inlineData.getCollectionProperties() == null ? EntityCollectionSerializerProperties.serviceRoot(data.getWriteProperties().getServiceRoot()).build() : inlineData.getCollectionProperties(); EdmEntitySet inlineEntitySet = eia.getEntitySet().getRelatedEntitySet(navProp); AtomFeedSerializer inlineFeedProducer = new AtomFeedSerializer(inlineProperties); inlineData.setCollectionProperties(inlineProperties); EntityInfoAggregator inlineEia = EntityInfoAggregator.create(inlineEntitySet, null); inlineFeedProducer.append(writer, inlineEia, inlineData, true); writer.writeEndElement(); } }
private void appendEntries(final XMLStreamWriter writer, final EntityInfoAggregator eia, final EntityCollection data) throws EntityProviderException { AtomEntryEntitySerializer entryProvider; for (Entity singleEntryData : data.getEntities()) { entryProvider = singleEntryData.getWriteProperties() == null? data.getGlobalEntityProperties() == null ? new AtomEntryEntitySerializer (EntitySerializerProperties.serviceRoot(data.getCollectionProperties().getServiceRoot()).build()) : new AtomEntryEntitySerializer(data.getGlobalEntityProperties()): new AtomEntryEntitySerializer(singleEntryData.getWriteProperties()); entryProvider.append(writer, eia, singleEntryData, false, true); } }
private void appendEntries(final Writer writer, final EntityInfoAggregator entityInfo, final EntityCollection data, JsonStreamWriter jsonStreamWriter) throws EntityProviderException, IOException { boolean first = true; for (Entity entryData : data.getEntities()) { if (first) { first = false; } else { jsonStreamWriter.separator(); } EntitySerializerProperties entryProperties = entryData == null || entryData.getWriteProperties() == null ? data.getGlobalEntityProperties() != null? data.getGlobalEntityProperties(): EntitySerializerProperties. serviceRoot(properties.getServiceRoot()). build() : entryData.getWriteProperties(); JsonEntryEntitySerializer entryProducer = new JsonEntryEntitySerializer(entryProperties); entryProducer.append(writer, entityInfo, entryData); } } }