1 16 17 package org.pentaho.ui; 18 19 import java.util.List ; 20 21 import org.dom4j.Document; 22 import org.pentaho.core.ui.IPentahoUrlFactory; 23 import org.pentaho.core.ui.IXMLComponent; 24 import org.pentaho.core.util.XmlHelper; 25 import org.pentaho.messages.Messages; 26 27 public abstract class XmlComponent extends BaseUIComponent implements IXMLComponent { 28 29 public XmlComponent(IPentahoUrlFactory urlFactory, List messages, String sourcePath) { 30 super(urlFactory, messages, sourcePath); 31 } 32 33 public abstract Document getXmlContent(); 34 35 public String getContent(String mimeType) { 36 37 if ("text/xml".equalsIgnoreCase(mimeType)) { Document content = getXmlContent(); 39 return content.asXML(); 40 } else { 41 Document document = getXmlContent(); 42 if (document != null) { 43 String xslName = (String ) contentTypes.get(mimeType); 44 if (xslName == null) { 45 error(Messages.getString("BaseUI.ERROR_0002_XSL_NOT_FOUND") + mimeType); return null; 47 } 48 StringBuffer sb = XmlHelper.transformXml(xslName, getSourcePath(), document, getXslProperties(), getSession()); 49 if (sb != null) { 50 if (debug) 51 debug(sb.toString()); 52 return sb.toString(); 53 } else { 54 return null; 55 } 56 } else { 57 return null; 58 59 } 60 } 61 } 62 63 } 64 | Popular Tags |