}
}
private void readCustomElement(final XMLStreamReader reader, final String tagName, final EntityInfoAggregator eia)
throws EdmException, EntityProviderException, XMLStreamException {
EntityPropertyInfo targetPathInfo = eia.getTargetPathInfo(tagName);
NamespaceContext nsctx = reader.getNamespaceContext();
boolean skipTag = true;
if (!Edm.NAMESPACE_ATOM_2005.equals(reader.getName().getNamespaceURI())) {
if (targetPathInfo != null) {
final String customPrefix = targetPathInfo.getCustomMapping().getFcNsPrefix();
final String customNamespaceURI = targetPathInfo.getCustomMapping().getFcNsUri();
if (customPrefix != null && customNamespaceURI != null) {
String xmlPrefix = nsctx.getPrefix(customNamespaceURI);
String xmlNamespaceUri = reader.getNamespaceURI(customPrefix);
if (customNamespaceURI.equals(xmlNamespaceUri) && customPrefix.equals(xmlPrefix)) {
skipTag = false;
reader.require(XMLStreamConstants.START_ELEMENT, customNamespaceURI, tagName);
final String text = reader.getElementText();
reader.require(XMLStreamConstants.END_ELEMENT, customNamespaceURI, tagName);
final EntityPropertyInfo propertyInfo = getValidatedPropertyInfo(eia, tagName);
final Class<?> typeMapping = typeMappings.getMappingClass(propertyInfo.getName());
final EdmSimpleType type = (EdmSimpleType) propertyInfo.getType();
final Object value = type.valueOfString(text, EdmLiteralKind.DEFAULT, propertyInfo.getFacets(),
typeMapping == null ? type.getDefaultType() : typeMapping);
properties.put(tagName, value);
}
}
} else {