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");
     }
 }