You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/03/12 13:49:35 UTC
[5/5] git commit: Merge branch 'olingo167'
Merge branch 'olingo167'
Conflicts:
lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/ec39fd60
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/ec39fd60
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/ec39fd60
Branch: refs/heads/master
Commit: ec39fd600b2b1e73f276fe83f62ce094cfee08b4
Parents: b7869d9 950e90c
Author: Christian Amend <ch...@apache.org>
Authored: Wed Mar 12 13:48:23 2014 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Wed Mar 12 13:48:23 2014 +0100
----------------------------------------------------------------------
.../olingo/client/core/edm/EdmActionImpl.java | 1 -
.../olingo/client/core/edm/EdmClientImpl.java | 11 +
.../client/core/edm/EdmEntityContainerImpl.java | 115 ++++++-
.../client/core/edm/EdmEntitySetImpl.java | 7 +
.../client/core/edm/EdmFunctionImportImpl.java | 24 +-
.../client/core/edm/EdmOperationImpl.java | 29 ++
.../olingo/client/core/edm/EdmSchemaImpl.java | 166 +++++++++
.../client/core/edm/v3/EdmEntitySetProxy.java | 6 +
.../core/edm/v3/EdmFunctionImportProxy.java | 12 +
.../client/core/edm/v3/EdmOperationProxy.java | 12 +
.../commons/api/ODataRuntimeException.java | 37 ++
.../org/apache/olingo/commons/api/edm/Edm.java | 6 +
.../commons/api/edm/EdmEntityContainer.java | 52 ++-
.../olingo/commons/api/edm/EdmEntitySet.java | 5 +
.../commons/api/edm/EdmFunctionImport.java | 12 +-
.../olingo/commons/api/edm/EdmOperation.java | 10 +
.../olingo/commons/api/edm/EdmSchema.java | 70 ++++
.../commons/api/edm/FullQualifiedName.java | 26 +-
.../core/edm/AbstractEdmEntityContainer.java | 71 +++-
.../commons/core/edm/AbstractEdmImpl.java | 157 ++++++---
.../commons/core/edm/AbstractEdmSchemaImpl.java | 128 +++++++
.../commons/core/edm/EdmImplCachingTest.java | 21 ++
.../commons/core/edm/EdmImplCallCreateTest.java | 12 +
.../apache/olingo/server/api/ODataFormat.java | 23 ++
.../olingo/server/api/ODataSerializer.java | 31 ++
.../apache/olingo/server/api/ODataServer.java | 48 +++
.../server/api/edm/provider/EdmProvider.java | 8 +
lib/server-core/pom.xml | 135 ++++----
.../olingo/server/core/CircleStreamBuffer.java | 327 ++++++++++++++++++
.../olingo/server/core/ODataJsonSerializer.java | 147 ++++++++
.../olingo/server/core/ODataSerializerImpl.java | 38 +++
.../olingo/server/core/ODataServerImpl.java | 45 +++
.../core/edm/provider/EdmActionImportImpl.java | 5 +-
.../edm/provider/EdmEntityContainerImpl.java | 107 +++++-
.../core/edm/provider/EdmEntitySetImpl.java | 7 +
.../core/edm/provider/EdmEntityTypeImpl.java | 7 -
.../core/edm/provider/EdmEnumTypeImpl.java | 3 +-
.../edm/provider/EdmFunctionImportImpl.java | 31 +-
.../core/edm/provider/EdmOperationImpl.java | 36 +-
.../edm/provider/EdmOperationImportImpl.java | 23 +-
.../core/edm/provider/EdmProviderImpl.java | 54 +--
.../server/core/edm/provider/EdmSchemaImpl.java | 139 ++++++++
.../edm/provider/EdmTypeDefinitionImpl.java | 33 +-
.../olingo/server/core/ServiceDocumentTest.java | 133 ++++++++
.../edm/provider/EdmActionImportImplTest.java | 28 +-
.../provider/EdmEntityContainerImplTest.java | 138 +++++++-
.../edm/provider/EdmEntityTypeImplTest.java | 7 -
.../edm/provider/EdmFunctionImportImplTest.java | 4 +-
.../core/edm/provider/EdmSchemaImplTest.java | 337 +++++++++++++++++++
.../edm/provider/EdmTypeDefinitionImplTest.java | 3 +-
.../server/core/testutil/StringUtils.java | 52 +++
pom.xml | 2 +-
52 files changed, 2666 insertions(+), 275 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/ec39fd60/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/ec39fd60/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --cc lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
index 871bfb2,e039954..169aaf9
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
@@@ -45,7 -48,7 +47,7 @@@ public class EdmEntityContainerImpl ext
private final XMLMetadata xmlMetadata;
public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
-- final EntityContainer xmlEntityContainer, final XMLMetadata xmlMetadata) {
++ final EntityContainer xmlEntityContainer, final XMLMetadata xmlMetadata) {
super(edm, entityContainerName);
@@@ -60,13 -63,13 +62,13 @@@
}
final Singleton singleton = ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).
-- getSingleton(singletonName);
++ getSingleton(singletonName);
if (singleton == null) {
throw new EdmException("Singleton named '" + singletonName + "' not found in " + entityContainerName);
}
- return new EdmSingletonImpl(edm, this, singletonName,
- new EdmTypeInfo(singleton.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
- singleton);
+ return new EdmSingletonImpl(edm, this, singletonName, new EdmTypeInfo.Builder().
- setTypeExpression(singleton.getEntityType()).setDefaultNamespace(entityContainerName.getNamespace()).
- build().getFullQualifiedName(), singleton);
++ setTypeExpression(singleton.getEntityType()).setDefaultNamespace(entityContainerName.getNamespace()).
++ build().getFullQualifiedName(), singleton);
}
@Override
@@@ -76,22 -79,22 +78,21 @@@
throw new EdmException("EntitySet named '" + entitySetName + "' not found in " + entityContainerName);
}
+ final FullQualifiedName entityType = new EdmTypeInfo.Builder().setTypeExpression(entitySet.getEntityType()).
- setDefaultNamespace(entityContainerName.getNamespace()).build().getFullQualifiedName();
++ setDefaultNamespace(entityContainerName.getNamespace()).build().getFullQualifiedName();
if (entitySet instanceof org.apache.olingo.client.api.edm.xml.v4.EntitySet) {
- return new EdmEntitySetImpl(edm, this, entitySetName,
- new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
- (org.apache.olingo.client.api.edm.xml.v4.EntitySet) entitySet);
+ return new EdmEntitySetImpl(edm, this, entitySetName, entityType,
- (org.apache.olingo.client.api.edm.xml.v4.EntitySet) entitySet);
++ (org.apache.olingo.client.api.edm.xml.v4.EntitySet) entitySet);
} else {
- return new EdmEntitySetProxy(edm, this, entitySetName,
- new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
- xmlMetadata);
+ return new EdmEntitySetProxy(edm, this, entitySetName, entityType, xmlMetadata);
}
}
@Override
protected EdmActionImport createActionImport(final String actionImportName) {
if (xmlEntityContainer instanceof org.apache.olingo.client.api.edm.xml.v4.EntityContainer) {
- final ActionImport actionImport =
- ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).
- getActionImport(actionImportName);
+ final ActionImport actionImport = ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).
- getActionImport(actionImportName);
++ getActionImport(actionImportName);
if (actionImport == null) {
throw new EdmException("ActionImport named '" + actionImportName + "' not found in " + entityContainerName);
}
@@@ -114,10 -117,89 +115,90 @@@
if (functionImport instanceof org.apache.olingo.client.api.edm.xml.v4.FunctionImport) {
return new EdmFunctionImportImpl(edm, this, functionImportName,
-- (org.apache.olingo.client.api.edm.xml.v4.FunctionImport) functionImport);
++ (org.apache.olingo.client.api.edm.xml.v4.FunctionImport) functionImport);
} else {
return new EdmFunctionImportProxy(edm, this, functionImportName,
- (org.apache.olingo.client.api.edm.xml.v3.FunctionImport) functionImport);
++ (org.apache.olingo.client.api.edm.xml.v3.FunctionImport) functionImport);
+ }
+ }
+
+ @Override
+ protected void loadAllEntitySets() {
+ List<? extends EntitySet> localEntitySets = xmlEntityContainer.getEntitySets();
+ if (localEntitySets != null) {
+ for (EntitySet entitySet : localEntitySets) {
+ EdmEntitySet edmSet;
++ final FullQualifiedName entityType = new EdmTypeInfo.Builder().setTypeExpression(entitySet.getEntityType()).
++ setDefaultNamespace(entityContainerName.getNamespace()).build().getFullQualifiedName();
+ if (entitySet instanceof org.apache.olingo.client.api.edm.xml.v4.EntitySet) {
- edmSet = new EdmEntitySetImpl(edm, this, entitySet.getName(),
- new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
++ edmSet =
++ new EdmEntitySetImpl(edm, this, entitySet.getName(), entityType,
+ (org.apache.olingo.client.api.edm.xml.v4.EntitySet) entitySet);
+ } else {
- edmSet = new EdmEntitySetProxy(edm, this, entitySet.getName(),
- new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
- xmlMetadata);
++ edmSet = new EdmEntitySetProxy(edm, this, entitySet.getName(), entityType, xmlMetadata);
+ }
+ entitySets.put(edmSet.getName(), edmSet);
+ }
+ }
+
+ }
+
+ @Override
+ protected void loadAllFunctionImports() {
+ final List<? extends CommonFunctionImport> localFunctionImports = xmlEntityContainer.getFunctionImports();
+ if (localFunctionImports != null) {
+ for (CommonFunctionImport functionImport : localFunctionImports) {
+ EdmFunctionImport edmFunctionImport;
+ if (functionImport instanceof org.apache.olingo.client.api.edm.xml.v4.FunctionImport) {
+ edmFunctionImport = new EdmFunctionImportImpl(edm, this, functionImport.getName(),
- (org.apache.olingo.client.api.edm.xml.v4.FunctionImport) functionImport);
++ (org.apache.olingo.client.api.edm.xml.v4.FunctionImport) functionImport);
+ } else {
+ edmFunctionImport = new EdmFunctionImportProxy(edm, this, functionImport.getName(),
- (org.apache.olingo.client.api.edm.xml.v3.FunctionImport) functionImport);
+ (org.apache.olingo.client.api.edm.xml.v3.FunctionImport) functionImport);
+ }
+ functionImports.put(edmFunctionImport.getName(), edmFunctionImport);
+ }
+ }
+ }
+
+ @Override
+ protected void loadAllSingletons() {
+ if (!(xmlEntityContainer instanceof org.apache.olingo.client.api.edm.xml.v4.EntityContainer)) {
+ throw new UnsupportedInV3Exception();
+ }
+
+ final List<Singleton> localSingletons =
- ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).getSingletons();
++ ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).getSingletons();
+ if (localSingletons != null) {
+ for (Singleton singleton : localSingletons) {
+ singletons.put(singleton.getName(), new EdmSingletonImpl(edm, this, singleton.getName(),
- new EdmTypeInfo(singleton.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
- singleton));
++ new EdmTypeInfo.Builder().
++ setTypeExpression(singleton.getEntityType()).setDefaultNamespace(entityContainerName.getNamespace()).
++ build().getFullQualifiedName(), singleton));
+ }
+ }
+ }
+
+ @Override
+ protected void loadAllActionImports() {
+ if (xmlEntityContainer instanceof org.apache.olingo.client.api.edm.xml.v4.EntityContainer) {
+ final List<ActionImport> localActionImports =
- ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).getActionImports();
++ ((org.apache.olingo.client.api.edm.xml.v4.EntityContainer) xmlEntityContainer).getActionImports();
+ if (actionImports != null) {
+ for (ActionImport actionImport : localActionImports) {
+ actionImports.put(actionImport.getName(),
- new EdmActionImportImpl(edm, this, actionImport.getName(), actionImport));
++ new EdmActionImportImpl(edm, this, actionImport.getName(), actionImport));
+ }
+ }
+ } else {
+ @SuppressWarnings("unchecked")
+ final List<FunctionImport> localFunctionImports = (List<FunctionImport>) xmlEntityContainer.getFunctionImports();
+ if (localFunctionImports != null) {
+ for (FunctionImport functionImport : localFunctionImports) {
+ actionImports.put(functionImport.getName(),
- new EdmActionImportProxy(edm, this, functionImport.getName(), functionImport));
++ new EdmActionImportProxy(edm, this, functionImport.getName(), functionImport));
+ }
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/ec39fd60/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --cc lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
index ced5ae4,ce5f6de..27d6d10
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
@@@ -39,8 -41,18 +40,17 @@@ public class EdmFunctionImportImpl exte
@Override
public EdmFunction getFunction(final List<String> parameterNames) {
- return edm.getFunction(
- new EdmTypeInfo(functionImport.getFunction(), container.getNamespace()).getFullQualifiedName(),
- null, null, parameterNames);
+ return edm.getFunction(new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(functionImport.getFunction()).
+ setDefaultNamespace(container.getNamespace()).build().getFullQualifiedName(), null, null, parameterNames);
}
+ @Override
+ public boolean isIncludeInServiceDocument() {
+ return functionImport.isIncludeInServiceDocument();
+ }
+
+ @Override
+ public FullQualifiedName getFunctionFqn() {
+ return new FullQualifiedName(functionImport.getFunction());
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/ec39fd60/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmFunctionImportProxy.java
----------------------------------------------------------------------
diff --cc lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmFunctionImportProxy.java
index 9076a52,cc2a621..90364a8
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmFunctionImportProxy.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmFunctionImportProxy.java
@@@ -41,7 -42,19 +42,18 @@@ public class EdmFunctionImportProxy ext
@Override
public EdmFunction getFunction(final List<String> parameterNames) {
- return edm.getFunction(
- new EdmTypeInfo(functionImport.getName(), container.getNamespace()).getFullQualifiedName(),
- null, null, parameterNames);
+ return edm.getFunction(new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(functionImport.getName()).
+ setDefaultNamespace(container.getNamespace()).build().getFullQualifiedName(), null, null, parameterNames);
}
+
+ @Override
+ public boolean isIncludeInServiceDocument() {
+ //V3 states that all function imports are included in the service document
+ return true;
+ }
+
+ @Override
+ public FullQualifiedName getFunctionFqn() {
+ return new FullQualifiedName(container.getNamespace(), getName());
+ }
}