Author: rmannibucau
Date: Tue Oct 16 13:18:05 2012
New Revision: 1398779

URL: http://svn.apache.org/viewvc?rev=1398779&view=rev
Log:
OPENEJB-1894 Karaf 2.3.0

Modified:
    openejb/trunk/openejb/osgi/apache-karafee/pom.xml
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
    
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
    
openejb/trunk/openejb/osgi/openejb-core-osgi/src/main/java/org/apache/openejb/core/osgi/impl/RegisterOSGIServicesExtension.java
    openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml
    openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml
    
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
    openejb/trunk/openejb/osgi/pom.xml

Modified: openejb/trunk/openejb/osgi/apache-karafee/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/apache-karafee/pom.xml (original)
+++ openejb/trunk/openejb/osgi/apache-karafee/pom.xml Tue Oct 16 13:18:05 2012
@@ -30,12 +30,14 @@
   <version>1.5.1-SNAPSHOT</version>
   <packaging>pom</packaging>
 
+  <!--
   <repositories>
     <repository> 
-      <id>opensource</id> <!-- eclipse osgi -->
+      <id>opensource</id>
       <url>http://ebayopensource.org/nexus/content/groups/public/</url>
     </repository>
   </repositories>
+  -->
 
   <dependencies>
     <dependency>

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/config.properties
 Tue Oct 16 13:18:05 2012
@@ -29,10 +29,21 @@
 #
 # Properties file inclusions (as a space separated list of relative paths)
 # Included files will override the values specified in this file
+# NB: ${includes} properties files are mandatory, it means that Karaf will not 
start
+# if the include file is not found
 #
 ${includes} = jre.properties custom.properties
 
 #
+# Properties file inclusions (as a space separated list of relative paths)
+# Included files will override the values specified in this file
+# NB: ${optionals} properties files are optionals, it means that Karaf will 
just
+# display a warning message but the bootstrap will be performed
+#
+# ${optionals} = my.properties
+
+
+#
 # Framework selection properties
 #
 karaf.framework=felix
@@ -40,24 +51,34 @@ karaf.framework=felix
 #
 # Location of the OSGi frameworks
 #
-karaf.framework.equinox=${karaf.default.repository}/org/eclipse/osgi/3.6.2.R36x_v20110210/osgi-3.6.2.R36x_v20110210.jar
-karaf.framework.felix=${karaf.default.repository}/org/apache/felix/org.apache.felix.framework/3.2.2/org.apache.felix.framework-3.2.2.jar
+karaf.framework.equinox=${karaf.default.repository}/org/eclipse/osgi/3.8.0.v20120529-1548/osgi-3.8.0.v20120529-1548.jar
+karaf.framework.felix=${karaf.default.repository}/org/apache/felix/org.apache.felix.framework/4.0.3/org.apache.felix.framework-4.0.3.jar
 
 #
 # Framework config properties.
 #
-org.osgi.framework.system.packages=org.osgi.framework; version=1.5.0, \
- org.osgi.framework.launch; version=1.0.0, \
- org.osgi.framework.hooks.service; version=1.0.0, \
- org.osgi.service.packageadmin; version=1.2.0, \
- org.osgi.service.startlevel; version=1.1.0, \
- org.osgi.service.url; version=1.0.0, \
- org.osgi.util.tracker; version=1.4.0, \
- org.apache.karaf.jaas.boot; version=${karaf.version}, \
- org.apache.karaf.version; version=${karaf.version}, \
+org.osgi.framework.system.packages= \
+ org.osgi.framework.startlevel;uses:="org.osgi.framework";version="1.0", \
+ 
org.osgi.framework.wiring;uses:="org.osgi.resource,org.osgi.framework";version="1.1",
 \
+ org.osgi.framework.hooks.bundle;uses:="org.osgi.framework";version="1.1", \
+ org.osgi.framework.hooks.service;uses:="org.osgi.framework";version="1.1", \
+ 
org.osgi.framework.hooks.resolver;uses:="org.osgi.framework.wiring";version="1.0",
 \
+ org.osgi.framework.launch;uses:="org.osgi.framework";version="1.1", \
+ org.osgi.framework.namespace;uses:="org.osgi.resource";version="1.0", \
+ org.osgi.framework;version="1.7",\
+ 
org.osgi.framework.hooks.weaving;uses:="org.osgi.framework.wiring";version="1.0",\
+ org.osgi.resource;version="1.0",org.osgi.service.url;version="1.0",\
+ org.osgi.service.startlevel;uses:="org.osgi.framework";version="1.1",\
+ org.osgi.service.packageadmin;uses:="org.osgi.framework";version="1.2",\
+ org.osgi.service.url;version="1.0", \
+ org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
+ org.apache.karaf.jaas.boot;version="2.3.0", \
+ org.apache.karaf.jaas.boot.principal;version="2.3.0", \
+ org.apache.karaf.version;version="2.3.0", \
  ${jre-${java.specification.version}}
 
-org.osgi.framework.system.packages.extra=
+# Extra packages appended after standard packages
+# org.osgi.framework.system.packages.extra=
 
 # javax.transaction is needed to avoid class loader constraint violation when 
using javax.sql
 
org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,!com.sun.xml.internal.bind.*,sun.*,com.sun.*,javax.transaction,javax.transaction.*
@@ -72,7 +93,7 @@ org.osgi.framework.bundle.parent=framewo
 karaf.auto.start=startup.properties
 
 org.osgi.framework.startlevel.beginning=100
-karaf.startlevel.bundle=60
+karaf.startlevel.bundle=80
 
 karaf.shutdown.port.file=${karaf.data}/port
 
@@ -83,6 +104,7 @@ felix.fileinstall.dir    = ${karaf.base}
 felix.fileinstall.filter = .*\\.cfg
 felix.fileinstall.poll   = 1000
 felix.fileinstall.noInitialDelay = true
+felix.fileinstall.log.level = 3
 
 #
 # Delay for writing the framework state to disk in equinox
@@ -95,3 +117,5 @@ eclipse.stateSaveDelayInterval = 1000
 # This property will be modified by the obr:addUrl and obr:removeUrl commands.
 #
 obr.repository.url =
+
+karaf.delay.console=false

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/custom.properties
 Tue Oct 16 13:18:05 2012
@@ -28,4 +28,4 @@ karaf.systemBundlesStartLevel=50
 # You can place any customized configuration here.
 #
 
-org.osgi.framework.system.packages.extra = org.apache.karaf.branding;
+org.osgi.framework.system.packages.extra = org.apache.karaf.branding

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/jre.properties
 Tue Oct 16 13:18:05 2012
@@ -16,10 +16,17 @@
 #    limitations under the License.
 #
 
################################################################################
+
+#
+# Java platform package export properties.
+#
+
+# Standard package set.  Note that:
+#   - javax.transaction* is exported with a mandatory attribute
 jre-1.6= \
  sun.misc,\
  javax.accessibility, \
- javax.activation, \
+ javax.activation;version="1.1", \
  javax.activity, \
  javax.annotation.processing;version="1.1", \
  javax.crypto, \
@@ -107,23 +114,187 @@ jre-1.6= \
  javax.xml.datatype, \
  javax.xml.namespace;version="1.0.0", \
  javax.xml.parsers, \
- javax.xml.soap, \
- javax.xml.stream, \
- javax.xml.stream.events, \
- javax.xml.stream.util, \
+ javax.xml.soap;version="1.3", \
+ javax.xml.stream;version="1.2", \
+ javax.xml.stream.events;version="1.2", \
+ javax.xml.stream.util;version="1.2", \
+ javax.xml.transform, \
+ javax.xml.transform.dom, \
+ javax.xml.transform.sax, \
+ javax.xml.transform.stax, \
+ javax.xml.transform.stream, \
+ javax.xml.validation, \
+ javax.xml.ws;version="2.2", \
+ javax.xml.ws.handler;version="2.2", \
+ javax.xml.ws.handler.soap;version="2.2", \
+ javax.xml.ws.http;version="2.2", \
+ javax.xml.ws.soap;version="2.2", \
+ javax.xml.ws.spi;version="2.2", \
+ javax.xml.ws.wsaddressing;version="2.2", \
+ javax.xml.ws.spi.http;version="2.2", \
+ javax.xml.xpath, \
+ org.ietf.jgss, \
+ org.omg.CORBA, \
+ org.omg.CORBA_2_3, \
+ org.omg.CORBA_2_3.portable, \
+ org.omg.CORBA.DynAnyPackage, \
+ org.omg.CORBA.ORBPackage, \
+ org.omg.CORBA.portable, \
+ org.omg.CORBA.TypeCodePackage, \
+ org.omg.CosNaming, \
+ org.omg.CosNaming.NamingContextExtPackage, \
+ org.omg.CosNaming.NamingContextPackage, \
+ org.omg.Dynamic, \
+ org.omg.DynamicAny, \
+ org.omg.DynamicAny.DynAnyFactoryPackage, \
+ org.omg.DynamicAny.DynAnyPackage, \
+ org.omg.IOP, \
+ org.omg.IOP.CodecFactoryPackage, \
+ org.omg.IOP.CodecPackage, \
+ org.omg.Messaging, \
+ org.omg.PortableInterceptor, \
+ org.omg.PortableInterceptor.ORBInitInfoPackage, \
+ org.omg.PortableServer, \
+ org.omg.PortableServer.CurrentPackage, \
+ org.omg.PortableServer.POAManagerPackage, \
+ org.omg.PortableServer.POAPackage, \
+ org.omg.PortableServer.portable, \
+ org.omg.PortableServer.ServantLocatorPackage, \
+ org.omg.SendingContext, \
+ org.omg.stub.java.rmi, \
+ org.omg.stub.javax.management.remote.rmi, \
+ org.w3c.dom, \
+ org.w3c.dom.bootstrap, \
+ org.w3c.dom.css, \
+ org.w3c.dom.events, \
+ org.w3c.dom.html, \
+ org.w3c.dom.ls, \
+ org.w3c.dom.ranges, \
+ org.w3c.dom.stylesheets, \
+ org.w3c.dom.traversal, \
+ org.w3c.dom.views, \
+ org.w3c.dom.xpath, \
+ org.xml.sax, \
+ org.xml.sax.ext, \
+ org.xml.sax.helpers
+
+# Standard package set.  Note that:
+#   - javax.transaction* is exported with a mandatory attribute
+jre-1.7= \
+ javax.accessibility, \
+ javax.activation;version="1.1", \
+ javax.activity, \
+ javax.annotation;version="1.1", \
+ javax.annotation.processing;version="1.1", \
+ javax.crypto, \
+ javax.crypto.interfaces, \
+ javax.crypto.spec, \
+ javax.imageio, \
+ javax.imageio.event, \
+ javax.imageio.metadata, \
+ javax.imageio.plugins.bmp, \
+ javax.imageio.plugins.jpeg, \
+ javax.imageio.spi, \
+ javax.imageio.stream, \
+ javax.jws, \
+ javax.jws.soap, \
+ javax.lang.model, \
+ javax.lang.model.element, \
+ javax.lang.model.type, \
+ javax.lang.model.util, \
+ javax.management, \
+ javax.management.loading, \
+ javax.management.modelmbean, \
+ javax.management.monitor, \
+ javax.management.openmbean, \
+ javax.management.relation, \
+ javax.management.remote, \
+ javax.management.remote.rmi, \
+ javax.management.timer, \
+ javax.naming, \
+ javax.naming.directory, \
+ javax.naming.event, \
+ javax.naming.ldap, \
+ javax.naming.spi, \
+ javax.net, \
+ javax.net.ssl, \
+ javax.print, \
+ javax.print.attribute, \
+ javax.print.attribute.standard, \
+ javax.print.event, \
+ javax.rmi, \
+ javax.rmi.CORBA, \
+ javax.rmi.ssl, \
+ javax.script, \
+ javax.security.auth, \
+ javax.security.auth.callback, \
+ javax.security.auth.kerberos, \
+ javax.security.auth.login, \
+ javax.security.auth.spi, \
+ javax.security.auth.x500, \
+ javax.security.cert, \
+ javax.security.sasl, \
+ javax.sound.midi, \
+ javax.sound.midi.spi, \
+ javax.sound.sampled, \
+ javax.sound.sampled.spi, \
+ javax.sql, \
+ javax.sql.rowset, \
+ javax.sql.rowset.serial, \
+ javax.sql.rowset.spi, \
+ javax.swing, \
+ javax.swing.border, \
+ javax.swing.colorchooser, \
+ javax.swing.event, \
+ javax.swing.filechooser, \
+ javax.swing.plaf, \
+ javax.swing.plaf.basic, \
+ javax.swing.plaf.metal, \
+ javax.swing.plaf.multi, \
+ javax.swing.plaf.synth, \
+ javax.swing.table, \
+ javax.swing.text, \
+ javax.swing.text.html, \
+ javax.swing.text.html.parser, \
+ javax.swing.text.rtf, \
+ javax.swing.tree, \
+ javax.swing.undo, \
+ javax.tools, \
+ javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
+ javax.xml, \
+ javax.xml.bind;version="2.2.1", \
+ javax.xml.bind.annotation;version="2.2.1", \
+ javax.xml.bind.annotation.adapters;version="2.2.1", \
+ javax.xml.bind.attachment;version="2.2.1", \
+ javax.xml.bind.helpers;version="2.2.1", \
+ javax.xml.bind.util;version="2.2.1", \
+ javax.xml.crypto, \
+ javax.xml.crypto.dom, \
+ javax.xml.crypto.dsig, \
+ javax.xml.crypto.dsig.dom, \
+ javax.xml.crypto.dsig.keyinfo, \
+ javax.xml.crypto.dsig.spec, \
+ javax.xml.datatype, \
+ javax.xml.namespace, \
+ javax.xml.parsers, \
+ javax.xml.soap;version="1.3", \
+ javax.xml.stream;version="1.2", \
+ javax.xml.stream.events;version="1.2", \
+ javax.xml.stream.util;version="1.2", \
  javax.xml.transform, \
  javax.xml.transform.dom, \
  javax.xml.transform.sax, \
  javax.xml.transform.stax, \
  javax.xml.transform.stream, \
  javax.xml.validation, \
- javax.xml.ws, \
- javax.xml.ws.handler, \
- javax.xml.ws.handler.soap, \
- javax.xml.ws.http, \
- javax.xml.ws.soap, \
- javax.xml.ws.spi, \
- javax.xml.ws.wsaddressing, \
+ javax.xml.ws;version="2.2", \
+ javax.xml.ws.handler;version="2.2", \
+ javax.xml.ws.handler.soap;version="2.2", \
+ javax.xml.ws.http;version="2.2", \
+ javax.xml.ws.soap;version="2.2", \
+ javax.xml.ws.spi;version="2.2", \
+ javax.xml.ws.wsaddressing;version="2.2", \
+ javax.xml.ws.spi.http;version="2.2", \
  javax.xml.xpath, \
  org.ietf.jgss, \
  org.omg.CORBA, \

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
 Tue Oct 16 13:18:05 2012
@@ -24,4 +24,4 @@ featuresRepositories=mvn:org.apache.kara
 #
 # Comma separated list of features to install at startup
 #
-featuresBoot=config,ssh,management,war,webconsole,transaction,openejb-server
+featuresBoot=config,ssh,management,kar,war,webconsole,transaction,openejb-server

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/org.apache.karaf.shell.cfg
 Tue Oct 16 13:18:05 2012
@@ -38,8 +38,18 @@ sshRealm=${karafee.user}
 #
 hostKey=${karaf.base}/etc/host.key
 
-#
 # Role name used for SSH access authorization
 # If not set, this defaults to the ${karaf.admin.role} configured in 
etc/system.properties
 #
 # sshRole=admin
+
+#
+# Self defined key size in 1024, 2048, 3072, or 4096
+# If not set, this defaults to 1024.
+#
+# keySize=1024
+
+#
+# Specify host key algorithm, defaults to DSA
+#
+# algorithm=DSA

Modified: 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
 (original)
+++ 
openejb/trunk/openejb/osgi/apache-karafee/src/main/filtered-resources/etc/system.properties
 Tue Oct 16 13:18:05 2012
@@ -16,15 +16,25 @@
 #    limitations under the License.
 #
 
################################################################################
+
 #
 # The properties defined in this file will be made available through system
-# properties at the very beginning of the FAS boot process.
+# properties at the very beginning of the Karaf's boot process.
 #
 
 # link between openejb-server and openejb-core
 # as it is automatically refreshed 1 is enough as timeout
 openejb.osgi.tracker.timeout=1
 
+#
+# openejb log configuration
+#
+# use karaf conf
+openejb.logger.external=true
+# use log4j logger, pax is an adapted version of openejb log4j logger for pax 
logging
+openejb.log.factory=pax
+
+
 # Log level when the pax-logging service is not available
 # This level will only be used while the pax-logging service bundle
 # is not fully available.
@@ -33,50 +43,63 @@ openejb.osgi.tracker.timeout=1
 org.ops4j.pax.logging.DefaultServiceLog.level=ERROR
 
 #
-# Name of this custom instance.
+# Name of this Karaf instance.
 #
-karaf.name=karafee
+karaf.name=${karafee.user}
 
 #
 # Default repository where bundles will be loaded from before using
-# other maven repositories. For the full Maven configuration, see the
-# org.ops4j.pax.url.mvn.cfg file.
+# other Maven repositories.  For the full Maven configuration, see
+# the org.ops4j.pax.url.mvn.cfg file.
 #
 karaf.default.repository=system
 
 #
 # Location of a shell script that will be run when starting a shell
-# session. This script can be used to create aliases and define
+# session.  This script can be used to create aliases and define
 # additional commands.
 #
 karaf.shell.init.script=${karaf.home}/etc/shell.init.script
 
 #
+# Default role name used for console authorization (JMX, SSH and WEB)
+# The syntax is the following:
+#   [classname:]principal
+# where classname is the class name of the principal object
+# (defaults to org.apache.karaf.jaas.modules.RolePrincipal)
+# and principal is the name of the principal of that class
+# (defaults to admin).
+#
+# Note that this value can be overriden using the various ConfigAdmin
+# configurations for JMX, SSH or the WebConsole.
+#
+karaf.admin.role=admin
+
+#
 # Set this empty property to avoid errors when validating xml documents.
 #
 xml.catalog.files=
 
 #
-# Suppress the bell in the console when hitting backspace to many times
+# Suppress the bell in the console when hitting backspace too many times
 # for example
 #
 jline.nobell=true
 
-#
-# Default port for the OSGi HTTP Service
-#
-org.osgi.service.http.port=8181
+# Workaround for KARAF-1117: Jetty will use a JUL logger.
+org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
 
 #
-# Allow usage of ${custom.home} as an alias for ${karaf.home}
+# ServiceMix specs options
 #
-custom.home=${karaf.home}
+org.apache.servicemic.specs.debug=false
+org.apache.servicemic.specs.timeout=0
 
 #
-# openejb log configuration
+# Settings for the OSGi 4.3 Weaving
+# By default, we will not weave any classes. Change this setting to include 
classes
+# that you application needs to have woven.
 #
-# use karaf conf
-openejb.logger.external=true
-# use log4j logger, pax is an adapted version of openejb log4j logger for pax 
logging
-openejb.log.factory=pax
-
+org.apache.aries.proxy.weaving.enabled=none
+# Classes not to weave - Aries default + Xerces which is known to have issues.
+org.apache.aries.proxy.weaving.disabled=org.objectweb.asm.*,org.slf4j.*,org.apache.log4j.*,javax.*,org.apache.xerces.*

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=1398779&r1=1398778&r2=1398779&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
 Tue Oct 16 13:18:05 2012
@@ -20,6 +20,7 @@ package org.apache.openejb.core.osgi.imp
 import org.apache.webbeans.annotation.AnyLiteral;
 import org.apache.webbeans.annotation.DefaultLiteral;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
@@ -51,6 +52,10 @@ public class RegisterOSGIServicesExtensi
                     for (ServiceReference service  : services) {
                         try {
                             final Class<?> clazz = serviceClass(service);
+                            if (clazz == null) {
+                                continue;
+                            }
+
                             current.loadClass(clazz.getName());
                             abd.addBean(new OSGiServiceBean<Object>(service));
                             LOGGER.debug("added service {} as a CDI 
Application scoped bean", clazz.getName());
@@ -65,8 +70,29 @@ public class RegisterOSGIServicesExtensi
         }
     }
 
-    private static Class<Object> serviceClass(ServiceReference service) {
-        return (Class<Object>) 
service.getBundle().getBundleContext().getService(service).getClass();
+    private static Class<?> serviceClass(final ServiceReference service) {
+        final Bundle bundle = service.getBundle();
+        if (bundle == null) {
+            return null;
+        }
+
+        final BundleContext bundleContext = bundle.getBundleContext();
+        if (bundleContext == null) {
+            return null;
+        }
+
+        final Object instance;
+        try {
+            instance = bundleContext.getService(service);
+        } catch (RuntimeException re) {
+            return null;
+        }
+
+        if (instance == null) {
+            return null;
+        }
+
+        return instance.getClass();
     }
 
     public static class OSGiServiceBean<T> implements Bean<T> {
@@ -97,12 +123,12 @@ public class RegisterOSGIServicesExtensi
         }
 
         @Override
-        public T create(CreationalContext<T> ctx) {
+        public T create(final CreationalContext<T> ctx) {
             return (T) 
service.getBundle().getBundleContext().getService(service);
         }
 
         @Override
-        public void destroy(T instance, CreationalContext<T> ctx) {
+        public void destroy(final T instance, final CreationalContext<T> ctx) {
             // no-op
         }
 

Modified: openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-karaf-commands/pom.xml Tue Oct 16 
13:18:05 2012
@@ -37,6 +37,7 @@
       javax.management.loading,
       org.apache.felix.gogo.commands;version="[0.10,1)",
       org.apache.felix.gogo.commands.basic;version="[0.10,1)",
+      
org.apache.felix.service.command;version="[0.10,1)";status=provisional;mandatory:=status,
       org.osgi.service.blueprint;version="[1.0.0,2.0.0)",
       org.apache.karaf.shell.console;version="[2.2,3)",
       org.apache.karaf.shell.console.completer;version="[2.2,3)",

Modified: openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml (original)
+++ openejb/trunk/openejb/osgi/openejb-osgi-tests/pom.xml Tue Oct 16 13:18:05 
2012
@@ -36,19 +36,17 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.openengsb.labs.paxexam.karaf</groupId>
-      <artifactId>paxexam-karaf-container</artifactId>
-      <version>1.0.0</version>
+      <groupId>org.apache.karaf.tooling.exam</groupId>
+      <artifactId>org.apache.karaf.tooling.exam.container</artifactId>
+      <version>${karaf.version}</version>
       <scope>test</scope>
     </dependency>
-    <!--
     <dependency>
       <groupId>org.apache.karaf.tooling.exam</groupId>
-      <artifactId>org.apache.karaf.tooling.exam.container</artifactId>
-      <version>3.0.1-SNAPSHOT</version>
-      <scope>provided</scope>
+      <artifactId>org.apache.karaf.tooling.exam.options</artifactId>
+      <version>${karaf.version}</version>
+      <scope>test</scope>
     </dependency>
-    -->
     <dependency>
       <groupId>org.apache.karaf.shell</groupId>
       <artifactId>org.apache.karaf.shell.console</artifactId>

Modified: 
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- 
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
 (original)
+++ 
openejb/trunk/openejb/osgi/openejb-osgi-tests/src/test/java/org/apache/openejb/osgi/test/OSGiKarafStartupTest.java
 Tue Oct 16 13:18:05 2012
@@ -22,22 +22,22 @@ import java.io.PrintStream;
 import javax.inject.Inject;
 import org.apache.felix.service.command.CommandProcessor;
 import org.apache.felix.service.command.CommandSession;
+import 
org.apache.karaf.tooling.exam.options.KarafDistributionConfigurationFilePutOption;
 import org.apache.openejb.OpenEJB;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.util.NetworkUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import 
org.openengsb.labs.paxexam.karaf.options.KarafDistributionConfigurationFilePutOption;
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.TestProbeBuilder;
 import org.ops4j.pax.exam.junit.Configuration;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.ops4j.pax.exam.junit.ProbeBuilder;
 
+import static 
org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static 
org.openengsb.labs.paxexam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
 import static org.ops4j.pax.exam.CoreOptions.felix;
 import static org.ops4j.pax.exam.CoreOptions.maven;
 import static org.ops4j.pax.exam.CoreOptions.options;

Modified: openejb/trunk/openejb/osgi/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/osgi/pom.xml?rev=1398779&r1=1398778&r2=1398779&view=diff
==============================================================================
--- openejb/trunk/openejb/osgi/pom.xml (original)
+++ openejb/trunk/openejb/osgi/pom.xml Tue Oct 16 13:18:05 2012
@@ -40,7 +40,7 @@
   </modules>
 
   <properties>
-    <karaf.version>2.2.9</karaf.version>
+    <karaf.version>2.3.0</karaf.version>
     <karafee.version>1.5.1-SNAPSHOT</karafee.version>
   </properties>
 </project>


Reply via email to