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: <[email protected]>
> 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: [email protected]
> 
> 
> 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());
>    }

Reply via email to