[Yanel-commits] rev 23512 -
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Fri Mar 30 11:12:10 CEST 2007
Author: michi
Date: 2007-03-30 11:12:08 +0200 (Fri, 30 Mar 2007)
New Revision: 23512
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
DOM document creation refactored
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2007-03-30 08:35:32 UTC (rev 23511)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java 2007-03-30 09:12:08 UTC (rev 23512)
@@ -293,13 +293,8 @@
View view = null;
org.w3c.dom.Document doc = null;
- javax.xml.parsers.DocumentBuilderFactory dbf= javax.xml.parsers.DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
try {
- javax.xml.parsers.DocumentBuilder parser = dbf.newDocumentBuilder();
- org.w3c.dom.DOMImplementation impl = parser.getDOMImplementation();
- org.w3c.dom.DocumentType doctype = null;
- doc = impl.createDocument(NAMESPACE, "yanel", doctype);
+ doc = getDocument(NAMESPACE, "yanel");
} catch(Exception e) {
log.error(e.getMessage(), e);
throw new ServletException(e.getMessage());
@@ -1671,33 +1666,28 @@
String path = request.getServletPath();
String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(path);
- org.w3c.dom.Document doc = null;
- javax.xml.parsers.DocumentBuilderFactory dbf= javax.xml.parsers.DocumentBuilderFactory.newInstance();
try {
- javax.xml.parsers.DocumentBuilder parser = dbf.newDocumentBuilder();
- org.w3c.dom.DOMImplementation impl = parser.getDOMImplementation();
- org.w3c.dom.DocumentType doctype = null;
- doc = impl.createDocument(NAMESPACE, "yanel", doctype);
+ org.w3c.dom.Document adoc = getDocument(NAMESPACE, "yanel-auth-screen");
- Element rootElement = doc.getDocumentElement();
+ Element rootElement = adoc.getDocumentElement();
if (message != null) {
- Element messageElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "message"));
- messageElement.appendChild(doc.createTextNode(message));
+ Element messageElement = (Element) rootElement.appendChild(adoc.createElementNS(NAMESPACE, "message"));
+ messageElement.appendChild(adoc.createTextNode(message));
}
- Element requestElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "request"));
+ Element requestElement = (Element) rootElement.appendChild(adoc.createElementNS(NAMESPACE, "request"));
requestElement.setAttributeNS(NAMESPACE, "urlqs", getRequestURLQS(request, null, true));
if (request.getQueryString() != null) {
requestElement.setAttributeNS(NAMESPACE, "qs", request.getQueryString().replaceAll("&", "&"));
}
- Element realmElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "realm"));
+ Element realmElement = (Element) rootElement.appendChild(adoc.createElementNS(NAMESPACE, "realm"));
realmElement.setAttributeNS(NAMESPACE, "name", realm.getName());
realmElement.setAttributeNS(NAMESPACE, "mount-point", realm.getMountPoint().toString());
- Element sslElement = (Element) rootElement.appendChild(doc.createElementNS(NAMESPACE, "ssl"));
+ Element sslElement = (Element) rootElement.appendChild(adoc.createElementNS(NAMESPACE, "ssl"));
if(sslPort != null) {
sslElement.setAttributeNS(NAMESPACE, "status", "ON");
} else {
@@ -1708,7 +1698,7 @@
if(yanelFormat != null && yanelFormat.equals("xml")) {
response.setContentType("application/xml; charset=" + DEFAULT_ENCODING);
//OutputStream out = response.getOutputStream();
- javax.xml.transform.TransformerFactory.newInstance().newTransformer().transform(new javax.xml.transform.dom.DOMSource(doc), new javax.xml.transform.stream.StreamResult(response.getOutputStream()));
+ javax.xml.transform.TransformerFactory.newInstance().newTransformer().transform(new javax.xml.transform.dom.DOMSource(adoc), new javax.xml.transform.stream.StreamResult(response.getOutputStream()));
//out.close();
} else {
String mimeType = patchMimeType("application/xhtml+xml", request);
@@ -1717,7 +1707,7 @@
Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltLoginScreen));
transformer.setParameter("yanel.back2realm", backToRealm);
transformer.setParameter("yanel.reservedPrefix", reservedPrefix);
- transformer.transform(new javax.xml.transform.dom.DOMSource(doc), new javax.xml.transform.stream.StreamResult(response.getWriter()));
+ transformer.transform(new javax.xml.transform.dom.DOMSource(adoc), new javax.xml.transform.stream.StreamResult(response.getWriter()));
}
@@ -1969,4 +1959,16 @@
}
return null;
}
+
+ /**
+ * Create a DOM Document
+ */
+ public Document getDocument(String namespace, String localname) throws Exception {
+ javax.xml.parsers.DocumentBuilderFactory dbf= javax.xml.parsers.DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ javax.xml.parsers.DocumentBuilder parser = dbf.newDocumentBuilder();
+ org.w3c.dom.DOMImplementation impl = parser.getDOMImplementation();
+ org.w3c.dom.DocumentType doctype = null;
+ return impl.createDocument(namespace, localname, doctype);
+ }
}
More information about the Yanel-commits
mailing list