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()); > }
