private void writeProperties(final EntityInfoAggregator entityInfo, final Map<String, Object> data, final EdmEntityType type, boolean containsMetadata) throws EdmException, EntityProviderException, IOException { // if the payload contains metadata we must not omit the first comm as it separates the _metadata object form the // properties boolean omitComma = !containsMetadata; List<String> propertyNames = type.getPropertyNames(); for (final String propertyName : propertyNames) { if (properties.isDataBasedPropertySerialization() && ((Map<?,?>)data).containsKey(propertyName)) { omitComma = appendPropertyNameValue(entityInfo, data, omitComma, propertyName); } else if (!properties.isDataBasedPropertySerialization() && entityInfo.getSelectedPropertyNames() .contains(propertyName)) { omitComma = appendPropertyNameValue(entityInfo, data, omitComma, propertyName); } } }
private void writeProperties(final EntityInfoAggregator entityInfo, final Map<String, Object> data, final EdmEntityType type, boolean containsMetadata) throws EdmException, EntityProviderException, IOException { // if the payload contains metadata we must not omit the first comm as it separates the _metadata object form the // properties boolean omitComma = !containsMetadata; List<String> propertyNames = type.getPropertyNames(); for (final String propertyName : propertyNames) { if (properties.isDataBasedPropertySerialization() && ((Map<?,?>)data).containsKey(propertyName)) { omitComma = appendPropertyNameValue(entityInfo, data, omitComma, propertyName); } else if (!properties.isDataBasedPropertySerialization() && entityInfo.getSelectedPropertyNames() .contains(propertyName)) { omitComma = appendPropertyNameValue(entityInfo, data, omitComma, propertyName); } } }
public XmlPropertyEntityProducer(final EntityProviderWriteProperties writeProperties) { this(writeProperties.isIncludeSimplePropertyType(), writeProperties.isValidatingFacets()); isDataBasedPropertySerialization = writeProperties.isDataBasedPropertySerialization(); }
public XmlPropertyEntityProducer(final EntityProviderWriteProperties writeProperties) { this(writeProperties.isIncludeSimplePropertyType(), writeProperties.isValidatingFacets()); isDataBasedPropertySerialization = writeProperties.isDataBasedPropertySerialization(); }
private void appendProperties(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException { try { if (properties.isDataBasedPropertySerialization()) { if (!data.isEmpty()) { writer.writeStartElement(Edm.NAMESPACE_M_2007_08, FormatXml.M_PROPERTIES); for (String propertyName : eia.getPropertyNames()) { if (data.containsKey(propertyName)) { appendPropertyNameValue(writer, eia, data, propertyName); } } writer.writeEndElement(); } } else { List<String> propertyNames = eia.getSelectedPropertyNames(); if (!propertyNames.isEmpty()) { writer.writeStartElement(Edm.NAMESPACE_M_2007_08, FormatXml.M_PROPERTIES); for (String propertyName : propertyNames) { appendPropertyNameValue(writer, eia, data, propertyName); } writer.writeEndElement(); } } } catch (XMLStreamException e) { throw new EntityProviderProducerException(EntityProviderException.COMMON, e); } }
private void appendProperties(final XMLStreamWriter writer, final EntityInfoAggregator eia, final Map<String, Object> data) throws EntityProviderException { try { if (properties.isDataBasedPropertySerialization()) { if (!data.isEmpty()) { writer.writeStartElement(Edm.NAMESPACE_M_2007_08, FormatXml.M_PROPERTIES); for (String propertyName : eia.getPropertyNames()) { if (data.containsKey(propertyName)) { appendPropertyNameValue(writer, eia, data, propertyName); } } writer.writeEndElement(); } } else { List<String> propertyNames = eia.getSelectedPropertyNames(); if (!propertyNames.isEmpty()) { writer.writeStartElement(Edm.NAMESPACE_M_2007_08, FormatXml.M_PROPERTIES); for (String propertyName : propertyNames) { appendPropertyNameValue(writer, eia, data, propertyName); } writer.writeEndElement(); } } } catch (XMLStreamException e) { throw new EntityProviderProducerException(EntityProviderException.COMMON, e); } }
/** * @param entityInfo * @param data * @param omitComma * @param propertyName * @return * @throws IOException * @throws EdmException * @throws EntityProviderException */ private boolean appendPropertyNameValue(final EntityInfoAggregator entityInfo, final Map<String, Object> data, boolean omitComma, String propertyName) throws IOException, EdmException, EntityProviderException { if (omitComma) { omitComma = false; } else { jsonStreamWriter.separator(); } jsonStreamWriter.name(propertyName); JsonPropertyEntityProducer.appendPropertyValue(jsonStreamWriter, entityInfo.getPropertyInfo(propertyName), data.get(propertyName), properties.isValidatingFacets(), properties.isDataBasedPropertySerialization()); return omitComma; }
/** * @param entityInfo * @param data * @param omitComma * @param propertyName * @return * @throws IOException * @throws EdmException * @throws EntityProviderException */ private boolean appendPropertyNameValue(final EntityInfoAggregator entityInfo, final Map<String, Object> data, boolean omitComma, String propertyName) throws IOException, EdmException, EntityProviderException { if (omitComma) { omitComma = false; } else { jsonStreamWriter.separator(); } jsonStreamWriter.name(propertyName); JsonPropertyEntityProducer.appendPropertyValue(jsonStreamWriter, entityInfo.getPropertyInfo(propertyName), data.get(propertyName), properties.isValidatingFacets(), properties.isDataBasedPropertySerialization()); return omitComma; }