Author: struberg
Date: Fri Sep 20 07:04:49 2013
New Revision: 1524920

URL: http://svn.apache.org/r1524920
Log:
OWB-899 remove URL as key in Sets and Maps

Added:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/UrlSet.java
      - copied, changed from r1524626, 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
Modified:
    
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
    
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/CdiArchive.java
    
openwebbeans/trunk/webbeans-osgi/src/main/java/org/apache/webbeans/osgi/scanner/OsgiMetaDataScannerService.java

Modified: 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java?rev=1524920&r1=1524919&r2=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
 (original)
+++ 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
 Fri Sep 20 07:04:49 2013
@@ -51,7 +51,7 @@ public class OwbArquillianScannerService
     private boolean beansXmlBdaScanningEnabled;
     private Archive archive;
 
-    private Set<URL> beansXmls = new UrlSet();
+    private UrlSet beansXmls = new UrlSet();
     private Set<Class<?>> beanClasses = new HashSet<Class<?>>();
 
 
@@ -285,7 +285,7 @@ public class OwbArquillianScannerService
     {
         archive = null;
 
-        beansXmls = new HashSet<URL>();
+        beansXmls = new UrlSet();
         beanClasses = new HashSet<Class<?>>();
     }
 }

Modified: 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java?rev=1524920&r1=1524919&r2=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
 (original)
+++ 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
 Fri Sep 20 07:04:49 2013
@@ -28,6 +28,9 @@ import java.util.Set;
 /**
  * A {@link java.util.Set} which only takes the externalForm
  * as key instead the very expensive hashCode.
+ * This is a copy of the impl from openwebbeans-impl since
+ * this Arquillian adaptor also runs with older OWB versions
+ * which do not yet have this class.
  */
 public class UrlSet implements Set<URL>
 {

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java?rev=1524920&r1=1524919&r2=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/AbstractMetaDataDiscovery.java
 Fri Sep 20 07:04:49 2013
@@ -29,6 +29,7 @@ import org.apache.webbeans.logger.WebBea
 import org.apache.webbeans.spi.BDABeansXmlScanner;
 import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.util.ClassUtil;
+import org.apache.webbeans.util.UrlSet;
 import org.apache.webbeans.util.WebBeansUtil;
 import org.apache.xbean.finder.AnnotationFinder;
 
@@ -51,7 +52,7 @@ public abstract class AbstractMetaDataDi
     public static final String META_INF_BEANS_XML = "META-INF/beans.xml";
 
     /** Location of the beans.xml files. */
-    private final Set<URL> webBeansXmlLocations = new HashSet<URL>();
+    private final UrlSet webBeansXmlLocations = new UrlSet();
 
     //private Map<String, InputStream> EJB_XML_LOCATIONS = new HashMap<String, 
InputStream>();
 

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/CdiArchive.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/CdiArchive.java?rev=1524920&r1=1524919&r2=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/CdiArchive.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/corespi/scanner/xbean/CdiArchive.java
 Fri Sep 20 07:04:49 2013
@@ -45,7 +45,12 @@ import java.util.Set;
  */
 public class CdiArchive implements Archive
 {
-    private final Map<URL, Collection<String>> map = new HashMap<URL, 
Collection<String>>();
+    /**
+     * key: URL#toExternalForm of the scanned classpath entry
+     * value: small data container with URL and class names
+     */
+    private final Map<String, FoundClasses> classesByUrl = new HashMap<String, 
FoundClasses>();
+
     private final Set<String> classes = new HashSet<String>();
     private final Archive delegate;
 
@@ -65,7 +70,7 @@ public class CdiArchive implements Archi
                     return true;
                 }
             });
-            map.put(url, classes);
+            classesByUrl.put(url.toExternalForm(), new FoundClasses(url, 
classes));
             archives.add(archive);
         }
 
@@ -90,9 +95,9 @@ public class CdiArchive implements Archi
         return classes;
     }
 
-    public Map<URL, Collection<String>> classesByUrl()
+    public Map<String, FoundClasses> classesByUrl()
     {
-        return map;
+        return classesByUrl;
     }
 
     @Override
@@ -112,4 +117,26 @@ public class CdiArchive implements Archi
     {
         return delegate.iterator();
     }
+
+    public final class FoundClasses
+    {
+        private URL url;
+        private Collection<String> classNames;
+
+        public FoundClasses(URL url, Collection<String> classNames)
+        {
+            this.url = url;
+            this.classNames = classNames;
+        }
+
+        public URL getUrl()
+        {
+            return url;
+        }
+
+        public Collection<String> getClassNames()
+        {
+            return classNames;
+        }
+    }
 }

Copied: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/UrlSet.java
 (from r1524626, 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java)
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/UrlSet.java?p2=openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/UrlSet.java&p1=openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java&r1=1524626&r2=1524920&rev=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/UrlSet.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/UrlSet.java
 Fri Sep 20 07:04:49 2013
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.webbeans.arquillian.standalone;
+package org.apache.webbeans.util;
 
 import java.net.URL;
 import java.util.Collection;

Modified: 
openwebbeans/trunk/webbeans-osgi/src/main/java/org/apache/webbeans/osgi/scanner/OsgiMetaDataScannerService.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-osgi/src/main/java/org/apache/webbeans/osgi/scanner/OsgiMetaDataScannerService.java?rev=1524920&r1=1524919&r2=1524920&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-osgi/src/main/java/org/apache/webbeans/osgi/scanner/OsgiMetaDataScannerService.java
 (original)
+++ 
openwebbeans/trunk/webbeans-osgi/src/main/java/org/apache/webbeans/osgi/scanner/OsgiMetaDataScannerService.java
 Fri Sep 20 07:04:49 2013
@@ -23,6 +23,7 @@ import org.apache.webbeans.logger.WebBea
 import org.apache.webbeans.spi.BDABeansXmlScanner;
 import org.apache.webbeans.spi.ScannerService;
 
+import org.apache.webbeans.util.UrlSet;
 import org.apache.xbean.finder.BundleAssignableClassFinder;
 import org.apache.xbean.osgi.bundle.util.BundleClassFinder;
 import org.apache.xbean.osgi.bundle.util.BundleResourceFinder;
@@ -66,7 +67,7 @@ public class OsgiMetaDataScannerService 
     private Set<Class<?>> beanClasses = new HashSet<Class<?>>();
 
     /** the paths of all META-INF/beans.xml files */
-    private Set<URL> beanXMLs = new HashSet<URL>();
+    private UrlSet beanXMLs = new UrlSet();
 
     /**contains all the JARs we found with valid beans.xml in it */
     private Set<String> beanArchiveJarNames = new HashSet<String>();
@@ -85,7 +86,7 @@ public class OsgiMetaDataScannerService 
     public void release()
     {
         beanClasses = new HashSet<Class<?>>();
-        beanXMLs = new HashSet<URL>();
+        beanXMLs = new UrlSet();
         beanArchiveJarNames = new HashSet<String>();
         classAnnotations.clear();
     }


Reply via email to