olingo-odata2 git commit: [Olingo-1259]Function Import enhancements
Repository: olingo-odata2 Updated Branches: refs/heads/master 39e00568c -> beccbbf3e [Olingo-1259]Function Import enhancements Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/beccbbf3 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/beccbbf3 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/beccbbf3 Branch: refs/heads/master Commit: beccbbf3ee5cf4ac7ebd724d2aecf084d85a0769 Parents: 39e0056 Author: Archana Rai Authored: Tue Dec 4 16:32:45 2018 +0530 Committer: Archana Rai Committed: Tue Dec 4 16:32:45 2018 +0530 -- .../odata2/core/ep/AtomEntityProvider.java | 33 +++- .../odata2/core/ep/JsonEntityProvider.java | 26 --- .../ep/producer/JsonFunctionImportTest.java | 21 + .../core/ep/producer/XmlFunctionImportTest.java | 16 ++ .../odata2/ref/edm/ScenarioEdmProvider.java | 8 + .../ref/processor/ScenarioDataSource.java | 5 ++- .../olingo/odata2/testutil/mock/EdmMock.java| 22 + 7 files changed, 104 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/beccbbf3/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java -- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java index 9c79747..201ffc7 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java @@ -333,21 +333,24 @@ public class AtomEntityProvider implements ContentTypeBasedEntityProvider { public ODataResponse writeFunctionImport(final EdmFunctionImport functionImport, final Object data, final EntityProviderWriteProperties properties) throws EntityProviderException { try { - final EdmType type = functionImport.getReturnType().getType(); - final boolean isCollection = functionImport.getReturnType().getMultiplicity() == EdmMultiplicity.MANY; - - if (type.getKind() == EdmTypeKind.ENTITY) { -@SuppressWarnings("unchecked") -Map map = (Map) data; -return writeEntry(functionImport.getEntitySet(), map, properties); - } - - final EntityPropertyInfo info = EntityInfoAggregator.create(functionImport); - if (isCollection) { -return writeCollection(info, (List) data); - } else { -return writeSingleTypedElement(info, data); - } + if(functionImport.getReturnType() !=null){ +final EdmType type = functionImport.getReturnType().getType(); +final boolean isCollection = functionImport.getReturnType().getMultiplicity() == EdmMultiplicity.MANY; + +if (type.getKind() == EdmTypeKind.ENTITY) { + @SuppressWarnings("unchecked") + Map map = (Map) data; + return writeEntry(functionImport.getEntitySet(), map, properties); +} +final EntityPropertyInfo info = EntityInfoAggregator.create(functionImport); +if (isCollection) { + return writeCollection(info, (List) data); +} else { + return writeSingleTypedElement(info, data); +} + }else{ + return ODataResponse.newBuilder().status(HttpStatusCodes.ACCEPTED).build(); + } } catch (EdmException e) { throw new EntityProviderProducerException(e.getMessageReference(), e); } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/beccbbf3/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java -- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java index 20a9f9b..fa94320 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java @@ -286,17 +286,21 @@ public class JsonEntityProvider implements ContentTypeBasedEntityProvider { public ODataResponse writeFunctionImport(final EdmFunctionImport functionImport, final Object data, final EntityProviderWriteProperties properties) throws EntityProviderException { try { - if (functionImport.getReturnType().getType().getKind() == EdmTypeKind.ENTITY) { -@SuppressWarnings("unchecked") -Map map = (Map) data; -return
olingo-odata2 git commit: [Olingo-1259]Function Import enhancements
Repository: olingo-odata2 Updated Branches: refs/heads/master ae1653b2f -> 9aa18ee4f [Olingo-1259]Function Import enhancements Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/9aa18ee4 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/9aa18ee4 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/9aa18ee4 Branch: refs/heads/master Commit: 9aa18ee4f5f927470a466d487580cb0387d959b5 Parents: ae1653b Author: Archana Rai Authored: Mon Jul 16 11:01:09 2018 +0530 Committer: Archana Rai Committed: Mon Jul 16 11:01:09 2018 +0530 -- .../odata2/api/edm/EdmEntityContainer.java | 6 .../core/edm/Impl/EdmEntityContainerImpl.java | 10 +++ .../deserializer/XmlMetadataDeserializer.java | 1 + .../XmlMetadataDeserializerTest.java| 28 ++- .../provider/EdmEntityContainerImplProv.java| 29 +++- .../EdmEntityContainerImplProvTest.java | 6 6 files changed, 78 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/9aa18ee4/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmEntityContainer.java -- diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmEntityContainer.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmEntityContainer.java index 39e70e4..945a4bc 100644 --- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmEntityContainer.java +++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmEntityContainer.java @@ -33,6 +33,12 @@ public interface EdmEntityContainer extends EdmNamed, EdmAnnotatable { * @return boolean true if this is the default container */ boolean isDefaultEntityContainer(); + + /** + * @return String namepspace of the container + * @throws EdmException + */ + String getNamespace() throws EdmException; /** * Get contained EntitySet by name http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/9aa18ee4/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java index 1511a21..51ee01b 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java @@ -52,6 +52,7 @@ public class EdmEntityContainerImpl implements EdmEntityContainer, EdmAnnotatabl private EdmDocumentation documentation; private String name; private String extendz; + private String namespace; public Map getEdmAssociationSetMap() { return edmAssociationSetMap; @@ -73,6 +74,10 @@ public class EdmEntityContainerImpl implements EdmEntityContainer, EdmAnnotatabl this.edm = edm; } + public void setNamespace(String namespace) throws EdmException { +this.namespace = namespace; + } + public ClientEdm getEdm() { return edm; } @@ -218,4 +223,9 @@ public class EdmEntityContainerImpl implements EdmEntityContainer, EdmAnnotatabl public String toString() { return String.format(name); } + + @Override + public String getNamespace() throws EdmException { +return namespace; + } } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/9aa18ee4/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java index f2d85b2..956fa83 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java @@ -503,6 +503,7 @@ public class XmlMetadataDeserializer { if (edmAssociationSets != null && !edmAssociationSets.isEmpty()) { setConatinerInAssociationSet(edmAssociationSets, container); } +
olingo-odata2 git commit: [Olingo-1259]Function Import enhancements
Repository: olingo-odata2 Updated Branches: refs/heads/master 53b631bff -> 8d1b23f90 [Olingo-1259]Function Import enhancements Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/8d1b23f9 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/8d1b23f9 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/8d1b23f9 Branch: refs/heads/master Commit: 8d1b23f902bf3771a2c23ee0c31cd6bdf0b0a203 Parents: 53b631b Author: Archana Rai Authored: Mon Jun 4 18:04:13 2018 +0530 Committer: Archana Rai Committed: Mon Jun 4 18:04:13 2018 +0530 -- .../core/edm/Impl/EdmEntityContainerImpl.java | 3 +- .../core/edm/Impl/EdmFunctionImportImpl.java| 4 ++ .../deserializer/XmlMetadataDeserializer.java | 37 ...LMetadataFunctionImportDeserializerTest.java | 57 ++- .../core/ep/consumer/XmlMetadataConsumer.java | 35 .../ep/consumer/XmlMetadataConsumerTest.java| 59 6 files changed, 167 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8d1b23f9/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java index 2a95ef9..1511a21 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java @@ -32,7 +32,6 @@ import org.apache.olingo.odata2.api.edm.EdmEntitySet; import org.apache.olingo.odata2.api.edm.EdmException; import org.apache.olingo.odata2.api.edm.EdmFunctionImport; import org.apache.olingo.odata2.api.edm.EdmNavigationProperty; -import org.apache.olingo.odata2.api.exception.ODataException; import org.apache.olingo.odata2.client.api.edm.ClientEdm; import org.apache.olingo.odata2.client.api.edm.EdmDocumentation; @@ -131,7 +130,7 @@ public class EdmEntityContainerImpl implements EdmEntityContainer, EdmAnnotatabl for(EdmEntitySet entity:edmEntitySets){ if(entity.getName().equals(name)){ edmEntitySet = entity; - + break; } } return edmEntitySet; http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8d1b23f9/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java index 99f2f15..ff6cbca 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java @@ -99,6 +99,10 @@ public class EdmFunctionImportImpl extends EdmNamedImpl implements EdmFunctionIm this.edmEntityContainer = edmEntityContainer; } + public String getEntitySetName() { +return entitySet; + } + public Map getEdmParameters() { return edmParameters; } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8d1b23f9/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java index 3b470a6..f2d85b2 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/ep/deserializer/XmlMetadataDeserializer.java @@ -60,6 +60,7 @@ import org.apache.olingo.odata2.api.edm.EdmReferentialConstraintRole; import org.apache.olingo.odata2.api.edm.EdmSimpleType; import org.apache.olingo.odata2.api.edm.EdmSimpleTypeKind; import org.apache.olingo.odata2.api.edm.EdmTypeKind; +import org.apache.olingo.odata2.api.edm.EdmTyped; import
olingo-odata2 git commit: [Olingo-1259]Function Import enhancements
Repository: olingo-odata2 Updated Branches: refs/heads/master 48b8d3ee3 -> 2e18476aa [Olingo-1259]Function Import enhancements Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/2e18476a Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/2e18476a Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/2e18476a Branch: refs/heads/master Commit: 2e18476aa6d5f0c57ab50631b0389aa56426722f Parents: 48b8d3e Author: Archana RaiAuthored: Mon Apr 23 11:58:34 2018 +0530 Committer: Archana Rai Committed: Mon Apr 23 11:58:34 2018 +0530 -- .../odata2/api/ep/EntityProviderException.java | 6 +- .../core/edm/Impl/EdmEntityContainerImpl.java | 2 +- .../core/edm/Impl/EdmFunctionImportImpl.java| 6 +- .../deserializer/XmlMetadataDeserializer.java | 19 +- ...LMetadataFunctionImportDeserializerTest.java | 260 .../core/ep/consumer/XmlMetadataConsumer.java | 17 +- .../olingo/odata2/core/uri/UriParserImpl.java | 73 +++-- .../src/main/resources/i18n.properties | 1 + .../ep/consumer/XmlMetadataConsumerTest.java| 312 +++ .../olingo/odata2/core/uri/UriParserTest.java | 4 + .../olingo/odata2/testutil/mock/EdmMock.java| 4 + 11 files changed, 660 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2e18476a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderException.java -- diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderException.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderException.java index cc65e67..ed97771 100644 --- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderException.java +++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderException.java @@ -113,7 +113,11 @@ public class EntityProviderException extends ODataMessageException { public static final MessageReference INVALID_DELETED_ENTRY_METADATA = createMessageReference( EntityProviderException.class, "INVALID_DELETED_ENTRY_METADATA"); - + + /** INVALID_ATTRIBUTE found ('invalid attribute name') */ + public static final MessageReference INVALID_ATTRIBUTE = createMessageReference(EntityProviderException.class, + "INVALID_ATTRIBUTE"); + public EntityProviderException(final MessageReference messageReference) { super(messageReference); } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2e18476a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java index bed4d44..2a95ef9 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmEntityContainerImpl.java @@ -129,7 +129,7 @@ public class EdmEntityContainerImpl implements EdmEntityContainer, EdmAnnotatabl public EdmEntitySet getEntitySet(final String name) throws EdmException { EdmEntitySet edmEntitySet = null; for(EdmEntitySet entity:edmEntitySets){ -if(name.equals(entity.getName())){ +if(entity.getName().equals(name)){ edmEntitySet = entity; } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2e18476a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java -- diff --git a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java index 8521ad7..99f2f15 100644 --- a/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java +++ b/odata2-lib/odata-client-core/src/main/java/org/apache/olingo/odata2/client/core/edm/Impl/EdmFunctionImportImpl.java @@ -144,7 +144,11 @@ public class EdmFunctionImportImpl extends EdmNamedImpl implements EdmFunctionIm @Override public EdmEntitySet getEntitySet() throws EdmException { -return