Updated Branches:
  refs/heads/master ed4e82608 -> faf253cb4

ISIS-286: fix flush


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

Branch: refs/heads/master
Commit: faf253cb4051ee4128963b7770a77733e3f666b7
Parents: ed4e826
Author: Jeroen van der Wal <[email protected]>
Authored: Mon Dec 10 16:43:04 2012 +0100
Committer: Jeroen van der Wal <[email protected]>
Committed: Mon Dec 10 16:43:04 2012 +0100

----------------------------------------------------------------------
 .../container/DomainObjectContainerDefault.java    |    2 ++
 .../system/transaction/IsisTransaction.java        |    4 ++++
 2 files changed, 6 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/faf253cb/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
index 2854b9b..4d0c9e5 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
@@ -348,6 +348,7 @@ public class DomainObjectContainerDefault implements 
DomainObjectContainer, Quer
 
     @Override
     public <T> List<T> allMatches(final Query<T> query) {
+        flush(); // auto-flush any pending changes
         final List<ObjectAdapter> allMatching = 
getQuerySubmitter().allMatchingQuery(query);
         return AdapterUtils.unwrap(allMatching);
     }
@@ -382,6 +383,7 @@ public class DomainObjectContainerDefault implements 
DomainObjectContainer, Quer
     @Override
     @SuppressWarnings("unchecked")
     public <T> T firstMatch(final Query<T> query) {
+        flush(); // auto-flush any pending changes
         final ObjectAdapter firstMatching = 
getQuerySubmitter().firstMatchingQuery(query);
         return (T) AdapterUtils.unwrap(firstMatching);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/faf253cb/core/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/transaction/IsisTransaction.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/transaction/IsisTransaction.java
 
b/core/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/transaction/IsisTransaction.java
index 8a56cf9..bf24f28 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/transaction/IsisTransaction.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/transaction/IsisTransaction.java
@@ -301,6 +301,10 @@ public class IsisTransaction implements 
TransactionScopedComponent {
     // ////////////////////////////////////////////////////////////////
 
     public synchronized final void flush() {
+        if(commands.isEmpty()) {
+            // nothing to do
+            return;
+        }
         ensureThatState(getState().canFlush(), is(true), "state is: " + 
getState());
         if (LOG.isDebugEnabled()) {
             LOG.debug("flush transaction " + this);

Reply via email to