You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2009/07/29 14:46:16 UTC
svn commit: r798877 - in /incubator/chemistry/trunk/chemistry:
chemistry-api/src/main/java/org/apache/chemistry/
chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/
chemistry-atompub-server/src/main/java/org/apache/chemistry/ato...
Author: fguillaume
Date: Wed Jul 29 12:46:15 2009
New Revision: 798877
URL: http://svn.apache.org/viewvc?rev=798877&view=rev
Log:
CMIS-44: removed type argument of SPI#getChildren and SPI#getDescendants
Modified:
incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPConnection.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java
incubator/chemistry/trunk/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java
incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java
incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java
Modified: incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-api/src/main/java/org/apache/chemistry/SPI.java Wed Jul 29 12:46:15 2009
@@ -82,9 +82,6 @@
* the documents. Otherwise, the latest version of the documents will be
* returned.
* <p>
- * If type is {@code null}, then at each level folders should be returned
- * before other types of objects.
- * <p>
* As relationships are not fileable, type cannot be
* {@link BaseType#RELATIONSHIP}. However, if includeRelationships is set
* then relationships are also returned for each returned object, according
@@ -97,7 +94,6 @@
* When returning more than one level, the objects are nested.
*
* @param folder the folder
- * @param type the base type, or {@code null} for all types
* @param depth the depth, or {@code -1} for all levels
* @param filter the properties filter, or {@code null} for all properties
* @param includeAllowableActions {@code true} to include allowable actions
@@ -106,9 +102,9 @@
* @param orderBy an {@code ORDER BY} clause, or {@code null}
*/
// TODO return type for a tree
- List<ObjectEntry> getDescendants(ObjectId folder, BaseType type, int depth,
- String filter, boolean includeAllowableActions,
- boolean includeRelationships, String orderBy);
+ List<ObjectEntry> getDescendants(ObjectId folder, int depth, String filter,
+ boolean includeAllowableActions, boolean includeRelationships,
+ String orderBy);
/**
* Gets the direct children of a folder.
@@ -124,24 +120,16 @@
* Ordering is repository-specific, except that if the repository state has
* not changed then the ordering remains consistent across invocations.
* <p>
- * If type is {@code null}, then at each level folders should be returned
- * before other types of objects.
- * <p>
- * As relationships are not fileable, type cannot be
- * {@link BaseType#RELATIONSHIP}. However, if includeRelationships is set
- * then relationships are also returned for each returned object, according
- * to the value of the parameter.
+ * If includeRelationships is set, relationships are also returned for each
+ * returned object, according to the value of the parameter.
* <p>
* If includeAllowableActions is {@code true}, the repository will return
- * the allowable actions for the current user for each descendant object as
- * part of the results.
- * <p>
- * When returning more than one level, the objects are nested.
+ * the allowable actions for the current user for object as part of the
+ * results.
* <p>
* The return value hasMoreItems is filled if {@code maxItems > 0}.
*
* @param folder the folder
- * @param type the base type, or {@code null} for all types
* @param filter the properties filter, or {@code null} for all properties
* @param includeAllowableActions {@code true} to include allowable actions
* @param includeRelationships {@code true} if relationships should be
@@ -153,10 +141,9 @@
* @param hasMoreItems a 1-value boolean array to return a flag stating if
* there are more items
*/
- List<ObjectEntry> getChildren(ObjectId folder, BaseType type,
- String filter, boolean includeAllowableActions,
- boolean includeRelationships, int maxItems, int skipCount,
- String orderBy, boolean[] hasMoreItems);
+ List<ObjectEntry> getChildren(ObjectId folder, String filter,
+ boolean includeAllowableActions, boolean includeRelationships,
+ int maxItems, int skipCount, String orderBy, boolean[] hasMoreItems);
/**
* Gets the parent of a folder.
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPConnection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPConnection.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPConnection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPConnection.java Wed Jul 29 12:46:15 2009
@@ -170,40 +170,36 @@
/**
* Accumulates the descendants into a list recursively.
*/
- protected void accumulateDescendants(ObjectId folder, BaseType type,
- int depth, String filter, boolean includeAllowableActions,
+ protected void accumulateDescendants(ObjectId folder, int depth,
+ String filter, boolean includeAllowableActions,
boolean includeRelationships, String orderBy, List<ObjectEntry> list) {
// TODO deal with paging properly
- List<ObjectEntry> children = getChildren(folder, type, filter,
+ List<ObjectEntry> children = getChildren(folder, filter,
includeAllowableActions, includeRelationships,
Integer.MAX_VALUE, 0, orderBy, new boolean[1]);
for (ObjectEntry child : children) {
- BaseType childType = child.getBaseType();
- if (type == null || childType.equals(type)) {
- list.add(child);
- }
- if (depth > 1 && childType == BaseType.FOLDER) {
- accumulateDescendants(child, type, depth - 1, filter,
+ list.add(child);
+ if (depth > 1 && child.getBaseType() == BaseType.FOLDER) {
+ accumulateDescendants(child, depth - 1, filter,
includeAllowableActions, includeRelationships, orderBy,
list);
}
}
}
- public List<ObjectEntry> getDescendants(ObjectId folder, BaseType type,
- int depth, String filter, boolean includeAllowableActions,
+ public List<ObjectEntry> getDescendants(ObjectId folder, int depth,
+ String filter, boolean includeAllowableActions,
boolean includeRelationships, String orderBy) {
// TODO includeRelationship, includeAllowableActions, orderBy
List<ObjectEntry> list = new ArrayList<ObjectEntry>();
- accumulateDescendants(folder, type, depth, filter,
- includeAllowableActions, includeRelationships, orderBy, list);
+ accumulateDescendants(folder, depth, filter, includeAllowableActions,
+ includeRelationships, orderBy, list);
return list;
}
- public List<ObjectEntry> getChildren(ObjectId folder, BaseType type,
- String filter, boolean includeAllowableActions,
- boolean includeRelationships, int maxItems, int skipCount,
- String orderBy, boolean[] hasMoreItems) {
+ public List<ObjectEntry> getChildren(ObjectId folder, String filter,
+ boolean includeAllowableActions, boolean includeRelationships,
+ int maxItems, int skipCount, String orderBy, boolean[] hasMoreItems) {
// TODO filter, includeRelationship, includeAllowableActions, orderBy
if (maxItems <= 0) {
maxItems = DEFAULT_MAX_CHILDREN;
@@ -225,10 +221,6 @@
hasMoreItems[0] = false;
boolean done = false;
for (ObjectEntry entry : feed) {
- // type filtering
- if (type != null && !entry.getBaseType().equals(type)) {
- continue;
- }
// skip
if (skipCount > 0) {
skipCount--;
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java Wed Jul 29 12:46:15 2009
@@ -26,7 +26,7 @@
import org.apache.chemistry.SPI;
/**
-* CMIS Collection for the children of an object.
+ * CMIS Collection for the children of an object.
*/
public class CMISChildrenCollection extends CMISObjectsCollection {
@@ -40,8 +40,8 @@
SPI spi = repository.getSPI(); // TODO XXX connection leak
boolean[] hasMoreItems = new boolean[1];
ObjectId objectId = spi.newObjectId(id);
- List<ObjectEntry> children = spi.getChildren(objectId, null, null,
- false, false, 0, 0, null, hasMoreItems);
+ List<ObjectEntry> children = spi.getChildren(objectId, null, false,
+ false, 0, 0, null, hasMoreItems);
return children;
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-commons/src/main/java/org/apache/chemistry/impl/simple/SimpleConnection.java Wed Jul 29 12:46:15 2009
@@ -156,41 +156,37 @@
/**
* Accumulates the descendants into a list recursively.
*/
- protected void accumulateDescendants(ObjectId folder, BaseType type,
- int depth, String filter, boolean includeAllowableActions,
+ protected void accumulateDescendants(ObjectId folder, int depth,
+ String filter, boolean includeAllowableActions,
boolean includeRelationships, String orderBy, List<ObjectEntry> list) {
// TODO deal with paging properly
- List<ObjectEntry> children = getChildren(folder, type, filter,
+ List<ObjectEntry> children = getChildren(folder, filter,
includeAllowableActions, includeRelationships,
Integer.MAX_VALUE, 0, orderBy, new boolean[1]);
for (ObjectEntry child : children) {
- BaseType childType = repository.getType(child.getTypeId()).getBaseType();
- if (type == null || childType.equals(type)) {
- list.add(child);
- }
- if (depth > 1 && childType == BaseType.FOLDER) {
- accumulateDescendants(child, type, depth - 1, filter,
+ list.add(child);
+ if (depth > 1 && child.getBaseType() == BaseType.FOLDER) {
+ accumulateDescendants(child, depth - 1, filter,
includeAllowableActions, includeRelationships, orderBy,
list);
}
}
}
- public List<ObjectEntry> getDescendants(ObjectId folder, BaseType type,
- int depth, String filter, boolean includeAllowableActions,
+ public List<ObjectEntry> getDescendants(ObjectId folder, int depth,
+ String filter, boolean includeAllowableActions,
boolean includeRelationships, String orderBy) {
// TODO includeRelationship, includeAllowableActions, orderBy
List<ObjectEntry> list = new ArrayList<ObjectEntry>();
- accumulateDescendants(folder, type, depth, filter,
- includeAllowableActions, includeRelationships, orderBy, list);
+ accumulateDescendants(folder, depth, filter, includeAllowableActions,
+ includeRelationships, orderBy, list);
return list;
}
- public List<ObjectEntry> getChildren(ObjectId folder, BaseType type,
- String filter, boolean includeAllowableActions,
- boolean includeRelationships, int maxItems, int skipCount,
- String orderBy, boolean[] hasMoreItems) {
- // TODO type and orderBy
+ public List<ObjectEntry> getChildren(ObjectId folder, String filter,
+ boolean includeAllowableActions, boolean includeRelationships,
+ int maxItems, int skipCount, String orderBy, boolean[] hasMoreItems) {
+ // TODO orderBy
Set<String> ids = repository.children.get(folder.getId());
List<ObjectEntry> all = new ArrayList<ObjectEntry>(ids.size());
for (String id : ids) {
Modified: incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-jcr/src/main/java/org/apache/chemistry/jcr/JcrConnection.java Wed Jul 29 12:46:15 2009
@@ -33,7 +33,6 @@
import javax.jcr.query.QueryManager;
import javax.jcr.query.QueryResult;
-import org.apache.chemistry.BaseType;
import org.apache.chemistry.CMISObject;
import org.apache.chemistry.Connection;
import org.apache.chemistry.ContentStream;
@@ -253,7 +252,7 @@
throw new UnsupportedOperationException();
}
- public List<ObjectEntry> getChildren(ObjectId folderId, BaseType type,
+ public List<ObjectEntry> getChildren(ObjectId folderId,
String filter,
boolean includeAllowableActions,
boolean includeRelationships,
@@ -319,7 +318,7 @@
return null;
}
- public List<ObjectEntry> getDescendants(ObjectId folderId, BaseType type,
+ public List<ObjectEntry> getDescendants(ObjectId folderId,
int depth, String filter,
boolean includeAllowableActions,
boolean includeRelationships,
Modified: incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java?rev=798877&r1=798876&r2=798877&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java Wed Jul 29 12:46:15 2009
@@ -48,7 +48,7 @@
*/
public abstract class BasicTestCase extends TestCase {
- public static final String ROOT_TYPE_ID = "chemistry:root"; // not in the spec
+ public static final String ROOT_TYPE_ID = "chemistry:root"; // not in spec
public Repository repository;
@@ -135,38 +135,36 @@
public void testGetChildren() {
boolean[] hasMoreItems = new boolean[1];
Folder root = conn.getRootFolder();
- assertEquals(1, spi.getChildren(root, BaseType.FOLDER, null, true,
- false, 20, 0, null, hasMoreItems).size());
+ assertEquals(1, spi.getChildren(root, null, true, false, 20, 0, null,
+ hasMoreItems).size());
assertFalse(hasMoreItems[0]);
ObjectId folder1 = root.getChildren(null).get(0);
- assertEquals(2, spi.getChildren(folder1, null, null, false, false, 20,
- 0, null, hasMoreItems).size());
+ assertEquals(2, spi.getChildren(folder1, null, false, false, 20, 0,
+ null, hasMoreItems).size());
assertFalse(hasMoreItems[0]);
- assertEquals(1, spi.getChildren(folder1, null, null, false, false, 1,
- 0, null, hasMoreItems).size());
+ assertEquals(1, spi.getChildren(folder1, null, false, false, 1, 0,
+ null, hasMoreItems).size());
assertTrue(hasMoreItems[0]);
- assertEquals(1, spi.getChildren(folder1, null, null, false, false, 1,
- 1, null, hasMoreItems).size());
+ assertEquals(1, spi.getChildren(folder1, null, false, false, 1, 1,
+ null, hasMoreItems).size());
assertFalse(hasMoreItems[0]);
- List<ObjectEntry> temp = spi.getChildren(folder1, null, null, false,
- false, 2, 0, null, hasMoreItems);
+ List<ObjectEntry> temp = spi.getChildren(folder1, null, false, false,
+ 2, 0, null, hasMoreItems);
ObjectId folder2 = temp.get(0).getTypeId().equals("fold") ? temp.get(0)
: temp.get(1);
- assertEquals(1, spi.getChildren(folder2, null, null, false, false, 1,
- 1, null, hasMoreItems).size());
+ assertEquals(1, spi.getChildren(folder2, null, false, false, 1, 1,
+ null, hasMoreItems).size());
assertTrue(hasMoreItems[0]);
- assertEquals(2, spi.getChildren(folder2, null, null, false, false, 2,
- 0, null, hasMoreItems).size());
+ assertEquals(2, spi.getChildren(folder2, null, false, false, 2, 0,
+ null, hasMoreItems).size());
assertTrue(hasMoreItems[0]);
}
public void testGetDescendants() {
Folder root = conn.getRootFolder();
- assertEquals(6, spi.getDescendants(root, null, 4, null, false, false,
- null).size());
- List<ObjectEntry> desc = spi.getDescendants(root, BaseType.FOLDER, 4,
- null, false, false, null);
- assertEquals(2, desc.size());
+ List<ObjectEntry> desc = spi.getDescendants(root, 4, null, false,
+ false, null);
+ assertEquals(6, desc.size());
}
public void testGetFolderParent() {