You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by np...@apache.org on 2017/08/29 14:02:30 UTC
svn commit: r1806595 - in /sling/trunk/testing/mocks/jcr-mock/src:
main/java/org/apache/sling/testing/mock/jcr/MockNode.java
test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
Author: npeltier
Date: Tue Aug 29 14:02:30 2017
New Revision: 1806595
URL: http://svn.apache.org/viewvc?rev=1806595&view=rev
Log:
SLING-7089 support for MockNode.get* with globs
Modified:
sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockNode.java
sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
Modified: sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockNode.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockNode.java?rev=1806595&r1=1806594&r2=1806595&view=diff
==============================================================================
--- sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockNode.java (original)
+++ sling/trunk/testing/mocks/jcr-mock/src/main/java/org/apache/sling/testing/mock/jcr/MockNode.java Tue Aug 29 14:02:30 2017
@@ -42,6 +42,7 @@ import javax.jcr.version.VersionHistory;
import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.JcrConstants;
+import org.apache.jackrabbit.commons.ItemNameMatcher;
import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter;
import org.apache.jackrabbit.commons.iterator.PropertyIteratorAdapter;
@@ -106,6 +107,18 @@ class MockNode extends AbstractItem impl
}
@Override
+ public NodeIterator getNodes(final String[] nameGlobs) throws RepositoryException {
+ RangeIterator items = getMockedSession().listChildren(getPath(), new ItemFilter() {
+ @Override
+ public boolean accept(final ItemData item) throws RepositoryException {
+ return item.isNode() && ItemNameMatcher.matches(item.getName(), nameGlobs);
+ }
+ });
+ return new NodeIteratorAdapter(items, items.getSize());
+ }
+
+
+ @Override
public PropertyIterator getProperties() throws RepositoryException {
RangeIterator items = getMockedSession().listChildren(getPath(), new ItemFilter() {
@Override
@@ -129,6 +142,17 @@ class MockNode extends AbstractItem impl
}
@Override
+ public PropertyIterator getProperties(final String[] nameGlobs) throws RepositoryException {
+ RangeIterator items = getMockedSession().listChildren(getPath(), new ItemFilter() {
+ @Override
+ public boolean accept(final ItemData item) throws RepositoryException {
+ return item.isProperty() && ItemNameMatcher.matches(item.getName(), nameGlobs);
+ }
+ });
+ return new PropertyIteratorAdapter(items, items.getSize());
+ }
+
+ @Override
public Property getProperty(final String relPath) throws RepositoryException {
String path = makeAbsolutePath(relPath);
return getSession().getProperty(path);
@@ -494,16 +518,6 @@ class MockNode extends AbstractItem impl
throw new UnsupportedOperationException();
}
- @Override
- public NodeIterator getNodes(final String[] nameGlobs) throws RepositoryException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public PropertyIterator getProperties(final String[] nameGlobs) throws RepositoryException {
- throw new UnsupportedOperationException();
- }
-
@Override
public PropertyIterator getReferences(final String name) throws RepositoryException {
throw new UnsupportedOperationException();
Modified: sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java?rev=1806595&r1=1806594&r2=1806595&view=diff
==============================================================================
--- sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java (original)
+++ sling/trunk/testing/mocks/jcr-mock/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java Tue Aug 29 14:02:30 2017
@@ -45,6 +45,7 @@ public class MockNodeTest {
private Node rootNode;
private Node node1;
private Property prop1;
+ private Property prop2;
private Node node11;
@Before
@@ -72,6 +73,10 @@ public class MockNodeTest {
assertEquals(1, nodes.getSize());
assertEquals(this.node11, nodes.nextNode());
+ nodes = this.node1.getNodes(new String[]{"node*"});
+ assertEquals(1, nodes.getSize());
+ assertEquals(this.node11, nodes.nextNode());
+
nodes = this.node1.getNodes("unknown?");
assertEquals(0, nodes.getSize());
}
@@ -90,6 +95,10 @@ public class MockNodeTest {
assertEquals(1, properties.getSize());
assertEquals(this.prop1, properties.next());
+ properties = this.node1.getProperties(new String[]{"prop*"});
+ assertEquals(1, properties.getSize());
+ assertEquals(this.prop1, properties.next());
+
properties = this.node1.getProperties("unknown?");
assertEquals(0, properties.getSize());
}