Changeset 3938
- Timestamp:
- 11/21/08 13:06:50 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/pfixcore/ChangeLog
r3930 r3938 1 2008-11-21 Martin Leidig <mleidig@schlund.de> 2 3 * src/org/pustefixframework/config/project/parser/PustefixContextXMLRequestHandlerParsingHandler.java: 4 Added resolving of config-includes. 5 1 6 2008-11-14 Martin Leidig <mleidig@schlund.de> 2 7 trunk/pfixcore/src/org/pustefixframework/config/project/parser/PustefixContextXMLRequestHandlerParsingHandler.java
r3916 r3938 25 25 import java.util.Properties; 26 26 27 import javax.xml.parsers.DocumentBuilder; 28 import javax.xml.parsers.DocumentBuilderFactory; 29 import javax.xml.parsers.ParserConfigurationException; 30 27 31 import org.pustefixframework.admin.mbeans.WebappAdmin; 28 32 import org.pustefixframework.config.Constants; … … 43 47 import org.springframework.core.io.Resource; 44 48 import org.springframework.core.io.UrlResource; 49 import org.w3c.dom.Document; 45 50 import org.w3c.dom.Element; 51 import org.xml.sax.SAXException; 46 52 47 53 import com.marsching.flexiparse.objectree.ObjectTreeElement; … … 54 60 import de.schlund.pfixcore.workflow.ContextImpl; 55 61 import de.schlund.pfixxml.config.BuildTimeProperties; 62 import de.schlund.pfixxml.config.includes.IncludesResolver; 56 63 import de.schlund.pfixxml.resources.FileResource; 57 64 import de.schlund.pfixxml.resources.ResourceUtil; … … 101 108 GlobalConfigurationHolder globalConfig = (new GlobalConfigurationReader()).readGlobalConfiguration(); 102 109 Parser contextXmlConfigParser = new ClasspathConfiguredParser("META-INF/org/pustefixframework/config/context-xml-service/parser/context-xml-service-config.xml"); 103 final ObjectTreeElement contextXmlConfigTree = contextXmlConfigParser.parse(res.getInputStream(), cusInfo, globalConfig, beanReg); 110 111 //Resolve config-includes 112 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 113 dbf.setNamespaceAware(true); 114 dbf.setXIncludeAware(true); 115 DocumentBuilder db = dbf.newDocumentBuilder(); 116 Document doc = db.parse(ResourceUtil.getFileResource(configurationFile).getInputStream()); 117 IncludesResolver resolver = new IncludesResolver("http://www.pustefix-framework.org/2008/namespace/context-xml-service-config", "config-include"); 118 resolver.resolveIncludes(doc); 119 120 final ObjectTreeElement contextXmlConfigTree = contextXmlConfigParser.parse(doc, cusInfo, globalConfig, beanReg); 104 121 SubObjectTree subTree = new SubObjectTree() { 105 122 public ObjectTreeElement getRoot() { … … 108 125 }; 109 126 context.getObjectTreeElement().addObject(subTree); 127 } catch (ParserConfigurationException e) { 128 throw new RuntimeException("Could not initialize XML parser: " + e.getMessage(), e); 129 } catch (SAXException e) { 130 throw new ParserException("Error while parsing referenced file: " + e.getMessage(), e); 110 131 } catch (ParserException e) { 111 132 throw new BeanDefinitionStoreException("Error while parsing " + res + ": " + e.getMessage(), e);
