private EntityType clone(EntityType type) { if (type == null) { return null; } EntityType newType = new EntityType(); newType.setAbstract(type.isAbstract()); newType.setAnnotationAttributes(type.getAnnotationAttributes()); newType.setAnnotationElements(type.getAnnotationElements()); newType.setBaseType(type.getBaseType()); newType.setCustomizableFeedMappings(type.getCustomizableFeedMappings()); newType.setDocumentation(type.getDocumentation()); newType.setHasStream(type.isHasStream()); newType.setKey(type.getKey()); newType.setMapping(type.getMapping()); newType.setName(type.getName()); newType.setNavigationProperties(cloneNavigationProperties(type .getNavigationProperties())); newType.setProperties(cloneProperties(type.getProperties())); return newType; }
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); }
public EntityType getClone() { EntityType newObj = new EntityType(); for (Field f : this.getClass().getDeclaredFields()) { try { f.set(newObj, clone(getFieldValue(f.getName()))); } catch (Exception e) { e.printStackTrace(); } } return newObj; }
private EntityType readEntityType(final XMLStreamReader reader) throws XMLStreamException, EntityProviderException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_ENTITY_TYPE); EntityType entityType = new EntityType(); List<Property> properties = new ArrayList<Property>(); List<NavigationProperty> navPropertiesList = new ArrayList<NavigationProperty>(); entityType.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); String hasStream = reader.getAttributeValue(Edm.NAMESPACE_M_2007_08, XmlMetadataConstants.M_ENTITY_TYPE_HAS_STREAM); if (hasStream != null) { entityType.setHasStream("true".equalsIgnoreCase(hasStream)); entityType.setAbstract("true".equalsIgnoreCase(reader.getAttributeValue(null, XmlMetadataConstants.EDM_TYPE_ABSTRACT))); entityType.setBaseType(extractFQName(baseType)); entityType.setCustomizableFeedMappings(readCustomizableFeedMappings(reader)); entityType.setAnnotationAttributes(readAnnotationAttribute(reader)); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) entityType.setAnnotationElements(annotationElements); entityType.setKey(key).setProperties(properties).setNavigationProperties(navPropertiesList); if (entityType.getName() != null) { FullQualifiedName fqName = new FullQualifiedName(currentNamespace, entityType.getName()); entityTypesMap.put(fqName, entityType); } else {
for (EntityType entityType : entityTypes) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE); xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_NAME, entityType.getName()); if (entityType.getBaseType() != null) { xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_BASE_TYPE, entityType.getBaseType().toString()); if (entityType.isAbstract()) { xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_TYPE_ABSTRACT, "true"); if (entityType.isHasStream()) { xmlStreamWriter.writeAttribute(Edm.PREFIX_M, Edm.NAMESPACE_M_2007_08, XmlMetadataConstants.M_ENTITY_TYPE_HAS_STREAM, "true"); writeCustomizableFeedMappings(entityType.getCustomizableFeedMappings(), xmlStreamWriter); writeAnnotationAttributes(entityType.getAnnotationAttributes(), predefinedNamespaces, null, xmlStreamWriter); writeDocumentation(entityType.getDocumentation(), predefinedNamespaces, xmlStreamWriter); Key key = entityType.getKey(); if (key != null) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); Collection<PropertyRef> propertyRefs = entityType.getKey().getKeys(); for (PropertyRef propertyRef : propertyRefs) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_PROPERTY_REF); Collection<Property> properties = entityType.getProperties();
currentEdmEntityType = new EntityType(); currentJPAEntityType = jpaEntityType; JPAEdmMapping jpaEdmMapping = (JPAEdmMapping) currentEdmEntityType.getMapping(); EntityListeners entityListners = currentJPAEntityType.getJavaType().getAnnotation(EntityListeners.class); if (entityListners != null) { propertyView.getBuilder().build(); currentEdmEntityType.setProperties(propertyView.getEdmPropertyList()); if (propertyView.getJPAEdmNavigationPropertyView() != null) { JPAEdmNavigationPropertyView navPropView = propertyView.getJPAEdmNavigationPropertyView(); if (navPropView.getConsistentEdmNavigationProperties() != null && !navPropView.getConsistentEdmNavigationProperties().isEmpty()) { currentEdmEntityType.setNavigationProperties(navPropView.getConsistentEdmNavigationProperties()); currentEdmEntityType.setKey(keyView.getEdmKey());
public EntityType getEntityType(String name) { for (EntityType type: entityTypes) { if (name.equals(type.getName())) { return type; } } return null; }
private void validateEntityTypes() throws EntityProviderException { for (Map.Entry<FullQualifiedName, EntityType> entityTypes : entityTypesMap.entrySet()) { if (entityTypes.getValue() != null && entityTypes.getKey() != null) { EntityType entityType = entityTypes.getValue(); if (entityType.getBaseType() != null) { FullQualifiedName baseTypeFQName = entityType.getBaseType(); EntityType baseEntityType; if (!entityTypesMap.containsKey(baseTypeFQName)) { FullQualifiedName fqName = validateEntityTypeWithAlias(baseTypeFQName); baseEntityType = entityTypesMap.get(fqName); } else { baseEntityType = entityTypesMap.get(baseTypeFQName); } if (baseEntityType.getKey() == null) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + baseEntityType.getName())); } } else if (entityType.getKey() == null) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + entityType.getName())); } } } }
if (edmEntityType != null) { for (String[] columnName : jpaColumnNames) { for (Property property : edmEntityType.getProperties()) { jpaColumnName = ((JPAEdmMapping) property.getMapping()).getJPAColumnName(); if (columnName[index].equals(jpaColumnName) || if (end1.getType().getName().equals(edmEntityType.getName())) { currentRole.setRole(end1.getRole()); isConsistent = true; } else if (end2.getType().getName().equals(edmEntityType.getName())) { currentRole.setRole(end2.getRole()); isConsistent = true;
if (types != null) { for (EntityType type : types) { if (type.getName().equals(sourceEntityTypeName)) { List<NavigationProperty> properties = type .getNavigationProperties(); if (properties != null) { for (NavigationProperty property : properties) { .getNamespace(), associationName)); properties.add(property); type.setNavigationProperties(properties); return;
if (types != null) { for (EntityType type : types) { if (type.getName().equals(sourceType.getName())) { throw new ODataException("entity type " + sourceType.getName() + " already defined"); if (newType.getNavigationProperties() != null) { for (NavigationProperty property : newType .getNavigationProperties()) { property.setRelationship(new FullQualifiedName(targetSchema .getNamespace(), property.getRelationship().getName())); if (newType.getProperties() != null) { for (Property property : newType.getProperties()) { if (property instanceof ComplexProperty) { ((ComplexProperty) property).setType(new FullQualifiedName(
if (entityTypes != null) { for (EntityType entityType : entityTypes) { List<Property> properties = entityType.getProperties(); if (properties != null) { for (Property property : properties) { if (entityType.getCustomizableFeedMappings() != null) { if (entityType.getCustomizableFeedMappings().getFcKeepInContent() != null) { if (entityType.getCustomizableFeedMappings().getFcKeepInContent()) { dataServiceVersion = ODataServiceVersion.V20; return dataServiceVersion;
navigationProperties = entityType.getNavigationProperties(); if (navigationProperties != null) { consistentNavigationProperties = new ArrayList<NavigationProperty>(); entityType.setNavigationProperties(null); } else { entityType.setNavigationProperties(consistentNavigationProperties);
public static void build(final JPAEdmEntityTypeView view) { EntityType edmEntityType = view.getEdmEntityType(); String jpaEntityName = view.getJPAEntityType().getName(); JPAEdmMappingModelAccess mappingModelAccess = view.getJPAEdmMappingModelAccess(); String edmEntityTypeName = null; if (mappingModelAccess != null && mappingModelAccess.isMappingModelExists()) { edmEntityTypeName = mappingModelAccess.mapJPAEntityType(jpaEntityName); } JPAEdmMapping mapping = new JPAEdmMappingImpl(); mapping.setJPAType(view.getJPAEntityType().getJavaType()); if (edmEntityTypeName == null) { edmEntityTypeName = jpaEntityName; } // Setting the mapping object edmEntityType.setMapping(((Mapping) mapping).setInternalName(jpaEntityName)); edmEntityType.setName(edmEntityTypeName); }
private EntityType readEntityType(final XMLStreamReader reader) throws XMLStreamException, EntityProviderException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_ENTITY_TYPE); EntityType entityType = new EntityType(); List<Property> properties = new ArrayList<Property>(); List<NavigationProperty> navProperties = new ArrayList<NavigationProperty>(); entityType.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); String hasStream = reader.getAttributeValue(Edm.NAMESPACE_M_2007_08, XmlMetadataConstants.M_ENTITY_TYPE_HAS_STREAM); if (hasStream != null) { entityType.setHasStream("true".equalsIgnoreCase(hasStream)); entityType.setAbstract("true".equalsIgnoreCase(reader.getAttributeValue(null, XmlMetadataConstants.EDM_TYPE_ABSTRACT))); entityType.setBaseType(extractFQName(baseType)); entityType.setCustomizableFeedMappings(readCustomizableFeedMappings(reader)); entityType.setAnnotationAttributes(readAnnotationAttribute(reader)); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) entityType.setAnnotationElements(annotationElements); entityType.setKey(key).setProperties(properties).setNavigationProperties(navProperties); if (entityType.getName() != null) { FullQualifiedName fqName = new FullQualifiedName(currentNamespace, entityType.getName()); entityTypesMap.put(fqName, entityType); } else {
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)); }
for (EntityType entityType : entityTypes) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE); xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_NAME, entityType.getName()); if (entityType.getBaseType() != null) { xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_BASE_TYPE, entityType.getBaseType().toString()); if (entityType.isAbstract()) { xmlStreamWriter.writeAttribute(XmlMetadataConstants.EDM_TYPE_ABSTRACT, "true"); if (entityType.isHasStream()) { xmlStreamWriter.writeAttribute(Edm.PREFIX_M, Edm.NAMESPACE_M_2007_08, XmlMetadataConstants.M_ENTITY_TYPE_HAS_STREAM, "true"); writeCustomizableFeedMappings(entityType.getCustomizableFeedMappings(), xmlStreamWriter); writeAnnotationAttributes(entityType.getAnnotationAttributes(), predefinedNamespaces, null, xmlStreamWriter); writeDocumentation(entityType.getDocumentation(), predefinedNamespaces, xmlStreamWriter); Key key = entityType.getKey(); if (key != null) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_ENTITY_TYPE_KEY); Collection<PropertyRef> propertyRefs = entityType.getKey().getKeys(); for (PropertyRef propertyRef : propertyRefs) { xmlStreamWriter.writeStartElement(XmlMetadataConstants.EDM_PROPERTY_REF); Collection<Property> properties = entityType.getProperties();
currentEdmEntityType = new EntityType(); currentJPAEntityType = jpaEntityType; JPAEdmMapping jpaEdmMapping = (JPAEdmMapping) currentEdmEntityType.getMapping(); EntityListeners entityListners = currentJPAEntityType.getJavaType().getAnnotation(EntityListeners.class); if (entityListners != null) { propertyView.getBuilder().build(); currentEdmEntityType.setProperties(propertyView.getEdmPropertyList()); if (propertyView.getJPAEdmNavigationPropertyView() != null) { JPAEdmNavigationPropertyView navPropView = propertyView.getJPAEdmNavigationPropertyView(); if (navPropView.getConsistentEdmNavigationProperties() != null && !navPropView.getConsistentEdmNavigationProperties().isEmpty()) { currentEdmEntityType.setNavigationProperties(navPropView.getConsistentEdmNavigationProperties()); currentEdmEntityType.setKey(keyView.getEdmKey());
private EntityType getEntityType(Schema schema, String entityTypeName) throws ODataException { List<EntityType> types = schema.getEntityTypes(); if (types == null) { return null; } for (EntityType type : types) { if (type.getName().equals(entityTypeName)) { return type; } } return null; }
private void validateEntityTypes() throws EntityProviderException { for (Map.Entry<FullQualifiedName, EntityType> entityTypes : entityTypesMap.entrySet()) { if (entityTypes.getValue() != null && entityTypes.getKey() != null) { EntityType entityType = entityTypes.getValue(); if (entityType.getBaseType() != null) { FullQualifiedName baseTypeFQName = entityType.getBaseType(); EntityType baseEntityType; if (!entityTypesMap.containsKey(baseTypeFQName)) { FullQualifiedName fqName = validateEntityTypeWithAlias(baseTypeFQName); baseEntityType = entityTypesMap.get(fqName); } else { baseEntityType = fetchLastBaseType(baseTypeFQName,entityTypesMap); } if (baseEntityType != null && baseEntityType.getKey() == null) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + baseEntityType.getName())); } } else if (entityType.getKey() == null) { throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT .addContent("Missing key for EntityType " + entityType.getName())); } } } }