Author: rmannibucau
Date: Sun Oct  7 12:14:34 2012
New Revision: 1395282

URL: http://svn.apache.org/viewvc?rev=1395282&view=rev
Log:
caching types for RegisterOSGIServicesExtension (no need to get them lazily)

Modified:
    
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java

Modified: 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java?rev=1395282&r1=1395281&r2=1395282&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java
 (original)
+++ 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java
 Sun Oct  7 12:14:34 2012
@@ -71,10 +71,19 @@ public class RegisterOSGIServicesExtensi
 
         private final ServiceReference service;
         private final Class<?> clazz;
+        private final Set<Type> types = new HashSet<Type>();
 
         public OSGiServiceBean(final ServiceReference srv) {
             service = srv;
             clazz = serviceClass(service);
+
+            for (String clazz : (String[]) 
service.getProperty(Constants.OBJECTCLASS)) {
+                try {
+                    types.add(service.getBundle().loadClass(clazz));
+                } catch (ClassNotFoundException ignored) {
+                    // no-op
+                }
+            }
         }
 
         @Override
@@ -89,14 +98,6 @@ public class RegisterOSGIServicesExtensi
 
         @Override
         public Set<Type> getTypes() {
-            final Set<Type> types = new HashSet<Type>();
-            for (String clazz : (String[]) 
service.getProperty(Constants.OBJECTCLASS)) {
-                try {
-                    types.add(service.getBundle().loadClass(clazz));
-                } catch (ClassNotFoundException ignored) {
-                    // no-op
-                }
-            }
             return types;
         }
 


Reply via email to