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