cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sea...@apache.org
Subject svn commit: r727692 - in /cxf/trunk/rt: bindings/soap/src/test/java/org/apache/cxf/binding/soap/ bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/ core/src/test/java/org/apache/cxf/wsdl11/ transports/http-jetty/src/main/java/org/apache/cxf/...
Date Thu, 18 Dec 2008 10:44:18 GMT
Author: seanoc
Date: Thu Dec 18 02:44:17 2008
New Revision: 727692

URL: http://svn.apache.org/viewvc?rev=727692&view=rev
Log:
Removed thread unsafe NodeLists.

Modified:
    cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java
    cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java

Modified: cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java?rev=727692&r1=727691&r2=727692&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java
(original)
+++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/ReadHeaderInterceptorTest.java
Thu Dec 18 02:44:17 2008
@@ -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/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java?rev=727692&r1=727691&r2=727692&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java
(original)
+++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptorTest.java
Thu Dec 18 02:44:17 2008
@@ -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/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java?rev=727692&r1=727691&r2=727692&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java (original)
+++ cxf/trunk/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLServiceBuilderTest.java Thu
Dec 18 02:44:17 2008
@@ -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;
@@ -426,18 +428,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/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java?rev=727692&r1=727691&r2=727692&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
(original)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
Thu Dec 18 02:44:17 2008
@@ -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/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java?rev=727692&r1=727691&r2=727692&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
(original)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
Thu Dec 18 02:44:17 2008
@@ -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);
         }



Mime
View raw message