This is an automated email from the ASF dual-hosted git repository. jeb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git
commit e371a8aad8b7fea92a6a48d9b213271aba57eb76 Author: JE Bailey <[email protected]> AuthorDate: Thu Aug 23 08:15:52 2018 -0400 Removed custom exception --- .../sling/resource/filter/ResourceFilter.java | 4 +- .../resource/filter/ResourceFilterException.java | 35 ----------- .../resource/filter/ResourceFilterStream.java | 4 +- .../resource/filter/impl/ResourceFilterImpl.java | 9 ++- .../resource/filter/ResourceFilterDateTest.java | 4 +- .../resource/filter/ResourceFilterLogicTest.java | 4 +- .../sling/resource/filter/ResourceFilterTest.java | 67 +++++++++++----------- 7 files changed, 45 insertions(+), 82 deletions(-) diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java index f3f2802..dcc6aba 100644 --- a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java +++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java @@ -32,7 +32,7 @@ public interface ResourceFilter { * @return * @throws ResourceFilterException */ - public Predicate<Resource> parse(String filter) throws ResourceFilterException; + public Predicate<Resource> parse(String filter); /** * Creates a Predicate<Resource> based on the script @@ -42,7 +42,7 @@ public interface ResourceFilter { * @return * @throws ResourceFilterException */ - public Predicate<Resource> parse(String filter, String charEncoding) throws ResourceFilterException; + public Predicate<Resource> parse(String filter, String charEncoding); /** * Add a series of key - value pairs that can then be evaluated as part of the diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java deleted file mode 100644 index 99db709..0000000 --- a/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java +++ /dev/null @@ -1,35 +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.sling.resource.filter; - -/** - * Used to wrap internally generated Parser exceptions when a malformed script - * is provided - * - * - */ -public class ResourceFilterException extends Exception { - - public ResourceFilterException(Throwable cause) { - super(cause); - } - - private static final long serialVersionUID = 5893818236312416308L; - -} diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java index e2dd9d8..6e7e9c6 100644 --- a/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java +++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java @@ -49,7 +49,7 @@ public class ResourceFilterStream { * @return ResourceStreamFilter * @throws ResourceFilterException */ - public ResourceFilterStream setBranchSelector(String branchSelector) throws ResourceFilterException { + public ResourceFilterStream setBranchSelector(String branchSelector) { this.branchSelector = resourceFilter.parse(branchSelector); return this; } @@ -63,7 +63,7 @@ public class ResourceFilterStream { * @return ResourceStreamFilter * @throws ResourceFilterException */ - public ResourceFilterStream setChildSelector(String childSelector) throws ResourceFilterException { + public ResourceFilterStream setChildSelector(String childSelector) { this.childSelector = resourceFilter.parse(childSelector); return this; } diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java index 3f5a160..7aa51bf 100644 --- a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java +++ b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java @@ -19,7 +19,6 @@ import java.util.function.Predicate; import org.apache.sling.api.resource.Resource; import org.apache.sling.resource.filter.ResourceFilter; -import org.apache.sling.resource.filter.ResourceFilterException; import org.apache.sling.resource.filter.impl.node.Node; import org.apache.sling.resource.filter.impl.script.FilterParser; import org.apache.sling.resource.filter.impl.script.ParseException; @@ -58,26 +57,26 @@ public class ResourceFilterImpl implements ResourceFilter { @Override - public Predicate<Resource> parse(String filter) throws ResourceFilterException { + public Predicate<Resource> parse(String filter) { Node rootNode; try { rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes())).parse(); return rootNode.accept(getContext().getLogicVisitor()); } catch (ParseException e) { - throw new ResourceFilterException(e); + throw new IllegalArgumentException(e); } } @Override - public Predicate<Resource> parse(String filter, String charEncoding) throws ResourceFilterException { + public Predicate<Resource> parse(String filter, String charEncoding) { Node rootNode; try { rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes()),charEncoding).parse(); return rootNode.accept(getContext().getLogicVisitor()); } catch (ParseException e) { - throw new ResourceFilterException(e); + throw new IllegalArgumentException(e); } } diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java index cfd1a87..bdc4a63 100644 --- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java +++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java @@ -44,7 +44,7 @@ public class ResourceFilterDateTest { } @Test - public void testPropLessThanDateFunction() throws ResourceFilterException { + public void testPropLessThanDateFunction() { String query = "[jcr:content/created] < date('2013-08-08T16:32:59.000+02:00')"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); @@ -98,7 +98,7 @@ public class ResourceFilterDateTest { assertEquals(4, found.size()); } - private List<Resource> handle(String path, String filter) throws ResourceFilterException { + private List<Resource> handle(String path, String filter) { return new ResourceStream(resource).stream(r -> true).filter(resourceFilter.parse(filter)) .collect(Collectors.toList()); } diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java index f1b9dd8..aad9a37 100644 --- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java +++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java @@ -44,7 +44,7 @@ public class ResourceFilterLogicTest { } @Test - public void testDateAndProperty() throws ResourceFilterException { + public void testDateAndProperty() { String query = "[jcr:content/created] > '2013-08-08T16:32:59' and [jcr:content/jcr:title] == 'Mongolian'"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); @@ -62,7 +62,7 @@ public class ResourceFilterLogicTest { assertEquals(4, found.size()); } - private List<Resource> handle(String path, String filter) throws ResourceFilterException { + private List<Resource> handle(String path, String filter) { return new ResourceStream(resource).stream(r -> true).filter(resourceFilter.parse(filter)) .collect(Collectors.toList()); } diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java index 04a527b..781bdbd 100644 --- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java +++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java @@ -32,82 +32,81 @@ public class ResourceFilterTest { private static String START_PATH = "/content/sample/en"; - private Resource resource; ResourceFilter resourceFilter = new ResourceFilterImpl(); @Before - public void setUp() throws ResourceFilterException { + public void setUp() { context.load().json("/data.json", "/content/sample/en"); resource = context.resourceResolver().getResource(START_PATH); } @Test - public void testPropertyEquals() throws ResourceFilterException { + public void testPropertyEquals() { String query = "[jcr:content/jcr:title] == 'English'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testPropertyIs() throws ResourceFilterException { + public void testPropertyIs() { String query = "[jcr:content/jcr:title] is 'English'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testDateBeforeValue() throws ResourceFilterException { + public void testDateBeforeValue() { String query = "[jcr:content/created] < date('2013-08-08T16:32:59.000+02:00')"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); } @Test - public void testDateBeforeValue2() throws ResourceFilterException { + public void testDateBeforeValue2() { String query = "[jcr:content/created] less than date('2013-08-08T16:32:59.000+02:00')"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); } @Test - public void testDateBeforeValue3() throws ResourceFilterException { + public void testDateBeforeValue3() { String query = "[jcr:content/created] < date('2013-08-08','yyyy-MM-dd')"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); } @Test - public void testDateAndProperty() throws ResourceFilterException { + public void testDateAndProperty() { String query = "[jcr:content/created] < date('2013-08-08T16:32:59.000+02:00') and [jcr:content/jcr:title] == 'English'"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); } @Test - public void testDateAndPropertyTwice() throws ResourceFilterException { + public void testDateAndPropertyTwice() { String query = "([jcr:content/created] < date('2013-08-08T16:32:59.000+02:00') and [jcr:content/jcr:title] == 'English') or [jcr:content/jcr:title] == 'Mongolian'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testDateOrProperty() throws ResourceFilterException { + public void testDateOrProperty() { String query = "[jcr:content/created] < date('2013-08-08T16:32:59.000+02:00') or [jcr:content/jcr:title] == 'Mongolian'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testDateAsString() throws ResourceFilterException { + public void testDateAsString() { String query = "[jcr:content/created] < '2013-08-08T16:32'"; List<Resource> found = handle(START_PATH, query); assertEquals(3, found.size()); } @Test - public void testNullPropertyAndLimit() throws ResourceFilterException { + public void testNullPropertyAndLimit() { String query = "[jcr:content/foo] == null "; List<Resource> found = new ResourceStream(resource).stream(r -> true).filter(resourceFilter.parse(query)).limit(3) .collect(Collectors.toList()); @@ -115,145 +114,145 @@ public class ResourceFilterTest { } @Test - public void testNullProperty() throws ResourceFilterException { + public void testNullProperty() { String query = "[jcr:content/foo] == null "; List<Resource> found = handle(START_PATH, query); assertEquals(20, found.size()); } @Test - public void testNumberLiteral() throws ResourceFilterException { + public void testNumberLiteral() { String query = "[count] < 2 "; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testNumberLiteral2() throws ResourceFilterException { + public void testNumberLiteral2() { String query = "[count] < 2 or [count] > 1"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testNumberLiteral3() throws ResourceFilterException { + public void testNumberLiteral3() { String query = "[views] < 7 "; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testNotNullProperty() throws ResourceFilterException { + public void testNotNullProperty() { String query = "[layout] != null "; List<Resource> found = handle(START_PATH, query); assertEquals(5, found.size()); } @Test - public void testNotProperty() throws ResourceFilterException { + public void testNotProperty() { String query = "[layout] != 'foo' "; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testNameFunctionIs() throws ResourceFilterException { + public void testNameFunctionIs() { String query = "name() == 'testpage1'"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testNameFunctionAgainstRegex() throws ResourceFilterException { + public void testNameFunctionAgainstRegex() { String query = "name() like 'testpage.*'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testNameFunctionAgainstRegex2() throws ResourceFilterException { + public void testNameFunctionAgainstRegex2() { String query = "name() like 'testpage[1-2]'"; List<Resource> found = handle(START_PATH, query); assertEquals(2, found.size()); } @Test - public void testChildExistence() throws ResourceFilterException { + public void testChildExistence() { String query = "name() == 'testpage3' "; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testBoolean() throws ResourceFilterException { + public void testBoolean() { String query = "[published] == true"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testContains() throws ResourceFilterException { + public void testContains() { String query = "[jcr:content/monkey] contains 'fish'"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testContainsNot() throws ResourceFilterException { + public void testContainsNot() { String query = "[jcr:content/monkey] contains not 'fish'"; List<Resource> found = handle(START_PATH, query); assertEquals(19, found.size()); } @Test - public void testIn() throws ResourceFilterException { + public void testIn() { String query = "'fish' in [jcr:content/monkey]"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testPathLike() throws ResourceFilterException { + public void testPathLike() { String query = "path() like '/content/sample/en/testpage1.*'"; List<Resource> found = handle(START_PATH, query); assertEquals(4, found.size()); } @Test - public void testPathLike2() throws ResourceFilterException { + public void testPathLike2() { String query = "path() like '/content/sample/en/testpage1'"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testPathLike3() throws ResourceFilterException { + public void testPathLike3() { String query = "path() is '/content/sample/en/testpage1'"; List<Resource> found = handle(START_PATH, query); assertEquals(1, found.size()); } @Test - public void testNotIn() throws ResourceFilterException { + public void testNotIn() { String query = "'fish' not in [jcr:content/monkey]"; List<Resource> found = handle(START_PATH, query); assertEquals(19, found.size()); } @Test - public void testInNotException() throws ResourceFilterException { - ResourceFilterException error = null; + public void testInNotException() { + IllegalArgumentException error = null; try { String query = "'fish' in not [jcr:content/monkey]"; handle(START_PATH, query); - } catch (ResourceFilterException e) { + } catch (IllegalArgumentException e) { error = e; } assert (error.getMessage() .startsWith("org.apache.sling.resource.filter.impl.script.ParseException: Encountered \" <PROPERTY> \"jcr:content/monkey \"\" at line 1, column 15.")); } - private List<Resource> handle(String path, String filter) throws ResourceFilterException { + private List<Resource> handle(String path, String filter) { return new ResourceStream(resource).stream(r -> true).filter(resourceFilter.parse(filter)) .collect(Collectors.toList()); }
