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; }
@Override public List<String> getKeyPropertyNames() throws EdmException { if (edmKeyPropertyNames == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyPropertyNames(); } edmKeyPropertyNames = new ArrayList<String>(); if (entityType.getKey() != null) { for (final PropertyRef keyProperty : entityType.getKey().getKeys()) { edmKeyPropertyNames.add(keyProperty.getName()); } } else { // Entity Type does not define a key throw new EdmException(EdmException.COMMON); } } return edmKeyPropertyNames; }
public EntityType buildEntityType() { EntityType entityType = new EntityType(); if (baseEntityType != null) { entityType.setBaseType(baseEntityType); } if (!keyProperties.isEmpty()) { entityType.setKey(new Key().setKeys(keyProperties)); } if (!navProperties.isEmpty()) { entityType.setNavigationProperties(navProperties); } return entityType.setName(name) .setAbstract(isAbstract) .setHasStream(isMediaResource) .setProperties(properties); }
@Override public void build() throws ODataJPAModelException { List<PropertyRef> propertyRefList = null; if (key == null) { key = new Key(); } if (key.getKeys() == null) { propertyRefList = new ArrayList<PropertyRef>(); key.setKeys(propertyRefList); } else { propertyRefList = key.getKeys(); } if (isBuildModeComplexType) { ComplexType complexType = complexTypeView.searchEdmComplexType(propertyView.getJPAAttribute().getJavaType().getName()); normalizeComplexKey(complexType, propertyRefList); } else { PropertyRef propertyRef = new PropertyRef(); propertyRef.setName(propertyView.getEdmSimpleProperty().getName()); Facets facets = (Facets) propertyView.getEdmSimpleProperty().getFacets(); if (facets == null) { propertyView.getEdmSimpleProperty().setFacets(new Facets().setNullable(false)); } else { facets.setNullable(false); } propertyRefList.add(propertyRef); } }
xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); writeAnnotationAttributes(key.getAnnotationAttributes(), predefinedNamespaces, null, xmlStreamWriter); Collection<PropertyRef> propertyRefs = entityType.getKey().getKeys(); for (PropertyRef propertyRef : propertyRefs) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_PROPERTY_REF); writeAnnotationElements(key.getAnnotationElements(), predefinedNamespaces, xmlStreamWriter);
@Override public void build() throws ODataJPAModelException { List<PropertyRef> propertyRefList = null; if (key == null) { key = new Key(); } if (key.getKeys() == null) { propertyRefList = new ArrayList<PropertyRef>(); key.setKeys(propertyRefList); } else { propertyRefList = key.getKeys(); } if (isBuildModeComplexType) { ComplexType complexType = complexTypeView.searchEdmComplexType(propertyView.getJPAAttribute().getJavaType().getName()); normalizeComplexKey(complexType, propertyRefList); } else { PropertyRef propertyRef = new PropertyRef(); propertyRef.setName(propertyView.getEdmSimpleProperty().getName()); Facets facets = (Facets) propertyView.getEdmSimpleProperty().getFacets(); if (facets == null) { propertyView.getEdmSimpleProperty().setFacets(new Facets().setNullable(false)); } else { facets.setNullable(false); } propertyRefList.add(propertyRef); } }
public EntityType buildEntityType() { EntityType entityType = new EntityType(); if (baseEntityType != null) { entityType.setBaseType(baseEntityType); } if (!keyProperties.isEmpty()) { entityType.setKey(new Key().setKeys(keyProperties)); } if (!navProperties.isEmpty()) { entityType.setNavigationProperties(navProperties); } return entityType.setName(name) .setAbstract(isAbstract) .setHasStream(isMediaResource) .setProperties(properties) .setMapping(new Mapping().setMediaResourceMimeTypeKey(mediaResourceMimeTypeKey) .setMediaResourceSourceKey(mediaResourceSourceKey)); }
xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); writeAnnotationAttributes(key.getAnnotationAttributes(), predefinedNamespaces, null, xmlStreamWriter); Collection<PropertyRef> propertyRefs = entityType.getKey().getKeys(); for (PropertyRef propertyRef : propertyRefs) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_PROPERTY_REF); writeAnnotationElements(key.getAnnotationElements(), predefinedNamespaces, xmlStreamWriter);
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; }
public EntityType buildEntityType() { EntityType entityType = new EntityType(); if (baseEntityType != null) { entityType.setBaseType(baseEntityType); } if (!keyProperties.isEmpty()) { entityType.setKey(new Key().setKeys(keyProperties)); } if (!navProperties.isEmpty()) { entityType.setNavigationProperties(navProperties); } return entityType.setName(name) .setAbstract(isAbstract) .setHasStream(isMediaResource) .setProperties(properties) .setMapping(new Mapping().setMediaResourceMimeTypeKey(mediaResourceMimeTypeKey) .setMediaResourceSourceKey(mediaResourceSourceKey)); }
xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); writeAnnotationAttributes(key.getAnnotationAttributes(), predefinedNamespaces, null, xmlStreamWriter); Collection<PropertyRef> propertyRefs = entityType.getKey().getKeys(); for (PropertyRef propertyRef : propertyRefs) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_PROPERTY_REF); writeAnnotationElements(key.getAnnotationElements(), predefinedNamespaces, xmlStreamWriter);
@Override public List<String> getKeyPropertyNames() throws EdmException { if (edmKeyPropertyNames == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyPropertyNames(); } edmKeyPropertyNames = new ArrayList<String>(); if (entityType.getKey() != null) { for (final PropertyRef keyProperty : entityType.getKey().getKeys()) { edmKeyPropertyNames.add(keyProperty.getName()); } } else { // Entity Type does not define a key throw new EdmException(EdmException.COMMON); } } return edmKeyPropertyNames; }
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; }
@Override public List<String> getKeyPropertyNames() throws EdmException { if (edmKeyPropertyNames == null) { if (edmBaseType != null) { return ((EdmEntityType) edmBaseType).getKeyPropertyNames(); } edmKeyPropertyNames = new ArrayList<String>(); if (entityType.getKey() != null) { for (final PropertyRef keyProperty : entityType.getKey().getKeys()) { edmKeyPropertyNames.add(keyProperty.getName()); } } else { // Entity Type does not define a key throw new EdmException(EdmException.COMMON); } } return edmKeyPropertyNames; }