private static PathPattern[] prepareMainInclusions(String[] sourceInclusions) { if (sourceInclusions.length > 0) { // User defined params return PathPattern.create(sourceInclusions); } return new PathPattern[0]; }
public static PathPattern[] create(String[] s) { PathPattern[] result = new PathPattern[s.length]; for (int i = 0; i < s.length; i++) { result[i] = create(s[i]); } return result; }
private static PathPattern[] prepareTestExclusions(String[] testExclusions) { return PathPattern.create(testExclusions); }
private static PathPattern[] prepareTestInclusions(String[] testInclusions) { return PathPattern.create(testInclusions); }
static PathPattern[] prepareMainExclusions(String[] sourceExclusions, String[] testInclusions) { String[] patterns = (String[]) ArrayUtils.addAll( sourceExclusions, testInclusions); return PathPattern.create(patterns); }
@Override public FilePredicate matchesPathPattern(String inclusionPattern) { return new PathPatternPredicate(PathPattern.create(inclusionPattern)); }
@Override public FilePredicate matchesPathPatterns(String[] inclusionPatterns) { if (inclusionPatterns.length == 0) { return TruePredicate.TRUE; } FilePredicate[] predicates = new FilePredicate[inclusionPatterns.length]; for (int i = 0; i < inclusionPatterns.length; i++) { predicates[i] = new PathPatternPredicate(PathPattern.create(inclusionPatterns[i])); } return or(predicates); }
@Test public void create_array_of_patterns() { PathPattern[] patterns = PathPattern.create(new String[] { "**/src/main/**Foo.java", "file:**/src/main/**Bar.java" }); assertThat(patterns).hasSize(2); assertThat(patterns[0].toString()).isEqualTo("**/src/main/**Foo.java"); assertThat(patterns[1].toString()).isEqualTo("file:**/src/main/**Bar.java"); } }
for (Language language : languages.all()) { String[] filePatterns = settings.getStringArray(getFileLangPatternPropKey(language.key())); PathPattern[] pathPatterns = PathPattern.create(filePatterns); if (pathPatterns.length > 0) { patternsByLanguageBuilder.put(language.key(), pathPatterns); patterns[i] = new StringBuilder().append("**/*.").append(extension).toString(); PathPattern[] defaultLanguagePatterns = PathPattern.create(patterns); patternsByLanguageBuilder.put(language.key(), defaultLanguagePatterns); LOG.debug("Declared extensions of language {} were converted to {}", language, getDetails(language.key(), defaultLanguagePatterns));
@Test public void simplifyAndExpressionsWhenTrue() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); FilePredicate andPredicate = OrPredicate.create(Arrays.asList(pathPatternPredicate1, TruePredicate.TRUE, pathPatternPredicate2)); assertThat(andPredicate).isEqualTo(TruePredicate.TRUE); }
@Test public void simplifyAndExpressionsWhenFalse() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); FilePredicate andPredicate = AndPredicate.create(Arrays.<FilePredicate>asList(pathPatternPredicate1, FalsePredicate.FALSE, pathPatternPredicate2)); assertThat(andPredicate).isEqualTo(FalsePredicate.FALSE); }
@Test public void flattenNestedOr() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); PathPatternPredicate pathPatternPredicate3 = new PathPatternPredicate(PathPattern.create("foo3/**")); FilePredicate orPredicate = OrPredicate.create(Arrays.asList(pathPatternPredicate1, OrPredicate.create(Arrays.asList(pathPatternPredicate2, pathPatternPredicate3)))); assertThat(((OrPredicate) orPredicate).predicates()).containsExactly(pathPatternPredicate1, pathPatternPredicate2, pathPatternPredicate3); }
@Test public void flattenNestedAnd() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); PathPatternPredicate pathPatternPredicate3 = new PathPatternPredicate(PathPattern.create("foo3/**")); FilePredicate andPredicate = AndPredicate.create(Arrays.<FilePredicate>asList(pathPatternPredicate1, AndPredicate.create(Arrays.<FilePredicate>asList(pathPatternPredicate2, pathPatternPredicate3)))); assertThat(((AndPredicate) andPredicate).predicates()).containsExactly(pathPatternPredicate1, pathPatternPredicate2, pathPatternPredicate3); }
@Test public void simplifyOrExpressionsWhenFalse() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); FilePredicate andPredicate = OrPredicate.create(Arrays.asList(pathPatternPredicate1, FalsePredicate.FALSE, pathPatternPredicate2)); assertThat(((OrPredicate) andPredicate).predicates()).containsExactly(pathPatternPredicate1, pathPatternPredicate2); }
@Test public void simplifyAndExpressionsWhenTrue() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); FilePredicate andPredicate = AndPredicate.create(Arrays.<FilePredicate>asList(pathPatternPredicate1, TruePredicate.TRUE, pathPatternPredicate2)); assertThat(((AndPredicate) andPredicate).predicates()).containsExactly(pathPatternPredicate1, pathPatternPredicate2); }
@Test public void match_absolute_path_and_insensitive_file_extension() throws Exception { PathPattern pattern = PathPattern.create("file:**/src/main/**Foo.java"); assertThat(pattern.toString()).isEqualTo("file:**/src/main/**Foo.java"); IndexedFile indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.JAVA", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()), false)).isTrue(); indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/Other.JAVA", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()), false)).isFalse(); }
@Test public void sortPredicatesByPriority() { PathPatternPredicate pathPatternPredicate1 = new PathPatternPredicate(PathPattern.create("foo1/**")); PathPatternPredicate pathPatternPredicate2 = new PathPatternPredicate(PathPattern.create("foo2/**")); RelativePathPredicate relativePathPredicate = new RelativePathPredicate("foo"); FilePredicate andPredicate = AndPredicate.create(Arrays.<FilePredicate>asList(pathPatternPredicate1, relativePathPredicate, pathPatternPredicate2)); assertThat(((AndPredicate) andPredicate).predicates()).containsExactly(relativePathPredicate, pathPatternPredicate1, pathPatternPredicate2); }
@Test public void match_relative_path() { PathPattern pattern = PathPattern.create("**/*Foo.java"); assertThat(pattern.toString()).isEqualTo("**/*Foo.java"); IndexedFile indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.java", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isTrue(); // case sensitive by default indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.JAVA", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isFalse(); indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/Other.java", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isFalse(); }
@Test public void match_absolute_path() throws Exception { PathPattern pattern = PathPattern.create("file:**/src/main/**Foo.java"); assertThat(pattern.toString()).isEqualTo("file:**/src/main/**Foo.java"); IndexedFile indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.java", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isTrue(); // case sensitive by default indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.JAVA", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isFalse(); indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/Other.java", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()))).isFalse(); }
@Test public void match_relative_path_and_insensitive_file_extension() throws Exception { PathPattern pattern = PathPattern.create("**/*Foo.java"); IndexedFile indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/MyFoo.JAVA", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()), false)).isTrue(); indexedFile = new DefaultIndexedFile("ABCDE", baseDir, "src/main/java/org/Other.java", null); assertThat(pattern.match(indexedFile.path(), Paths.get(indexedFile.relativePath()), false)).isFalse(); }