Client proxy enhancement: non-static persistence context
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/38214db4 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/38214db4 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/38214db4 Branch: refs/heads/master Commit: 38214db490a90bbaa32aec3b0db035fc44b92ac2 Parents: 3c0b8ad 7a09dd2 Author: Francesco Chicchiriccò <--global> Authored: Thu May 22 13:22:14 2014 +0200 Committer: Francesco Chicchiriccò <--global> Committed: Thu May 22 13:22:14 2014 +0200 ---------------------------------------------------------------------- .../ext/proxy/EntityContainerFactory.java | 28 +- .../apache/olingo/ext/proxy/api/Container.java | 32 -- .../ext/proxy/api/PersistenceManager.java | 32 ++ .../commons/AbstractInvocationHandler.java | 50 +- .../AbstractStructuredInvocationHandler.java | 49 +- .../commons/AnnotatableInvocationHandler.java | 6 +- .../commons/AnnotatationsInvocationHandler.java | 8 +- .../ComplexFactoryInvocationHandler.java | 21 +- .../proxy/commons/ComplexInvocationHandler.java | 59 +- .../olingo/ext/proxy/commons/ContainerImpl.java | 569 ------------------- .../EntityCollectionInvocationHandler.java | 4 +- .../EntityContainerInvocationHandler.java | 19 +- .../proxy/commons/EntityInvocationHandler.java | 20 +- .../commons/EntitySetInvocationHandler.java | 62 +- .../commons/OperationInvocationHandler.java | 22 +- .../proxy/commons/PersistenceManagerImpl.java | 568 ++++++++++++++++++ .../commons/SingletonInvocationHandler.java | 2 +- .../olingo/ext/proxy/context/EntityContext.java | 4 +- .../olingo/ext/proxy/context/EntityUUID.java | 4 +- .../olingo/ext/proxy/utils/CoreUtils.java | 41 +- .../src/main/resources/container.vm | 4 +- fit/pom.xml | 1 + .../java/org/apache/olingo/fit/V3Services.java | 16 +- .../org/apache/olingo/fit/utils/FSManager.java | 6 +- .../olingo/fit/proxy/v3/AbstractTestITCase.java | 5 +- .../proxy/v3/ActionOverloadingTestITCase.java | 8 +- .../olingo/fit/proxy/v3/ContextTestITCase.java | 165 +++--- .../fit/proxy/v3/EntityCreateTestITCase.java | 10 +- .../fit/proxy/v3/MediaEntityTestITCase.java | 3 +- .../olingo/fit/proxy/v3/OpenTypeTestITCase.java | 9 +- .../olingo/fit/proxy/v3/PropertyTestITCase.java | 7 +- .../astoriadefaultservice/DefaultContainer.java | 4 +- .../opentypesservicev3/DefaultContainer.java | 4 +- .../primitivekeysservice/TestContext.java | 4 +- .../astoriadefaultservice/DefaultContainer.java | 4 +- .../olingo/fit/proxy/v4/AbstractTestITCase.java | 11 +- .../proxy/v4/AuthEntityCreateTestITCase.java | 40 +- .../fit/proxy/v4/EntityCreateTestITCase.java | 109 ++-- .../fit/proxy/v4/MediaEntityTestITCase.java | 4 +- .../olingo/fit/proxy/v4/OpenTypeTestITCase.java | 9 +- .../olingo/fit/proxy/v4/PropertyTestITCase.java | 3 +- .../proxy/v4/demo/odatademo/DemoService.java | 4 +- .../opentypesservicev4/DefaultContainer.java | 4 +- .../odatawcfservice/InMemoryEntities.java | 4 +- 44 files changed, 1033 insertions(+), 1005 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/38214db4/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/38214db4/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java ---------------------------------------------------------------------- diff --cc ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java index f208e83,9438d63..9b54380 --- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java +++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java @@@ -276,7 -273,7 +271,7 @@@ public abstract class AbstractStructure uri, res.getBody(), property.targetContainer(), - client.newURIBuilder().appendEntitySetSegment(property.targetEntitySet()).build(), - getClient().newURIBuilder(serviceRoot).appendEntitySetSegment(property.targetEntitySet()).build(), ++ getClient().newURIBuilder().appendEntitySetSegment(property.targetEntitySet()).build(), type, res.getETag(), true); http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/38214db4/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexInvocationHandler.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/38214db4/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/38214db4/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/OperationInvocationHandler.java ---------------------------------------------------------------------- diff --cc ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/OperationInvocationHandler.java index 1a3e1be,d7c46f6..f446a96 --- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/OperationInvocationHandler.java +++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/OperationInvocationHandler.java @@@ -138,8 -136,7 +136,8 @@@ final class OperationInvocationHandler private Map.Entry<URI, EdmOperation> getUnboundOperation( final Operation operation, final List<String> parameterNames) { + - final EdmEntityContainer container = client.getCachedEdm().getEntityContainer(targetFQN); + final EdmEntityContainer container = getClient().getCachedEdm().getEntityContainer(targetFQN); final EdmOperation edmOperation; if (operation.type() == OperationType.FUNCTION) {
