use of java.io.CharArrayWriter in project uPortal by Jasig.
the class SitemapTest method testStylesheetCompilation.
@Test
public void testStylesheetCompilation() throws IOException {
final MockHttpServletRequest request = new MockHttpServletRequest();
Resource resource = new ClassPathResource(STYLESHEET_LOCATION);
Source source = new StreamSource(resource.getInputStream(), resource.getURI().toASCIIString());
try {
Transformer transformer = TransformerFactory.newInstance().newTransformer(source);
transformer.setParameter(SitemapPortletController.USE_TAB_GROUPS, useTabGroups);
transformer.setParameter(SitemapPortletController.USER_LANG, "en_US");
transformer.setParameter(XsltPortalUrlProvider.CURRENT_REQUEST, request);
transformer.setParameter(XsltPortalUrlProvider.XSLT_PORTAL_URL_PROVIDER, this.xsltPortalUrlProvider);
Source xmlSource = new StreamSource(new ClassPathResource(XML_LOCATION).getFile());
CharArrayWriter buffer = new CharArrayWriter();
TransformerUtils.enableIndenting(transformer);
transformer.transform(xmlSource, new StreamResult(buffer));
if (logger.isTraceEnabled()) {
logger.trace("XML: " + new String(buffer.toCharArray()));
}
} catch (TransformerConfigurationException e) {
logger.error(e.getMessage(), e);
throw new RuntimeException(e);
} catch (TransformerException e) {
logger.error(e.getMessage(), e);
throw new RuntimeException(e);
}
}
use of java.io.CharArrayWriter in project adempiere by adempiere.
the class Process method runProcess.
/**************************************************************************
* Create Process Page
* @param AD_Process_ID Process
* @return Page
*/
public static RunProcessResponseDocument runProcess(CompiereService m_cs, RunProcessDocument req) {
RunProcessResponseDocument res = RunProcessResponseDocument.Factory.newInstance();
RunProcessResponse r = res.addNewRunProcessResponse();
RunProcess rp = req.getRunProcess();
int AD_Process_ID = rp.getADProcessID();
int m_record_id = rp.getADRecordID();
//WebSessionCtx wsc = WebSessionCtx.get (request);
MProcess process = MProcess.get(m_cs.getM_ctx(), AD_Process_ID);
// need to check if Role can access
if (process == null) {
// WebDoc doc = WebDoc.createWindow("Process not found");
r.setError("Process not found");
r.setIsError(true);
return res;
}
//process.getDescription()
//process.getHelp()
// Evaluate DocAction, if call have DocAction parameter, then try to set DocAction before calling workflow process
String docAction = rp.getDocAction();
if (docAction != null && docAction.length() > 0) {
// - the process must be a workflow document
if (process.getAD_Workflow_ID() > 0) {
MWorkflow wf = MWorkflow.get(m_cs.getM_ctx(), process.getAD_Workflow_ID());
if (wf.getWorkflowType().equals(MWorkflow.WORKFLOWTYPE_DocumentProcess)) {
// - get the table associated with the workflow document
// - set DocAction in such table
// get the PO for the tablename and record ID
MTable table = MTable.get(m_cs.getM_ctx(), wf.getAD_Table_ID());
if (table != null) {
PO po = table.getPO(m_record_id, null);
if (po != null) {
po.set_ValueOfColumn("DocAction", docAction);
po.save();
}
}
}
}
}
// Create Process Instance
MPInstance pInstance = null;
try {
pInstance = fillParameter(m_cs, rp.getParamValues(), process);
} catch (Exception ex) {
//center.addElement(new p("B��d: " + ex.getMessage(), AlignType.LEFT).setClass("ProcesResultError"));
r.setError(ex.getMessage());
r.setIsError(true);
return res;
}
if (m_record_id > 0) {
pInstance.setRecord_ID(m_record_id);
pInstance.save();
}
//
ProcessInfo pi = new ProcessInfo(process.getName(), process.getAD_Process_ID());
pi.setAD_User_ID(Env.getAD_User_ID(m_cs.getM_ctx()));
pi.setAD_Client_ID(Env.getAD_Client_ID(m_cs.getM_ctx()));
pi.setAD_PInstance_ID(pInstance.getAD_PInstance_ID());
if (m_record_id > 0)
pi.setRecord_ID(m_record_id);
// Info
//p p = new p();
//p.addElement(Msg.translate(wsc.ctx, "AD_PInstance_ID") + ": " + pInstance.getAD_PInstance_ID());
//center.addElement(p);
boolean processOK = false;
boolean jasperreport = (process != null && process.getClassname() != null && process.getClassname().indexOf("net.sf.compilo.report.ReportStarter") >= 0);
if (jasperreport) {
//this.jasperReport( request, response, wsc.ctx, pi);
processOK = true;
}
// Start
if (process.isWorkflow()) {
try {
int AD_Workflow_ID = process.getAD_Workflow_ID();
MWorkflow wf = MWorkflow.get(Env.getCtx(), AD_Workflow_ID);
// may return null
MWFProcess wfProcess = wf.startWait(pi);
if (wfProcess != null) {
//wynik
r.setSummary(pi.getSummary());
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(false);
return res;
}
} catch (Exception ex) {
r.setError(ex.getMessage());
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(true);
return res;
//Wyj�tek: pi.getLogInfo(true) pi.getLogInfo(true)
}
//started = wfProcess != null;
}
if (process.isJavaProcess() && !jasperreport) {
Trx trx = Trx.get(Trx.createTrxName("WebPrc"), true);
try {
processOK = process.processIt(pi, trx);
trx.commit();
trx.close();
} catch (Throwable t) {
trx.rollback();
trx.close();
}
if (!processOK || pi.isError()) {
// b��d: pi.getSummary()
r.setSummary(pi.getSummary());
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(true);
processOK = false;
} else {
r.setSummary(pi.getSummary());
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(false);
//return res;
// wynik - String summary = pi.getSummary();
}
}
// Report
if (//&& !m_jasperreport)
(process.isReport() || jasperreport)) /*processOK &&*/
{
r.setIsReport(true);
//if (m_jasperreport)
//{
// center.addElement(new p("JASPER REPORT", AlignType.LEFT).setClass("Cerror"));
//}
//else
{
ReportEngine re = null;
if (!jasperreport)
re = start(pi);
//ReportEngine.get(m_cs.getM_ctx(), pi);
if (re == null && !jasperreport) {
//b��d: "Nie uda�o si� uruchomi� silnika raport�w (ReportEngine)",
} else {
try {
boolean ok = false;
File file;
String file_type = "pdf";
if (!jasperreport) {
//file = File.createTempFile("WProcess", ".pdf");
//ok = re.createPDF(file);
MPrintFormat pf = re.getPrintFormat();
if (pf.isTableBased()) {
CharArrayWriter wr = new CharArrayWriter();
//file = File.createTempFile("WProcess", ".xls");
ok = ReportEngineEx.createEXCEL_HTML_wr(re, m_cs.getM_ctx(), wr, false, re.getPrintFormat().getLanguage());
//ok = re.createXML( file );
file_type = "xls";
String data = wr.toString();
if (data != null)
r.setData(data.getBytes());
r.setReportFormat(file_type);
} else {
byte[] dat = re.createPDFData();
file_type = "pdf";
r.setData(dat);
r.setReportFormat(file_type);
}
//r.setReportFormat("xls");
ok = true;
} else {
JasperPrint jp = getJasperReportPrint(m_cs.getM_ctx(), pi);
//file = File.createTempFile("WProcess", ".pdf");
ByteArrayOutputStream wr = new ByteArrayOutputStream();
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(jp, wr);
//exportReportToPdfFile( jp, file.getAbsolutePath() );
file_type = "pdf";
r.setData(wr.toByteArray());
r.setReportFormat(file_type);
ok = true;
}
if (ok) {
//pInstance.getAD_PInstance_ID()
//file.getAbsolutePath()
// Marker that Process is OK
m_cs.getM_ctx().put("AD_PInstance_ID=" + pInstance.getAD_PInstance_ID(), "ok");
} else {
r.setError("Cannot create report");
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(true);
return res;
//"Cannot create report:",
}
} catch (Exception e) {
r.setError("Cannot create report:" + e.getMessage());
r.setLogInfo(pi.getLogInfo(true));
r.setIsError(true);
return res;
// ,
}
}
}
}
return res;
}
use of java.io.CharArrayWriter in project lucene-solr by apache.
the class SolrException method toStr.
public static String toStr(Throwable e) {
CharArrayWriter cw = new CharArrayWriter();
PrintWriter pw = new PrintWriter(cw);
e.printStackTrace(pw);
pw.flush();
return cw.toString();
/** This doesn't work for some reason!!!!!
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.flush();
System.out.println("The STRING:" + sw.toString());
return sw.toString();
**/
}
use of java.io.CharArrayWriter in project karaf by apache.
the class SourceAction method execute.
@Override
public Object execute() throws Exception {
BufferedReader reader = null;
Object arg0 = session.get("0");
try {
try {
URL url = script.toURL();
log.info("Printing URL: " + url);
reader = new BufferedReader(new InputStreamReader(url.openStream()));
} catch (MalformedURLException | IllegalArgumentException ignore) {
// fallback to a file
Path file = session.currentDir().resolve(script.getPath());
log.info("Printing file: " + file);
reader = new BufferedReader(Files.newBufferedReader(file));
}
CharArrayWriter w = new CharArrayWriter();
int n;
char[] buf = new char[8192];
while ((n = reader.read(buf)) > 0) {
w.write(buf, 0, n);
}
for (int i = 0; args != null && i < args.size(); i++) {
session.put(Integer.toString(i + 1), args.get(i));
}
session.execute(w.toString());
} finally {
for (int i = 0; args != null && i < args.size(); i++) {
session.put(Integer.toString(i + 1), null);
}
session.put("0", arg0);
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// Ignore
}
}
}
return null;
}
use of java.io.CharArrayWriter in project sling by apache.
the class JspReader method pushFile.
/**
* Push a file (and its associated Stream) on the file stack. THe
* current position in the current file is remembered.
*/
private void pushFile(String file, String encoding, InputStreamReader reader) throws JasperException, FileNotFoundException {
// Register the file
String longName = file;
int fileid = registerSourceFile(longName);
if (fileid == -1) {
// Bugzilla 37407: http://issues.apache.org/bugzilla/show_bug.cgi?id=37407
if (reader != null) {
try {
reader.close();
} catch (Exception any) {
if (log.isDebugEnabled()) {
log.debug("Exception closing reader: ", any);
}
}
}
err.jspError("jsp.error.file.already.registered", file);
}
currFileId = fileid;
try {
CharArrayWriter caw = new CharArrayWriter();
char[] buf = new char[1024];
for (int i = 0; (i = reader.read(buf)) != -1; ) caw.write(buf, 0, i);
caw.close();
if (current == null) {
current = new Mark(this, caw.toCharArray(), fileid, getFile(fileid), master, encoding);
} else {
current.pushStream(caw.toCharArray(), fileid, getFile(fileid), longName, encoding);
}
} catch (Throwable ex) {
log.error("Exception parsing file ", ex);
// Pop state being constructed:
popFile();
err.jspError("jsp.error.file.cannot.read", file);
} finally {
if (reader != null) {
try {
reader.close();
} catch (Exception any) {
if (log.isDebugEnabled()) {
log.debug("Exception closing reader: ", any);
}
}
}
}
}
Aggregations