You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/05/04 18:24:12 UTC
[9/9] git commit: [OLINGO-263][OLINGO-264] First draft Edm annotation
interfaces + client-side implementation (server components have TODO)
[OLINGO-263][OLINGO-264] First draft Edm annotation interfaces + client-side implementation (server components have TODO)
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/726fbe52
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/726fbe52
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/726fbe52
Branch: refs/heads/olingo263
Commit: 726fbe52e3b16e24c54ba3a31d61c7934f326e53
Parents: 6e72b1f
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Sun May 4 18:23:12 2014 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Sun May 4 18:23:12 2014 +0200
----------------------------------------------------------------------
.../olingo/client/api/CommonODataClient.java | 4 +-
.../invoke/CommonInvokeRequestFactory.java | 54 ----
.../request/invoke/InvokeRequestFactory.java | 54 ++++
.../request/invoke/v3/InvokeRequestFactory.java | 24 --
.../request/invoke/v4/InvokeRequestFactory.java | 24 --
.../client/api/edm/xml/CommonProperty.java | 4 +-
.../olingo/client/api/edm/xml/Schema.java | 4 +-
.../olingo/client/api/edm/xml/v3/Parameter.java | 4 +-
.../olingo/client/api/edm/xml/v4/Action.java | 2 +-
.../client/api/edm/xml/v4/Annotatable.java | 26 ++
.../client/api/edm/xml/v4/AnnotatedEdmItem.java | 24 --
.../client/api/edm/xml/v4/Annotation.java | 9 +-
.../client/api/edm/xml/v4/BindingTarget.java | 2 +-
.../client/api/edm/xml/v4/CSDLElement.java | 37 ---
.../client/api/edm/xml/v4/ComplexType.java | 2 +-
.../client/api/edm/xml/v4/EntityContainer.java | 2 +-
.../api/edm/xml/v4/IncludeAnnotations.java | 2 +-
.../api/edm/xml/v4/NavigationProperty.java | 2 +-
.../client/api/edm/xml/v4/OperationImport.java | 2 +-
.../olingo/client/api/edm/xml/v4/Parameter.java | 7 +-
.../olingo/client/api/edm/xml/v4/Property.java | 2 +-
.../api/edm/xml/v4/ReferentialConstraint.java | 2 +-
.../client/api/edm/xml/v4/ReturnType.java | 4 +-
.../olingo/client/api/edm/xml/v4/Schema.java | 13 +-
.../olingo/client/api/edm/xml/v4/Term.java | 8 +-
.../client/api/edm/xml/v4/TypeDefinition.java | 5 +-
.../xml/v4/annotation/AnnotationExpression.java | 30 ++
.../edm/xml/v4/annotation/AnnotationPath.java | 25 ++
.../client/api/edm/xml/v4/annotation/Apply.java | 29 ++
.../client/api/edm/xml/v4/annotation/Cast.java | 38 +++
.../api/edm/xml/v4/annotation/Collection.java | 27 ++
.../xml/v4/annotation/ConstExprConstruct.java | 56 ----
.../ConstantAnnotationExpression.java | 56 ++++
.../edm/xml/v4/annotation/DynExprConstruct.java | 23 --
.../annotation/DynamicAnnotationExpression.java | 91 ++++++
.../edm/xml/v4/annotation/ExprConstruct.java | 23 --
.../client/api/edm/xml/v4/annotation/If.java | 31 ++
.../client/api/edm/xml/v4/annotation/IsOf.java | 38 +++
.../edm/xml/v4/annotation/LabeledElement.java | 29 ++
.../v4/annotation/LabeledElementReference.java | 25 ++
.../v4/annotation/NavigationPropertyPath.java | 25 ++
.../client/api/edm/xml/v4/annotation/Not.java | 24 ++
.../client/api/edm/xml/v4/annotation/Null.java | 25 ++
.../client/api/edm/xml/v4/annotation/Path.java | 25 ++
.../api/edm/xml/v4/annotation/PropertyPath.java | 25 ++
.../edm/xml/v4/annotation/PropertyValue.java | 29 ++
.../api/edm/xml/v4/annotation/Record.java | 30 ++
.../TwoParamsOpDynamicAnnotationExpression.java | 50 ++++
.../api/edm/xml/v4/annotation/UrlRef.java | 25 ++
.../olingo/client/api/v3/ODataClient.java | 4 -
.../olingo/client/api/v4/ODataClient.java | 4 -
.../invoke/AbstractInvokeRequestFactory.java | 11 +-
.../invoke/v3/InvokeRequestFactoryImpl.java | 7 +-
.../invoke/v4/InvokeRequestFactoryImpl.java | 7 +-
.../client/core/edm/EdmActionImportImpl.java | 15 +
.../core/edm/EdmAnnotationHelperImpl.java | 53 ++++
.../client/core/edm/EdmAnnotationImpl.java | 238 +++++++++++++++
.../client/core/edm/EdmAnnotationsImpl.java | 146 ++++++++++
.../client/core/edm/EdmBindingTargetImpl.java | 17 +-
.../olingo/client/core/edm/EdmClientImpl.java | 83 +++++-
.../client/core/edm/EdmComplexTypeImpl.java | 26 +-
.../client/core/edm/EdmEntityContainerImpl.java | 89 ++++--
.../client/core/edm/EdmEntitySetImpl.java | 8 +-
.../client/core/edm/EdmEntityTypeImpl.java | 30 +-
.../olingo/client/core/edm/EdmEnumTypeImpl.java | 16 +-
.../client/core/edm/EdmFunctionImportImpl.java | 15 +
.../olingo/client/core/edm/EdmMemberImpl.java | 47 +++
.../core/edm/EdmNavigationPropertyImpl.java | 35 ++-
.../client/core/edm/EdmOperationImpl.java | 13 +-
.../client/core/edm/EdmOperationImportImpl.java | 7 +
.../client/core/edm/EdmParameterImpl.java | 39 ++-
.../olingo/client/core/edm/EdmPropertyImpl.java | 49 +++-
.../core/edm/EdmReferentialConstraintImpl.java | 42 +++
.../client/core/edm/EdmReturnTypeImpl.java | 18 +-
.../olingo/client/core/edm/EdmSchemaImpl.java | 52 +++-
.../client/core/edm/EdmSingletonImpl.java | 5 +
.../core/edm/EdmStructuredTypeHelperImpl.java | 16 +-
.../olingo/client/core/edm/EdmTermImpl.java | 161 ++++++++++
.../client/core/edm/EdmTypeDefinitionImpl.java | 22 +-
.../core/edm/v3/EdmActionImportProxy.java | 5 +
.../client/core/edm/v3/EdmEntitySetProxy.java | 11 +
.../core/edm/v3/EdmFunctionImportProxy.java | 5 +
.../client/core/edm/v3/EdmFunctionProxy.java | 1 +
.../core/edm/v3/EdmNavigationPropertyProxy.java | 24 +-
.../client/core/edm/v3/EdmOperationProxy.java | 10 +-
.../core/edm/v3/EdmServiceMetadataImpl.java | 4 +-
.../client/core/edm/v3/ReturnTypeProxy.java | 62 ----
.../core/edm/v4/EdmServiceMetadataImpl.java | 4 +-
.../core/edm/v4/annotation/EdmCastImpl.java | 80 +++++
.../EdmConstantAnnotationExpressionImpl.java | 137 +++++++++
.../core/edm/v4/annotation/EdmIsOfImpl.java | 80 +++++
.../core/edm/v4/annotation/EdmRecordImpl.java | 55 ++++
.../core/edm/xml/AbstractEdmDeserializer.java | 10 +-
.../client/core/edm/xml/AbstractProperty.java | 7 +-
.../core/edm/xml/ComplexTypeDeserializer.java | 4 +-
.../edm/xml/EntityContainerDeserializer.java | 4 +-
.../core/edm/xml/EntitySetDeserializer.java | 4 +-
.../core/edm/xml/EntityTypeDeserializer.java | 10 +-
.../core/edm/xml/EnumTypeDeserializer.java | 4 +-
.../core/edm/xml/ParameterDeserializer.java | 11 +-
.../core/edm/xml/PropertyDeserializer.java | 11 +-
.../client/core/edm/xml/SchemaDeserializer.java | 12 +-
.../client/core/edm/xml/v3/ReturnTypeProxy.java | 63 ++++
.../client/core/edm/xml/v3/SchemaImpl.java | 6 +-
.../core/edm/xml/v4/AbstractAnnotatable.java | 39 +++
.../edm/xml/v4/AbstractAnnotatedEdmItem.java | 45 ---
.../core/edm/xml/v4/ActionDeserializer.java | 2 +-
.../client/core/edm/xml/v4/ActionImpl.java | 2 +-
.../core/edm/xml/v4/ActionImportImpl.java | 2 +-
.../core/edm/xml/v4/AnnotationDeserializer.java | 9 +-
.../client/core/edm/xml/v4/AnnotationImpl.java | 27 +-
.../edm/xml/v4/AnnotationsDeserializer.java | 4 +-
.../client/core/edm/xml/v4/ComplexTypeImpl.java | 10 +-
.../core/edm/xml/v4/EntityContainerImpl.java | 14 +-
.../client/core/edm/xml/v4/EntitySetImpl.java | 10 +-
.../client/core/edm/xml/v4/EntityTypeImpl.java | 10 +-
.../client/core/edm/xml/v4/EnumTypeImpl.java | 16 +-
.../core/edm/xml/v4/FunctionDeserializer.java | 2 +-
.../edm/xml/v4/FunctionImportDeserializer.java | 59 ++++
.../core/edm/xml/v4/FunctionImportImpl.java | 22 +-
.../core/edm/xml/v4/IncludeAnnotationsImpl.java | 8 +-
.../client/core/edm/xml/v4/MemberImpl.java | 20 +-
.../xml/v4/NavigationPropertyDeserializer.java | 2 +-
.../core/edm/xml/v4/NavigationPropertyImpl.java | 10 +-
.../client/core/edm/xml/v4/ParameterImpl.java | 17 +-
.../client/core/edm/xml/v4/PropertyImpl.java | 14 +-
.../edm/xml/v4/ReferentialConstraintImpl.java | 2 +-
.../core/edm/xml/v4/ReturnTypeDeserializer.java | 6 +-
.../client/core/edm/xml/v4/ReturnTypeImpl.java | 7 +-
.../client/core/edm/xml/v4/SchemaImpl.java | 74 ++++-
.../core/edm/xml/v4/SingletonDeserializer.java | 2 +-
.../client/core/edm/xml/v4/SingletonImpl.java | 2 +-
.../core/edm/xml/v4/TermDeserializer.java | 14 +-
.../olingo/client/core/edm/xml/v4/TermImpl.java | 14 +-
.../edm/xml/v4/TypeDefinitionDeserializer.java | 6 +-
.../core/edm/xml/v4/TypeDefinitionImpl.java | 7 +-
...tAnnotatableDynamicAnnotationExpression.java | 37 +++
.../AbstractAnnotationExpression.java | 49 ++++
.../AbstractDynamicAnnotationExpression.java | 217 ++++++++++++++
.../annotation/AbstractElOrAttrConstruct.java | 37 ---
.../AbstractElementOrAttributeExpression.java | 37 +++
.../annotation/AnnotatedDynExprConstruct.java | 38 ---
.../edm/xml/v4/annotation/AnnotationPath.java | 25 --
.../xml/v4/annotation/AnnotationPathImpl.java | 27 ++
.../core/edm/xml/v4/annotation/Apply.java | 55 ----
.../xml/v4/annotation/ApplyDeserializer.java | 10 +-
.../core/edm/xml/v4/annotation/ApplyImpl.java | 52 ++++
.../client/core/edm/xml/v4/annotation/Cast.java | 92 ------
.../edm/xml/v4/annotation/CastDeserializer.java | 25 +-
.../core/edm/xml/v4/annotation/CastImpl.java | 98 +++++++
.../core/edm/xml/v4/annotation/Collection.java | 39 ---
.../v4/annotation/CollectionDeserializer.java | 8 +-
.../edm/xml/v4/annotation/CollectionImpl.java | 41 +++
.../v4/annotation/ConstExprConstructImpl.java | 51 ----
.../ConstantAnnotationExpressionImpl.java | 52 ++++
.../DynExprConstructDeserializer.java | 147 ----------
.../xml/v4/annotation/DynExprConstructImpl.java | 30 --
.../xml/v4/annotation/DynExprDoubleParamOp.java | 73 -----
.../xml/v4/annotation/DynExprSingleParamOp.java | 69 -----
...DynamicAnnotationExpressionDeserializer.java | 173 +++++++++++
.../xml/v4/annotation/ExprConstructImpl.java | 28 --
.../client/core/edm/xml/v4/annotation/If.java | 57 ----
.../core/edm/xml/v4/annotation/IfImpl.java | 61 ++++
.../client/core/edm/xml/v4/annotation/IsOf.java | 92 ------
.../edm/xml/v4/annotation/IsOfDeserializer.java | 25 +-
.../core/edm/xml/v4/annotation/IsOfImpl.java | 98 +++++++
.../edm/xml/v4/annotation/LabeledElement.java | 50 ----
.../annotation/LabeledElementDeserializer.java | 10 +-
.../xml/v4/annotation/LabeledElementImpl.java | 54 ++++
.../v4/annotation/LabeledElementReference.java | 25 --
.../annotation/LabeledElementReferenceImpl.java | 28 ++
.../v4/annotation/NavigationPropertyPath.java | 25 --
.../annotation/NavigationPropertyPathImpl.java | 27 ++
.../core/edm/xml/v4/annotation/NotImpl.java | 39 +++
.../client/core/edm/xml/v4/annotation/Null.java | 28 --
.../edm/xml/v4/annotation/NullDeserializer.java | 8 +-
.../core/edm/xml/v4/annotation/NullImpl.java | 29 ++
.../client/core/edm/xml/v4/annotation/Path.java | 25 --
.../core/edm/xml/v4/annotation/PathImpl.java | 27 ++
.../edm/xml/v4/annotation/PropertyPath.java | 25 --
.../edm/xml/v4/annotation/PropertyPathImpl.java | 27 ++
.../edm/xml/v4/annotation/PropertyValue.java | 50 ----
.../annotation/PropertyValueDeserializer.java | 10 +-
.../xml/v4/annotation/PropertyValueImpl.java | 53 ++++
.../core/edm/xml/v4/annotation/Record.java | 46 ---
.../xml/v4/annotation/RecordDeserializer.java | 12 +-
.../core/edm/xml/v4/annotation/RecordImpl.java | 50 ++++
...ParamsOpDynamicAnnotationExpressionImpl.java | 62 ++++
.../core/edm/xml/v4/annotation/UrlRef.java | 40 ---
.../xml/v4/annotation/UrlRefDeserializer.java | 8 +-
.../core/edm/xml/v4/annotation/UrlRefImpl.java | 42 +++
.../olingo/client/core/v3/ODataClientImpl.java | 2 +-
.../olingo/client/core/v4/ODataClientImpl.java | 2 +-
.../olingo/client/core/uri/URIEscapeTest.java | 4 +-
.../olingo/client/core/v3/MetadataTest.java | 18 +-
.../olingo/client/core/v4/MetadataTest.java | 184 +++++++++---
.../olingo/client/core/v4/demo-metadata.xml | 152 +++++-----
.../olingo/client/core/v4/fromdoc1-metadata.xml | 2 +-
.../olingo/client/core/v4/fromdoc3-metadata.xml | 34 +--
.../olingo/client/core/v4/fromdoc4-metadata.xml | 164 +++++++++++
.../apache/olingo/commons/api/Constants.java | 9 +-
.../org/apache/olingo/commons/api/edm/Edm.java | 41 +++
.../olingo/commons/api/edm/EdmAnnotatable.java | 9 +-
.../olingo/commons/api/edm/EdmAnnotation.java | 30 ++
.../olingo/commons/api/edm/EdmAnnotations.java | 19 +-
.../commons/api/edm/EdmAnnotationsTarget.java | 71 +++++
.../commons/api/edm/EdmBindingTarget.java | 4 +-
.../commons/api/edm/EdmEntityContainer.java | 4 +-
.../olingo/commons/api/edm/EdmEnumType.java | 2 +-
.../olingo/commons/api/edm/EdmMember.java | 2 +-
.../commons/api/edm/EdmNavigationProperty.java | 2 +-
.../olingo/commons/api/edm/EdmOperation.java | 2 +-
.../commons/api/edm/EdmOperationImport.java | 4 +-
.../olingo/commons/api/edm/EdmParameter.java | 9 +-
.../olingo/commons/api/edm/EdmProperty.java | 9 +-
.../api/edm/EdmReferentialConstraint.java | 2 +-
.../olingo/commons/api/edm/EdmReturnType.java | 7 +
.../olingo/commons/api/edm/EdmSchema.java | 22 +-
.../commons/api/edm/EdmServiceMetadata.java | 3 +-
.../commons/api/edm/EdmStructuredType.java | 2 +-
.../apache/olingo/commons/api/edm/EdmTerm.java | 32 +-
.../commons/api/edm/EdmTypeDefinition.java | 9 +-
.../commons/api/edm/annotation/EdmAnd.java | 23 ++
.../edm/annotation/EdmAnnotationExpression.java | 30 ++
.../api/edm/annotation/EdmAnnotationPath.java | 25 ++
.../commons/api/edm/annotation/EdmApply.java | 41 +++
.../commons/api/edm/annotation/EdmCast.java | 38 +++
.../api/edm/annotation/EdmCollection.java | 27 ++
.../EdmConstantAnnotationExpression.java | 27 ++
.../EdmDynamicAnnotationExpression.java | 118 ++++++++
.../commons/api/edm/annotation/EdmEq.java | 23 ++
.../commons/api/edm/annotation/EdmGe.java | 23 ++
.../commons/api/edm/annotation/EdmGt.java | 23 ++
.../commons/api/edm/annotation/EdmIf.java | 30 ++
.../commons/api/edm/annotation/EdmIsOf.java | 38 +++
.../api/edm/annotation/EdmLabeledElement.java | 28 ++
.../annotation/EdmLabeledElementReference.java | 25 ++
.../commons/api/edm/annotation/EdmLe.java | 23 ++
.../commons/api/edm/annotation/EdmLt.java | 23 ++
.../annotation/EdmNavigationPropertyPath.java | 25 ++
.../commons/api/edm/annotation/EdmNe.java | 23 ++
.../commons/api/edm/annotation/EdmNot.java | 24 ++
.../commons/api/edm/annotation/EdmNull.java | 25 ++
.../commons/api/edm/annotation/EdmOr.java | 23 ++
.../commons/api/edm/annotation/EdmPath.java | 25 ++
.../api/edm/annotation/EdmPropertyPath.java | 25 ++
.../api/edm/annotation/EdmPropertyValue.java | 29 ++
.../commons/api/edm/annotation/EdmRecord.java | 31 ++
...mTwoParamsOpDynamicAnnotationExpression.java | 26 ++
.../commons/api/edm/annotation/EdmUrlRef.java | 24 ++
.../commons/api/edm/geo/ComposedGeospatial.java | 2 +-
.../olingo/commons/api/edm/geo/Geospatial.java | 13 +-
.../api/edm/geo/GeospatialCollection.java | 2 +-
.../olingo/commons/api/edm/geo/LineString.java | 2 +-
.../commons/api/edm/geo/MultiLineString.java | 2 +-
.../olingo/commons/api/edm/geo/MultiPoint.java | 2 +-
.../commons/api/edm/geo/MultiPolygon.java | 2 +-
.../olingo/commons/api/edm/geo/Point.java | 2 +-
.../olingo/commons/api/edm/geo/Polygon.java | 2 +-
.../apache/olingo/commons/api/edm/geo/SRID.java | 106 +++++++
.../core/data/AtomGeoValueDeserializer.java | 19 +-
.../core/data/AtomGeoValueSerializer.java | 4 +-
.../core/data/JSONGeoValueDeserializer.java | 23 +-
.../core/data/JSONGeoValueSerializer.java | 7 +-
.../core/domain/v3/ODataPrimitiveValueImpl.java | 5 +
.../core/domain/v4/ODataPrimitiveValueImpl.java | 5 +
.../olingo/commons/core/edm/AbstractEdm.java | 94 +++++-
.../core/edm/AbstractEdmBindingTarget.java | 11 +
.../core/edm/AbstractEdmComplexType.java | 13 +-
.../core/edm/AbstractEdmEntityContainer.java | 16 +
.../commons/core/edm/AbstractEdmEntityType.java | 5 +
.../commons/core/edm/AbstractEdmEnumType.java | 21 +-
.../commons/core/edm/AbstractEdmMember.java | 58 ++++
.../core/edm/AbstractEdmNavigationProperty.java | 13 +-
.../commons/core/edm/AbstractEdmOperation.java | 4 +-
.../core/edm/AbstractEdmOperationImport.java | 11 +
.../commons/core/edm/AbstractEdmParameter.java | 34 +--
.../commons/core/edm/AbstractEdmProperty.java | 45 ++-
.../edm/AbstractEdmReferentialConstraint.java | 43 +++
.../commons/core/edm/AbstractEdmReturnType.java | 49 +---
.../commons/core/edm/AbstractEdmSchema.java | 61 +++-
.../core/edm/AbstractEdmStructuredType.java | 10 +
.../core/edm/AbstractEdmTypeDefinition.java | 15 +
.../commons/core/edm/EdmAnnotationHelper.java | 27 ++
.../olingo/commons/core/edm/EdmMemberImpl.java | 38 ---
.../core/edm/EdmReferentialConstraintImpl.java | 43 ---
.../olingo/commons/core/edm/EdmTypeInfo.java | 40 ++-
...mAnnotatableDynamicAnnotationExpression.java | 35 +++
.../AbstractEdmAnnotationEspression.java | 46 +++
.../AbstractEdmDynamicAnnotationExpression.java | 291 +++++++++++++++++++
.../AbstractEdmElementOrAttributeNotation.java | 35 +++
...mTwoParamsOpDynamicAnnotationExpression.java | 47 +++
.../commons/core/edm/annotation/EdmAndImpl.java | 30 ++
.../edm/annotation/EdmAnnotationPathImpl.java | 29 ++
.../core/edm/annotation/EdmApplyImpl.java | 46 +++
.../core/edm/annotation/EdmCollectionImpl.java | 38 +++
.../commons/core/edm/annotation/EdmEqImpl.java | 30 ++
.../commons/core/edm/annotation/EdmGeImpl.java | 30 ++
.../commons/core/edm/annotation/EdmGtImpl.java | 30 ++
.../commons/core/edm/annotation/EdmIfImpl.java | 55 ++++
.../edm/annotation/EdmLabeledElementImpl.java | 46 +++
.../EdmLabeledElementReferenceImpl.java | 30 ++
.../commons/core/edm/annotation/EdmLeImpl.java | 30 ++
.../commons/core/edm/annotation/EdmLtImpl.java | 30 ++
.../EdmNavigationPropertyPathImpl.java | 30 ++
.../commons/core/edm/annotation/EdmNeImpl.java | 30 ++
.../commons/core/edm/annotation/EdmNotImpl.java | 37 +++
.../core/edm/annotation/EdmNullImpl.java | 25 ++
.../commons/core/edm/annotation/EdmOrImpl.java | 30 ++
.../core/edm/annotation/EdmPathImpl.java | 29 ++
.../edm/annotation/EdmPropertyPathImpl.java | 29 ++
.../edm/annotation/EdmPropertyValueImpl.java | 46 +++
.../core/edm/annotation/EdmUrlRefImpl.java | 37 +++
.../primitivetype/AbstractGeospatialType.java | 35 +--
.../commons/core/edm/EdmImplCachingTest.java | 29 +-
.../commons/core/edm/EdmImplCallCreateTest.java | 25 +-
.../core/edm/primitivetype/EdmGeoTest.java | 14 +-
.../server/api/edm/provider/EnumMember.java | 7 +-
.../core/edm/provider/EdmActionImportImpl.java | 5 +
.../core/edm/provider/EdmComplexTypeImpl.java | 12 +-
.../edm/provider/EdmEntityContainerImpl.java | 12 +-
.../core/edm/provider/EdmEntitySetImpl.java | 13 +
.../core/edm/provider/EdmEntityTypeImpl.java | 11 +-
.../core/edm/provider/EdmEnumTypeImpl.java | 14 +-
.../edm/provider/EdmFunctionImportImpl.java | 11 +
.../server/core/edm/provider/EdmMemberImpl.java | 39 +++
.../edm/provider/EdmNavigationPropertyImpl.java | 25 +-
.../core/edm/provider/EdmOperationImpl.java | 10 +-
.../edm/provider/EdmOperationImportImpl.java | 10 +-
.../core/edm/provider/EdmParameterImpl.java | 13 +
.../core/edm/provider/EdmPropertyImpl.java | 32 +-
.../core/edm/provider/EdmProviderImpl.java | 48 ++-
.../provider/EdmReferentialConstraintImpl.java | 36 +++
.../core/edm/provider/EdmReturnTypeImpl.java | 5 +
.../server/core/edm/provider/EdmSchemaImpl.java | 61 +++-
.../edm/provider/EdmServiceMetadataImpl.java | 6 +-
.../core/edm/provider/EdmSingletonImpl.java | 13 +
.../provider/EdmStructuredTypeHelperImpl.java | 12 +-
.../edm/provider/EdmTypeDefinitionImpl.java | 18 +-
.../server/core/edm/provider/EdmEnumTest.java | 2 +-
.../core/edm/provider/EdmMemberImplTest.java | 8 +-
.../provider/EdmNavigationPropertyImplTest.java | 10 +-
.../core/edm/provider/EdmPropertyImplTest.java | 14 +-
.../EdmProviderImplOverloadingTest.java | 4 +-
.../provider/EdmServiceMetadataImplTest.java | 2 +-
.../core/uri/testutil/ResourceValidator.java | 1 -
346 files changed, 7922 insertions(+), 2478 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
index fccaa54..759636d 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
@@ -23,7 +23,7 @@ import org.apache.olingo.client.api.communication.header.ODataPreferences;
import org.apache.olingo.client.api.communication.request.batch.CommonBatchRequestFactory;
import org.apache.olingo.client.api.communication.request.cud.CommonCUDRequestFactory;
import org.apache.olingo.client.api.communication.request.cud.CommonUpdateType;
-import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
+import org.apache.olingo.client.api.communication.request.invoke.InvokeRequestFactory;
import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
import org.apache.olingo.client.api.communication.request.streamed.CommonStreamedRequestFactory;
import org.apache.olingo.client.api.op.ClientODataDeserializer;
@@ -73,7 +73,7 @@ public interface CommonODataClient<UT extends CommonUpdateType> {
CommonStreamedRequestFactory getStreamedRequestFactory();
- CommonInvokeRequestFactory getInvokeRequestFactory();
+ InvokeRequestFactory getInvokeRequestFactory();
CommonBatchRequestFactory getBatchRequestFactory();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
deleted file mode 100644
index f6839b4..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/CommonInvokeRequestFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.communication.request.invoke;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Map;
-import org.apache.olingo.commons.api.domain.ODataInvokeResult;
-import org.apache.olingo.commons.api.domain.ODataValue;
-import org.apache.olingo.commons.api.edm.EdmOperation;
-
-/**
- * OData request factory class.
- */
-public interface CommonInvokeRequestFactory extends Serializable {
-
- /**
- * Gets an invoke request instance.
- *
- * @param <RES> OData domain object result, derived from return type defined in the function import
- * @param uri URI that identifies the function import
- * @param operation operation to be invoked
- * @return new ODataInvokeRequest instance.
- */
- <RES extends ODataInvokeResult> ODataInvokeRequest<RES> getInvokeRequest(URI uri, EdmOperation operation);
-
- /**
- * Gets an invoke request instance.
- *
- * @param <RES> OData domain object result, derived from return type defined in the function import
- * @param uri URI that identifies the function import
- * @param operation operation to be invoked
- * @param parameters parameters to pass to function import invocation
- * @return new ODataInvokeRequest instance.
- */
- <RES extends ODataInvokeResult> ODataInvokeRequest<RES> getInvokeRequest(
- URI uri, EdmOperation operation, Map<String, ODataValue> parameters);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
new file mode 100644
index 0000000..e25a168
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.communication.request.invoke;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.util.Map;
+import org.apache.olingo.commons.api.domain.ODataInvokeResult;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.edm.EdmOperation;
+
+/**
+ * OData request factory class.
+ */
+public interface InvokeRequestFactory extends Serializable {
+
+ /**
+ * Gets an invoke request instance.
+ *
+ * @param <RES> OData domain object result, derived from return type defined in the function import
+ * @param uri URI that identifies the function import
+ * @param operation operation to be invoked
+ * @return new ODataInvokeRequest instance.
+ */
+ <RES extends ODataInvokeResult> ODataInvokeRequest<RES> getInvokeRequest(URI uri, EdmOperation operation);
+
+ /**
+ * Gets an invoke request instance.
+ *
+ * @param <RES> OData domain object result, derived from return type defined in the function import
+ * @param uri URI that identifies the function import
+ * @param operation operation to be invoked
+ * @param parameters parameters to pass to function import invocation
+ * @return new ODataInvokeRequest instance.
+ */
+ <RES extends ODataInvokeResult> ODataInvokeRequest<RES> getInvokeRequest(
+ URI uri, EdmOperation operation, Map<String, ODataValue> parameters);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
deleted file mode 100644
index 476678e..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v3/InvokeRequestFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.communication.request.invoke.v3;
-
-import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
-
-public interface InvokeRequestFactory extends CommonInvokeRequestFactory {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
deleted file mode 100644
index c9278f4..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/v4/InvokeRequestFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.communication.request.invoke.v4;
-
-import org.apache.olingo.client.api.communication.request.invoke.CommonInvokeRequestFactory;
-
-public interface InvokeRequestFactory extends CommonInvokeRequestFactory {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
index b11de10..156631c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
@@ -18,6 +18,8 @@
*/
package org.apache.olingo.client.api.edm.xml;
+import org.apache.olingo.commons.api.edm.geo.SRID;
+
public interface CommonProperty extends Named {
String getType();
@@ -34,6 +36,6 @@ public interface CommonProperty extends Named {
boolean isUnicode();
- String getSrid();
+ SRID getSrid();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
index cee0c9a..07a1b13 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
@@ -32,9 +32,9 @@ public interface Schema {
EnumType getEnumType(String name);
- List<? extends CommonAnnotations> getAnnotationsList();
+ List<? extends CommonAnnotations> getAnnotationGroups();
- CommonAnnotations getAnnotationsList(String target);
+ CommonAnnotations getAnnotationGroup(String target);
List<? extends ComplexType> getComplexTypes();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v3/Parameter.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v3/Parameter.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v3/Parameter.java
index a5f5c88..1d89b58 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v3/Parameter.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v3/Parameter.java
@@ -18,7 +18,9 @@
*/
package org.apache.olingo.client.api.edm.xml.v3;
-public interface Parameter extends org.apache.olingo.client.api.edm.xml.CommonParameter {
+import org.apache.olingo.client.api.edm.xml.CommonParameter;
+
+public interface Parameter extends CommonParameter {
ParameterMode getMode();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Action.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Action.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Action.java
index 1591c5f..996cac8 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Action.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Action.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Named;
-public interface Action extends Named {
+public interface Action extends Named, Annotatable {
boolean isBound();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotatable.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotatable.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotatable.java
new file mode 100644
index 0000000..4f5e357
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotatable.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4;
+
+import java.util.List;
+
+public interface Annotatable {
+
+ List<Annotation> getAnnotations();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/AnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/AnnotatedEdmItem.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/AnnotatedEdmItem.java
deleted file mode 100644
index e488629..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/AnnotatedEdmItem.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml.v4;
-
-public interface AnnotatedEdmItem {
-
- Annotation getAnnotation();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotation.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotation.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotation.java
index b70e729..69c437e 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotation.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Annotation.java
@@ -18,16 +18,13 @@
*/
package org.apache.olingo.client.api.edm.xml.v4;
-import org.apache.olingo.client.api.edm.xml.v4.annotation.ConstExprConstruct;
-import org.apache.olingo.client.api.edm.xml.v4.annotation.DynExprConstruct;
+import org.apache.olingo.client.api.edm.xml.v4.annotation.AnnotationExpression;
-public interface Annotation {
+public interface Annotation extends Annotatable {
String getTerm();
String getQualifier();
- ConstExprConstruct getConstExpr();
-
- DynExprConstruct getDynExpr();
+ AnnotationExpression getExpression();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/BindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/BindingTarget.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/BindingTarget.java
index f4d8491..171c416 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/BindingTarget.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/BindingTarget.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Named;
-public interface BindingTarget extends Named, AnnotatedEdmItem {
+public interface BindingTarget extends Named, Annotatable {
List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/CSDLElement.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/CSDLElement.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/CSDLElement.java
deleted file mode 100644
index 18489e7..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/CSDLElement.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml.v4;
-
-public enum CSDLElement {
-
- ActionImport,
- ComplexType,
- EntityContainer,
- EntitySet,
- EntityType,
- EnumType,
- FunctionImport,
- Member,
- NavigationProperty,
- Property,
- Singleton,
- Term,
- TypeDefinition
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ComplexType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ComplexType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ComplexType.java
index bc93911..a72a329 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ComplexType.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ComplexType.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.edm.xml.v4;
import java.util.List;
-public interface ComplexType extends org.apache.olingo.client.api.edm.xml.ComplexType, AnnotatedEdmItem {
+public interface ComplexType extends org.apache.olingo.client.api.edm.xml.ComplexType, Annotatable {
boolean isAbstractEntityType();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/EntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/EntityContainer.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/EntityContainer.java
index cb164cc..02c51b1 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/EntityContainer.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/EntityContainer.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.edm.xml.v4;
import java.util.List;
-public interface EntityContainer extends org.apache.olingo.client.api.edm.xml.EntityContainer {
+public interface EntityContainer extends org.apache.olingo.client.api.edm.xml.EntityContainer, Annotatable {
@Override
EntitySet getEntitySet(String name);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/IncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/IncludeAnnotations.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/IncludeAnnotations.java
index b200ee9..2b822a4 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/IncludeAnnotations.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/IncludeAnnotations.java
@@ -22,7 +22,7 @@ public interface IncludeAnnotations {
String getQualifier();
- String getTargeyNamespace();
+ String getTargetNamespace();
String getTermNamespace();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/NavigationProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/NavigationProperty.java
index b6e2fcc..0eaaba7 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/NavigationProperty.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/NavigationProperty.java
@@ -23,7 +23,7 @@ import org.apache.olingo.client.api.edm.xml.OnDelete;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.CommonNavigationProperty;
-public interface NavigationProperty extends CommonNavigationProperty, AnnotatedEdmItem {
+public interface NavigationProperty extends CommonNavigationProperty, Annotatable {
String getType();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/OperationImport.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/OperationImport.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/OperationImport.java
index 292df86..a86d5cc 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/OperationImport.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/OperationImport.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.edm.xml.v4;
import org.apache.olingo.client.api.edm.xml.Named;
-public interface OperationImport extends Named, AnnotatedEdmItem {
+public interface OperationImport extends Named, Annotatable {
String getEntitySet();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Parameter.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Parameter.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Parameter.java
index 0b8b975..127fa7c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Parameter.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Parameter.java
@@ -18,7 +18,10 @@
*/
package org.apache.olingo.client.api.edm.xml.v4;
-public interface Parameter extends org.apache.olingo.client.api.edm.xml.CommonParameter {
+import org.apache.olingo.client.api.edm.xml.CommonParameter;
+import org.apache.olingo.commons.api.edm.geo.SRID;
- String getSrid();
+public interface Parameter extends CommonParameter, Annotatable {
+
+ SRID getSrid();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Property.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Property.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Property.java
index 20d909a..74400cd 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Property.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Property.java
@@ -20,6 +20,6 @@ package org.apache.olingo.client.api.edm.xml.v4;
import org.apache.olingo.client.api.edm.xml.CommonProperty;
-public interface Property extends CommonProperty, AnnotatedEdmItem {
+public interface Property extends CommonProperty, Annotatable {
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReferentialConstraint.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReferentialConstraint.java
index 98c64c5..5e29932 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReferentialConstraint.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReferentialConstraint.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.client.api.edm.xml.v4;
-public interface ReferentialConstraint {
+public interface ReferentialConstraint extends Annotatable {
String getProperty();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReturnType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReturnType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReturnType.java
index 6ace4fe..50ffc75 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReturnType.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/ReturnType.java
@@ -18,6 +18,8 @@
*/
package org.apache.olingo.client.api.edm.xml.v4;
+import org.apache.olingo.commons.api.edm.geo.SRID;
+
public interface ReturnType {
Integer getMaxLength();
@@ -26,7 +28,7 @@ public interface ReturnType {
Integer getScale();
- String getSrid();
+ SRID getSrid();
String getType();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Schema.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Schema.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Schema.java
index 961b27e..1d90635 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Schema.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Schema.java
@@ -19,8 +19,9 @@
package org.apache.olingo.client.api.edm.xml.v4;
import java.util.List;
+import java.util.Map;
-public interface Schema extends org.apache.olingo.client.api.edm.xml.Schema, AnnotatedEdmItem {
+public interface Schema extends org.apache.olingo.client.api.edm.xml.Schema, Annotatable {
@Override
List<EntityContainer> getEntityContainers();
@@ -43,12 +44,16 @@ public interface Schema extends org.apache.olingo.client.api.edm.xml.Schema, Ann
List<Action> getActions(String name);
- List<Annotation> getAnnotations();
+ Annotation getAnnotation(String term);
+
+ Map<String, Annotatable> getAnnotatables();
List<Function> getFunctions();
List<Function> getFunctions(String name);
+ Term getTerm(String name);
+
List<Term> getTerms();
TypeDefinition getTypeDefinition(String name);
@@ -56,9 +61,9 @@ public interface Schema extends org.apache.olingo.client.api.edm.xml.Schema, Ann
List<TypeDefinition> getTypeDefinitions();
@Override
- List<Annotations> getAnnotationsList();
+ List<Annotations> getAnnotationGroups();
@Override
- Annotations getAnnotationsList(String target);
+ Annotations getAnnotationGroup(String target);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Term.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Term.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Term.java
index 59cdd29..6ed5b9f 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Term.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/Term.java
@@ -19,12 +19,12 @@
package org.apache.olingo.client.api.edm.xml.v4;
import java.util.List;
-
import org.apache.olingo.client.api.edm.xml.Named;
+import org.apache.olingo.commons.api.edm.geo.SRID;
-public interface Term extends Named {
+public interface Term extends Named, Annotatable {
- List<CSDLElement> getAppliesTo();
+ List<String> getAppliesTo();
String getBaseTerm();
@@ -36,7 +36,7 @@ public interface Term extends Named {
Integer getScale();
- String getSrid();
+ SRID getSrid();
String getType();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/TypeDefinition.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/TypeDefinition.java
index 568c737..20234c2 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/TypeDefinition.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/TypeDefinition.java
@@ -21,8 +21,9 @@ package org.apache.olingo.client.api.edm.xml.v4;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.Named;
+import org.apache.olingo.commons.api.edm.geo.SRID;
-public interface TypeDefinition extends Named {
+public interface TypeDefinition extends Named, Annotatable {
List<Annotation> getAnnotations();
@@ -32,7 +33,7 @@ public interface TypeDefinition extends Named {
Integer getScale();
- String getSrid();
+ SRID getSrid();
String getUnderlyingType();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationExpression.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationExpression.java
new file mode 100644
index 0000000..fb96d9d
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationExpression.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface AnnotationExpression {
+
+ boolean isConstant();
+
+ ConstantAnnotationExpression asConstant();
+
+ boolean isDynamic();
+
+ DynamicAnnotationExpression asDynamic();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationPath.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationPath.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationPath.java
new file mode 100644
index 0000000..225ea8f
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/AnnotationPath.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface AnnotationPath extends DynamicAnnotationExpression {
+
+ String getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Apply.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Apply.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Apply.java
new file mode 100644
index 0000000..7315ad9
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Apply.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import java.util.List;
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+
+public interface Apply extends DynamicAnnotationExpression, Annotatable {
+
+ String getFunction();
+
+ List<AnnotationExpression> getParameters();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Cast.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Cast.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Cast.java
new file mode 100644
index 0000000..c580de0
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Cast.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+import org.apache.olingo.commons.api.edm.geo.SRID;
+
+public interface Cast extends DynamicAnnotationExpression, Annotatable {
+
+ Integer getMaxLength();
+
+ Integer getPrecision();
+
+ Integer getScale();
+
+ SRID getSrid();
+
+ String getType();
+
+ DynamicAnnotationExpression getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Collection.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Collection.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Collection.java
new file mode 100644
index 0000000..4a6f61d
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Collection.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import java.util.List;
+
+public interface Collection extends DynamicAnnotationExpression {
+
+ List<AnnotationExpression> getItems();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstExprConstruct.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
deleted file mode 100644
index e51b9e3..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml.v4.annotation;
-
-public interface ConstExprConstruct extends ExprConstruct {
-
- public enum Type {
-
- Binary,
- Bool,
- Date,
- DateTimeOffset,
- Decimal,
- Duration,
- EnumMember,
- Float,
- Guid,
- Int,
- String,
- TimeOfDay;
-
- public static Type fromString(final String value) {
- Type result = null;
- try {
- result = valueOf(value);
- } catch (IllegalArgumentException e) {
- // ignore
- }
- return result;
- }
- }
-
- Type getType();
-
- void setType(Type type);
-
- String getValue();
-
- void setValue(String value);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstantAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstantAnnotationExpression.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstantAnnotationExpression.java
new file mode 100644
index 0000000..2011feb
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ConstantAnnotationExpression.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface ConstantAnnotationExpression extends AnnotationExpression {
+
+ public enum Type {
+
+ Binary,
+ Bool,
+ Date,
+ DateTimeOffset,
+ Decimal,
+ Duration,
+ EnumMember,
+ Float,
+ Guid,
+ Int,
+ String,
+ TimeOfDay;
+
+ public static Type fromString(final String value) {
+ Type result = null;
+ try {
+ result = valueOf(value);
+ } catch (IllegalArgumentException e) {
+ // ignore
+ }
+ return result;
+ }
+ }
+
+ Type getType();
+
+ void setType(Type type);
+
+ String getValue();
+
+ void setValue(String value);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynExprConstruct.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynExprConstruct.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynExprConstruct.java
deleted file mode 100644
index 5baffa6..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynExprConstruct.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml.v4.annotation;
-
-public interface DynExprConstruct extends ExprConstruct {
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynamicAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynamicAnnotationExpression.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynamicAnnotationExpression.java
new file mode 100644
index 0000000..b45c20b
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/DynamicAnnotationExpression.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface DynamicAnnotationExpression extends AnnotationExpression {
+
+ boolean isNot();
+
+ Not asNot();
+
+ boolean isTwoParamsOp();
+
+ TwoParamsOpDynamicAnnotationExpression asTwoParamsOp();
+
+ boolean isAnnotationPath();
+
+ AnnotationPath asAnnotationPath();
+
+ boolean isApply();
+
+ Apply asApply();
+
+ boolean isCast();
+
+ Cast asCast();
+
+ boolean isCollection();
+
+ Collection asCollection();
+
+ boolean isIf();
+
+ If asIf();
+
+ boolean isIsOf();
+
+ IsOf asIsOf();
+
+ boolean isLabeledElement();
+
+ LabeledElement asLabeledElement();
+
+ boolean isLabeledElementReference();
+
+ LabeledElementReference asLabeledElementReference();
+
+ boolean isNull();
+
+ Null asNull();
+
+ boolean isNavigationPropertyPath();
+
+ NavigationPropertyPath asNavigationPropertyPath();
+
+ boolean isPath();
+
+ Path asPath();
+
+ boolean isPropertyPath();
+
+ PropertyPath asPropertyPath();
+
+ boolean isPropertyValue();
+
+ PropertyValue asPropertyValue();
+
+ boolean isRecord();
+
+ Record asRecord();
+
+ boolean isUrlRef();
+
+ UrlRef asUrlRef();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ExprConstruct.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ExprConstruct.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ExprConstruct.java
deleted file mode 100644
index 4de83a7..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/ExprConstruct.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml.v4.annotation;
-
-public interface ExprConstruct {
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/If.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/If.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/If.java
new file mode 100644
index 0000000..48cb76a
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/If.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+
+public interface If extends DynamicAnnotationExpression, Annotatable {
+
+ AnnotationExpression getGuard();
+
+ AnnotationExpression getThen();
+
+ AnnotationExpression getElse();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/IsOf.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/IsOf.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/IsOf.java
new file mode 100644
index 0000000..ad6ae2f
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/IsOf.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+import org.apache.olingo.commons.api.edm.geo.SRID;
+
+public interface IsOf extends DynamicAnnotationExpression, Annotatable {
+
+ Integer getMaxLength();
+
+ Integer getPrecision();
+
+ Integer getScale();
+
+ SRID getSrid();
+
+ String getType();
+
+ DynamicAnnotationExpression getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElement.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElement.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElement.java
new file mode 100644
index 0000000..1e89a99
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElement.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+
+public interface LabeledElement extends DynamicAnnotationExpression, Annotatable {
+
+ String getName();
+
+ DynamicAnnotationExpression getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElementReference.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElementReference.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElementReference.java
new file mode 100644
index 0000000..f34a42c
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/LabeledElementReference.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface LabeledElementReference extends DynamicAnnotationExpression {
+
+ String getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/NavigationPropertyPath.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/NavigationPropertyPath.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/NavigationPropertyPath.java
new file mode 100644
index 0000000..bcbf334
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/NavigationPropertyPath.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface NavigationPropertyPath extends DynamicAnnotationExpression {
+
+ String getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Not.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Not.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Not.java
new file mode 100644
index 0000000..6e3fbfe
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Not.java
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface Not extends DynamicAnnotationExpression {
+
+ DynamicAnnotationExpression getExpression();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Null.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Null.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Null.java
new file mode 100644
index 0000000..2e83241
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Null.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+import org.apache.olingo.client.api.edm.xml.v4.Annotatable;
+
+public interface Null extends DynamicAnnotationExpression, Annotatable {
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Path.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Path.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Path.java
new file mode 100644
index 0000000..9500207
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/Path.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface Path extends DynamicAnnotationExpression {
+
+ String getValue();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/726fbe52/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/PropertyPath.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/PropertyPath.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/PropertyPath.java
new file mode 100644
index 0000000..3ecb019
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/v4/annotation/PropertyPath.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.api.edm.xml.v4.annotation;
+
+public interface PropertyPath extends DynamicAnnotationExpression {
+
+ String getValue();
+
+}