MEECROWAVE-191 cxf 3.3.2

git-svn-id: https://svn.apache.org/repos/asf/openwebbeans/meecrowave/trunk@1859085 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java b/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java
index a019f5c..ecdb2c4 100644
--- a/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java
+++ b/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java
@@ -23,6 +23,7 @@
 import java.util.Map;
 
 import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Typed;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.servlet.ServletContext;
@@ -35,8 +36,9 @@
 import org.apache.meecrowave.Meecrowave;
 
 @Named("cxf")
+@Typed({MeecrowaveBus.class, Bus.class})
 @ApplicationScoped
-public class MeecrowaveBus implements Bus {
+public class MeecrowaveBus implements Bus, ClassUnwrapper {
     private final ConfigurableBus delegate = new ConfigurableBus();
 
     protected MeecrowaveBus() {
@@ -45,7 +47,7 @@
 
     @Inject
     public MeecrowaveBus(final ServletContext context) {
-        setProperty(ClassUnwrapper.class.getName(), (ClassUnwrapper) this::getRealClass);
+        setProperty(ClassUnwrapper.class.getName(), this);
 
         final ClassLoader appLoader = context.getClassLoader();
         setExtension(appLoader, ClassLoader.class); // ServletController locks on the classloader otherwise
@@ -60,11 +62,16 @@
     /**
      * Unwrap all proxies and get the real underlying class
      * for detecting annotations, etc.
-     * @param o
-     * @return
+     * @param o the instance to analyze.
+     * @return the class to introspect.
      */
-    protected Class<?> getRealClass(Object o) {
-        final Class<?> aClass = o.getClass();
+    @Override
+    public Class<?> getRealClass(Object o) {
+        return getRealClassFromClass(o.getClass());
+    }
+
+    @Override
+    public Class<?> getRealClassFromClass(final Class<?> aClass) {
         if (aClass.getName().contains("$$")) {
             Class realClass = aClass.getSuperclass();
             if (realClass == Object.class || realClass.isInterface()) {
diff --git a/pom.xml b/pom.xml
index 0201430..2ec95c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
     <junit.version>4.12</junit.version>
     <tomcat.version>9.0.19</tomcat.version>
     <openwebbeans.version>2.0.10</openwebbeans.version>
-    <cxf.version>3.3.1</cxf.version>
+    <cxf.version>3.3.2</cxf.version>
     <johnzon.version>1.1.10</johnzon.version>
     <log4j2.version>2.11.1</log4j2.version>
     <deltaspike.version>1.8.2</deltaspike.version>
@@ -217,8 +217,8 @@
     </profile>
   </profiles>
 
-<!-- only needed when under development
   <repositories>
+<!-- only needed when under development
     <repository>
       <id>asf-snapshot</id>
       <url>https://repository.apache.org/content/repositories/snapshots/</url>
@@ -229,6 +229,16 @@
         <enabled>true</enabled>
       </snapshots>
     </repository>
-  </repositories>
 -->
+    <repository>
+      <id>cxf-staging</id>
+      <url>https://repository.apache.org/content/repositories/orgapachecxf-1141/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
 </project>