1 16 17 package org.apache.jetspeed.util.servlet; 18 19 import java.io.OutputStream ; 21 import java.io.PrintWriter ; 22 import java.io.StringReader ; 23 import java.util.Map ; 24 25 import org.xml.sax.InputSource ; 27 28 import org.apache.ecs.ConcreteElement; 30 31 import org.apache.jetspeed.services.logging.JetspeedLogFactoryService; 33 import org.apache.jetspeed.services.logging.JetspeedLogger; 34 import org.apache.jetspeed.util.SimpleTransform; 35 36 50 public class EcsStylesheetElement extends ConcreteElement 51 { 52 55 private static final JetspeedLogger logger = JetspeedLogFactoryService.getLogger(EcsStylesheetElement.class.getName()); 56 57 63 public void output(OutputStream out) 64 { 65 output(new PrintWriter (out)); 66 } 67 68 74 public void output(PrintWriter out) 75 { 76 try { 77 78 StringReader rdr = new StringReader (SimpleTransform.transform( content_, stylesheet_, params_ ) ); 79 int count = 0; 80 char buff[] = new char[1024]; 81 while( (count = rdr.read( buff, 0, buff.length ) ) > 0 ) { 82 out.write( buff, 0, count ); 83 } 84 85 101 102 } catch (Exception e) 103 { 104 String message = "ECSStylesheetElement.output(PrintWriter): error processing stylesheet" + e.getMessage(); 105 logger.error(message, e); 106 out.print(message); 107 e.printStackTrace(out); 108 } 109 } 110 111 112 113 private InputSource content_; 114 115 116 private Map params_; 117 118 119 private InputSource stylesheet_; 120 121 129 public EcsStylesheetElement( InputSource content, 130 InputSource stylesheet, 131 Map params ) 132 { 133 content_ = content; 134 stylesheet_ = stylesheet; 135 params_ = params; 136 137 } 138 139 } 140 | Popular Tags |