From 3a81a3832cf5a2a62730729013c0f06ea1c979ce Mon Sep 17 00:00:00 2001 From: Diego Ruiz Date: Wed, 12 Aug 2015 16:12:42 -0500 Subject: [PATCH 1/8] IDEMPIERE-2762 Image size on org.adempiere.ui.zk.example --- ...dempiere.ui.zk.example.action.export24.png | Bin 8250 -> 1096 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/org.adempiere.ui.zk.example/src/action/images/org.adempiere.ui.zk.example.action.export24.png b/org.adempiere.ui.zk.example/src/action/images/org.adempiere.ui.zk.example.action.export24.png index 84c7161b80fc9b71d866cfcc9b5f384762813e19..8ed5a79681d0919a23558e6addc11b0a69ed4722 100644 GIT binary patch literal 1096 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 From 9f8a14d79fdbe3a196c6091f05d3364389af6a9a Mon Sep 17 00:00:00 2001 From: hieplq Date: Wed, 12 Aug 2015 04:28:34 +0800 Subject: [PATCH 2/8] IDEMPIERE-2640:Performance: Html/Tabular reports size could be reduced index in nth-child(n) wrong --- org.adempiere.base/src/org/compiere/print/ReportEngine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/print/ReportEngine.java b/org.adempiere.base/src/org/compiere/print/ReportEngine.java index 6cf688c663..c8fc0a887d 100644 --- a/org.adempiere.base/src/org/compiere/print/ReportEngine.java +++ b/org.adempiere.base/src/org/compiere/print/ReportEngine.java @@ -778,7 +778,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) } //just run with on record if (row == 0) - addCssInfo(item, col); + addCssInfo(item, printColIndex); } else if (obj instanceof PrintData) From 3c6e87f564c12bcb7dfa7d09eb70dbbe064a8ce0 Mon Sep 17 00:00:00 2001 From: hieplq Date: Tue, 11 Aug 2015 03:21:48 +0800 Subject: [PATCH 3/8] IDEMPIERE-2479:Printformat, Surpress Repeats doesnt works for HTML and XLS include format override main format --- org.adempiere.base/src/org/compiere/print/ReportEngine.java | 6 +++--- .../src/org/compiere/print/layout/LayoutEngine.java | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/print/ReportEngine.java b/org.adempiere.base/src/org/compiere/print/ReportEngine.java index c8fc0a887d..bf36bd70ba 100644 --- a/org.adempiere.base/src/org/compiere/print/ReportEngine.java +++ b/org.adempiere.base/src/org/compiere/print/ReportEngine.java @@ -632,7 +632,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) thead thead = new thead(); tbody tbody = new tbody(); - Boolean [] colSuppressRepeats = m_layout == null ? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; + Boolean [] colSuppressRepeats = m_layout == null || m_layout.colSuppressRepeats == null? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; Object [] preValues = new Object [colSuppressRepeats.length]; int printColIndex = -1; // for all rows (-1 = header row) @@ -902,7 +902,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) delimiter = '\t'; try { - Boolean [] colSuppressRepeats = m_layout == null ? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; + Boolean [] colSuppressRepeats = m_layout == null || m_layout.colSuppressRepeats == null? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; Object [] preValues = new Object [colSuppressRepeats.length]; int printColIndex = -1; // for all rows (-1 = header row) @@ -1234,7 +1234,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount) public void createXLS(File outFile, Language language) throws Exception { - Boolean [] colSuppressRepeats = m_layout == null ? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; + Boolean [] colSuppressRepeats = m_layout == null || m_layout.colSuppressRepeats == null? LayoutEngine.getColSuppressRepeats(m_printFormat):m_layout.colSuppressRepeats; PrintDataExcelExporter exp = new PrintDataExcelExporter(getPrintData(), getPrintFormat(), colSuppressRepeats); exp.export(outFile, language); } diff --git a/org.adempiere.base/src/org/compiere/print/layout/LayoutEngine.java b/org.adempiere.base/src/org/compiere/print/layout/LayoutEngine.java index 96f4611414..03f0b834d2 100644 --- a/org.adempiere.base/src/org/compiere/print/layout/LayoutEngine.java +++ b/org.adempiere.base/src/org/compiere/print/layout/LayoutEngine.java @@ -1606,7 +1606,7 @@ public class LayoutEngine implements Pageable, Printable, Doc int[] columnMaxWidth = new int[columnCount]; int[] columnMaxHeight = new int[columnCount]; boolean[] fixedWidth = new boolean [columnCount]; - colSuppressRepeats = new Boolean[columnCount]; + Boolean [] colSuppressRepeats = new Boolean[columnCount]; String[] columnJustification = new String[columnCount]; HashMap additionalLines = new HashMap(); @@ -1781,6 +1781,9 @@ public class LayoutEngine implements Pageable, Printable, Doc table.layout(0,0,false, MPrintFormatItem.FIELDALIGNMENTTYPE_LeadingLeft); if (m_tableElement == null) m_tableElement = table; + + if (format == m_format) + this.colSuppressRepeats = colSuppressRepeats; return table; } // layoutTable From 960d91a665cc98dc7a8502aafdf940ea1309b12f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 12 Aug 2015 13:17:16 -0500 Subject: [PATCH 4/8] IDEMPIERE-2768 Quick Entry for BPartner failing with SaveError --- org.adempiere.base/src/org/compiere/model/GridTab.java | 2 +- org.adempiere.base/src/org/compiere/model/PO.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/GridTab.java b/org.adempiere.base/src/org/compiere/model/GridTab.java index 204f8b2970..f03d68a759 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTab.java +++ b/org.adempiere.base/src/org/compiere/model/GridTab.java @@ -2951,7 +2951,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable if (!Util.isEmpty(retValue)) // interrupt on first error { - log.severe (retValue); + log.config(retValue); // no need to save an AD_Issue error on each callout return retValue; } } // for each callout diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index 4492e9a891..6de7d06921 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -2303,8 +2303,8 @@ public abstract class PO } } m_newValues = new Object[size]; + m_createNew = false; } - m_createNew = false; if (!newRecord) CacheMgt.get().reset(p_info.getTableName()); else if (get_ID() > 0 && success) @@ -2669,10 +2669,10 @@ public abstract class PO else { if (m_trxName == null) - log.log(Level.WARNING, "Update return " + no + " instead of 1" + log.saveError("SaveError", "Update return " + no + " instead of 1" + " - " + p_info.getTableName() + "." + where); else - log.log(Level.WARNING, "Update return " + no + " instead of 1" + log.saveError("SaveError", "Update return " + no + " instead of 1" + " - [" + m_trxName + "] - " + p_info.getTableName() + "." + where); } return ok; From 1c1b3cc25ce2525f2f949103fa36da5bdbe2b090 Mon Sep 17 00:00:00 2001 From: Chuck Boecking Date: Wed, 12 Aug 2015 16:11:14 -0500 Subject: [PATCH 5/8] IDEMPIERE-2764 Commission Calculation Divide By Zero --- .../src/org/compiere/process/CommissionCalc.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java b/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java index d35364b340..d5038761e3 100644 --- a/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java +++ b/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java @@ -109,8 +109,12 @@ public class CommissionCalc extends SvrProcess { if (m_com.isListDetails()) { - sql.append("SELECT h.C_Currency_ID, (l.LineNetAmt*al.Amount/h.GrandTotal) AS Amt,") - .append(" (l.QtyInvoiced*al.Amount/h.GrandTotal) AS Qty,") + sql.append("SELECT h.C_Currency_ID, CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN (l.LineNetAmt*al.Amount/h.GrandTotal) ") + .append(" ELSE 0 END AS Amt,") + .append(" CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN (l.QtyInvoiced*al.Amount/h.GrandTotal) ") + .append(" ELSE 0 END AS Qty,") .append(" NULL, l.C_InvoiceLine_ID, p.DocumentNo||'_'||h.DocumentNo,") .append(" COALESCE(prd.Value,l.Description), h.DateInvoiced ") .append("FROM C_Payment p") @@ -125,8 +129,11 @@ public class CommissionCalc extends SvrProcess } else { - sql.append("SELECT h.C_Currency_ID, SUM(l.LineNetAmt*al.Amount/h.GrandTotal) AS Amt,") - .append(" SUM(l.QtyInvoiced*al.Amount/h.GrandTotal) AS Qty,") + sql.append("SELECT h.C_Currency_ID, ") + .append(" SUM(CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN l.LineNetAmt*al.Amount/h.GrandTotal ELSE 0 END) AS Amt,") + .append(" SUM(CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN l.QtyInvoiced*al.Amount/h.GrandTotal ELSE 0 END) AS Qty,") .append(" NULL, NULL, NULL, NULL, MAX(h.DateInvoiced) ") .append("FROM C_Payment p") .append(" INNER JOIN C_AllocationLine al ON (p.C_Payment_ID=al.C_Payment_ID)") From bcef508976dc60f2f001dbda742d379419da919a Mon Sep 17 00:00:00 2001 From: Dirk Niemeyer Date: Wed, 12 Aug 2015 16:15:37 -0500 Subject: [PATCH 6/8] IDEMPIERE-2755 Avoid webui problems caused by using weak encryption --- org.adempiere.tomcat.config/META-INF/tomcat/serverTemplate.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.adempiere.tomcat.config/META-INF/tomcat/serverTemplate.xml b/org.adempiere.tomcat.config/META-INF/tomcat/serverTemplate.xml index acc07d9dcf..dc4f474fc6 100644 --- a/org.adempiere.tomcat.config/META-INF/tomcat/serverTemplate.xml +++ b/org.adempiere.tomcat.config/META-INF/tomcat/serverTemplate.xml @@ -85,7 +85,8 @@ keystoreFile="@ADEMPIERE_KEYSTORE@" keystorePass="@ADEMPIERE_KEYSTOREPASS@" keyAlias="idempiere" - sslProtocol="TLS" /> + sslProtocol="TLS" + ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA" /> Date: Thu, 13 Aug 2015 09:10:46 -0500 Subject: [PATCH 7/8] IDEMPIERE-2765 Error when running a Jasper reports via web services --- .../org/idempiere/adinterface/Process.java | 43 +++---------------- 1 file changed, 7 insertions(+), 36 deletions(-) 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 612709788c..0e3f383274 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 @@ -11,21 +11,16 @@ import static org.compiere.model.SystemIDs.PROCESS_RPT_FINSTATEMENT; import static org.compiere.model.SystemIDs.PROCESS_RPT_M_INOUT; import static org.compiere.model.SystemIDs.PROCESS_RPT_M_INVENTORY; -import java.io.ByteArrayOutputStream; import java.io.CharArrayWriter; import java.math.BigDecimal; import java.sql.Timestamp; import java.text.ParseException; import java.util.HashMap; import java.util.Map; -import java.util.Properties; import java.util.logging.Level; import javax.xml.namespace.QName; -import net.sf.compilo.report.ReportProcessor; -import net.sf.jasperreports.engine.JasperPrint; - import org.adempiere.util.ProcessUtil; import org.compiere.model.Lookup; import org.compiere.model.MLookup; @@ -379,6 +374,7 @@ public class Process { // Report if ((process.isReport() || jasperreport)) { + pi.setReportingProcess(true); r.setIsReport(true); ReportEngine re=null; if (!jasperreport) @@ -418,11 +414,12 @@ public class Process { } else { - JasperPrint jp = getJasperReportPrint( m_cs.getCtx(), pi); - ByteArrayOutputStream wr = new ByteArrayOutputStream(); - net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(jp, wr); - file_type ="pdf"; - r.setData(wr.toByteArray()); + Trx trx = trxName == null ? Trx.get(Trx.createTrxName("WebPrc"), true) : Trx.get(trxName, true); + pi.setPrintPreview (false); + pi.setIsBatch(true); + ProcessUtil.startJavaProcess(Env.getCtx(), pi, trx, true, null); + file_type ="pdf"; + r.setData(java.nio.file.Files.readAllBytes(pi.getPDFReport().toPath())); r.setReportFormat(file_type); ok = true; } @@ -674,32 +671,6 @@ public class Process { return null; } - - private static JasperPrint getJasperReportPrint(Properties ctx, ProcessInfo pi) - { - try - { - JasperPrint jasperPrint; - - ReportProcessor rp = new ReportProcessor(ctx, pi); - jasperPrint = rp.runReport(); - - if(jasperPrint == null) - { - log.finer("ReportStarter.startProcess Cannot process JasperPrint Object"); - return null; - } - else - return jasperPrint; - } - catch (Exception ex) - { - log.saveError("ReportStarter.startProcess: Can not run report - ", ex); - return null; - // return ex.getMessage(); - } - } - static public ReportEngine start (ProcessInfo pi) { From 4b46a01cb4f87f2dc2e6387bd6bcca60cb3c6480 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Thu, 13 Aug 2015 12:47:00 -0500 Subject: [PATCH 8/8] IDEMPIERE-2770 Jenkins build broken --- org.adempiere.sdk-feature/adempiere.cquery | 1 + 1 file changed, 1 insertion(+) diff --git a/org.adempiere.sdk-feature/adempiere.cquery b/org.adempiere.sdk-feature/adempiere.cquery index 23c78cc84b..19a315f302 100644 --- a/org.adempiere.sdk-feature/adempiere.cquery +++ b/org.adempiere.sdk-feature/adempiere.cquery @@ -20,6 +20,7 @@ +