You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Thiago Veronezi <tv...@gmail.com> on 2010/06/25 14:42:57 UTC

Fwd: svn commit: r957768 - in /openejb/trunk/openejb3/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/config/ main/java/org/apache/openejb/core/webservices/ test/java/org/apache/openejb/core/we

Hi, David.
I think you forgot to commit the "HandlerChainMetaData.java" file. I'm
having a compile exception here.

     [exec]
C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[275,40]
setServiceNamePattern(java.lang.String) in
org.apache.openejb.client.HandlerChainMetaData cannot be applied to
(javax.xml.namespace.QName)
     [exec]
C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[276,40]
setPortNamePattern(java.lang.String) in
org.apache.openejb.client.HandlerChainMetaData cannot be applied to
(javax.xml.namespace.QName)

tkx,
Thiago.

---------- Forwarded message ----------
From: <dj...@apache.org>
Date: Thu, Jun 24, 2010 at 8:22 PM
Subject: svn commit: r957768 - in
/openejb/trunk/openejb3/container/openejb-core/src:
main/java/org/apache/openejb/assembler/classic/
main/java/org/apache/openejb/config/
main/java/org/apache/openejb/core/webservices/
test/java/org/apache/openejb/core/webservices/
To: commits@openejb.apache.org


Author: djencks
Date: Fri Jun 25 00:22:14 2010
New Revision: 957768

URL: http://svn.apache.org/viewvc?rev=957768&view=rev
Log:
fix handler chain matching

Modified:

 openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java

 openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java

 openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java

 openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java

 openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java

Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java?rev=957768&r1=957767&r2=957768&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
Fri Jun 25 00:22:14 2010
@@ -17,12 +17,13 @@
 */
 package org.apache.openejb.assembler.classic;

+import javax.xml.namespace.QName;
 import java.util.ArrayList;
 import java.util.List;

 public class HandlerChainInfo extends InfoObject {
-    public String serviceNamePattern;
-    public String portNamePattern;
+    public QName serviceNamePattern;
+    public QName portNamePattern;
    public final List<String> protocolBindings = new ArrayList<String>();
    public final List<HandlerInfo> handlers = new ArrayList<HandlerInfo>();
 }

Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=957768&r1=957767&r2=957768&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Fri Jun 25 00:22:14 2010
@@ -218,8 +218,8 @@ public class ConfigurationFactory implem

        for (HandlerChain handlerChain : chains.getHandlerChain()) {
            HandlerChainInfo handlerChainInfo = new HandlerChainInfo();
-            handlerChainInfo.serviceNamePattern =
handlerChain.getServiceNamePattern().toString();
-            handlerChainInfo.portNamePattern =
handlerChain.getPortNamePattern().toString();
+            handlerChainInfo.serviceNamePattern =
handlerChain.getServiceNamePattern();
+            handlerChainInfo.portNamePattern =
handlerChain.getPortNamePattern();

handlerChainInfo.protocolBindings.addAll(handlerChain.getProtocolBindings());
            for (Handler handler : handlerChain.getHandler()) {
                HandlerInfo handlerInfo = new HandlerInfo();

Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java?rev=957768&r1=957767&r2=957768&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
Fri Jun 25 00:22:14 2010
@@ -17,27 +17,28 @@
 */
 package org.apache.openejb.core.webservices;

+import javax.xml.namespace.QName;
 import java.util.ArrayList;
 import java.util.List;

 public class HandlerChainData {
-    private final String serviceNamePattern;
-    private final String portNamePattern;
+    private final QName serviceNamePattern;
+    private final QName portNamePattern;
    private final List<String> protocolBindings = new ArrayList<String>();
    private final List<HandlerData> handlers = new ArrayList<HandlerData>();

-    public HandlerChainData(String serviceNamePattern, String
portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
{
+    public HandlerChainData(QName serviceNamePattern, QName
portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
{
        this.serviceNamePattern = serviceNamePattern;
        this.portNamePattern = portNamePattern;
        this.protocolBindings.addAll(protocolBindings);
        this.handlers.addAll(handlers);
    }

-    public String getServiceNamePattern() {
+    public QName getServiceNamePattern() {
        return serviceNamePattern;
    }

-    public String getPortNamePattern() {
+    public QName getPortNamePattern() {
        return portNamePattern;
    }


Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java?rev=957768&r1=957767&r2=957768&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
Fri Jun 25 00:22:14 2010
@@ -93,11 +93,11 @@ public class HandlerResolverImpl impleme
        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);
    }

@@ -127,23 +127,18 @@ public class HandlerResolverImpl impleme
    }

    /**
-     * 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/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java?rev=957768&r1=957767&r2=957768&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
Fri Jun 25 00:22:14 2010
@@ -65,19 +65,19 @@ public class HandlerResolverImplTest ext
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
null));
        assertEquals(0, handlers.size());

-        QName serviceName1 = new QName("http://foo", "Bar");
+        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
"Bar");
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
serviceName1));
        assertEquals(1, handlers.size());

-        QName serviceName2 = new QName("http://foo", "Foo");
+        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
"Foo");
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
serviceName2));
        assertEquals(2, handlers.size());

-        QName serviceName3 = new QName("http://foo", "FooBar");
+        QName serviceName3 = new QName("http://java.sun.com/xml/ns/javaee",
"FooBar");
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
serviceName3));
        assertEquals(1, handlers.size());

-        QName serviceName4 = new QName("http://foo", "BarFoo");
+        QName serviceName4 = new QName("http://java.sun.com/xml/ns/javaee",
"BarFoo");
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
serviceName4));
        assertEquals(0, handlers.size());
    }
@@ -118,19 +118,19 @@ public class HandlerResolverImplTest ext
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
null));
        assertEquals(0, handlers.size());

-        QName portName1 = new QName("http://foo", "Bar");
+        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
"Bar");
        handlers = resolver.getHandlerChain(new TestPortInfo(null,
portName1, null));
        assertEquals(1, handlers.size());

-        QName portName2 = new QName("http://foo", "Foo");
+        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
"Foo");
        handlers = resolver.getHandlerChain(new TestPortInfo(null,
portName2, null));
        assertEquals(2, handlers.size());

-        QName portName3 = new QName("http://foo", "FooBar");
+        QName portName3 = new QName("http://java.sun.com/xml/ns/javaee",
"FooBar");
        handlers = resolver.getHandlerChain(new TestPortInfo(null,
portName3, null));
        assertEquals(1, handlers.size());

-        QName portName4 = new QName("http://foo", "BarFoo");
+        QName portName4 = new QName("http://java.sun.com/xml/ns/javaee",
"BarFoo");
        handlers = resolver.getHandlerChain(new TestPortInfo(null,
portName4, null));
        assertEquals(0, handlers.size());
    }
@@ -148,8 +148,8 @@ public class HandlerResolverImplTest ext
        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
null));
        assertEquals(0, handlers.size());

-        QName serviceName1 = new QName("http:/foo", "Bar");
-        QName portName1 = new QName("http://foo", "FooBar");
+        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
"Bar");
+        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
"FooBar");
        String binding1 = "##XML_HTTP";
        handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
portName1, serviceName1));
        assertEquals(3, handlers.size());
@@ -158,8 +158,8 @@ public class HandlerResolverImplTest ext
        handlers = resolver.getHandlerChain(new TestPortInfo(binding2,
portName1, serviceName1));
        assertEquals(2, handlers.size());

-        QName serviceName2 = new QName("http://foo", "Baaz");
-        QName portName2 = new QName("http://foo", "Baaz");
+        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
"Baaz");
+        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
"Baaz");
        handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
portName2, serviceName2));
        assertEquals(1, handlers.size());
    }

Re: svn commit: r957768 - in /openejb/trunk/openejb3/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/config/ main/java/org/apache/openejb/core/webservices/ test/java/org/apache/openejb/core/we

Posted by Thiago Veronezi <tv...@gmail.com>.
Wow, I've never heard about this Git guy. :O)
Its, good to know. tkx,
Thiago.


On Fri, Jun 25, 2010 at 4:42 PM, David Blevins <da...@visi.com>wrote:

>
> On Jun 25, 2010, at 8:00 AM, David Jencks wrote:
>
> > Thanks!  fixed in rev 958001
> >
> > sorry....
>
> Just did the same yesterday ....
>
> Once again I ask myself why-oh-why does svn not have an svn-aware patch
> command!  I guess that's why people like Git.
>
>
> -David
>
> >
> > On Jun 25, 2010, at 5:42 AM, Thiago Veronezi wrote:
> >
> >> Hi, David.
> >> I think you forgot to commit the "HandlerChainMetaData.java" file. I'm
> >> having a compile exception here.
> >>
> >>    [exec]
> >>
> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[275,40]
> >> setServiceNamePattern(java.lang.String) in
> >> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
> >> (javax.xml.namespace.QName)
> >>    [exec]
> >>
> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[276,40]
> >> setPortNamePattern(java.lang.String) in
> >> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
> >> (javax.xml.namespace.QName)
> >>
> >> tkx,
> >> Thiago.
> >>
> >> ---------- Forwarded message ----------
> >> From: <dj...@apache.org>
> >> Date: Thu, Jun 24, 2010 at 8:22 PM
> >> Subject: svn commit: r957768 - in
> >> /openejb/trunk/openejb3/container/openejb-core/src:
> >> main/java/org/apache/openejb/assembler/classic/
> >> main/java/org/apache/openejb/config/
> >> main/java/org/apache/openejb/core/webservices/
> >> test/java/org/apache/openejb/core/webservices/
> >> To: commits@openejb.apache.org
> >>
> >>
> >> Author: djencks
> >> Date: Fri Jun 25 00:22:14 2010
> >> New Revision: 957768
> >>
> >> URL: http://svn.apache.org/viewvc?rev=957768&view=rev
> >> Log:
> >> fix handler chain matching
> >>
> >> Modified:
> >>
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> >>
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> >>
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> >>
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> >>
> >>
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> >>
> >> Modified:
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java?rev=957768&r1=957767&r2=957768&view=diff
> >>
> ==============================================================================
> >> ---
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> >> (original)
> >> +++
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> >> Fri Jun 25 00:22:14 2010
> >> @@ -17,12 +17,13 @@
> >> */
> >> package org.apache.openejb.assembler.classic;
> >>
> >> +import javax.xml.namespace.QName;
> >> import java.util.ArrayList;
> >> import java.util.List;
> >>
> >> public class HandlerChainInfo extends InfoObject {
> >> -    public String serviceNamePattern;
> >> -    public String portNamePattern;
> >> +    public QName serviceNamePattern;
> >> +    public QName portNamePattern;
> >>   public final List<String> protocolBindings = new ArrayList<String>();
> >>   public final List<HandlerInfo> handlers = new
> ArrayList<HandlerInfo>();
> >> }
> >>
> >> Modified:
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=957768&r1=957767&r2=957768&view=diff
> >>
> ==============================================================================
> >> ---
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> >> (original)
> >> +++
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> >> Fri Jun 25 00:22:14 2010
> >> @@ -218,8 +218,8 @@ public class ConfigurationFactory implem
> >>
> >>       for (HandlerChain handlerChain : chains.getHandlerChain()) {
> >>           HandlerChainInfo handlerChainInfo = new HandlerChainInfo();
> >> -            handlerChainInfo.serviceNamePattern =
> >> handlerChain.getServiceNamePattern().toString();
> >> -            handlerChainInfo.portNamePattern =
> >> handlerChain.getPortNamePattern().toString();
> >> +            handlerChainInfo.serviceNamePattern =
> >> handlerChain.getServiceNamePattern();
> >> +            handlerChainInfo.portNamePattern =
> >> handlerChain.getPortNamePattern();
> >>
> >>
> handlerChainInfo.protocolBindings.addAll(handlerChain.getProtocolBindings());
> >>           for (Handler handler : handlerChain.getHandler()) {
> >>               HandlerInfo handlerInfo = new HandlerInfo();
> >>
> >> Modified:
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java?rev=957768&r1=957767&r2=957768&view=diff
> >>
> ==============================================================================
> >> ---
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> >> (original)
> >> +++
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> >> Fri Jun 25 00:22:14 2010
> >> @@ -17,27 +17,28 @@
> >> */
> >> package org.apache.openejb.core.webservices;
> >>
> >> +import javax.xml.namespace.QName;
> >> import java.util.ArrayList;
> >> import java.util.List;
> >>
> >> public class HandlerChainData {
> >> -    private final String serviceNamePattern;
> >> -    private final String portNamePattern;
> >> +    private final QName serviceNamePattern;
> >> +    private final QName portNamePattern;
> >>   private final List<String> protocolBindings = new ArrayList<String>();
> >>   private final List<HandlerData> handlers = new
> ArrayList<HandlerData>();
> >>
> >> -    public HandlerChainData(String serviceNamePattern, String
> >> portNamePattern, List<String> protocolBindings, List<HandlerData>
> handlers)
> >> {
> >> +    public HandlerChainData(QName serviceNamePattern, QName
> >> portNamePattern, List<String> protocolBindings, List<HandlerData>
> handlers)
> >> {
> >>       this.serviceNamePattern = serviceNamePattern;
> >>       this.portNamePattern = portNamePattern;
> >>       this.protocolBindings.addAll(protocolBindings);
> >>       this.handlers.addAll(handlers);
> >>   }
> >>
> >> -    public String getServiceNamePattern() {
> >> +    public QName getServiceNamePattern() {
> >>       return serviceNamePattern;
> >>   }
> >>
> >> -    public String getPortNamePattern() {
> >> +    public QName getPortNamePattern() {
> >>       return portNamePattern;
> >>   }
> >>
> >>
> >> Modified:
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java?rev=957768&r1=957767&r2=957768&view=diff
> >>
> ==============================================================================
> >> ---
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> >> (original)
> >> +++
> >>
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> >> Fri Jun 25 00:22:14 2010
> >> @@ -93,11 +93,11 @@ public class HandlerResolverImpl impleme
> >>       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);
> >>   }
> >>
> >> @@ -127,23 +127,18 @@ public class HandlerResolverImpl impleme
> >>   }
> >>
> >>   /**
> >> -     * 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/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java?rev=957768&r1=957767&r2=957768&view=diff
> >>
> ==============================================================================
> >> ---
> >>
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> >> (original)
> >> +++
> >>
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> >> Fri Jun 25 00:22:14 2010
> >> @@ -65,19 +65,19 @@ public class HandlerResolverImplTest ext
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> null));
> >>       assertEquals(0, handlers.size());
> >>
> >> -        QName serviceName1 = new QName("http://foo", "Bar");
> >> +        QName serviceName1 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "Bar");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> serviceName1));
> >>       assertEquals(1, handlers.size());
> >>
> >> -        QName serviceName2 = new QName("http://foo", "Foo");
> >> +        QName serviceName2 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "Foo");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> serviceName2));
> >>       assertEquals(2, handlers.size());
> >>
> >> -        QName serviceName3 = new QName("http://foo", "FooBar");
> >> +        QName serviceName3 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "FooBar");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> serviceName3));
> >>       assertEquals(1, handlers.size());
> >>
> >> -        QName serviceName4 = new QName("http://foo", "BarFoo");
> >> +        QName serviceName4 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "BarFoo");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> serviceName4));
> >>       assertEquals(0, handlers.size());
> >>   }
> >> @@ -118,19 +118,19 @@ public class HandlerResolverImplTest ext
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> null));
> >>       assertEquals(0, handlers.size());
> >>
> >> -        QName portName1 = new QName("http://foo", "Bar");
> >> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "Bar");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
> >> portName1, null));
> >>       assertEquals(1, handlers.size());
> >>
> >> -        QName portName2 = new QName("http://foo", "Foo");
> >> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "Foo");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
> >> portName2, null));
> >>       assertEquals(2, handlers.size());
> >>
> >> -        QName portName3 = new QName("http://foo", "FooBar");
> >> +        QName portName3 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "FooBar");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
> >> portName3, null));
> >>       assertEquals(1, handlers.size());
> >>
> >> -        QName portName4 = new QName("http://foo", "BarFoo");
> >> +        QName portName4 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "BarFoo");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
> >> portName4, null));
> >>       assertEquals(0, handlers.size());
> >>   }
> >> @@ -148,8 +148,8 @@ public class HandlerResolverImplTest ext
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> >> null));
> >>       assertEquals(0, handlers.size());
> >>
> >> -        QName serviceName1 = new QName("http:/foo", "Bar");
> >> -        QName portName1 = new QName("http://foo", "FooBar");
> >> +        QName serviceName1 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "Bar");
> >> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "FooBar");
> >>       String binding1 = "##XML_HTTP";
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
> >> portName1, serviceName1));
> >>       assertEquals(3, handlers.size());
> >> @@ -158,8 +158,8 @@ public class HandlerResolverImplTest ext
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(binding2,
> >> portName1, serviceName1));
> >>       assertEquals(2, handlers.size());
> >>
> >> -        QName serviceName2 = new QName("http://foo", "Baaz");
> >> -        QName portName2 = new QName("http://foo", "Baaz");
> >> +        QName serviceName2 = new QName("
> http://java.sun.com/xml/ns/javaee",
> >> "Baaz");
> >> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee
> ",
> >> "Baaz");
> >>       handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
> >> portName2, serviceName2));
> >>       assertEquals(1, handlers.size());
> >>   }
> >
> >
>
>

Re: svn commit: r957768 - in /openejb/trunk/openejb3/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/config/ main/java/org/apache/openejb/core/webservices/ test/java/org/apache/openejb/core/we

Posted by David Blevins <da...@visi.com>.
On Jun 25, 2010, at 8:00 AM, David Jencks wrote:

> Thanks!  fixed in rev 958001
> 
> sorry....

Just did the same yesterday ....

Once again I ask myself why-oh-why does svn not have an svn-aware patch command!  I guess that's why people like Git.


-David

> 
> On Jun 25, 2010, at 5:42 AM, Thiago Veronezi wrote:
> 
>> Hi, David.
>> I think you forgot to commit the "HandlerChainMetaData.java" file. I'm
>> having a compile exception here.
>> 
>>    [exec]
>> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[275,40]
>> setServiceNamePattern(java.lang.String) in
>> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
>> (javax.xml.namespace.QName)
>>    [exec]
>> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[276,40]
>> setPortNamePattern(java.lang.String) in
>> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
>> (javax.xml.namespace.QName)
>> 
>> tkx,
>> Thiago.
>> 
>> ---------- Forwarded message ----------
>> From: <dj...@apache.org>
>> Date: Thu, Jun 24, 2010 at 8:22 PM
>> Subject: svn commit: r957768 - in
>> /openejb/trunk/openejb3/container/openejb-core/src:
>> main/java/org/apache/openejb/assembler/classic/
>> main/java/org/apache/openejb/config/
>> main/java/org/apache/openejb/core/webservices/
>> test/java/org/apache/openejb/core/webservices/
>> To: commits@openejb.apache.org
>> 
>> 
>> Author: djencks
>> Date: Fri Jun 25 00:22:14 2010
>> New Revision: 957768
>> 
>> URL: http://svn.apache.org/viewvc?rev=957768&view=rev
>> Log:
>> fix handler chain matching
>> 
>> Modified:
>> 
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
>> 
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
>> 
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
>> 
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
>> 
>> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
>> 
>> Modified:
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java?rev=957768&r1=957767&r2=957768&view=diff
>> ==============================================================================
>> ---
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
>> (original)
>> +++
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
>> Fri Jun 25 00:22:14 2010
>> @@ -17,12 +17,13 @@
>> */
>> package org.apache.openejb.assembler.classic;
>> 
>> +import javax.xml.namespace.QName;
>> import java.util.ArrayList;
>> import java.util.List;
>> 
>> public class HandlerChainInfo extends InfoObject {
>> -    public String serviceNamePattern;
>> -    public String portNamePattern;
>> +    public QName serviceNamePattern;
>> +    public QName portNamePattern;
>>   public final List<String> protocolBindings = new ArrayList<String>();
>>   public final List<HandlerInfo> handlers = new ArrayList<HandlerInfo>();
>> }
>> 
>> Modified:
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=957768&r1=957767&r2=957768&view=diff
>> ==============================================================================
>> ---
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
>> (original)
>> +++
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
>> Fri Jun 25 00:22:14 2010
>> @@ -218,8 +218,8 @@ public class ConfigurationFactory implem
>> 
>>       for (HandlerChain handlerChain : chains.getHandlerChain()) {
>>           HandlerChainInfo handlerChainInfo = new HandlerChainInfo();
>> -            handlerChainInfo.serviceNamePattern =
>> handlerChain.getServiceNamePattern().toString();
>> -            handlerChainInfo.portNamePattern =
>> handlerChain.getPortNamePattern().toString();
>> +            handlerChainInfo.serviceNamePattern =
>> handlerChain.getServiceNamePattern();
>> +            handlerChainInfo.portNamePattern =
>> handlerChain.getPortNamePattern();
>> 
>> handlerChainInfo.protocolBindings.addAll(handlerChain.getProtocolBindings());
>>           for (Handler handler : handlerChain.getHandler()) {
>>               HandlerInfo handlerInfo = new HandlerInfo();
>> 
>> Modified:
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java?rev=957768&r1=957767&r2=957768&view=diff
>> ==============================================================================
>> ---
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
>> (original)
>> +++
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
>> Fri Jun 25 00:22:14 2010
>> @@ -17,27 +17,28 @@
>> */
>> package org.apache.openejb.core.webservices;
>> 
>> +import javax.xml.namespace.QName;
>> import java.util.ArrayList;
>> import java.util.List;
>> 
>> public class HandlerChainData {
>> -    private final String serviceNamePattern;
>> -    private final String portNamePattern;
>> +    private final QName serviceNamePattern;
>> +    private final QName portNamePattern;
>>   private final List<String> protocolBindings = new ArrayList<String>();
>>   private final List<HandlerData> handlers = new ArrayList<HandlerData>();
>> 
>> -    public HandlerChainData(String serviceNamePattern, String
>> portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
>> {
>> +    public HandlerChainData(QName serviceNamePattern, QName
>> portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
>> {
>>       this.serviceNamePattern = serviceNamePattern;
>>       this.portNamePattern = portNamePattern;
>>       this.protocolBindings.addAll(protocolBindings);
>>       this.handlers.addAll(handlers);
>>   }
>> 
>> -    public String getServiceNamePattern() {
>> +    public QName getServiceNamePattern() {
>>       return serviceNamePattern;
>>   }
>> 
>> -    public String getPortNamePattern() {
>> +    public QName getPortNamePattern() {
>>       return portNamePattern;
>>   }
>> 
>> 
>> Modified:
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java?rev=957768&r1=957767&r2=957768&view=diff
>> ==============================================================================
>> ---
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
>> (original)
>> +++
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
>> Fri Jun 25 00:22:14 2010
>> @@ -93,11 +93,11 @@ public class HandlerResolverImpl impleme
>>       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);
>>   }
>> 
>> @@ -127,23 +127,18 @@ public class HandlerResolverImpl impleme
>>   }
>> 
>>   /**
>> -     * 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/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
>> URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java?rev=957768&r1=957767&r2=957768&view=diff
>> ==============================================================================
>> ---
>> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
>> (original)
>> +++
>> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
>> Fri Jun 25 00:22:14 2010
>> @@ -65,19 +65,19 @@ public class HandlerResolverImplTest ext
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> null));
>>       assertEquals(0, handlers.size());
>> 
>> -        QName serviceName1 = new QName("http://foo", "Bar");
>> +        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Bar");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> serviceName1));
>>       assertEquals(1, handlers.size());
>> 
>> -        QName serviceName2 = new QName("http://foo", "Foo");
>> +        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Foo");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> serviceName2));
>>       assertEquals(2, handlers.size());
>> 
>> -        QName serviceName3 = new QName("http://foo", "FooBar");
>> +        QName serviceName3 = new QName("http://java.sun.com/xml/ns/javaee",
>> "FooBar");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> serviceName3));
>>       assertEquals(1, handlers.size());
>> 
>> -        QName serviceName4 = new QName("http://foo", "BarFoo");
>> +        QName serviceName4 = new QName("http://java.sun.com/xml/ns/javaee",
>> "BarFoo");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> serviceName4));
>>       assertEquals(0, handlers.size());
>>   }
>> @@ -118,19 +118,19 @@ public class HandlerResolverImplTest ext
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> null));
>>       assertEquals(0, handlers.size());
>> 
>> -        QName portName1 = new QName("http://foo", "Bar");
>> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Bar");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
>> portName1, null));
>>       assertEquals(1, handlers.size());
>> 
>> -        QName portName2 = new QName("http://foo", "Foo");
>> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Foo");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
>> portName2, null));
>>       assertEquals(2, handlers.size());
>> 
>> -        QName portName3 = new QName("http://foo", "FooBar");
>> +        QName portName3 = new QName("http://java.sun.com/xml/ns/javaee",
>> "FooBar");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
>> portName3, null));
>>       assertEquals(1, handlers.size());
>> 
>> -        QName portName4 = new QName("http://foo", "BarFoo");
>> +        QName portName4 = new QName("http://java.sun.com/xml/ns/javaee",
>> "BarFoo");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null,
>> portName4, null));
>>       assertEquals(0, handlers.size());
>>   }
>> @@ -148,8 +148,8 @@ public class HandlerResolverImplTest ext
>>       handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
>> null));
>>       assertEquals(0, handlers.size());
>> 
>> -        QName serviceName1 = new QName("http:/foo", "Bar");
>> -        QName portName1 = new QName("http://foo", "FooBar");
>> +        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Bar");
>> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
>> "FooBar");
>>       String binding1 = "##XML_HTTP";
>>       handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
>> portName1, serviceName1));
>>       assertEquals(3, handlers.size());
>> @@ -158,8 +158,8 @@ public class HandlerResolverImplTest ext
>>       handlers = resolver.getHandlerChain(new TestPortInfo(binding2,
>> portName1, serviceName1));
>>       assertEquals(2, handlers.size());
>> 
>> -        QName serviceName2 = new QName("http://foo", "Baaz");
>> -        QName portName2 = new QName("http://foo", "Baaz");
>> +        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Baaz");
>> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
>> "Baaz");
>>       handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
>> portName2, serviceName2));
>>       assertEquals(1, handlers.size());
>>   }
> 
> 


Re: svn commit: r957768 - in /openejb/trunk/openejb3/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/config/ main/java/org/apache/openejb/core/webservices/ test/java/org/apache/openejb/core/we

Posted by David Jencks <da...@yahoo.com>.
Thanks!  fixed in rev 958001

sorry....
david jencks

On Jun 25, 2010, at 5:42 AM, Thiago Veronezi wrote:

> Hi, David.
> I think you forgot to commit the "HandlerChainMetaData.java" file. I'm
> having a compile exception here.
> 
>     [exec]
> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[275,40]
> setServiceNamePattern(java.lang.String) in
> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
> (javax.xml.namespace.QName)
>     [exec]
> C:\dev\ws_illumi3\openejb3\server\openejb-ejbd\src\main\java\org\apache\openejb\server\ejbd\JndiRequestHandler.java:[276,40]
> setPortNamePattern(java.lang.String) in
> org.apache.openejb.client.HandlerChainMetaData cannot be applied to
> (javax.xml.namespace.QName)
> 
> tkx,
> Thiago.
> 
> ---------- Forwarded message ----------
> From: <dj...@apache.org>
> Date: Thu, Jun 24, 2010 at 8:22 PM
> Subject: svn commit: r957768 - in
> /openejb/trunk/openejb3/container/openejb-core/src:
> main/java/org/apache/openejb/assembler/classic/
> main/java/org/apache/openejb/config/
> main/java/org/apache/openejb/core/webservices/
> test/java/org/apache/openejb/core/webservices/
> To: commits@openejb.apache.org
> 
> 
> Author: djencks
> Date: Fri Jun 25 00:22:14 2010
> New Revision: 957768
> 
> URL: http://svn.apache.org/viewvc?rev=957768&view=rev
> Log:
> fix handler chain matching
> 
> Modified:
> 
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> 
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> 
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> 
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> 
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> 
> Modified:
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java?rev=957768&r1=957767&r2=957768&view=diff
> ==============================================================================
> ---
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> (original)
> +++
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/HandlerChainInfo.java
> Fri Jun 25 00:22:14 2010
> @@ -17,12 +17,13 @@
> */
> package org.apache.openejb.assembler.classic;
> 
> +import javax.xml.namespace.QName;
> import java.util.ArrayList;
> import java.util.List;
> 
> public class HandlerChainInfo extends InfoObject {
> -    public String serviceNamePattern;
> -    public String portNamePattern;
> +    public QName serviceNamePattern;
> +    public QName portNamePattern;
>    public final List<String> protocolBindings = new ArrayList<String>();
>    public final List<HandlerInfo> handlers = new ArrayList<HandlerInfo>();
> }
> 
> Modified:
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=957768&r1=957767&r2=957768&view=diff
> ==============================================================================
> ---
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> (original)
> +++
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
> Fri Jun 25 00:22:14 2010
> @@ -218,8 +218,8 @@ public class ConfigurationFactory implem
> 
>        for (HandlerChain handlerChain : chains.getHandlerChain()) {
>            HandlerChainInfo handlerChainInfo = new HandlerChainInfo();
> -            handlerChainInfo.serviceNamePattern =
> handlerChain.getServiceNamePattern().toString();
> -            handlerChainInfo.portNamePattern =
> handlerChain.getPortNamePattern().toString();
> +            handlerChainInfo.serviceNamePattern =
> handlerChain.getServiceNamePattern();
> +            handlerChainInfo.portNamePattern =
> handlerChain.getPortNamePattern();
> 
> handlerChainInfo.protocolBindings.addAll(handlerChain.getProtocolBindings());
>            for (Handler handler : handlerChain.getHandler()) {
>                HandlerInfo handlerInfo = new HandlerInfo();
> 
> Modified:
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java?rev=957768&r1=957767&r2=957768&view=diff
> ==============================================================================
> ---
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> (original)
> +++
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerChainData.java
> Fri Jun 25 00:22:14 2010
> @@ -17,27 +17,28 @@
> */
> package org.apache.openejb.core.webservices;
> 
> +import javax.xml.namespace.QName;
> import java.util.ArrayList;
> import java.util.List;
> 
> public class HandlerChainData {
> -    private final String serviceNamePattern;
> -    private final String portNamePattern;
> +    private final QName serviceNamePattern;
> +    private final QName portNamePattern;
>    private final List<String> protocolBindings = new ArrayList<String>();
>    private final List<HandlerData> handlers = new ArrayList<HandlerData>();
> 
> -    public HandlerChainData(String serviceNamePattern, String
> portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
> {
> +    public HandlerChainData(QName serviceNamePattern, QName
> portNamePattern, List<String> protocolBindings, List<HandlerData> handlers)
> {
>        this.serviceNamePattern = serviceNamePattern;
>        this.portNamePattern = portNamePattern;
>        this.protocolBindings.addAll(protocolBindings);
>        this.handlers.addAll(handlers);
>    }
> 
> -    public String getServiceNamePattern() {
> +    public QName getServiceNamePattern() {
>        return serviceNamePattern;
>    }
> 
> -    public String getPortNamePattern() {
> +    public QName getPortNamePattern() {
>        return portNamePattern;
>    }
> 
> 
> Modified:
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java?rev=957768&r1=957767&r2=957768&view=diff
> ==============================================================================
> ---
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> (original)
> +++
> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/HandlerResolverImpl.java
> Fri Jun 25 00:22:14 2010
> @@ -93,11 +93,11 @@ public class HandlerResolverImpl impleme
>        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);
>    }
> 
> @@ -127,23 +127,18 @@ public class HandlerResolverImpl impleme
>    }
> 
>    /**
> -     * 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/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> URL:
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java?rev=957768&r1=957767&r2=957768&view=diff
> ==============================================================================
> ---
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> (original)
> +++
> openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/webservices/HandlerResolverImplTest.java
> Fri Jun 25 00:22:14 2010
> @@ -65,19 +65,19 @@ public class HandlerResolverImplTest ext
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> null));
>        assertEquals(0, handlers.size());
> 
> -        QName serviceName1 = new QName("http://foo", "Bar");
> +        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
> "Bar");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> serviceName1));
>        assertEquals(1, handlers.size());
> 
> -        QName serviceName2 = new QName("http://foo", "Foo");
> +        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
> "Foo");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> serviceName2));
>        assertEquals(2, handlers.size());
> 
> -        QName serviceName3 = new QName("http://foo", "FooBar");
> +        QName serviceName3 = new QName("http://java.sun.com/xml/ns/javaee",
> "FooBar");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> serviceName3));
>        assertEquals(1, handlers.size());
> 
> -        QName serviceName4 = new QName("http://foo", "BarFoo");
> +        QName serviceName4 = new QName("http://java.sun.com/xml/ns/javaee",
> "BarFoo");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> serviceName4));
>        assertEquals(0, handlers.size());
>    }
> @@ -118,19 +118,19 @@ public class HandlerResolverImplTest ext
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> null));
>        assertEquals(0, handlers.size());
> 
> -        QName portName1 = new QName("http://foo", "Bar");
> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
> "Bar");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null,
> portName1, null));
>        assertEquals(1, handlers.size());
> 
> -        QName portName2 = new QName("http://foo", "Foo");
> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
> "Foo");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null,
> portName2, null));
>        assertEquals(2, handlers.size());
> 
> -        QName portName3 = new QName("http://foo", "FooBar");
> +        QName portName3 = new QName("http://java.sun.com/xml/ns/javaee",
> "FooBar");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null,
> portName3, null));
>        assertEquals(1, handlers.size());
> 
> -        QName portName4 = new QName("http://foo", "BarFoo");
> +        QName portName4 = new QName("http://java.sun.com/xml/ns/javaee",
> "BarFoo");
>        handlers = resolver.getHandlerChain(new TestPortInfo(null,
> portName4, null));
>        assertEquals(0, handlers.size());
>    }
> @@ -148,8 +148,8 @@ public class HandlerResolverImplTest ext
>        handlers = resolver.getHandlerChain(new TestPortInfo(null, null,
> null));
>        assertEquals(0, handlers.size());
> 
> -        QName serviceName1 = new QName("http:/foo", "Bar");
> -        QName portName1 = new QName("http://foo", "FooBar");
> +        QName serviceName1 = new QName("http://java.sun.com/xml/ns/javaee",
> "Bar");
> +        QName portName1 = new QName("http://java.sun.com/xml/ns/javaee",
> "FooBar");
>        String binding1 = "##XML_HTTP";
>        handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
> portName1, serviceName1));
>        assertEquals(3, handlers.size());
> @@ -158,8 +158,8 @@ public class HandlerResolverImplTest ext
>        handlers = resolver.getHandlerChain(new TestPortInfo(binding2,
> portName1, serviceName1));
>        assertEquals(2, handlers.size());
> 
> -        QName serviceName2 = new QName("http://foo", "Baaz");
> -        QName portName2 = new QName("http://foo", "Baaz");
> +        QName serviceName2 = new QName("http://java.sun.com/xml/ns/javaee",
> "Baaz");
> +        QName portName2 = new QName("http://java.sun.com/xml/ns/javaee",
> "Baaz");
>        handlers = resolver.getHandlerChain(new TestPortInfo(binding1,
> portName2, serviceName2));
>        assertEquals(1, handlers.size());
>    }