Author: djencks
Date: Fri Jun 25 14:58:53 2010
New Revision: 958001

URL: http://svn.apache.org/viewvc?rev=958001&view=rev
Log:
2 more files for fix of handler chain matching

Modified:
    
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClientHandlerResolverImpl.java
    
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HandlerChainMetaData.java

Modified: 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClientHandlerResolverImpl.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClientHandlerResolverImpl.java?rev=958001&r1=958000&r2=958001&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClientHandlerResolverImpl.java
 (original)
+++ 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClientHandlerResolverImpl.java
 Fri Jun 25 14:58:53 2010
@@ -85,11 +85,11 @@ public class ClientHandlerResolverImpl i
         return handlers;
     }
 
-    private boolean matchServiceName(PortInfo info, String namePattern) {
+    private boolean matchServiceName(PortInfo info, QName namePattern) {
         return match((info == null ? null : info.getServiceName()), 
namePattern);
     }
 
-    private boolean matchPortName(PortInfo info, String namePattern) {
+    private boolean matchPortName(PortInfo info, QName namePattern) {
         return match((info == null ? null : info.getPortName()), namePattern);
     }
 
@@ -119,23 +119,18 @@ public class ClientHandlerResolverImpl i
     }
 
     /**
-     * Performs basic localName matching, namespaces are not checked!
+     * Performs basic localName matching
      */
-    private boolean match(QName name, String namePattern) {
+    private boolean match(QName name, QName namePattern) {
         if (name == null) {
-            return (namePattern == null || namePattern.equals("*"));
+            return (namePattern == null || 
namePattern.getLocalPart().equals("*"));
         } else {
             if (namePattern == null) {
                 return true;
+            } else if (namePattern.getNamespaceURI() != null && 
!name.getNamespaceURI().equals(namePattern.getNamespaceURI())) {
+                return false;
             } else {
-                String localNamePattern;
-
-                // get the local name from pattern
-                int pos = namePattern.indexOf(':');
-                localNamePattern = (pos == -1) ? namePattern : namePattern
-                        .substring(pos + 1);
-                localNamePattern = localNamePattern.trim();
-
+                String localNamePattern = namePattern.getLocalPart();
                 if (localNamePattern.equals("*")) {
                     // matches anything
                     return true;

Modified: 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HandlerChainMetaData.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HandlerChainMetaData.java?rev=958001&r1=958000&r2=958001&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HandlerChainMetaData.java
 (original)
+++ 
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HandlerChainMetaData.java
 Fri Jun 25 14:58:53 2010
@@ -17,30 +17,31 @@
  */
 package org.apache.openejb.client;
 
+import javax.xml.namespace.QName;
 import java.util.List;
 import java.util.ArrayList;
 import java.io.Serializable;
 
 public class HandlerChainMetaData implements Serializable {
     private static final long serialVersionUID = -2861396042527297097L;
-    private String serviceNamePattern;
-    private String portNamePattern;
+    private QName serviceNamePattern;
+    private QName portNamePattern;
     private final List<String> protocolBindings = new ArrayList<String>();
     private final List<HandlerMetaData> handlers = new 
ArrayList<HandlerMetaData>();
 
-    public String getServiceNamePattern() {
+    public QName getServiceNamePattern() {
         return serviceNamePattern;
     }
 
-    public void setServiceNamePattern(String serviceNamePattern) {
+    public void setServiceNamePattern(QName serviceNamePattern) {
         this.serviceNamePattern = serviceNamePattern;
     }
 
-    public String getPortNamePattern() {
+    public QName getPortNamePattern() {
         return portNamePattern;
     }
 
-    public void setPortNamePattern(String portNamePattern) {
+    public void setPortNamePattern(QName portNamePattern) {
         this.portNamePattern = portNamePattern;
     }
 


Reply via email to