Repository: cxf-dosgi
Updated Branches:
  refs/heads/master b193d0bdb -> a109b28fa


[DOSGI-209] Copy SoapBindingConfig intents


Project: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/commit/a109b28f
Tree: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/tree/a109b28f
Diff: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/diff/a109b28f

Branch: refs/heads/master
Commit: a109b28facacc3f61ec37a84fd1b3a449e20deb6
Parents: b193d0b
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Sep 14 15:35:00 2016 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Sep 14 15:35:00 2016 +0200

----------------------------------------------------------------------
 .../cxf/dosgi/dsw/handlers/ws/WsProvider.java   | 22 +++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/a109b28f/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
----------------------------------------------------------------------
diff --git 
a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
 
b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
index bd1b541..3958c8b 100644
--- 
a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
+++ 
b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
@@ -127,12 +127,32 @@ public class WsProvider implements DistributionProvider {
         if (dataBinding != null) {
             factory.setDataBinding(dataBinding);
         }
-        BindingConfiguration binding = 
intentManager.getIntent(BindingConfiguration.class, intents);
+        BindingConfiguration binding = 
copy(intentManager.getIntent(BindingConfiguration.class, intents));
+        
         if (binding != null) {
             factory.setBindingConfig(binding);
         }
     }
 
+    private BindingConfiguration copy(BindingConfiguration bindingCfg) {
+        return bindingCfg instanceof SoapBindingConfiguration 
+            ? copy((SoapBindingConfiguration)bindingCfg) : bindingCfg;
+    }
+
+    private SoapBindingConfiguration copy(SoapBindingConfiguration intent) {
+        SoapBindingConfiguration bindingCfg = new SoapBindingConfiguration();
+        bindingCfg.setVersion(intent.getVersion());
+        bindingCfg.setTransportURI(intent.getTransportURI());
+        bindingCfg.setUse(intent.getUse());
+        if (intent.isSetStyle()) {
+            bindingCfg.setStyle(intent.getStyle());
+        }
+        bindingCfg.setMtomEnabled(intent.isMtomEnabled());
+        bindingCfg.setBindingName(intent.getBindingName());
+        bindingCfg.setBindingNamePostfix(intent.getBindingNamePostfix());
+        return bindingCfg;
+    }
+
     @SuppressWarnings("rawtypes")
     public Endpoint exportService(Object serviceO,
                                   BundleContext serviceContext,

Reply via email to