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);
}