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:52 UTC

[4/4] git commit: ISIS-220: Updated comments

Updated Branches:
  refs/heads/master 4c6530c6b -> ba5b3d4e4


ISIS-220: Updated comments


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

Branch: refs/heads/master
Commit: ba5b3d4e428af2f02177d60aeb808596d58f8c59
Parents: c064a0e
Author: Kevin Meyer <ke...@apache.org>
Authored: Fri Feb 8 18:54:00 2013 +0100
Committer: Kevin Meyer <ke...@apache.org>
Committed: Fri Feb 8 18:54:00 2013 +0100

----------------------------------------------------------------------
 .../sql/common/SqlIntegrationTestData.java         |   11 ++++-
 .../apache/isis/applib/DomainObjectContainer.java  |   30 ++++++++++----
 .../java/org/apache/isis/applib/query/Query.java   |    6 ++-
 .../tck/dom/sqlos/SqlDomainObjectRepository.java   |    5 +--
 4 files changed, 35 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ba5b3d4e/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java b/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
index 768b307..0b19c9e 100644
--- a/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
+++ b/component/objectstore/sql/sql-tests-common/src/main/java/org/apache/isis/objectstore/sql/common/SqlIntegrationTestData.java
@@ -204,6 +204,9 @@ public abstract class SqlIntegrationTestData extends SqlIntegrationTestCommonBas
         testColor();
         testPassword();
         testPercentage();
+        
+        testImage();
+        
         testStandardValueTypesMaxima();
         testStandardValueTypesMinima();
 
@@ -394,11 +397,13 @@ public abstract class SqlIntegrationTestData extends SqlIntegrationTestCommonBas
     /**
      * Test {@link Image} type.
      */
-    // TODO: Images are not equal...
     private void testImage() {
         Image image1 = new Image(new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } });
         Image image2 = sqlDataClass.getImage();
-        assertImagesEqual(image1, image2);
+        // REVIEW: Only XML persistor fails here...
+        if (!persistenceMechanismIs("xml")) {
+            assertImagesEqual(image1, image2);
+        }
     }
 
     private void assertImagesEqual(Image image2, Image image3) {
@@ -590,9 +595,9 @@ public abstract class SqlIntegrationTestData extends SqlIntegrationTestCommonBas
     }
     
     private void testLimitCount() {
-        //
         final List<SimpleClass> subset = factory.someSimpleClasses(0, 2);
         assertEquals(2, subset.size());
+        // TODO: This test does not confirm that the *right* 2 were returned. 
     }
 
     private void testFindByMatchString() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ba5b3d4e/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
index 8d90121..dd86fe3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
@@ -266,7 +266,8 @@ public interface DomainObjectContainer {
 
     /**
      * Returns all the instances of the specified type (including subtypes).
-     * 
+     * If the optional range parameters are used, the dataset returned starts 
+     * from (0 based) index, and consists of only up to count items.  
      * <p>
      * If there are no instances the list will be empty. This method creates a
      * new {@link List} object each time it is called so the caller is free to
@@ -275,14 +276,18 @@ public interface DomainObjectContainer {
      * 
      * <p>
      * This method should only be called where the number of instances is known
-     * to be relatively low.
-     * @param range TODO
+     * to be relatively low, unless the optional range parameters (2 longs) are
+     * specified. The range parameters are "start" and "count".
+     * 
+     * @param range 2 longs, specifying 0-based start and count.
      */
     public <T> List<T> allInstances(Class<T> ofType, long... range);
 
     /**
      * Returns all the instances of the specified type (including subtypes) that
-     * the filter object accepts.
+     * the filter object accepts. If the optional range parameters are used, the 
+     * dataset returned starts from (0 based) index, and consists of only up to 
+     * count items. 
      * 
      * <p>
      * If there are no instances the list will be empty. This method creates a
@@ -292,14 +297,17 @@ public interface DomainObjectContainer {
      * 
      * <p>
      * This method is useful during exploration/prototyping, but you may want to
-     * use {@link #allMatches(Query, long...)} for production code.
-     * @param range TODO
+     * use {@link #allMatches(Query)} for production code.
+     * 
+     * @param range 2 longs, specifying 0-based start and count.
      */
     public <T> List<T> allMatches(final Class<T> ofType, final Filter<? super T> filter, long... range);
 
     /**
      * Returns all the instances of the specified type (including subtypes) that
      * have the given title.
+     * If the optional range parameters are used, the dataset returned starts 
+     * from (0 based) index, and consists of only up to count items.  
      * 
      * <p>
      * If there are no instances the list will be empty. This method creates a
@@ -309,8 +317,9 @@ public interface DomainObjectContainer {
      * 
      * <p>
      * This method is useful during exploration/prototyping, but you may want to
-     * use {@link #allMatches(Query, long...)} for production code.
-     * @param range TODO
+     * use {@link #allMatches(Query)} for production code.
+     * 
+     * @param range 2 longs, specifying 0-based start and count.
      */
     public <T> List<T> allMatches(Class<T> ofType, String title, long... range);
 
@@ -318,6 +327,8 @@ public interface DomainObjectContainer {
      * Returns all the instances of the specified type (including subtypes) that
      * match the given object: where any property that is set will be tested and
      * properties that are not set will be ignored.
+     * If the optional range parameters are used, the dataset returned starts 
+     * from (0 based) index, and consists of only up to count items.  
      * 
      * <p>
      * If there are no instances the list will be empty. This method creates a
@@ -328,7 +339,8 @@ public interface DomainObjectContainer {
      * <p>
      * This method is useful during exploration/prototyping, but you may want to
      * use {@link #allMatches(Query, long...)} for production code.
-     * @param range TODO
+     * 
+     * @param range 2 longs, specifying 0-based start and count.
      */
     <T> List<T> allMatches(Class<T> ofType, T pattern, long... range);
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ba5b3d4e/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 8dbafdb..37f8f68 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
@@ -30,7 +30,11 @@ import org.apache.isis.applib.filter.Filter;
  * <p>
  * The implementations of these objects are be provided by the underlying
  * persistor/object store; consult its documentation.
- * 
+ * <p>
+ * Implementations are expected to implement the {@link #getStart()} and 
+ * {@link #getCount()} methods, which are used to support range / paging
+ * the data. Retutned result sets are expected to start from index "start",
+ * and no more than "count" items are expected. 
  * <p>
  * <b>Note:</b> that not every object store will necessarily support this
  * interface. In particular, the in-memory object store does not. For this, you

http://git-wip-us.apache.org/repos/asf/isis/blob/ba5b3d4e/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
----------------------------------------------------------------------
diff --git a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
index 2658fa7..07a648d 100644
--- a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
+++ b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/sqlos/SqlDomainObjectRepository.java
@@ -25,8 +25,6 @@ package org.apache.isis.core.tck.dom.sqlos;
 import java.util.List;
 
 import org.apache.isis.applib.AbstractFactoryAndRepository;
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.applib.query.QueryFindAllInstances;
 import org.apache.isis.core.tck.dom.poly.Empty;
 import org.apache.isis.core.tck.dom.poly.ReferencingPolyTypesEntity;
 import org.apache.isis.core.tck.dom.poly.SelfReferencingEntity;
@@ -169,8 +167,7 @@ public class SqlDomainObjectRepository extends AbstractFactoryAndRepository {
     }
 
     public List<SimpleClass> someSimpleClasses(final long startIndex, final long rowCount) {
-        Query<SimpleClass> query = new QueryFindAllInstances<SimpleClass>(SimpleClass.class, startIndex, rowCount);
-        return allMatches(query);
+        return allInstances(SimpleClass.class, startIndex, rowCount);
     }
 
     // }}