details:   https://code.openbravo.com/erp/devel/pi/rev/1601137b3c3d
changeset: 26138:1601137b3c3d
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Mar 06 14:42:49 2015 +0000
summary:   CI: update AD_MODULE to version 26133

details:   https://code.openbravo.com/erp/devel/pi/rev/9e1c26ee24ab
changeset: 26139:9e1c26ee24ab
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Mar 06 15:03:31 2015 +0000
summary:   CI: merge back from main

diffstat:

 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml  
                                       |   2 +-
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                              |   4 +-
 
modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-addPayment.js
                        |  14 +-
 modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml       
                                       |   2 +-
 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                   |   2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
                                      |   1 +
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
                                     |   2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                          |   8 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/report/BaseReportActionHandler.java
     |  96 +++++----
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/report/ReportSemaphoreHandling.java
     |  65 +++--
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/report/ReportingUtils.java
              |  42 +++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-action-def.js
 |   4 +-
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml
                                      |   2 +-
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                           |   2 +-
 modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml   
                                       |   2 +-
 
modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                               |   6 +-
 modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml     
                                       |   2 +-
 
modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                 |   4 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml 
                                      |   2 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                            |   2 +-
 modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml  
                                       |   2 +-
 
modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                              |   2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml
                                |   2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                     |   2 +-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml
                         |   2 +-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
              |   2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml
                                     |   2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                          |  10 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml
                             |   2 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                  |   4 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml
                             |   2 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                  |   2 +-
 modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml    
                                       |   2 +-
 
modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                |   2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml
                                 |   2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                      |  12 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml
                        |   2 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
             |   2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml
                              |   2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                   |   6 +-
 
modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE.xml
                                    |   2 +-
 
modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                         |   2 +-
 modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml     
                                       |   2 +-
 
modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                 |   6 +-
 modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml    
                                       |   2 +-
 
modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                |  24 +-
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml              
                                       |   2 +-
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml   
                                       |  20 +-
 src-core/src/org/openbravo/database/RDBMSIndependent.java                      
                                       |   2 +-
 src-db/database/sourcedata/AD_MODULE.xml                                       
                                       |   2 +-
 src/org/openbravo/materialmgmt/CSResponseGetStockParam.java                    
                                       |  24 ++
 src/org/openbravo/materialmgmt/StockUtils.java                                 
                                       |  47 ++++
 src/org/openbravo/materialmgmt/StockUtils_data.xsql                            
                                       |  71 +++++++
 53 files changed, 363 insertions(+), 171 deletions(-)

diffs (truncated from 1526 to 300 lines):

diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Fri Mar 06 15:03:31 2015 +0000
@@ -6,7 +6,7 @@
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <NAME><![CDATA[Advanced Payables and 
Receivables Mngmt]]></NAME>
-<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.26126]]></VERSION>
+<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.26133]]></VERSION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <DESCRIPTION><![CDATA[Managing your 
finances with an ERP does not have to be difficult. Enjoy a radically improved 
user experience that combines the power of an enterprise grade financial 
application with the simplicity and ease of a web 2.0 personal accounting 
service.]]></DESCRIPTION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <HELP><![CDATA[Advanced Payables and 
Receivables Management simplifies and automates the business processes around 
the management of financial accounts, from the receipt and issue of payment, to 
the reconciliation of those events with bank statements.
 If you would like to help shape this module you are welcome to take part in 
the forum discussions or register feature requests or issues in the 
corresponding (Forum and Bug Tracking) sections in the Advanced Payables and 
Receivable project in the OB Forge.]]></HELP>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Fri Mar 06 15:03:31 2015 +0000
@@ -7,7 +7,7 @@
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.26126]]></STARTVERSION>
+<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.26133]]></STARTVERSION>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDANT_MODULE_NAME><![CDATA[User 
Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--B97FC854C6DD41E692161585645A900F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.26126]]></STARTVERSION>
+<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.26133]]></STARTVERSION>
 <!--B97FC854C6DD41E692161585645A900F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-addPayment.js
--- 
a/modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-addPayment.js
    Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-addPayment.js
    Fri Mar 06 15:03:31 2015 +0000
@@ -622,11 +622,7 @@
     expectedPayment.setValue(Number('0'));
   }
   if (!issotrx) {
-    if ((bslamount.compareTo(BigDecimal.prototype.ZERO) !== 0) && 
(totalAmount.compareTo(BigDecimal.prototype.ZERO) === 0)) {
-      actpayment = 
totalAmount.add(glitemtotal).add(generateCredit).add(bslamount.abs());
-    } else {
-      actpayment = totalAmount.add(glitemtotal).add(generateCredit);
-    }
+    actpayment = totalAmount.add(glitemtotal).add(generateCredit);
     actualPayment.setValue(Number(actpayment));
     if (credit.compareTo(BigDecimal.prototype.ZERO) > 0) {
       if (credit.compareTo(actpayment) > 0) {
@@ -635,6 +631,14 @@
         actualPayment.setValue(Number(actpayment.subtract(credit)));
       }
     }
+    if ((bslamount.compareTo(BigDecimal.prototype.ZERO) !== 0)) {
+      if (actpayment.compareTo(BigDecimal.prototype.ZERO) === 0) {
+        actpayment = actpayment.add(bslamount.abs());
+      } else {
+        actpayment = bslamount.abs();
+      }
+      actualPayment.setValue(Number(actpayment));
+    }
     OB.APRM.AddPayment.updateDifference(form);
     OB.APRM.AddPayment.updateConvertedAmount(null, form, false);
   }
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Fri Mar 06 08:10:31 2015 +0100
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Fri Mar 06 15:03:31 2015 +0000
@@ -6,7 +6,7 @@
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <NAME><![CDATA[JBoss Weld]]></NAME>
-<!--C70732EA90A14EC0916078B85CC33D2D-->  
<VERSION><![CDATA[1.1.26126]]></VERSION>
+<!--C70732EA90A14EC0916078B85CC33D2D-->  
<VERSION><![CDATA[1.1.26133]]></VERSION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <DESCRIPTION><![CDATA[JBoss 
Weld]]></DESCRIPTION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <HELP><![CDATA[Provides the JBoss 
Weld framework: Java Contexts and Dependency Injection for the Java EE platform 
(CDI). For more information see http://seamframework.org/Weld]]></HELP>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  
<URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
       Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
       Fri Mar 06 15:03:31 2015 +0000
@@ -7,7 +7,7 @@
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<STARTVERSION><![CDATA[3.0.26126]]></STARTVERSION>
+<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<STARTVERSION><![CDATA[3.0.26133]]></STARTVERSION>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
  Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
  Fri Mar 06 15:03:31 2015 +0000
@@ -5077,6 +5077,7 @@
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  
<AD_COLUMN_ID><![CDATA[8C5CC70F805F41B9BE4999E2A5E70C26]]></AD_COLUMN_ID>
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  
<IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--F33844ACDC3A40ABAA83E614E659FC8F-->  
<DISPLAYLOGIC><![CDATA[@Uipattern@='OBUIAPP_PickAndExecute']]></DISPLAYLOGIC>
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  
<DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--F33844ACDC3A40ABAA83E614E659FC8F-->  <SEQNO><![CDATA[160]]></SEQNO>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
 Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
 Fri Mar 06 15:03:31 2015 +0000
@@ -6,7 +6,7 @@
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <NAME><![CDATA[User Interface 
Application]]></NAME>
-<!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<VERSION><![CDATA[2.1.26126]]></VERSION>
+<!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<VERSION><![CDATA[2.1.26133]]></VERSION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <DESCRIPTION><![CDATA[Provides the 
main application components for the openbravo user interface]]></DESCRIPTION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <HELP><![CDATA[Provides the main 
application components for the openbravo user interface. The main layout 
incorporates a navigation bar and a main view area.]]></HELP>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
      Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
      Fri Mar 06 15:03:31 2015 +0000
@@ -7,7 +7,7 @@
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--15D7CE8D95D043189162DBABA54A1F61-->  
<STARTVERSION><![CDATA[2.1.26126]]></STARTVERSION>
+<!--15D7CE8D95D043189162DBABA54A1F61-->  
<STARTVERSION><![CDATA[2.1.26133]]></STARTVERSION>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON 
Datasource]]></DEPENDANT_MODULE_NAME>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--60A170212F36499D83B8AD38D01F46B3-->  
<STARTVERSION><![CDATA[2.1.26126]]></STARTVERSION>
+<!--60A170212F36499D83B8AD38D01F46B3-->  
<STARTVERSION><![CDATA[2.1.26133]]></STARTVERSION>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDANT_MODULE_NAME><![CDATA[User 
Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--824D60CB352E4099B1D8C903CA139DAE-->  
<STARTVERSION><![CDATA[3.0.26126]]></STARTVERSION>
+<!--824D60CB352E4099B1D8C903CA139DAE-->  
<STARTVERSION><![CDATA[3.0.26133]]></STARTVERSION>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<STARTVERSION><![CDATA[8.1.26126]]></STARTVERSION>
+<!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<STARTVERSION><![CDATA[8.1.26133]]></STARTVERSION>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 486e7700e8d0 -r 9e1c26ee24ab 
modules/org.openbravo.client.application/src/org/openbravo/client/application/report/BaseReportActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/report/BaseReportActionHandler.java
 Fri Mar 06 08:10:31 2015 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/report/BaseReportActionHandler.java
 Fri Mar 06 15:03:31 2015 +0000
@@ -68,13 +68,18 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Action Handler used as base for jasper reports generated from process 
defition. This handler can
+ * be extended to customize its behavior.
+ *
+ */
 public class BaseReportActionHandler extends BaseProcessActionHandler {
   private static final Logger log = 
LoggerFactory.getLogger(BaseReportActionHandler.class);
   private static final String JASPER_PARAM_PROCESS = "jasper_process";
 
   /**
-   * execute() method overridden to add the logic to download the report file 
stored in the temporal
-   * folder.
+   * execute() method overridden to add the logic to download the report file 
stored in the
+   * temporary folder.
    */
   @Override
   public void execute() {
@@ -144,49 +149,58 @@
   }
 
   /**
-   * Downloads the file with the report result. The file is stored in a 
temporal folder with a
+   * Downloads the file with the report result. The file is stored in a 
temporary folder with a
    * generated name. It is renamed and download as an attachment of the 
response. Once it is
    * finished the file is removed from the server.
-   * 
-   * @param request
-   * @param parameters
-   *          Map with the needed parameters to download the report.
-   * @throws IOException
    */
   private void doDownload(HttpServletRequest request, Map<String, Object> 
parameters)
       throws IOException {
     final String strFileName = (String) parameters.get("fileName");
-    final String strFilePath = (String) parameters.get("filePath");
+    final String tmpFileName = (String) parameters.get("tmpfileName");
     ExportType expType = null;
-    if (strFileName.endsWith("pdf")) {
+
+    if (strFileName.endsWith("." + ExportType.PDF.getExtension())) {
       expType = ExportType.PDF;
+    } else if (strFileName.endsWith("." + ExportType.XLS.getExtension())) {
+      expType = ExportType.XLS;
     } else {
-      expType = ExportType.XLS;
+      throw new IllegalArgumentException("Trying to download report file with 
unsupported type "
+          + strFileName);
     }
 
-    FileUtility fileUtil = new FileUtility();
-    final File file = new File(strFilePath);
-    fileUtil = new FileUtility(file.getParent(), file.getName(), false, true);
-
-    final HttpServletResponse response = RequestContext.get().getResponse();
-
-    response.setHeader("Content-Type", expType.getContentType());
-    response.setContentType(expType.getContentType());
-    response.setCharacterEncoding("UTF-8");
-    // TODO: Compatibility code with IE8. To be reviewed when its support is 
stopped.
-    String userAgent = request.getHeader("user-agent");
-    if (userAgent.contains("MSIE")) {
-      response.setHeader("Content-Disposition",
-          "attachment; filename=\"" + URLEncoder.encode(strFileName, "utf-8") 
+ "\"");
-    } else {
-      response.setHeader("Content-Disposition",
-          "attachment; filename=\"" + MimeUtility.encodeWord(strFileName, 
"utf-8", "Q") + "\"");
+    if (!expType.isValidTemporaryFileName(tmpFileName)) {
+      throw new IllegalArgumentException("Trying to download report with 
invalid name "
+          + strFileName);
     }
 
-    fileUtil.dumpFile(response.getOutputStream());
-    response.getOutputStream().flush();
-    response.getOutputStream().close();
-    file.delete();
+    final String tmpDirectory = ReportingUtils.getTempFolder();
+    final File file = new File(tmpDirectory, tmpFileName);
+    FileUtility fileUtil = new FileUtility(tmpDirectory, tmpFileName, false, 
true);
+    try {
+      final HttpServletResponse response = RequestContext.get().getResponse();
+
+      response.setHeader("Content-Type", expType.getContentType());
+      response.setContentType(expType.getContentType());
+      response.setCharacterEncoding("UTF-8");
+      // TODO: Compatibility code with IE8. To be reviewed when its support is 
stopped.
+      // see issue #29109
+      String userAgent = request.getHeader("user-agent");
+      if (userAgent.contains("MSIE")) {
+        response.setHeader("Content-Disposition",
+            "attachment; filename=\"" + URLEncoder.encode(strFileName, 
"utf-8") + "\"");
+      } else {
+        response.setHeader("Content-Disposition",
+            "attachment; filename=\"" + MimeUtility.encodeWord(strFileName, 
"utf-8", "Q") + "\"");
+      }
+
+      fileUtil.dumpFile(response.getOutputStream());
+      response.getOutputStream().flush();
+      response.getOutputStream().close();
+    } finally {
+      if (file.exists()) {
+        file.delete();
+      }
+    }
   }
 
   /**
@@ -201,7 +215,6 @@
    *          JSONObject with the values set in the filter parameters.
    * @param action
    *          String with the output type of the report.
-   * @throws JSONException
    * @throws OBException
    *           Exception thrown when a validation fails.
    */
@@ -225,6 +238,9 @@
       }
     case PDF:
       strJRPath = report.getPDFTemplate();
+      break;
+    default:
+      throw new 
OBException(OBMessageUtils.messageBD("OBUIAPP_UnsupportedAction"));
     }
     if (StringUtils.isEmpty(strJRPath)) {
       throw new 
OBException(OBMessageUtils.messageBD("OBUIAPP_NoJRTemplateFound"));
@@ -236,7 +252,7 @@
     loadReportParams(jrParams, report, jrTemplatePath, jsonContent);
     log.debug("Report: {}. Start export JR process.", report.getId());
     long t1 = System.currentTimeMillis();
-    String strFilePath = doJRExport(jrTemplatePath, expType, jrParams, 
strTmpFileName);
+    doJRExport(jrTemplatePath, expType, jrParams, strTmpFileName);
     log.debug("Report: {}. Finish export JR process. Elapsed time: {}", 
report.getId(),
         System.currentTimeMillis() - t1);
 
@@ -245,7 +261,7 @@
     params.put("reportId", parameters.get("reportId"));
     params.put("actionHandler", this.getClass().getName());
     recordInfo.put("processParameters", params);
-    recordInfo.put("filePath", strFilePath);
+    recordInfo.put("tmpfileName", strTmpFileName);
     recordInfo.put("fileName", strFileName);
 
     final JSONObject reportAction = new JSONObject();
@@ -280,7 +296,6 @@

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to