From 16791faf202c3e999046ed001c15b18b629e31a0 Mon Sep 17 00:00:00 2001 From: Diego Ruiz Date: Wed, 30 Sep 2015 13:22:57 +0200 Subject: [PATCH] IDEMPIERE-2871 Import CSV process not returning log file when run via web services --- .../idempiere/process/ImportCSVProcess.java | 6 ++++++ .../org/idempiere/adinterface/Process.java | 21 +++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/org.adempiere.base.process/src/org/idempiere/process/ImportCSVProcess.java b/org.adempiere.base.process/src/org/idempiere/process/ImportCSVProcess.java index d82cbb56de..5e90f6a456 100644 --- a/org.adempiere.base.process/src/org/idempiere/process/ImportCSVProcess.java +++ b/org.adempiere.base.process/src/org/idempiere/process/ImportCSVProcess.java @@ -46,6 +46,7 @@ import org.compiere.model.GridTab; import org.compiere.model.GridWindow; import org.compiere.model.MImportTemplate; import org.compiere.model.MLookup; +import org.compiere.process.ProcessInfo; import org.compiere.process.ProcessInfoParameter; import org.compiere.process.SvrProcess; import org.compiere.util.Env; @@ -144,6 +145,11 @@ public class ImportCSVProcess extends SvrProcess implements DataStatusListener { if (processUI != null) processUI.download(outFile); + else if( getProcessInfo() != null ){ + ProcessInfo m_pi = getProcessInfo(); + m_pi.setExportFile(outFile); + m_pi.setExportFileExtension("csv"); + } m_file_istream.close(); } diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/Process.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/Process.java index 0e3f383274..80a9f3c43a 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/Process.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/Process.java @@ -364,10 +364,23 @@ public class Process { } else { - r.setSummary(pi.getSummary()); - r.setError(pi.getSummary()); - r.setLogInfo(pi.getLogInfo(true)); - r.setIsError( false ); + try{ + if( pi.getExportFile() != null ){ + r.setData(java.nio.file.Files.readAllBytes(pi.getExportFile().toPath())); + r.setReportFormat(pi.getExportFileExtension()); + } + r.setSummary(pi.getSummary()); + r.setError(pi.getSummary()); + r.setLogInfo(pi.getLogInfo(true)); + r.setIsError( false ); + } + catch (Exception e) + { + r.setError("Cannot get the export file:" + e.getMessage()); + r.setLogInfo(pi.getLogInfo(true) ); + r.setIsError( true ); + return res; + } } }