Author: dkulp Date: Mon Jan 19 12:46:50 2009 New Revision: 735802 URL: http://svn.apache.org/viewvc?rev=735802&view=rev Log: Merged revisions 727797 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.1.x-fixes
................ r727797 | dkulp | 2008-12-18 14:23:09 -0500 (Thu, 18 Dec 2008) | 9 lines Merged revisions 727692 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r727692 | seanoc | 2008-12-18 05:44:17 -0500 (Thu, 18 Dec 2008) | 1 line Removed thread unsafe NodeLists. ........ ................ Modified: cxf/branches/2.0.x-fixes/ (props changed) cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java cxf/branches/2.0.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Jan 19 12:46:50 2009 @@ -1,3 +1,3 @@ -/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464-687465,689109,689112,689122,691316,691357,691491,691711,691715,691745,692162-692163,692468,692500,694466-694469,694472,694717,694748-694749,694870,695503,695509,695553,695555,695563,695875-695877,695940,695980,696436,696455,696721,697086,698129,701526,701634,702275,702443,702527,702582,702604,702610,702642-702643,702649,702760,702870,702873,702959,703193,703242,703523,704303,704587,704738,704998,705153,705280-705449,705455,709357,709641,709644,710177,710184,711736,712199,712225,712275,712600,712896,713083,713410,713413,713594,713599,713808,713901,714169-714171,718622,718929,719211,719221-719223,7192 96,719300-719301,719303,719308,719332,719356,719363,719369-719383,719650,719695,720124,723545,724403-724404,724421,724448,724451,724486-724487,724714,725367,725371,725763,725774,726045,726048,726106,726123,726745-726746,726749,726754,726756-726758,726995,727794,733587 -/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387,687463,688086,688102,688735,691271,691355,691488,691602,691706,691728,692116,692157,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694869,695396,695484,695537,695552,695561,695619,695684,695835,695935,695977,696094,696433,696720,697085,698128,700261,700602,701783,701830,701862,702267,702580,702602,702609,702616,702656,702957,703191,703239,703501,704584,704997,705150,705274,705340,705446,708550,708554,709353-709354,709425,710150,712194,712198,712272,712312,712670,712893,713082,713584,713597,713804,713899,714167-714168,718281,718565,718620,718640,718665,719017,719210,719215-719218,719222,719273,719327-719354,719362,719368,719382,719649,719680,720119-720217,723338,723717-723791,724334-724371,724433-724438,724449,724481,724485,724668,724782,724795,725754,725773,725799,725839,726342,726524,726631,726637,726639,726692,726724,726992,727445,733582 +/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464-687465,689109,689112,689122,691316,691357,691491,691711,691715,691745,692162-692163,692468,692500,694466-694469,694472,694717,694748-694749,694870,695503,695509,695553,695555,695563,695875-695877,695940,695980,696436,696455,696721,697086,698129,701526,701634,702275,702443,702527,702582,702604,702610,702642-702643,702649,702760,702870,702873,702959,703193,703242,703523,704303,704587,704738,704998,705153,705280-705449,705455,709357,709641,709644,710177,710184,711736,712199,712225,712275,712600,712896,713083,713410,713413,713594,713599,713808,713901,714169-714171,718622,718929,719211,719221-719223,7192 96,719300-719301,719303,719308,719332,719356,719363,719369-719383,719650,719695,720124,723545,724403-724404,724421,724448,724451,724486-724487,724714,725367,725371,725763,725774,726045,726048,726106,726123,726745-726746,726749,726754,726756-726758,726995,727794,727797,733587 +/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387,687463,688086,688102,688735,691271,691355,691488,691602,691706,691728,692116,692157,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694869,695396,695484,695537,695552,695561,695619,695684,695835,695935,695977,696094,696433,696720,697085,698128,700261,700602,701783,701830,701862,702267,702580,702602,702609,702616,702656,702957,703191,703239,703501,704584,704997,705150,705274,705340,705446,708550,708554,709353-709354,709425,710150,712194,712198,712272,712312,712670,712893,713082,713584,713597,713804,713899,714167-714168,718281,718565,718620,718640,718665,719017,719210,719215-719218,719222,719273,719327-719354,719362,719368,719382,719649,719680,720119-720217,723338,723717-723791,724334-724371,724433-724438,724449,724481,724485,724668,724782,724795,725754,725773,725799,725839,726342,726524,726631,726637,726639,726692,726724,726992,727445,727692,733582 /incubator/cxf/trunk:434594-651668 Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java?rev=735802&r1=735801&r2=735802&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java (original) +++ cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java Mon Jan 19 12:46:50 2009 @@ -98,13 +98,6 @@ headerChilds.add((Element) hdr.getObject()); } } -// for (int i = 0; i < eleHeaders.getChildNodes().getLength(); i++) { -// if (eleHeaders.getChildNodes().item(i) instanceof Element) { -// Element element = (Element)eleHeaders.getChildNodes().item(i); -// headerChilds.add(element); -// } -// } - assertEquals(2, headerChilds.size()); for (int i = 0; i < headerChilds.size(); i++) { Element ele = headerChilds.get(i); Modified: cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java?rev=735802&r1=735801&r2=735802&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java (original) +++ cxf/branches/2.0.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java Mon Jan 19 12:46:50 2009 @@ -90,13 +90,7 @@ headerChilds.add((Element) hdr.getObject()); } } -// for (int i = 0; i < eleHeaders.getChildNodes().getLength(); i++) { -// if (eleHeaders.getChildNodes().item(i) instanceof Element) { -// Element element = (Element)eleHeaders.getChildNodes().item(i); -// headerChilds.add(element); -// } -// } - + assertEquals(2, headerChilds.size()); } Modified: cxf/branches/2.0.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java?rev=735802&r1=735801&r2=735802&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java (original) +++ cxf/branches/2.0.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java Mon Jan 19 12:46:50 2009 @@ -41,6 +41,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.Node; import org.apache.cxf.Bus; import org.apache.cxf.binding.BindingFactoryManager; @@ -48,6 +49,7 @@ import org.apache.cxf.common.logging.LogUtils; import org.apache.cxf.common.xmlschema.SchemaCollection; import org.apache.cxf.helpers.CastUtils; +import org.apache.cxf.helpers.DOMUtils; import org.apache.cxf.helpers.XMLUtils; import org.apache.cxf.service.model.BindingFaultInfo; import org.apache.cxf.service.model.BindingInfo; @@ -404,18 +406,15 @@ DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = db.parse(this.getClass().getResourceAsStream("./s1/s2/schema2.xsd")); Element schemaImport = null; - for (int i = 0; i < doc.getChildNodes().getLength(); i++) { - if (doc.getChildNodes().item(i) instanceof Element) { - Element schema = (Element) doc.getChildNodes().item(i); - for (int j = 0; j < schema.getChildNodes().getLength(); j++) { - if (schema.getChildNodes().item(j) instanceof Element) { - schemaImport = (Element) schema.getChildNodes().item(j); - break; - } - } - break; + + Node node = doc.getFirstChild(); + while (node != null) { + if (node instanceof Element) { + schemaImport = DOMUtils.getFirstElement(node); } + node = node.getNextSibling(); } + if (schemaImport == null) { fail("Can't find import element"); } Modified: cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java?rev=735802&r1=735801&r2=735802&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java (original) +++ cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java Mon Jan 19 12:46:50 2009 @@ -27,10 +27,8 @@ import javax.xml.bind.Unmarshaller; import javax.xml.namespace.QName; - import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.springframework.beans.factory.support.BeanDefinitionBuilder; public final class JAXBHelper { @@ -44,7 +42,6 @@ QName name, Class<?> c) throws JAXBException { List<V> list = new ArrayList<V>(); - NodeList nl = parent.getChildNodes(); Node data = null; JAXBContext context = null; @@ -55,18 +52,18 @@ } else { context = JAXBContext.newInstance(pkg); } - - - for (int i = 0; i < nl.getLength(); i++) { - Node n = nl.item(i); - if (n.getNodeType() == Node.ELEMENT_NODE && name.getLocalPart().equals(n.getLocalName()) - && name.getNamespaceURI().equals(n.getNamespaceURI())) { - data = n; + + Node node = parent.getFirstChild(); + while (node != null) { + if (node.getNodeType() == Node.ELEMENT_NODE && name.getLocalPart().equals(node.getLocalName()) + && name.getNamespaceURI().equals(node.getNamespaceURI())) { + data = node; Object obj = unmarshal(context, data, c); if (obj != null) { list.add((V) obj); } } + node = node.getNextSibling(); } return list; } Modified: cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java?rev=735802&r1=735801&r2=735802&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java (original) +++ cxf/branches/2.0.x-fixes/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java Mon Jan 19 12:46:50 2009 @@ -18,13 +18,12 @@ */ package org.apache.cxf.transport.http_jetty.spring; + + import java.util.List; import java.util.Map; import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - import org.apache.cxf.Bus; import org.apache.cxf.BusFactory; @@ -34,6 +33,7 @@ import org.apache.cxf.configuration.security.TLSServerParametersType; import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser; import org.apache.cxf.configuration.spring.BusWiringType; +import org.apache.cxf.helpers.DOMUtils; import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine; import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory; import org.apache.cxf.transport.http_jetty.ThreadingParameters; @@ -48,6 +48,10 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; + + + + public class JettyHTTPServerEngineBeanDefinitionParser extends AbstractBeanDefinitionParser { @@ -65,7 +69,64 @@ MutablePropertyValues engineFactoryProperties = ctx.getContainingBeanDefinition().getPropertyValues(); PropertyValue busValue = engineFactoryProperties.getPropertyValue("bus"); - // get the property value from paranets + // get the property value from parents + + try { + Element elem = DOMUtils.getFirstElement(element); + while (elem != null) { + String name = elem.getLocalName(); + if ("tlsServerParameters".equals(name)) { + + TLSServerParametersType parametersType = + JAXBHelper.parseElement(elem, bean, TLSServerParametersType.class); + + TLSServerParametersConfig param = + new TLSServerParametersConfig(parametersType); + + bean.addPropertyValue("tlsServerParameters", param); + + } else if ("tlsServerParametersRef".equals(name)) { + + TLSServerParametersIdentifiedType parameterTypeRef = + JAXBHelper.parseElement(elem, bean, + TLSServerParametersIdentifiedType.class); + + TLSServerParameters param = + getTlsServerParameters(engineFactoryProperties, parameterTypeRef.getId()); + bean.addPropertyValue("tlsServerParameters", param); + + } else if ("threadingParameters".equals(name)) { + ThreadingParametersType parametersType = + JAXBHelper.parseElement(elem, bean, ThreadingParametersType.class); + + ThreadingParameters param = toThreadingParameters(parametersType); + bean.addPropertyValue("threadingParameters", param); + + } else if ("threadingParametersRef".equals(name)) { + ThreadingParametersIdentifiedType parametersTypeRef = + JAXBHelper.parseElement(elem, bean, + ThreadingParametersIdentifiedType.class); + ThreadingParameters param = + getThreadingParameters(engineFactoryProperties, parametersTypeRef.getId()); + bean.addPropertyValue("threadingParameters", param); + + } else if ("connector".equals(name)) { + // only deal with the one connector here + List list = + ctx.getDelegate().parseListElement(elem, bean.getBeanDefinition()); + bean.addPropertyValue("connector", list.get(0)); + } else if ("handlers".equals(name)) { + List handlers = + ctx.getDelegate().parseListElement(elem, bean.getBeanDefinition()); + bean.addPropertyValue("handlers", handlers); + } else if ("sessionSupport".equals(name) || "reuseAddress".equals(name)) { + String text = elem.getTextContent(); + bean.addPropertyValue(name, Boolean.valueOf(text)); + } + + elem = org.apache.cxf.helpers.DOMUtils.getNextElement(elem); + } + /* try { NodeList children = element.getChildNodes(); @@ -123,6 +184,7 @@ } } } + */ } catch (Exception e) { throw new RuntimeException("Could not process configuration.", e); }
