You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/03/25 07:59:55 UTC

[08/15] isis git commit: ISIS-1341: flush transaction prior to delegating off to the RepresentationService to generate the repr.

ISIS-1341: flush transaction prior to delegating off to the RepresentationService to generate the repr.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/7f068eff
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/7f068eff
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/7f068eff

Branch: refs/heads/master
Commit: 7f068eff9e3c79b854fb1491af1ed334d8a9d634
Parents: 2257d02
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Mar 23 05:33:27 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Mar 25 06:35:58 2016 +0000

----------------------------------------------------------------------
 .../server/resources/DomainResourceHelper.java              | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/7f068eff/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
index 9e72771..69ee367 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainResourceHelper.java
@@ -24,6 +24,7 @@ import javax.ws.rs.core.Response;
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.profiles.Localization;
+import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -190,6 +191,7 @@ public class DomainResourceHelper {
 
     private final RepresentationServiceContextAdapter representationServiceContext;
     private final RepresentationService representationService;
+    private final TransactionService transactionService;
 
     public DomainResourceHelper(final ResourceContext resourceContext, final ObjectAdapter objectAdapter) {
         this(resourceContext, objectAdapter, new DomainObjectLinkTo());
@@ -209,6 +211,7 @@ public class DomainResourceHelper {
                      .with(this.objectAdapter);
 
         representationService = lookupService(RepresentationService.class);
+        transactionService = lookupService(TransactionService.class);
     }
 
     private final ResourceContext resourceContext;
@@ -224,6 +227,7 @@ public class DomainResourceHelper {
      * render a representation of the object.
      */
     public Response objectRepresentation() {
+        transactionService.flushTransaction();
         return representationService
                 .objectRepresentation(representationServiceContext, objectAdapter);
     }
@@ -236,6 +240,7 @@ public class DomainResourceHelper {
      */
     @Deprecated
     public Response objectRepresentation(final RepresentationService.Intent intent) {
+        transactionService.flushTransaction();
         return representationService
                 .objectRepresentation(representationServiceContext, objectAdapter, intent);
     }
@@ -253,6 +258,7 @@ public class DomainResourceHelper {
 
         final OneToOneAssociation property = accessHelper.getPropertyThatIsVisibleForIntent(propertyId, ObjectAdapterAccessHelper.Intent.ACCESS);
 
+        transactionService.flushTransaction();
         return representationService.propertyDetails(representationServiceContext, new ObjectAndProperty2(objectAdapter, property, memberMode), memberMode);
     }
 
@@ -270,6 +276,7 @@ public class DomainResourceHelper {
 
         final OneToManyAssociation collection = accessHelper.getCollectionThatIsVisibleForIntent(collectionId, ObjectAdapterAccessHelper.Intent.ACCESS);
 
+        transactionService.flushTransaction();
         return representationService.collectionDetails(representationServiceContext, new ObjectAndCollection2(objectAdapter, collection, memberMode), memberMode);
     }
 
@@ -285,6 +292,7 @@ public class DomainResourceHelper {
 
         final ObjectAction action = accessHelper.getObjectActionThatIsVisibleForIntent(actionId, ObjectAdapterAccessHelper.Intent.ACCESS);
 
+        transactionService.flushTransaction();
         return representationService.actionPrompt(representationServiceContext, new ObjectAndAction(objectAdapter, action));
     }
 
@@ -370,6 +378,7 @@ public class DomainResourceHelper {
                 new ObjectAndActionInvocation(objectAdapter, action, arguments, returnedAdapter, selfLink);
 
         // response
+        transactionService.flushTransaction();
         return representationService.actionResult(representationServiceContext, objectAndActionInvocation, selfLink);
     }