You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/05/12 21:06:33 UTC

svn commit: r655602 - in /cxf/trunk: api/src/main/java/org/apache/cxf/service/model/BindingInfo.java rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java

Author: dkulp
Date: Mon May 12 12:06:32 2008
New Revision: 655602

URL: http://svn.apache.org/viewvc?rev=655602&view=rev
Log:
Fix more issues with wsdl first problems where binding operations have message names, but the portTypes don't (and thus should use defaults) 

Modified:
    cxf/trunk/api/src/main/java/org/apache/cxf/service/model/BindingInfo.java
    cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java

Modified: cxf/trunk/api/src/main/java/org/apache/cxf/service/model/BindingInfo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/BindingInfo.java?rev=655602&r1=655601&r2=655602&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/service/model/BindingInfo.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/service/model/BindingInfo.java Mon May 12 12:06:32 2008
@@ -64,19 +64,22 @@
         return name;
     }
     
-    private boolean nameEquals(String a, String b) {
+    private boolean nameEquals(String a, String b, String def) {
         if (a == null) {
             // in case of input/output itself is empty
             return true;
         } else {
+            if (b == null) {
+                b = def;
+            }
             return "".equals(a) ? "".equals(b) : a.equals(b);
         }
     }
     public BindingOperationInfo buildOperation(QName opName, String inName, String outName) {
         for (OperationInfo op : getInterface().getOperations()) {
             if (opName.equals(op.getName())
-                && nameEquals(inName, op.getInputName())
-                && nameEquals(outName, op.getOutputName())) {
+                && nameEquals(inName, op.getInputName(), op.getName().getLocalPart() + "Request")
+                && nameEquals(outName, op.getOutputName(), op.getName().getLocalPart() + "Response")) {
                 
                 return new BindingOperationInfo(this, op);
             }

Modified: cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java?rev=655602&r1=655601&r2=655602&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java (original)
+++ cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java Mon May 12 12:06:32 2008
@@ -19,7 +19,6 @@
 package org.apache.cxf.frontend;
 
 import java.lang.reflect.Method;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -46,7 +45,8 @@
         for (Method m : methods) {
             methodToOp.put(m, o);            
             
-            Map<BindingInfo, BindingOperationInfo> biToBop = new HashMap<BindingInfo, BindingOperationInfo>();
+            Map<BindingInfo, BindingOperationInfo> biToBop 
+                = new ConcurrentHashMap<BindingInfo, BindingOperationInfo>();
             infoMap.put(m, biToBop);
         }