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