You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2019/08/08 00:47:41 UTC

[cxf] branch 3.2.x-fixes updated (f7fd0e7 -> 00d9eb9)

This is an automated email from the ASF dual-hosted git repository.

ffang pushed a change to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git.


    from f7fd0e7  Recording .gitmergeinfo Changes
     new bf61407  [CXF-8088]ensure jaxrs endpoint can work correctly when using a shared bus exposed from another bundle
     new 106299a  Recording .gitmergeinfo Changes
     new 00d9eb9  fix compilation failure

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitmergeinfo                                      |  1 +
 .../org/apache/cxf/jaxrs/JAXRSBindingFactory.java  |  5 ++-
 .../jaxrs/blueprint/JAXRSBPNamespaceHandler.java   | 38 ++++++++++++++++++
 .../JAXRSServerFactoryBeanDefinitionParser.java    | 46 +++++++++++++++++++++-
 .../main/resources/META-INF/cxf/bus-extensions.txt |  1 +
 5 files changed, 88 insertions(+), 3 deletions(-)
 create mode 100644 rt/frontend/jaxrs/src/main/resources/META-INF/cxf/bus-extensions.txt


[cxf] 03/03: fix compilation failure

Posted by ff...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 00d9eb9f3ba9b4b6985aa75f5e55ed3b3fafba15
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Aug 7 20:47:30 2019 -0400

    fix compilation failure
---
 .../cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java  | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
index bc08e0f..7ea4a79 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
@@ -30,11 +30,8 @@ import org.apache.aries.blueprint.ParserContext;
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
 import org.apache.aries.blueprint.mutable.MutableCollectionMetadata;
 import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
-<<<<<<< HEAD
-import org.apache.cxf.common.util.StringUtils;
-=======
 import org.apache.cxf.common.injection.NoJSR250Annotations;
->>>>>>> c453a20... [CXF-8088]ensure jaxrs endpoint can work correctly when using a shared bus exposed from another bundle
+import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.blueprint.SimpleBPBeanDefinitionParser;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.helpers.DOMUtils;


[cxf] 02/03: Recording .gitmergeinfo Changes

Posted by ff...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 106299aaec0e477dc87f38b0d26dfd330836490e
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Aug 7 20:43:36 2019 -0400

    Recording .gitmergeinfo Changes
---
 .gitmergeinfo | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitmergeinfo b/.gitmergeinfo
index 8476b85..25a5775 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -692,6 +692,7 @@ M ad5c6ad246f9155fec7096de7701de02d757c0f2
 M af6a95f5b7efc141cc55792e10d05d471905cf32
 M b9300944381ebe10f7c5fe86d55b25b8292372fd
 M c13381d891b56fe5a2b56f6f9f6f6b2cc8a10d5d
+M c453a20f958b49119029b229a908f94848fb7f2d
 M c79d8ac83379b9f80e124823fbb569141cc5e608
 M cb2a360153c6670925f91fdfa9980594715d62e2
 M cc4e90a978fb625cb0a3c407a525bf74f85b9f8c


[cxf] 01/03: [CXF-8088]ensure jaxrs endpoint can work correctly when using a shared bus exposed from another bundle

Posted by ff...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit bf61407502fee313b12e0220de223a0dd50475c2
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Aug 7 20:40:43 2019 -0400

    [CXF-8088]ensure jaxrs endpoint can work correctly when using a shared bus exposed from another bundle
    
    (cherry picked from commit c453a20f958b49119029b229a908f94848fb7f2d)
    
    Conflicts:
    	rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
---
 .../org/apache/cxf/jaxrs/JAXRSBindingFactory.java  |  5 ++-
 .../jaxrs/blueprint/JAXRSBPNamespaceHandler.java   | 38 +++++++++++++++++
 .../JAXRSServerFactoryBeanDefinitionParser.java    | 49 +++++++++++++++++++++-
 .../main/resources/META-INF/cxf/bus-extensions.txt |  1 +
 4 files changed, 90 insertions(+), 3 deletions(-)

diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
index c124661..54e5aac 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSBindingFactory.java
@@ -19,6 +19,8 @@
 package org.apache.cxf.jaxrs;
 
 
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.logging.Logger;
 
 import javax.xml.namespace.QName;
@@ -52,7 +54,8 @@ public class JAXRSBindingFactory extends AbstractBindingFactory {
     public JAXRSBindingFactory() {
     }
     public JAXRSBindingFactory(Bus b) {
-        super(b);
+        super(b, Collections.unmodifiableList(Arrays.asList(
+                                                            JAXRS_BINDING_ID)));
     }
 
     public Binding createBinding(BindingInfo bi) {
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java
index d9d329a..d37885d 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSBPNamespaceHandler.java
@@ -31,7 +31,11 @@ import org.w3c.dom.Node;
 
 import org.apache.aries.blueprint.Namespaces;
 import org.apache.aries.blueprint.ParserContext;
+import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.helpers.BaseNamespaceHandler;
+import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean;
 import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.staxutils.W3CDOMStreamWriter;
 import org.apache.cxf.staxutils.transform.OutTransformWriter;
@@ -98,5 +102,39 @@ public class JAXRSBPNamespaceHandler extends BaseNamespaceHandler {
     public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
         this.blueprintContainer = blueprintContainer;
     }
+    
+    @NoJSR250Annotations
+    public static class BPJAXRSServerFactoryBean extends JAXRSServerFactoryBean {
+
+        private Server server;
+
+        public BPJAXRSServerFactoryBean() {
+            super();
+        }
+        public BPJAXRSServerFactoryBean(JAXRSServiceFactoryBean fact) {
+            super(fact);
+        }
+        public Server getServer() {
+            return server;
+        }
+
+        public void init() {
+            create();
+        }
+        @Override
+        public Server create() {
+            if (server == null) {
+                server = super.create();
+            }
+            return server;
+        }
+        public void destroy() {
+            if (server != null) {
+                server.destroy();
+                server = null;
+            }
+        }
+    }
+
 
 }
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
index a9d3612..bc08e0f 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/blueprint/JAXRSServerFactoryBeanDefinitionParser.java
@@ -30,10 +30,16 @@ import org.apache.aries.blueprint.ParserContext;
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
 import org.apache.aries.blueprint.mutable.MutableCollectionMetadata;
 import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
+<<<<<<< HEAD
 import org.apache.cxf.common.util.StringUtils;
+=======
+import org.apache.cxf.common.injection.NoJSR250Annotations;
+>>>>>>> c453a20... [CXF-8088]ensure jaxrs endpoint can work correctly when using a shared bus exposed from another bundle
 import org.apache.cxf.configuration.blueprint.SimpleBPBeanDefinitionParser;
+import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean;
 import org.apache.cxf.jaxrs.model.UserResource;
 import org.apache.cxf.jaxrs.utils.ResourceUtils;
 import org.osgi.service.blueprint.reflect.ComponentMetadata;
@@ -44,7 +50,11 @@ import org.osgi.service.blueprint.reflect.Metadata;
 public class JAXRSServerFactoryBeanDefinitionParser extends SimpleBPBeanDefinitionParser {
 
     public JAXRSServerFactoryBeanDefinitionParser() {
-        super(JAXRSServerFactoryBean.class);
+        this(BPJAXRSServerFactoryBean.class);
+    }
+    
+    public JAXRSServerFactoryBeanDefinitionParser(Class<?> cls) {
+        super(cls);
     }
     @Override
     protected void mapAttribute(MutableBeanMetadata bean,
@@ -134,8 +144,9 @@ public class JAXRSServerFactoryBeanDefinitionParser extends SimpleBPBeanDefiniti
     @Override
     public Metadata parse(Element element, ParserContext context) {
         MutableBeanMetadata bean = (MutableBeanMetadata)super.parse(element, context);
+       
         bean.setInitMethod("init");
-
+        bean.setDestroyMethod("destroy");
         // We don't really want to delay the registration of our Server
         bean.setActivation(ComponentMetadata.ACTIVATION_EAGER);
         return bean;
@@ -173,4 +184,38 @@ public class JAXRSServerFactoryBeanDefinitionParser extends SimpleBPBeanDefiniti
     private static String getResourceClassFromElement(Element e) {
         return e.getAttribute("name");
     }
+    
+    @NoJSR250Annotations
+    public static class BPJAXRSServerFactoryBean extends JAXRSServerFactoryBean {
+
+        private Server server;
+
+        public BPJAXRSServerFactoryBean() {
+            super();
+        }
+        public BPJAXRSServerFactoryBean(JAXRSServiceFactoryBean fact) {
+            super(fact);
+        }
+        public Server getServer() {
+            return server;
+        }
+
+        public void init() {
+            create();
+        }
+        @Override
+        public Server create() {
+            if (server == null) {
+                server = super.create();
+            }
+            return server;
+        }
+        public void destroy() {
+            if (server != null) {
+                server.destroy();
+                server = null;
+            }
+        }
+    }
+
 }
diff --git a/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/bus-extensions.txt b/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/bus-extensions.txt
new file mode 100644
index 0000000..86634fb
--- /dev/null
+++ b/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/bus-extensions.txt
@@ -0,0 +1 @@
+org.apache.cxf.jaxrs.JAXRSBindingFactory::true