/** * This method validates Edm Entity types. * Looks for correct namespace aliases and correct base types */ private void validateEdmEntityTypes() { for (Map.Entry<FullQualifiedName, EdmEntityType> entityTypes : edmEntityTypesMap.entrySet()) { if (entityTypes.getValue() != null && entityTypes.getKey() != null) { EdmEntityType entityType = entityTypes.getValue(); if (entityType.getBaseType() != null) { FullQualifiedName baseTypeFQName = entityType.getBaseType().getFullQualifiedName(); EdmEntityType baseEntityType = edmEntityTypesMap.get(baseTypeFQName); if (baseEntityType != null && baseEntityType.getKeyPredicateNames().isEmpty()) { throw new RuntimeException("Missing key for EntityType " + baseEntityType.getName()); } } else if (entityType.getKeyPredicateNames().isEmpty()) { throw new RuntimeException("Missing key for EntityType " + entityType.getName()); } } } }
/** * This method validates Edm Entity types. * Looks for correct namespace aliases and correct base types */ private void validateEdmEntityTypes() { for (Map.Entry<FullQualifiedName, EdmEntityType> entityTypes : edmEntityTypesMap.entrySet()) { if (entityTypes.getValue() != null && entityTypes.getKey() != null) { EdmEntityType entityType = entityTypes.getValue(); if (entityType.getBaseType() != null) { FullQualifiedName baseTypeFQName = entityType.getBaseType().getFullQualifiedName(); EdmEntityType baseEntityType = edmEntityTypesMap.get(baseTypeFQName); if (baseEntityType != null && baseEntityType.getKeyPredicateNames().isEmpty()) { throw new RuntimeException("Missing key for EntityType " + baseEntityType.getName()); } } else if (entityType.getKeyPredicateNames().isEmpty()) { throw new RuntimeException("Missing key for EntityType " + entityType.getName()); } } } }
private void appendKey(final XMLStreamWriter writer, final EdmEntityType entityType) throws XMLStreamException { List<EdmKeyPropertyRef> keyPropertyRefs = entityType.getKeyPropertyRefs(); if (keyPropertyRefs != null && !keyPropertyRefs.isEmpty()) { // Resolve Base Type key as it is shown in derived type EdmEntityType baseType = entityType.getBaseType(); if (baseType != null && baseType.getKeyPropertyRefs() != null && !(baseType.getKeyPropertyRefs().isEmpty())) { return; } writer.writeStartElement(XML_KEY); for (EdmKeyPropertyRef keyRef : keyPropertyRefs) { writer.writeEmptyElement(XML_PROPERTY_REF); writer.writeAttribute(XML_NAME, keyRef.getName()); if (keyRef.getAlias() != null) { writer.writeAttribute(XML_ALIAS, keyRef.getAlias()); } } writer.writeEndElement(); } }
private void appendKey(final XMLStreamWriter writer, final EdmEntityType entityType) throws XMLStreamException { List<EdmKeyPropertyRef> keyPropertyRefs = entityType.getKeyPropertyRefs(); if (keyPropertyRefs != null && !keyPropertyRefs.isEmpty()) { // Resolve Base Type key as it is shown in derived type EdmEntityType baseType = entityType.getBaseType(); if (baseType != null && baseType.getKeyPropertyRefs() != null && !(baseType.getKeyPropertyRefs().isEmpty())) { return; } writer.writeStartElement(XML_KEY); for (EdmKeyPropertyRef keyRef : keyPropertyRefs) { writer.writeEmptyElement(XML_PROPERTY_REF); writer.writeAttribute(XML_NAME, keyRef.getName()); if (keyRef.getAlias() != null) { writer.writeAttribute(XML_ALIAS, keyRef.getAlias()); } } writer.writeEndElement(); } }
private void appendKey(final JsonGenerator json, final EdmEntityType entityType) throws SerializerException, IOException { List<EdmKeyPropertyRef> keyPropertyRefs = entityType.getKeyPropertyRefs(); if (keyPropertyRefs != null && !keyPropertyRefs.isEmpty()) { // Resolve Base Type key as it is shown in derived type EdmEntityType baseType = entityType.getBaseType(); if (baseType != null && baseType.getKeyPropertyRefs() != null && !(baseType.getKeyPropertyRefs().isEmpty())) { return; } json.writeArrayFieldStart(KEY); for (EdmKeyPropertyRef keyRef : keyPropertyRefs) { if (keyRef.getAlias() != null) { json.writeStartObject(); json.writeStringField(keyRef.getAlias(), keyRef.getName()); json.writeEndObject(); } else { json.writeString(keyRef.getName()); } } json.writeEndArray(); } }
private void appendKey(final JsonGenerator json, final EdmEntityType entityType) throws SerializerException, IOException { List<EdmKeyPropertyRef> keyPropertyRefs = entityType.getKeyPropertyRefs(); if (keyPropertyRefs != null && !keyPropertyRefs.isEmpty()) { // Resolve Base Type key as it is shown in derived type EdmEntityType baseType = entityType.getBaseType(); if (baseType != null && baseType.getKeyPropertyRefs() != null && !(baseType.getKeyPropertyRefs().isEmpty())) { return; } json.writeArrayFieldStart(KEY); for (EdmKeyPropertyRef keyRef : keyPropertyRefs) { if (keyRef.getAlias() != null) { json.writeStartObject(); json.writeStringField(keyRef.getAlias(), keyRef.getName()); json.writeEndObject(); } else { json.writeString(keyRef.getName()); } } json.writeEndArray(); } }
private void appendEntityTypes(final XMLStreamWriter writer, final List<EdmEntityType> entityTypes) throws XMLStreamException { for (EdmEntityType entityType : entityTypes) { writer.writeStartElement(XML_ENTITY_TYPE); writer.writeAttribute(XML_NAME, entityType.getName()); if (entityType.hasStream()) { writer.writeAttribute(XML_HAS_STREAM, "" + entityType.hasStream()); } if (entityType.getBaseType() != null) { writer.writeAttribute(XML_BASE_TYPE, getAliasedFullQualifiedName(entityType.getBaseType(), false)); } if (entityType.isAbstract()) { writer.writeAttribute(ABSTRACT, TRUE); } if (entityType.isOpenType()) { writer.writeAttribute(OPEN_TYPE, TRUE); } appendKey(writer, entityType); appendProperties(writer, entityType); appendNavigationProperties(writer, entityType); appendAnnotations(writer, entityType); writer.writeEndElement(); } }
private void appendEntityTypes(final XMLStreamWriter writer, final List<EdmEntityType> entityTypes) throws XMLStreamException { for (EdmEntityType entityType : entityTypes) { writer.writeStartElement(XML_ENTITY_TYPE); writer.writeAttribute(XML_NAME, entityType.getName()); if (entityType.hasStream()) { writer.writeAttribute(XML_HAS_STREAM, "" + entityType.hasStream()); } if (entityType.getBaseType() != null) { writer.writeAttribute(XML_BASE_TYPE, getAliasedFullQualifiedName(entityType.getBaseType(), false)); } if (entityType.isAbstract()) { writer.writeAttribute(ABSTRACT, TRUE); } if (entityType.isOpenType()) { writer.writeAttribute(OPEN_TYPE, TRUE); } appendKey(writer, entityType); appendProperties(writer, entityType); appendNavigationProperties(writer, entityType); appendAnnotations(writer, entityType); writer.writeEndElement(); } }
private void appendEntityTypes(JsonGenerator json, List<EdmEntityType> entityTypes) throws SerializerException, IOException { for (EdmEntityType entityType : entityTypes) { json.writeObjectFieldStart(entityType.getName()); json.writeStringField(KIND, Kind.EntityType.name()); if (entityType.hasStream()) { json.writeBooleanField(HAS_STREAM, entityType.hasStream()); } if (entityType.getBaseType() != null) { json.writeStringField(BASE_TYPE, getAliasedFullQualifiedName(entityType.getBaseType())); } if (entityType.isAbstract()) { json.writeBooleanField(ABSTRACT, entityType.isAbstract()); } appendKey(json, entityType); appendProperties(json, entityType); appendNavigationProperties(json, entityType); appendAnnotations(json, entityType, null); json.writeEndObject(); } }
private void appendEntityTypes(JsonGenerator json, List<EdmEntityType> entityTypes) throws SerializerException, IOException { for (EdmEntityType entityType : entityTypes) { json.writeObjectFieldStart(entityType.getName()); json.writeStringField(KIND, Kind.EntityType.name()); if (entityType.hasStream()) { json.writeBooleanField(HAS_STREAM, entityType.hasStream()); } if (entityType.getBaseType() != null) { json.writeStringField(BASE_TYPE, getAliasedFullQualifiedName(entityType.getBaseType())); } if (entityType.isAbstract()) { json.writeBooleanField(ABSTRACT, entityType.isAbstract()); } appendKey(json, entityType); appendProperties(json, entityType); appendNavigationProperties(json, entityType); appendAnnotations(json, entityType, null); json.writeEndObject(); } }
protected EdmEntityType resolveEntityType(final ServiceMetadata metadata, final EdmEntityType baseType, final String derivedTypeName) throws SerializerException { if (derivedTypeName == null || baseType.getFullQualifiedName().getFullQualifiedNameAsString().equals(derivedTypeName)) { return baseType; } EdmEntityType derivedType = metadata.getEdm().getEntityType(new FullQualifiedName(derivedTypeName)); if (derivedType == null) { throw new SerializerException("EntityType not found", SerializerException.MessageKeys.UNKNOWN_TYPE, derivedTypeName); } EdmEntityType type = derivedType.getBaseType(); while (type != null) { if (type.getFullQualifiedName().getFullQualifiedNameAsString() .equals(baseType.getFullQualifiedName().getFullQualifiedNameAsString())) { return derivedType; } type = type.getBaseType(); } throw new SerializerException("Wrong base type", SerializerException.MessageKeys.WRONG_BASE_TYPE, derivedTypeName, baseType .getFullQualifiedName().getFullQualifiedNameAsString()); }
protected EdmEntityType resolveEntityType(final ServiceMetadata metadata, final EdmEntityType baseType, final String derivedTypeName) throws SerializerException { if (derivedTypeName == null || baseType.getFullQualifiedName().getFullQualifiedNameAsString().equals(derivedTypeName)) { return baseType; } EdmEntityType derivedType = metadata.getEdm().getEntityType(new FullQualifiedName(derivedTypeName)); if (derivedType == null) { throw new SerializerException("EntityType not found", SerializerException.MessageKeys.UNKNOWN_TYPE, derivedTypeName); } EdmEntityType type = derivedType.getBaseType(); while (type != null) { if (type.getFullQualifiedName().equals(baseType.getFullQualifiedName())) { return derivedType; } type = type.getBaseType(); } throw new SerializerException("Wrong base type", SerializerException.MessageKeys.WRONG_BASE_TYPE, derivedTypeName, baseType.getFullQualifiedName().getFullQualifiedNameAsString()); }
protected EdmEntityType resolveEntityType(final ServiceMetadata metadata, final EdmEntityType baseType, final String derivedTypeName) throws SerializerException { if (derivedTypeName == null || baseType.getFullQualifiedName().getFullQualifiedNameAsString().equals(derivedTypeName)) { return baseType; } EdmEntityType derivedType = metadata.getEdm().getEntityType(new FullQualifiedName(derivedTypeName)); if (derivedType == null) { throw new SerializerException("EntityType not found", SerializerException.MessageKeys.UNKNOWN_TYPE, derivedTypeName); } EdmEntityType type = derivedType.getBaseType(); while (type != null) { if (type.getFullQualifiedName().getFullQualifiedNameAsString() .equals(baseType.getFullQualifiedName().getFullQualifiedNameAsString())) { return derivedType; } type = type.getBaseType(); } throw new SerializerException("Wrong base type", SerializerException.MessageKeys.WRONG_BASE_TYPE, derivedTypeName, baseType .getFullQualifiedName().getFullQualifiedNameAsString()); }
protected EdmEntityType resolveEntityType(final ServiceMetadata metadata, final EdmEntityType baseType, final String derivedTypeName) throws SerializerException { if (derivedTypeName == null || baseType.getFullQualifiedName().getFullQualifiedNameAsString().equals(derivedTypeName)) { return baseType; } EdmEntityType derivedType = metadata.getEdm().getEntityType(new FullQualifiedName(derivedTypeName)); if (derivedType == null) { throw new SerializerException("EntityType not found", SerializerException.MessageKeys.UNKNOWN_TYPE, derivedTypeName); } EdmEntityType type = derivedType.getBaseType(); while (type != null) { if (type.getFullQualifiedName().equals(baseType.getFullQualifiedName())) { return derivedType; } type = type.getBaseType(); } throw new SerializerException("Wrong base type", SerializerException.MessageKeys.WRONG_BASE_TYPE, derivedTypeName, baseType.getFullQualifiedName().getFullQualifiedNameAsString()); }
baseType = baseType.getBaseType(); } else { boundOp = new ClientOperation(); baseType = baseType.getBaseType(); } else { boundOp = new ClientOperation(); : getClient().getCachedEdm().getBoundAction( operationFQN, entityType.getFullQualifiedName(), false); if (entityType.getBaseType() != null) { entityType = entityType.getBaseType();
baseType = baseType.getBaseType(); } else { boundOp = new ClientOperation(); baseType = baseType.getBaseType(); } else { boundOp = new ClientOperation(); : getClient().getCachedEdm().getBoundAction( operationFQN, entityType.getFullQualifiedName(), false); if (entityType.getBaseType() != null) { entityType = entityType.getBaseType();