From 94214f348870e92420937e4dc9db357bdd7764fb Mon Sep 17 00:00:00 2001 From: Brett Meyer Date: Fri, 4 Dec 2015 01:03:55 -0500 Subject: [PATCH] HHH-10346 cleanup --- .../osgi/HibernateBundleActivator.java | 9 ++- .../org/hibernate/osgi/OsgiClassLoader.java | 56 +++---------------- 2 files changed, 12 insertions(+), 53 deletions(-) diff --git a/hibernate-osgi/src/main/java/org/hibernate/osgi/HibernateBundleActivator.java b/hibernate-osgi/src/main/java/org/hibernate/osgi/HibernateBundleActivator.java index c3dc54de3a..80439c8d2f 100644 --- a/hibernate-osgi/src/main/java/org/hibernate/osgi/HibernateBundleActivator.java +++ b/hibernate-osgi/src/main/java/org/hibernate/osgi/HibernateBundleActivator.java @@ -23,11 +23,6 @@ */ package org.hibernate.osgi; -import java.util.Dictionary; -import java.util.Hashtable; - -import javax.persistence.spi.PersistenceProvider; - import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.internal.util.ClassLoaderHelper; @@ -39,6 +34,10 @@ import org.osgi.framework.BundleListener; import org.osgi.framework.FrameworkUtil; import org.osgi.framework.ServiceRegistration; +import javax.persistence.spi.PersistenceProvider; +import java.util.Dictionary; +import java.util.Hashtable; + /** * This BundleActivator provides three different uses of Hibernate in OSGi * environments: diff --git a/hibernate-osgi/src/main/java/org/hibernate/osgi/OsgiClassLoader.java b/hibernate-osgi/src/main/java/org/hibernate/osgi/OsgiClassLoader.java index 47fbc4cdef..523ea7aa78 100644 --- a/hibernate-osgi/src/main/java/org/hibernate/osgi/OsgiClassLoader.java +++ b/hibernate-osgi/src/main/java/org/hibernate/osgi/OsgiClassLoader.java @@ -23,6 +23,11 @@ */ package org.hibernate.osgi; +import org.hibernate.service.spi.Stoppable; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleReference; +import org.osgi.framework.wiring.BundleWiring; + import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; @@ -32,12 +37,6 @@ import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; - -import org.hibernate.service.spi.Stoppable; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleReference; -import org.osgi.framework.wiring.BundleWiring; - /** * Custom OSGI ClassLoader helper which knows all the "interesting" * class loaders and bundles. Encapsulates the OSGi related CL capabilities. @@ -49,7 +48,6 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { // Leave these as Sets -- addClassLoader or addBundle may be called more // than once if a SF or EMF is closed and re-created. private Set classLoaders = new LinkedHashSet(); - private Set bundles = new LinkedHashSet(); private Map> classCache = new HashMap>(); private Map resourceCache = new HashMap(); @@ -73,19 +71,7 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { if ( classCache.containsKey( name ) ) { return classCache.get( name ); } - - for ( Bundle bundle : bundles ) { - try { - final Class clazz = bundle.loadClass( name ); - if ( clazz != null ) { - classCache.put( name, clazz ); - return clazz; - } - } - catch ( Exception ignore ) { - } - } - + for ( ClassLoader classLoader : classLoaders ) { try { final Class clazz = classLoader.loadClass( name ); @@ -113,18 +99,6 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { return resourceCache.get( name ); } - for ( Bundle bundle : bundles ) { - try { - final URL resource = bundle.getResource( name ); - if ( resource != null ) { - resourceCache.put( name, resource ); - return resource; - } - } - catch ( Exception ignore ) { - } - } - for ( ClassLoader classLoader : classLoaders ) { try { final URL resource = classLoader.getResource( name ); @@ -154,17 +128,6 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { protected Enumeration findResources(String name) { final List> enumerations = new ArrayList>(); - for ( Bundle bundle : bundles ) { - try { - final Enumeration resources = bundle.getResources( name ); - if ( resources != null ) { - enumerations.add( resources ); - } - } - catch ( Exception ignore ) { - } - } - for ( ClassLoader classLoader : classLoaders ) { try { final Enumeration resources = classLoader.getResources( name ); @@ -216,13 +179,12 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { * @param bundle The Bundle to add */ public void addBundle( Bundle bundle ) { - addClassLoader( bundle.adapt(BundleWiring.class).getClassLoader() ); + addClassLoader( bundle.adapt( BundleWiring.class ).getClassLoader() ); } @Override public void stop() { classLoaders.clear(); - bundles.clear(); classCache.clear(); resourceCache.clear(); } @@ -237,8 +199,6 @@ public class OsgiClassLoader extends ClassLoader implements Stoppable { } } } - if (classLoaders.removeAll(toRemove)) { - clear(); - } + classLoaders.removeAll(toRemove); } }