[jboss-cvs] jboss-seam/src/main/org/jboss/seam/init ...

Gavin King gavin.king at jboss.com
Sun Dec 17 12:45:37 EST 2006


  User: gavin   
  Date: 06/12/17 12:45:37

  Modified:    src/main/org/jboss/seam/init  Initialization.java
  Log:
  JBSEAM-607, begin-conversation/end-conversation on an outcome
  
  Revision  Changes    Path
  1.134     +20 -28    jboss-seam/src/main/org/jboss/seam/init/Initialization.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Initialization.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/init/Initialization.java,v
  retrieving revision 1.133
  retrieving revision 1.134
  diff -u -b -r1.133 -r1.134
  --- Initialization.java	16 Dec 2006 02:58:11 -0000	1.133
  +++ Initialization.java	17 Dec 2006 17:45:37 -0000	1.134
  @@ -20,13 +20,9 @@
   
   import javax.servlet.ServletContext;
   
  -import org.jboss.seam.log.LogProvider;
  -import org.jboss.seam.log.Logging;
   import org.dom4j.Attribute;
  -import org.dom4j.Document;
   import org.dom4j.DocumentException;
   import org.dom4j.Element;
  -import org.dom4j.io.SAXReader;
   import org.jboss.seam.Component;
   import org.jboss.seam.ScopeType;
   import org.jboss.seam.Seam;
  @@ -45,19 +41,21 @@
   import org.jboss.seam.debug.Introspector;
   import org.jboss.seam.deployment.ComponentScanner;
   import org.jboss.seam.deployment.NamespaceScanner;
  +import org.jboss.seam.log.LogProvider;
  +import org.jboss.seam.log.Logging;
   import org.jboss.seam.persistence.HibernatePersistenceProvider;
   import org.jboss.seam.persistence.PersistenceProvider;
   import org.jboss.seam.util.Conversions;
  -import org.jboss.seam.util.DTDEntityResolver;
   import org.jboss.seam.util.Naming;
   import org.jboss.seam.util.Reflections;
   import org.jboss.seam.util.Resources;
   import org.jboss.seam.util.Strings;
  +import org.jboss.seam.util.XML;
   
   /**
    * @author Gavin King
    * @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
  - * @version $Revision: 1.133 $
  + * @version $Revision: 1.134 $
    */
   public class Initialization
   {
  @@ -104,7 +102,7 @@
            try
            {
               log.info("reading " + url);
  -            installComponentsFromXmlElements(getDocument(url.openStream()), replacements);
  +            installComponentsFromXmlElements( XML.getRootElement( url.openStream() ), replacements );
            }
            catch (Exception e)
            {
  @@ -126,7 +124,7 @@
            log.info("reading /WEB-INF/components.xml");
            try
            {
  -            installComponentsFromXmlElements(getDocument(stream), getReplacements());
  +            installComponentsFromXmlElements( XML.getRootElement(stream), getReplacements() );
            }
            catch (Exception e)
            {
  @@ -150,10 +148,10 @@
         }
      }
   
  -   private void installComponentsFromXmlElements(Document doc, Properties replacements)
  +   private void installComponentsFromXmlElements(Element rootElement, Properties replacements)
               throws DocumentException, ClassNotFoundException
      {
  -      List<Element> importElements = doc.getRootElement().elements("import-java-package");
  +      List<Element> importElements = rootElement.elements("import-java-package");
         for (Element importElement : importElements)
         {
            String pkgName = importElement.getTextTrim();
  @@ -161,20 +159,20 @@
            addNamespace(Package.getPackage(pkgName));
         }
   
  -      List<Element> componentElements = doc.getRootElement().elements("component");
  +      List<Element> componentElements = rootElement.elements("component");
         for (Element component : componentElements)
         {
            installComponentFromXmlElement(component, component.attributeValue("name"), component
                     .attributeValue("class"), replacements);
         }
   
  -      List<Element> factoryElements = doc.getRootElement().elements("factory");
  +      List<Element> factoryElements = rootElement.elements("factory");
         for (Element factory : factoryElements)
         {
            installFactoryFromXmlElement(factory);
         }
   
  -      for (Element elem : (List<Element>) doc.getRootElement().elements())
  +      for (Element elem : (List<Element>) rootElement.elements())
         {
            String ns = elem.getNamespace().getURI();
            NamespaceInfo nsInfo = namespaceMap.get(ns);
  @@ -232,15 +230,6 @@
         factoryDescriptors.add(new FactoryDescriptor(name, scope, method, value, autoCreate));
      }
   
  -   private Document getDocument(InputStream stream) throws DocumentException
  -   {
  -      SAXReader saxReader = new SAXReader();
  -      saxReader.setEntityResolver(new DTDEntityResolver());
  -      saxReader.setMergeAdjacentText(true);
  -      Document doc = saxReader.read(stream);
  -      return doc;
  -   }
  -
      private String replace(String value, Properties replacements)
      {
         if (value.startsWith("@"))
  @@ -476,21 +465,24 @@
            try
            {
               Properties replacements = getReplacements();
  -            Document doc = getDocument(stream);
  -            if (doc.getRootElement().getName().equals("components"))
  +            Element root = XML.getRootElement(stream);
  +            if ( root.getName().equals("components") )
               {
  -               installComponentsFromXmlElements(doc, replacements);
  +               installComponentsFromXmlElements(root, replacements);
               }
               else
               {
                  //TODO: namespaced components!!!
  -               installComponentFromXmlElement(doc.getRootElement(), doc.getRootElement()
  -                        .attributeValue("name"), clazz.getName(), replacements);
  +               installComponentFromXmlElement(
  +                        root, 
  +                        root.attributeValue("name"), 
  +                        clazz.getName(), replacements
  +                     );
               }
            }
            catch (Exception e)
            {
  -            throw new RuntimeException(e);
  +            throw new RuntimeException("error while reading " + fileName, e);
            }
         }
      }
  
  
  



More information about the jboss-cvs-commits mailing list