private Key readEntityTypeKey(final XMLStreamReader reader) throws XMLStreamException, EntityProviderException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); List<PropertyRef> keys = new ArrayList<PropertyRef>(); List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>(); List<AnnotationAttribute> annotationAttributes = readAnnotationAttribute(reader); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) && XmlMetadataConstants.EDM_ENTITY_TYPE_KEY.equals(reader.getLocalName()))) { reader.next(); if (reader.isStartElement()) { extractNamespaces(reader); currentHandledStartTagName = reader.getLocalName(); if (XmlMetadataConstants.EDM_PROPERTY_REF.equals(currentHandledStartTagName)) { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_PROPERTY_REF); keys.add(readPropertyRef(reader)); } else { annotationElements.add(readAnnotationElement(reader)); } } } Key key = new Key().setKeys(keys).setAnnotationAttributes(annotationAttributes); if (!annotationElements.isEmpty()) { key.setAnnotationElements(annotationElements); } return key; }
private Key readEntityTypeKey(final XMLStreamReader reader) throws XMLStreamException, EntityProviderException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); List<PropertyRef> keys = new ArrayList<PropertyRef>(); List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>(); List<AnnotationAttribute> annotationAttributes = readAnnotationAttribute(reader); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) && XmlMetadataConstants.EDM_ENTITY_TYPE_KEY.equals(reader.getLocalName()))) { reader.next(); if (reader.isStartElement()) { extractNamespaces(reader); currentHandledStartTagName = reader.getLocalName(); if (XmlMetadataConstants.EDM_PROPERTY_REF.equals(currentHandledStartTagName)) { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_PROPERTY_REF); keys.add(readPropertyRef(reader)); } else { annotationElements.add(readAnnotationElement(reader)); } } } Key key = new Key().setKeys(keys).setAnnotationAttributes(annotationAttributes); if (!annotationElements.isEmpty()) { key.setAnnotationElements(annotationElements); } return key; }
private Key readEntityTypeKey(final XMLStreamReader reader) throws XMLStreamException, EntityProviderException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); List<PropertyRef> keys = new ArrayList<PropertyRef>(); List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>(); List<AnnotationAttribute> annotationAttributes = readAnnotationAttribute(reader); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) && XmlMetadataConstants.EDM_ENTITY_TYPE_KEY.equals(reader.getLocalName()))) { reader.next(); if (reader.isStartElement()) { extractNamespaces(reader); currentHandledStartTagName = reader.getLocalName(); if (XmlMetadataConstants.EDM_PROPERTY_REF.equals(currentHandledStartTagName)) { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_PROPERTY_REF); keys.add(readPropertyRef(reader)); } else { annotationElements.add(readAnnotationElement(reader)); } } } Key key = new Key().setKeys(keys).setAnnotationAttributes(annotationAttributes); if (!annotationElements.isEmpty()) { key.setAnnotationElements(annotationElements); } return key; }