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