private void writeAdditonalLinksInContentOnlyCase(final EntityInfoAggregator entityInfo) throws IOException, EntityProviderException, EdmException { final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); if (links != null && !links.isEmpty()) { for (Entry<String, Map<String, Object>> entry : links.entrySet()) { Map<String, Object> navigationKeyMap = entry.getValue(); if (navigationKeyMap != null && !navigationKeyMap.isEmpty()) { String target = createCustomTargetLink(entityInfo, entry.getKey(), navigationKeyMap); jsonStreamWriter.separator(); jsonStreamWriter.name(entry.getKey()); jsonStreamWriter.beginObject() .name(FormatJson.DEFERRED); JsonLinkEntityProducer.appendUri(jsonStreamWriter, target); jsonStreamWriter.endObject(); } } } }
private void writeAdditonalLinksInContentOnlyCase(final EntityInfoAggregator entityInfo) throws IOException, EntityProviderException, EdmException { final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); if (links != null && !links.isEmpty()) { for (Entry<String, Map<String, Object>> entry : links.entrySet()) { Map<String, Object> navigationKeyMap = entry.getValue(); if (navigationKeyMap != null && !navigationKeyMap.isEmpty()) { String target = createCustomTargetLink(entityInfo, entry.getKey(), navigationKeyMap); jsonStreamWriter.separator(); jsonStreamWriter.name(entry.getKey()); jsonStreamWriter.beginObject() .name(FormatJson.DEFERRED); JsonLinkEntityProducer.appendUri(jsonStreamWriter, target); jsonStreamWriter.endObject(); } } } }
private void appendAdditinalLinks(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException, EdmException, URISyntaxException { final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); if (links != null && !links.isEmpty()) { for (Entry<String, Map<String, Object>> entry : links.entrySet()) { Map<String, Object> navigationKeyMap = entry.getValue(); final boolean isFeed = (eia.getNavigationPropertyInfo(entry.getKey()).getMultiplicity() == EdmMultiplicity.MANY); if (navigationKeyMap != null && !navigationKeyMap.isEmpty()) { final EntityInfoAggregator targetEntityInfo = EntityInfoAggregator.create( eia.getEntitySet().getRelatedEntitySet( (EdmNavigationProperty) eia.getEntityType().getProperty(entry.getKey()))); appendAtomNavigationLink(writer, createSelfLink(targetEntityInfo, navigationKeyMap, null), entry.getKey(), isFeed, eia, data); } } } }
private void appendAdditinalLinks(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException, EdmException, URISyntaxException { final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); if (links != null && !links.isEmpty()) { for (Entry<String, Map<String, Object>> entry : links.entrySet()) { Map<String, Object> navigationKeyMap = entry.getValue(); final boolean isFeed = (eia.getNavigationPropertyInfo(entry.getKey()).getMultiplicity() == EdmMultiplicity.MANY); if (navigationKeyMap != null && !navigationKeyMap.isEmpty()) { final EntityInfoAggregator targetEntityInfo = EntityInfoAggregator.create( eia.getEntitySet().getRelatedEntitySet( (EdmNavigationProperty) eia.getEntityType().getProperty(entry.getKey()))); appendAtomNavigationLink(writer, createSelfLink(targetEntityInfo, navigationKeyMap, null), entry.getKey(), isFeed, eia, data); } } } }
private void writeDeferredUri(final EntityInfoAggregator entityInfo, final String navigationPropertyName) throws IOException, EntityProviderException, EdmException { jsonStreamWriter.beginObject() .name(FormatJson.DEFERRED); String target = null; final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); final Map<String, Object> key = links == null ? null : links.get(navigationPropertyName); if (key == null || key.isEmpty()) { target = location + "/" + Encoder.encode(navigationPropertyName); } else { target = createCustomTargetLink(entityInfo, navigationPropertyName, key); } JsonLinkEntityProducer.appendUri(jsonStreamWriter, target); jsonStreamWriter.endObject(); }
private void writeDeferredUri(final EntityInfoAggregator entityInfo, final String navigationPropertyName) throws IOException, EntityProviderException, EdmException { jsonStreamWriter.beginObject() .name(FormatJson.DEFERRED); String target = null; final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); final Map<String, Object> key = links == null ? null : links.get(navigationPropertyName); if (key == null || key.isEmpty()) { target = location + "/" + Encoder.encode(navigationPropertyName); } else { target = createCustomTargetLink(entityInfo, navigationPropertyName, key); } JsonLinkEntityProducer.appendUri(jsonStreamWriter, target); jsonStreamWriter.endObject(); }
private void appendAtomNavigationLinks(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException, EdmException, URISyntaxException { for (String name : eia.getSelectedNavigationPropertyNames()) { final boolean isFeed = (eia.getNavigationPropertyInfo(name).getMultiplicity() == EdmMultiplicity.MANY); final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); final Map<String, Object> key = links == null ? null : links.get(name); if (key == null || key.isEmpty()) { appendAtomNavigationLink(writer, createSelfLink(eia, data, name), name, isFeed, eia, data); } else { final EntityInfoAggregator targetEntityInfo = EntityInfoAggregator.create( eia.getEntitySet().getRelatedEntitySet((EdmNavigationProperty) eia.getEntityType().getProperty(name))); appendAtomNavigationLink(writer, createSelfLink(targetEntityInfo, key, null), name, isFeed, eia, data); } } }
private void appendAtomNavigationLinks(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException, EdmException, URISyntaxException { for (String name : eia.getSelectedNavigationPropertyNames()) { final boolean isFeed = (eia.getNavigationPropertyInfo(name).getMultiplicity() == EdmMultiplicity.MANY); final Map<String, Map<String, Object>> links = properties.getAdditionalLinks(); final Map<String, Object> key = links == null ? null : links.get(name); if (key == null || key.isEmpty()) { appendAtomNavigationLink(writer, createSelfLink(eia, data, name), name, isFeed, eia, data); } else { final EntityInfoAggregator targetEntityInfo = EntityInfoAggregator.create( eia.getEntitySet().getRelatedEntitySet((EdmNavigationProperty) eia.getEntityType().getProperty(name))); appendAtomNavigationLink(writer, createSelfLink(targetEntityInfo, key, null), name, isFeed, eia, data); } } }