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