You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ke...@apache.org on 2013/02/08 19:46:03 UTC
git commit: ISIS-220: Updated PersistenceQueryBuiltInAbstract to
support range filtering for matches. Used by PersistenceQueryFindAllInstances,
PersistenceQueryFindByPattern and PersistenceQueryFindByTitle
Updated Branches:
refs/heads/master b3d07ecd8 -> 92a662421
ISIS-220: Updated PersistenceQueryBuiltInAbstract to support range filtering for matches.
Used by PersistenceQueryFindAllInstances, PersistenceQueryFindByPattern and PersistenceQueryFindByTitle
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/92a66242
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/92a66242
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/92a66242
Branch: refs/heads/master
Commit: 92a662421407ba938ac3d4cd126e74031c92518d
Parents: b3d07ec
Author: Kevin Meyer <ke...@apache.org>
Authored: Fri Feb 8 19:44:52 2013 +0100
Committer: Kevin Meyer <ke...@apache.org>
Committed: Fri Feb 8 19:45:20 2013 +0100
----------------------------------------------------------------------
.../query/PersistenceQueryBuiltInAbstract.java | 20 +++++++++++++++
.../query/PersistenceQueryFindAllInstances.java | 16 +----------
.../query/PersistenceQueryFindByPattern.java | 2 +-
.../query/PersistenceQueryFindByTitle.java | 2 +-
4 files changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/92a66242/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryBuiltInAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryBuiltInAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryBuiltInAbstract.java
index 55b68f5..40dc386 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryBuiltInAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryBuiltInAbstract.java
@@ -37,6 +37,9 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
public abstract class PersistenceQueryBuiltInAbstract extends PersistenceQueryAbstract implements PersistenceQueryBuiltIn {
+ protected long index;
+ protected long countedSoFar;
+
public PersistenceQueryBuiltInAbstract(final ObjectSpecification specification, final long ... range) {
super(specification, range);
}
@@ -44,5 +47,22 @@ public abstract class PersistenceQueryBuiltInAbstract extends PersistenceQueryAb
public PersistenceQueryBuiltInAbstract(final DataInputExtended input, final long ... range) throws IOException {
super(input, range);
}
+
+ protected boolean matchesRange(final boolean ifMatches) {
+ if (ifMatches == false){
+ return false;
+ }
+
+ if (getCount() == 0 && getStart() == 0){
+ return true;
+ }
+ if (index++ < start){
+ return false;
+ }
+ if (countedSoFar++ < count){
+ return true;
+ }
+ return false;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/92a66242/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindAllInstances.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindAllInstances.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindAllInstances.java
index 6f7c7c8..2cbc40b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindAllInstances.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindAllInstances.java
@@ -28,9 +28,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
* Corresponds to {@link QueryFindAllInstances}
*/
public class PersistenceQueryFindAllInstances extends PersistenceQueryBuiltInAbstract {
- private long index;
- private long countedSoFar;
-
public PersistenceQueryFindAllInstances(final ObjectSpecification specification, final long ... range) {
super(specification, range);
index=0;
@@ -43,18 +40,9 @@ public class PersistenceQueryFindAllInstances extends PersistenceQueryBuiltInAbs
*/
@Override
public boolean matches(final ObjectAdapter object) {
- if (getCount() == 0 && getStart() == 0){
- return true;
- }
- if (index++ < start){
- return false;
- }
- if (countedSoFar++ < count){
- return true;
- }
- return false;
+ return matchesRange(true);
}
-
+
@Override
public String toString() {
final ToString str = ToString.createAnonymous(this);
http://git-wip-us.apache.org/repos/asf/isis/blob/92a66242/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByPattern.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByPattern.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByPattern.java
index a79e838..a54a6c7 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByPattern.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByPattern.java
@@ -104,7 +104,7 @@ public class PersistenceQueryFindByPattern extends PersistenceQueryBuiltInAbstra
}
}
- return true;
+ return matchesRange(true);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/92a66242/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByTitle.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByTitle.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByTitle.java
index 175a071..73fae95 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByTitle.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindByTitle.java
@@ -42,7 +42,7 @@ public class PersistenceQueryFindByTitle extends PersistenceQueryBuiltInAbstract
@Override
public boolean matches(final ObjectAdapter object) {
final String titleString = object.titleString().toLowerCase();
- return matches(titleString);
+ return matchesRange(matches(titleString));
}
public boolean matches(final String titleString) {