You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2015/09/18 12:15:59 UTC
svn commit: r1703797 -
/sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java
Author: bdelacretaz
Date: Fri Sep 18 10:15:59 2015
New Revision: 1703797
URL: http://svn.apache.org/viewvc?rev=1703797&view=rev
Log:
SLING-5040 - comments
Modified:
sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java
Modified: sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java?rev=1703797&r1=1703796&r2=1703797&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java (original)
+++ sling/whiteboard/bdelacretaz/test-rules/src/main/java/org/apache/sling/testing/rules/DependencyAnalyzer.java Fri Sep 18 10:15:59 2015
@@ -42,16 +42,24 @@ class DependencyAnalyzer {
return new DependencyAnalyzer(classes);
}
+ /** Classes with names that match this prefix will be included,
+ * unless they also match an exclude prefix.
+ */
DependencyAnalyzer include(String prefix) {
includes.add(prefix);
return this;
}
+ /** Classes with names that match this prefix will not be included,
+ * even if their name matches an include pattern */
DependencyAnalyzer exclude(String prefix) {
excludes.add(prefix);
return this;
}
+ /** Get the aggregate dependencies of our classes, based on a recursive
+ * analysis that takes our include/exclude prefixes into account
+ */
Collection<Class<?>> getDependencies() {
final Set<Class<?>> result = new HashSet<Class<?>>();
for(Class<?> c : classes) {
@@ -63,6 +71,7 @@ class DependencyAnalyzer {
return result;
}
+ /** Analyze a single class, recursively */
private void analyze(Class<?> c) {
final Set<String> deps = new HashSet<String>();
final String path = "/" + c.getName().replace('.', '/') + ".class";
@@ -94,6 +103,7 @@ class DependencyAnalyzer {
}
}
+ /** True if given class name matches our include/exclude prefixes */
private boolean accept(String className) {
boolean result = false;
@@ -116,6 +126,7 @@ class DependencyAnalyzer {
return result;
}
+ /** Convert a class name to its Class object */
private Class<?> toClass(String className) {
try {
return getClass().getClassLoader().loadClass(className);