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 18:55:53 UTC
[2/4] git commit: ISIS-220: Implemented optional extra parameters
ISIS-220: Implemented optional extra parameters
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/7ac25a60
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/7ac25a60
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/7ac25a60
Branch: refs/heads/master
Commit: 7ac25a60e42f42180de7f17b57ca5eb0869aabc9
Parents: 693e878
Author: Kevin Meyer <ke...@apache.org>
Authored: Fri Feb 8 16:28:36 2013 +0100
Committer: Kevin Meyer <ke...@apache.org>
Committed: Fri Feb 8 16:28:36 2013 +0100
----------------------------------------------------------------------
.../isis/objectstore/sql/SqlObjectStore.java | 4 -
.../java/org/apache/isis/applib/query/Query.java | 13 +++
.../apache/isis/applib/query/QueryAbstract.java | 19 +++-
.../isis/applib/query/QueryBuiltInAbstract.java | 8 +-
.../isis/applib/query/QueryFindAllInstances.java | 16 +--
.../integtestsupport/IsisSystemWithFixtures.java | 12 +-
.../InMemoryObjectStoreTest_retrieve.java | 26 +++++
.../container/query/QueryFindByPattern.java | 9 +-
.../services/container/query/QueryFindByTitle.java | 8 +-
.../query/PersistenceQueryAbstract.java | 21 ++--
.../query/PersistenceQueryBuiltInAbstract.java | 8 +-
.../query/PersistenceQueryFindAllInstances.java | 13 +--
.../query/PersistenceQueryFindByPattern.java | 4 +-
.../query/PersistenceQueryFindByTitle.java | 8 +-
.../query/PersistenceQueryFindPaged.java | 83 ---------------
...ersistenceQueryFindUsingApplibQueryDefault.java | 8 +-
...tenceQueryFindUsingApplibQuerySerializable.java | 6 +-
17 files changed, 103 insertions(+), 163 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
index 403fb0f..b35c085 100644
--- a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
+++ b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/SqlObjectStore.java
@@ -51,7 +51,6 @@ import org.apache.isis.core.runtime.persistence.query.PersistenceQueryBuiltInAbs
import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindAllInstances;
import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByPattern;
import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindByTitle;
-import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindPaged;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
@@ -331,9 +330,6 @@ public final class SqlObjectStore implements ObjectStoreSpi {
return findByTitle((PersistenceQueryFindByTitle) query, query.getStart(), query.getCount());
} else if (query instanceof PersistenceQueryFindAllInstances) {
return getAllInstances((PersistenceQueryFindAllInstances) query, query.getStart(), query.getCount());
- } else if (query instanceof PersistenceQueryFindPaged) {
- PersistenceQueryFindPaged findQuery = (PersistenceQueryFindPaged) query;
- return getAllInstances((PersistenceQueryFindPaged) query, findQuery.getStart(), findQuery.getCount());
} else if (query instanceof PersistenceQueryFindByPattern) {
return findByPattern((PersistenceQueryFindByPattern) query, query.getStart(), query.getCount());
} else {
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/Query.java b/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
index d04895a..cc1819a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
@@ -50,4 +50,17 @@ public interface Query<T> extends Serializable {
* A human-readable representation of this query and its values.
*/
public String getDescription();
+
+ /**
+ * The start index into the set table
+ * @return
+ */
+ public long getStart();
+
+
+ /**
+ * The number of items to return, starting at {@link QueryFindAllPaged#getStart()}
+ * @return
+ */
+ public long getCount();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
index 41ceafc..093a7a5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
@@ -38,16 +38,23 @@ public abstract class QueryAbstract<T> implements Query<T> {
*/
private transient Class<T> resultType;
- public QueryAbstract(final Class<T> type, final long start, final long count) {
+
+ /**
+ * Base query based on Class type.
+ *
+ * @param type
+ * @param range optional start and count of the range of dataset. 0
+ */
+ public QueryAbstract(final Class<T> type, final long ... range) {
this.resultTypeName = type.getName();
- this.start = start;
- this.count = count;
+ this.start = range.length > 0 ? range[0]:0;
+ this.count = range.length > 1 ? range[1]:0;
}
- public QueryAbstract(final String typeName, final long start, final long count) {
+ public QueryAbstract(final String typeName, final long ... range) {
this.resultTypeName = typeName;
- this.start = start;
- this.count = count;
+ this.start = range.length > 0 ? range[0]:0;
+ this.count = range.length > 1 ? range[1]:0;
}
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java
index 8d3dbc5..5b3fd22 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java
@@ -47,12 +47,12 @@ public abstract class QueryBuiltInAbstract<T> extends QueryAbstract<T> {
private static final long serialVersionUID = 1L;
- public QueryBuiltInAbstract(final Class<T> type, final long start, final long count) {
- super(type, start, count);
+ public QueryBuiltInAbstract(final Class<T> type, final long ... range) {
+ super(type, range);
}
- public QueryBuiltInAbstract(final String typeName, final long start, final long count) {
- super(typeName, start, count);
+ public QueryBuiltInAbstract(final String typeName, final long ... range) {
+ super(typeName, range);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
index 517beb5..e530866 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
@@ -34,20 +34,12 @@ public class QueryFindAllInstances<T> extends QueryBuiltInAbstract<T> {
private static final long serialVersionUID = 1L;
- public QueryFindAllInstances(final Class<T> type) {
- this(type, 0, 0);
+ public QueryFindAllInstances(final Class<T> type, final long ... range) {
+ super(type, range);
}
- public QueryFindAllInstances(final String typeName) {
- this(typeName, 0, 0);
- }
-
- public QueryFindAllInstances(Class<T> type, final long startIndex, final long rowCount) {
- super(type, startIndex, rowCount);
- }
-
- public QueryFindAllInstances(String typeName, final long startIndex, final long rowCount) {
- super(typeName, startIndex, rowCount);
+ public QueryFindAllInstances(final String typeName, final long ... range) {
+ super(typeName, range);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java
index 535bedd..15701b8 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemWithFixtures.java
@@ -162,12 +162,12 @@ public class IsisSystemWithFixtures implements org.junit.rules.TestRule {
wve1 = container.newTransientInstance(WrapperValuedEntity.class);
wve2 = container.newTransientInstance(WrapperValuedEntity.class);
- smpl1 = container.newTransientInstance(SimpleEntity.class);
- smpl2 = container.newTransientInstance(SimpleEntity.class);
- smpl3 = container.newTransientInstance(SimpleEntity.class);
- smpl4 = container.newTransientInstance(SimpleEntity.class);
- smpl5 = container.newTransientInstance(SimpleEntity.class);
- smpl6 = container.newTransientInstance(SimpleEntity.class);
+ smpl1 = container.newTransientInstance(SimpleEntity.class);smpl1.setName("1");
+ smpl2 = container.newTransientInstance(SimpleEntity.class);smpl2.setName("2");
+ smpl3 = container.newTransientInstance(SimpleEntity.class);smpl3.setName("3");
+ smpl4 = container.newTransientInstance(SimpleEntity.class);smpl4.setName("4");
+ smpl5 = container.newTransientInstance(SimpleEntity.class);smpl5.setName("5");
+ smpl6 = container.newTransientInstance(SimpleEntity.class);smpl6.setName("6");
rfcg1 = container.newTransientInstance(ReferencingEntity.class);
rfcg2 = container.newTransientInstance(ReferencingEntity.class);
rfcg3 = container.newTransientInstance(ReferencingEntity.class);
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/integtestsupport/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_retrieve.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_retrieve.java b/core/integtestsupport/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_retrieve.java
index f9bcf51..8b56ab0 100644
--- a/core/integtestsupport/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_retrieve.java
+++ b/core/integtestsupport/src/test/java/org/apache/isis/core/objectstore/InMemoryObjectStoreTest_retrieve.java
@@ -48,6 +48,8 @@ public class InMemoryObjectStoreTest_retrieve {
public IsisSystemWithFixtures iswf = IsisSystemWithFixtures.builder().build();
protected ObjectAdapter epv2Adapter;
+ protected ObjectAdapter epv3Adapter;
+ protected ObjectAdapter epv4Adapter;
protected ObjectSpecification epvSpecification;
protected InMemoryObjectStore getStore() {
@@ -57,6 +59,8 @@ public class InMemoryObjectStoreTest_retrieve {
@Before
public void setUpFixtures() throws Exception {
epv2Adapter = iswf.adapterFor(iswf.fixtures.smpl2);
+ epv3Adapter = iswf.adapterFor(iswf.fixtures.smpl3);
+ epv4Adapter = iswf.adapterFor(iswf.fixtures.smpl4);
epvSpecification = iswf.loadSpecification(SimpleEntity.class);
}
@@ -127,6 +131,28 @@ public class InMemoryObjectStoreTest_retrieve {
}
@Test
+ public void getInstances_findRange() throws Exception {
+ // given
+ iswf.persist(iswf.fixtures.smpl1); // 0
+ iswf.persist(iswf.fixtures.smpl2); // 1
+ iswf.persist(iswf.fixtures.smpl3); // 2 <- this one
+ iswf.persist(iswf.fixtures.smpl4); // 3 <- this one
+ iswf.bounceSystem();
+
+ // when
+ final List<ObjectAdapter> retrievedAdapters = getStore().loadInstancesAndAdapt(new PersistenceQueryFindAllInstances(epvSpecification, 2, 2));
+
+ // then
+ assertEquals(2, retrievedAdapters.size());
+ final ObjectAdapter retrievedAdapter = retrievedAdapters.get(0);
+
+ assertNotSame(epv4Adapter, retrievedAdapter);
+ assertEquals(((SimpleEntity)epv4Adapter.getObject()).getName(), ((SimpleEntity)retrievedAdapter.getObject()).getName());
+ assertEquals(epv4Adapter.getOid(), retrievedAdapter.getOid());
+ }
+
+
+ @Test
public void hasInstances_whenEmpty() throws Exception {
assertEquals(false, getStore().hasInstances(epvSpecification));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByPattern.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByPattern.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByPattern.java
index b7b58b1..4c2dbae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByPattern.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByPattern.java
@@ -39,15 +39,12 @@ public class QueryFindByPattern<T> extends QueryBuiltInAbstract<T> {
private final T pattern;
- public QueryFindByPattern(final Class<T> type, final T pattern){
- this(type, pattern, 0, 0);
- }
-
- public QueryFindByPattern(final Class<T> type, final T pattern, final long start, final long count) {
- super(type, start, count);
+ public QueryFindByPattern(final Class<T> type, final T pattern, final long ... range){
+ super(type, range);
this.pattern = pattern;
}
+
public T getPattern() {
return pattern;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByTitle.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByTitle.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByTitle.java
index 7e4bb65..ba48776 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByTitle.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindByTitle.java
@@ -39,12 +39,8 @@ public class QueryFindByTitle<T> extends QueryBuiltInAbstract<T> {
private final String title;
- public QueryFindByTitle(final Class<T> type, final String title) {
- this(type, title, 0, 0);
- }
-
- public QueryFindByTitle(final Class<T> type, final String title, final long start, final long count) {
- super(type, start, count);
+ public QueryFindByTitle(final Class<T> type, final String title, final long ... range) {
+ super(type, range);
this.title = title;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
index f4620f7..662e9c3 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
@@ -31,21 +31,24 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
public abstract class PersistenceQueryAbstract implements PersistenceQuery, Encodable {
- private final long start;
- private final long count;
+ protected final long start;
+ protected final long count;
+
private final ObjectSpecification specification;
- public PersistenceQueryAbstract(final ObjectSpecification specification, final long start, final long count) {
- this.specification = specification;
- this.start = start;
- this.count = count;
+ public PersistenceQueryAbstract(final ObjectSpecification specification, final long ... range) {
+ this.start = range.length > 0 ? range[0]:0;
+ this.count = range.length > 1 ? range[1]:0;
+
+ this.specification = specification;
initialized();
}
- protected PersistenceQueryAbstract(final DataInputExtended input, final long start, final long count) throws IOException {
+ protected PersistenceQueryAbstract(final DataInputExtended input, final long ... range) throws IOException {
final String specName = input.readUTF();
- this.start = start;
- this.count = count;
+ this.start = range.length > 0 ? range[0]:0;
+ this.count = range.length > 1 ? range[1]:0;
+
specification = getSpecificationLoader().loadSpecification(specName);
initialized();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/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 f0f251f..55b68f5 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,12 +37,12 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
public abstract class PersistenceQueryBuiltInAbstract extends PersistenceQueryAbstract implements PersistenceQueryBuiltIn {
- public PersistenceQueryBuiltInAbstract(final ObjectSpecification specification, final long start, final long count) {
- super(specification, start, count);
+ public PersistenceQueryBuiltInAbstract(final ObjectSpecification specification, final long ... range) {
+ super(specification, range);
}
- public PersistenceQueryBuiltInAbstract(final DataInputExtended input, final long start, final long count) throws IOException {
- super(input, start, count);
+ public PersistenceQueryBuiltInAbstract(final DataInputExtended input, final long ... range) throws IOException {
+ super(input, range);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/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 db70783..6f7c7c8 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
@@ -31,15 +31,12 @@ public class PersistenceQueryFindAllInstances extends PersistenceQueryBuiltInAbs
private long index;
private long countedSoFar;
- public PersistenceQueryFindAllInstances(final ObjectSpecification specification) {
- this(specification, 0, 0);
- }
-
- public PersistenceQueryFindAllInstances(final ObjectSpecification specification, final long start, final long count) {
- super(specification, start, count);
+ public PersistenceQueryFindAllInstances(final ObjectSpecification specification, final long ... range) {
+ super(specification, range);
index=0;
countedSoFar=0;
}
+
/**
* Returns true so it matches all instances.
@@ -49,10 +46,10 @@ public class PersistenceQueryFindAllInstances extends PersistenceQueryBuiltInAbs
if (getCount() == 0 && getStart() == 0){
return true;
}
- if (index++ < getStart()){
+ if (index++ < start){
return false;
}
- if (countedSoFar++ <getCount()){
+ if (countedSoFar++ < count){
return true;
}
return false;
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/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 c961540..a79e838 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
@@ -36,8 +36,8 @@ public class PersistenceQueryFindByPattern extends PersistenceQueryBuiltInAbstra
return pattern;
}
- public PersistenceQueryFindByPattern(final ObjectSpecification specification, final ObjectAdapter pattern, final long start, final long count) {
- super(specification, start, count);
+ public PersistenceQueryFindByPattern(final ObjectSpecification specification, final ObjectAdapter pattern, final long ... range) {
+ super(specification, range);
this.pattern = pattern;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/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 121305b..175a071 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
@@ -30,12 +30,8 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
public class PersistenceQueryFindByTitle extends PersistenceQueryBuiltInAbstract {
private final String title;
- public PersistenceQueryFindByTitle(final ObjectSpecification specification, final String title) {
- this(specification, title, 0, 0);
- }
-
- public PersistenceQueryFindByTitle(final ObjectSpecification specification, final String title, final long start, final long count) {
- super(specification, start, count);
+ public PersistenceQueryFindByTitle(final ObjectSpecification specification, final String title, final long ... range) {
+ super(specification, range);
this.title = title == null ? "" : title.toLowerCase();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindPaged.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindPaged.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindPaged.java
deleted file mode 100644
index bc745c7..0000000
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindPaged.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.core.runtime.persistence.query;
-
-import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-/**
- * Support fetching partial datasets from the datastore.
- *
- * @version $Rev$ $Date$
- */
-public class PersistenceQueryFindPaged extends PersistenceQueryBuiltInAbstract {
- private final long start;
- private final long count;
-
- private long index;
- private long countedSoFar;
- public PersistenceQueryFindPaged(final ObjectSpecification specification, final long start, final long count) {
- super(specification, start, count);
- this.start = start;
- this.count = count;
- index=0;
- countedSoFar=0;
- }
-
-
- /**
- * Spoofing the limit function for datastores that don't support it directly.
- *
- * Returns true so it matches all instances.
- */
- @Override
- public boolean matches(ObjectAdapter object) {
- if (index++ < start){
- return false;
- }
- if (countedSoFar++ <count){
- return true;
- }
- return false;
- }
-
- @Override
- public String toString() {
- final ToString str = ToString.createAnonymous(this);
- str.append("spec", getSpecification().getShortIdentifier());
- return str.toString();
- }
-
-
- /**
- * The start index into the set table
- * @return
- */
- public long getStart() {
- return start;
- }
-
-
- /**
- * The number of items to return, starting at {@link PersistenceQueryFindPaged#getStart()}
- * @return
- */
- public long getCount() {
- return count;
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQueryDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQueryDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQueryDefault.java
index 03dbda1..34ba62c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQueryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQueryDefault.java
@@ -41,16 +41,16 @@ public class PersistenceQueryFindUsingApplibQueryDefault extends PersistenceQuer
private final QueryCardinality cardinality;
private final Map<String, ObjectAdapter> argumentsAdaptersByParameterName;
- public PersistenceQueryFindUsingApplibQueryDefault(final ObjectSpecification specification, final String queryName, final Map<String, ObjectAdapter> argumentsAdaptersByParameterName, final QueryCardinality cardinality, final long start, final long count) {
- super(specification, start, count);
+ public PersistenceQueryFindUsingApplibQueryDefault(final ObjectSpecification specification, final String queryName, final Map<String, ObjectAdapter> argumentsAdaptersByParameterName, final QueryCardinality cardinality, final long ... range) {
+ super(specification, range);
this.queryName = queryName;
this.cardinality = cardinality;
this.argumentsAdaptersByParameterName = argumentsAdaptersByParameterName;
initialized();
}
- public PersistenceQueryFindUsingApplibQueryDefault(final DataInputExtended input, final long start, final long count) throws IOException {
- super(input, start, count);
+ public PersistenceQueryFindUsingApplibQueryDefault(final DataInputExtended input, final long ... range) throws IOException {
+ super(input, range);
this.queryName = input.readUTF();
this.cardinality = QueryCardinality.valueOf(input.readUTF());
// TODO: need to read from input
http://git-wip-us.apache.org/repos/asf/isis/blob/7ac25a60/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQuerySerializable.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQuerySerializable.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQuerySerializable.java
index e4ab9d5..080564d 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQuerySerializable.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryFindUsingApplibQuerySerializable.java
@@ -37,14 +37,14 @@ public class PersistenceQueryFindUsingApplibQuerySerializable extends Persistenc
private final QueryCardinality cardinality;
public PersistenceQueryFindUsingApplibQuerySerializable(final ObjectSpecification specification, final Query<?> query, final QueryCardinality cardinality) {
- super(specification, 0, 0);
+ super(specification, query.getStart(), query.getCount());
this.query = query;
this.cardinality = cardinality;
initialized();
}
- public PersistenceQueryFindUsingApplibQuerySerializable(final DataInputExtended input) throws IOException {
- super(input, 0, 0);
+ public PersistenceQueryFindUsingApplibQuerySerializable(final DataInputExtended input, final long ... range) throws IOException {
+ super(input, range);
this.query = input.readSerializable(Query.class);
this.cardinality = QueryCardinality.valueOf(input.readUTF());
initialized();