MEECROWAVE-173 avoid to exclude too much geronimo jars
git-svn-id: https://svn.apache.org/repos/asf/openwebbeans/meecrowave/trunk@1850662 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnownJarsFilter.java b/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnownJarsFilter.java
index 7a8cf2a..7801ebf 100644
--- a/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnownJarsFilter.java
+++ b/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnownJarsFilter.java
@@ -18,16 +18,16 @@
*/
package org.apache.meecrowave.openwebbeans;
-import org.apache.meecrowave.Meecrowave;
-import org.apache.tomcat.JarScanFilter;
-import org.apache.tomcat.JarScanType;
+import static java.util.Optional.ofNullable;
+import static java.util.stream.Collectors.toSet;
import java.util.Collection;
import java.util.HashSet;
import java.util.stream.Stream;
-import static java.util.Optional.ofNullable;
-import static java.util.stream.Collectors.toSet;
+import org.apache.meecrowave.Meecrowave;
+import org.apache.tomcat.JarScanFilter;
+import org.apache.tomcat.JarScanType;
public class KnownJarsFilter implements JarScanFilter {
private final Collection<String> forceIncludes = new HashSet<String>() {{
@@ -119,7 +119,11 @@
add("FastInfoset");
add("freeemarker-");
add("fusemq-leveldb-");
- add("geronimo-");
+ add("geronimo-connector-");
+ add("geronimo-j2ee");
+ add("geronimo-jpa");
+ add("geronimo-javamail");
+ add("geronimo-transaction");
add("google-");
add("gpars-");
add("gragent.jar");
@@ -353,6 +357,11 @@
@Override
public boolean check(final JarScanType jarScanType, final String jarName) {
- return forceIncludes.stream().anyMatch(jarName::startsWith) || excludes.stream().noneMatch(jarName::startsWith);
+ return forceIncludes.stream().anyMatch(jarName::startsWith) ||
+ (excludes.stream().noneMatch(jarName::startsWith) && !isGeronimoSpecJar(jarName));
+ }
+
+ private boolean isGeronimoSpecJar(final String jarName) {
+ return jarName.startsWith("geronimo") && jarName.contains("_spec");
}
}