[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