Author: rmannibucau
Date: Sat Oct  6 19:38:07 2012
New Revision: 1395157

URL: http://svn.apache.org/viewvc?rev=1395157&view=rev
Log:
OPENEJB-1912 OPENEJB-1913 OPENEJB-1914 osgi rework (logs, NPE in deployer, 
bundle file search)

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
    
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
    
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1395157&r1=1395156&r2=1395157&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Sat Oct  6 19:38:07 2012
@@ -42,7 +42,6 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.assembler.classic.event.AssemblerDestroyed;
 import org.apache.openejb.assembler.monitoring.JMXContainer;
 import org.apache.openejb.async.AsynchronousPool;
-import org.apache.openejb.cdi.AsmFactory;
 import org.apache.openejb.cdi.CdiAppContextsService;
 import org.apache.openejb.cdi.CdiBuilder;
 import org.apache.openejb.cdi.CdiResourceInjectionService;
@@ -153,8 +152,6 @@ import java.lang.instrument.Instrumentat
 import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.sql.Connection;
-import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -1879,11 +1876,12 @@ public class Assembler extends Assembler
 
     public void createSecurityService(SecurityServiceInfo serviceInfo) throws 
OpenEJBException {
 
-        ObjectRecipe serviceRecipe = createRecipe(serviceInfo);
-
-        Object service = serviceRecipe.create();
-
-        logUnusedProperties(serviceRecipe, serviceInfo);
+        Object service = 
SystemInstance.get().getComponent(SecurityService.class);
+        if (service == null) {
+            ObjectRecipe serviceRecipe = createRecipe(serviceInfo);
+            service = serviceRecipe.create();
+            logUnusedProperties(serviceRecipe, serviceInfo);
+        }
 
         Class interfce = serviceInterfaces.get(serviceInfo.service);
         checkImplementation(interfce, service.getClass(), serviceInfo.service, 
serviceInfo.id);

Modified: 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java?rev=1395157&r1=1395156&r2=1395157&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
 (original)
+++ 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Activator.java
 Sat Oct  6 19:38:07 2012
@@ -48,7 +48,7 @@ public class Activator implements Bundle
 
     @Override
     public void start(final BundleContext context) throws Exception {
-        LOGGER.info("Starting OpenEJB for bundle #{0}", 
context.getBundle().getBundleId());
+        LOGGER.info("Starting OpenEJB for bundle #{}", 
context.getBundle().getBundleId());
 
         
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
 
@@ -146,7 +146,7 @@ public class Activator implements Bundle
 
     private static void invoke(final Object serviceManager, final String name) 
throws OpenEJBException, InvocationTargetException, IllegalAccessException {
         if (serviceManager == null) {
-            LOGGER.warn("can't invoke method {0} since the service manager is 
null", name);
+            LOGGER.warn("can't invoke method {} since the service manager is 
null", name);
             return;
         }
 

Modified: 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java?rev=1395157&r1=1395156&r2=1395157&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
 (original)
+++ 
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
 Sat Oct  6 19:38:07 2012
@@ -92,7 +92,7 @@ public class Deployer implements BundleL
                 } catch (NullPointerException npe) {
                     // can happen when shutting down an OSGi server
                     // because of all stop events
-                    LOGGER.warn("can't undeploy bundle #{0}", 
event.getBundle().getBundleId());
+                    LOGGER.warn("can't undeploy bundle #{}", 
event.getBundle().getBundleId());
                 }
                 deploy(event.getBundle());
                 break;
@@ -100,8 +100,13 @@ public class Deployer implements BundleL
     }
 
     private void deploy(final Bundle bundle) {
+        if (bundle.getBundleContext() == null) {
+            return;
+        }
+
         final ClassLoader oldCl = 
Thread.currentThread().getContextClassLoader();
         final ClassLoader osgiCl = new OSGIClassLoader(bundle, 
OpenEJBBundleContextHolder.get().getBundle());
+
         Thread.currentThread().setContextClassLoader(osgiCl);
 
         try {
@@ -118,11 +123,11 @@ public class Deployer implements BundleL
                     }
 
                     if (bundleDump == null || !bundleDump.exists()) {
-                        LOGGER.warn("can't find bundle {0}", 
bundle.getBundleId());
+                        LOGGER.warn("can't find bundle {}", 
bundle.getBundleId());
                         return;
                     }
 
-                    LOGGER.info("looking bundle {0} in {1}", 
bundle.getBundleId(), bundleDump);
+                    LOGGER.info("looking bundle {} in {}", 
bundle.getBundleId(), bundleDump);
                     final AppModule appModule = new 
OSGiDeploymentLoader(bundle).load(bundleDump);
                     LOGGER.info("deploying bundle #" + bundle.getBundleId() + 
" as an EJBModule");
 
@@ -170,6 +175,31 @@ public class Deployer implements BundleL
         int max = 0;
         File out;
         File f = null;
+
+        final File[] files = root.listFiles();
+        if (files == null) {
+            return null;
+        }
+
+        for (File current : files) {
+            if (current.getName().startsWith("version")) {
+                final String v = 
current.getName().substring("version".length());
+                if (!v.contains(".")) {
+                    continue;
+                }
+
+                final int idx = v.indexOf('.');
+                final int cMin = Integer.parseInt(v.substring(0, idx));
+                final int cMax = Integer.parseInt(v.substring(idx + 1, 
v.length()));
+
+                if (cMax > max || (cMax == max && cMin > min)) {
+                    f = current;
+                    min = cMin;
+                    max = cMax;
+                }
+            }
+        }
+
         do {
             do {
                 out = f;
@@ -202,15 +232,15 @@ public class Deployer implements BundleL
                     assembler.destroyApplication(paths.remove(bundle));
                 }
             } catch (IllegalStateException ise) {
-                LOGGER.error("Can't undeploy bundle #{0}", 
bundle.getBundleId());
+                LOGGER.error("Can't undeploy bundle #{}", 
bundle.getBundleId());
             } catch (UndeployException e) {
-                LOGGER.error("Can't undeploy bundle #{0}", 
bundle.getBundleId(), e);
+                LOGGER.error("Can't undeploy bundle #{}", 
bundle.getBundleId(), e);
             } catch (NoSuchApplicationException e) {
-                LOGGER.error("Can't undeploy non existing bundle #{0}", 
bundle.getBundleId(), e);
+                LOGGER.error("Can't undeploy non existing bundle #{}", 
bundle.getBundleId(), e);
             }
         }
 
-        LOGGER.info("[Deployer] Bundle {0} has been stopped", 
bundle.getSymbolicName());
+        LOGGER.info("[Deployer] Bundle {} has been stopped", 
bundle.getSymbolicName());
     }
 
     /**
@@ -229,19 +259,19 @@ public class Deployer implements BundleL
 
             try {
                 if (beanContext.getBusinessRemoteInterface() != null) {
-                    LOGGER.info("registering remote bean: {0}", 
beanContext.getEjbName());
+                    LOGGER.info("registering remote bean: {}", 
beanContext.getEjbName());
                     registerService(beanContext, context, 
beanContext.getBusinessRemoteInterfaces());
                 }
                 if (beanContext.getBusinessLocalInterface() != null) {
-                    LOGGER.info("registering local bean: {0}", 
beanContext.getEjbName());
+                    LOGGER.info("registering local bean: {}", 
beanContext.getEjbName());
                     registerService(beanContext, context, 
beanContext.getBusinessLocalInterfaces());
                 }
                 if (beanContext.isLocalbean()) {
-                    LOGGER.info("registering local view bean: {0}", 
beanContext.getEjbName());
+                    LOGGER.info("registering local view bean: {}", 
beanContext.getEjbName());
                     registerService(beanContext, context, 
Arrays.asList(beanContext.getBusinessLocalBeanInterface()));
                 }
             } catch (Exception e) {
-                LOGGER.error("[Deployer] can't register: {0}", 
beanContext.getEjbName());
+                LOGGER.error("[Deployer] can't register: {}", 
beanContext.getEjbName());
             }
         }
     }
@@ -257,9 +287,9 @@ public class Deployer implements BundleL
             try {
                 final Object service = ProxyEJB.simpleProxy(beanContext, itfs);
                 
registrations.get(context.getBundle()).add(context.registerService(str(itfs), 
service, new Properties()));
-                LOGGER.info("EJB registered: {0} for interfaces {1}", 
beanContext.getEjbName(), interfaces);
+                LOGGER.info("EJB registered: {} for interfaces {}", 
beanContext.getEjbName(), interfaces);
             } catch (IllegalArgumentException iae) {
-                LOGGER.error("can't register: {0} for interfaces {1}", 
beanContext.getEjbName(), interfaces);
+                LOGGER.error("can't register: {} for interfaces {}", 
beanContext.getEjbName(), interfaces);
             }
         }
     }

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=1395157&r1=1395156&r2=1395157&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
 Sat Oct  6 19:38:07 2012
@@ -49,7 +49,7 @@ public class RegisterOSGIServicesExtensi
                 for (ServiceReference service  : services) {
                     final Class<?> clazz = serviceClass(service);
                     abd.addBean(new OSGiServiceBean<Object>(service));
-                    LOGGER.debug("added service {0} as a CDI Application 
scoped bean", clazz.getName());
+                    LOGGER.debug("added service {} as a CDI Application scoped 
bean", clazz.getName());
                 }
             }
         }


Reply via email to