[Yanel-commits] rev 58790 - public/yanel/trunk/src/realms/welcome-admin/yanel/resources/show-realms/src/java/org/wyona/yanel/impl/resources/showrealms
michi at wyona.com
michi at wyona.com
Fri Jun 17 15:05:31 CEST 2011
Author: michi
Date: 2011-06-17 15:05:31 +0200 (Fri, 17 Jun 2011)
New Revision: 58790
Modified:
public/yanel/trunk/src/realms/welcome-admin/yanel/resources/show-realms/src/java/org/wyona/yanel/impl/resources/showrealms/ShowRealms.java
Log:
xml generation refactored
Modified: public/yanel/trunk/src/realms/welcome-admin/yanel/resources/show-realms/src/java/org/wyona/yanel/impl/resources/showrealms/ShowRealms.java
===================================================================
--- public/yanel/trunk/src/realms/welcome-admin/yanel/resources/show-realms/src/java/org/wyona/yanel/impl/resources/showrealms/ShowRealms.java 2011-06-17 12:45:48 UTC (rev 58789)
+++ public/yanel/trunk/src/realms/welcome-admin/yanel/resources/show-realms/src/java/org/wyona/yanel/impl/resources/showrealms/ShowRealms.java 2011-06-17 13:05:31 UTC (rev 58790)
@@ -58,15 +58,43 @@
* @see org.wyona.yanel.core.api.attributes.ViewableV2#getView(String)
*/
public View getView(String viewId) throws Exception {
+ StringBuilder sb = getXML();
+
+ if (viewId != null && viewId.equals("source-xml")) {
+ View xmlView = new View();
+ xmlView.setMimeType("application/xml");
+ xmlView.setInputStream(new java.io.StringBufferInputStream(sb.toString()));
+ return xmlView;
+ }
+
+ // INFO: Init XSLT
+ Transformer transformer = TransformerFactory.newInstance().newTransformer(getXSLTStreamSource(getPath(), getRealm().getRepository()));
+ transformer.setParameter("yanel.path.name", org.wyona.commons.io.PathUtil.getName(getPath()));
+ transformer.setParameter("servlet.context", request.getContextPath());
+ transformer.setParameter("yanel.path", getPath());
+ transformer.setParameter("yanel.back2context", backToRoot(getPath(), ""));
+ transformer.setParameter("yarep.back2realm", backToRoot(getPath(), ""));
+
+ // TODO: Is this the best way to generate an InputStream from an
+ // OutputStream?
+ java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
+ transformer.transform(new StreamSource(new java.io.StringBufferInputStream(sb.toString())), new StreamResult(baos));
+
+
View defaultView = new View();
- defaultView.setMimeType("application/xml");
- StringBuffer sb = new StringBuffer("<?xml version=\"1.0\"?>");
- defaultView.setInputStream(new java.io.StringBufferInputStream(sb
- .toString()));
- String servletContext = request.getContextPath();
+ defaultView.setMimeType(getMimeType(getPath()));
+ defaultView.setMimeType("application/xhtml+xml");
+ defaultView.setInputStream(new java.io.ByteArrayInputStream(baos.toByteArray()));
+
+ return defaultView;
+ }
+
+ /**
+ * Generate XML
+ */
+ private StringBuilder getXML() {
+ StringBuilder sb = new StringBuilder("<?xml version=\"1.0\"?>");
- Repository contentRepo = getRealm().getRepository();
-
sb.append("<yanel-info>");
sb.append("<realms config=\"" + yanel.getRealmConfiguration().getRealmsConfigurationFile() + " \">");
@@ -116,27 +144,7 @@
sb.append("</resourcetypes>");
sb.append("</yanel-info>");
-
- // INFO: Init XSLT
- Transformer transformer = TransformerFactory.newInstance().newTransformer(getXSLTStreamSource(getPath(), contentRepo));
- transformer.setParameter("yanel.path.name", org.wyona.commons.io.PathUtil.getName(getPath()));
- transformer.setParameter("servlet.context", servletContext);
- transformer.setParameter("yanel.path", getPath());
- transformer.setParameter("yanel.back2context", backToRoot(getPath(), ""));
- transformer.setParameter("yarep.back2realm", backToRoot(getPath(), ""));
-
- // TODO: Is this the best way to generate an InputStream from an
- // OutputStream?
- java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
- transformer.transform(new StreamSource(new java.io.StringBufferInputStream(sb.toString())), new StreamResult(baos));
-
-
- defaultView.setInputStream(new java.io.ByteArrayInputStream(baos.toByteArray()));
- defaultView.setMimeType(getMimeType(getPath()));
- defaultView.setInputStream(new java.io.ByteArrayInputStream(baos.toByteArray()));
-
- defaultView.setMimeType("application/xhtml+xml");
- return defaultView;
+ return sb;
}
/**
More information about the Yanel-commits
mailing list