details: https://code.openbravo.com/erp/devel/main/rev/0e4febf32416 changeset: 26824:0e4febf32416 user: Martin Taal <martin.taal <at> openbravo.com> date: Tue Jun 02 12:46:43 2015 +0200 summary: Related to issue 29766: Retail Operations Buffer: store all transactions in operations table before processing - Don't queue complete entry but only needed id's to recreate obcontext and reload entry - Only load maxBatchSize per type of data, handling each type of data separately makes them less influence eachother, the order of the type of data is based on sequence of list reference, order makes business sense also - Added process to reprocess entries which are in error - added several configuration parameters which allow controlling number of threads, queue size and task queue size from properties, sensible defaults have been set, also prevention mechanism for 'crazy' values has been implemented - centralized the threadpool, so all processors share the same queue together with the main thread - the main thread now uses a scroll method, importentries are removed from the session right after assigning to the processor to decrease memory foot print - the main thread now processes entries by type of data, in order of the sequence number of the type of data, this gives better predictable results and also gives a better change that different types of data don't block eachother - replaced the stored column with the created column, to make table smaller, revisited the index - added role to the import entry table, so that it is stored with the entry, as it is needed to rebuild the obcontext when processing the entry, as the role of the user can have changed or the default role is not suited for the entry to be handled. - made field length of json and errorinfo columns to 10 million, added testcase to proof that 10million characters can be saved in the json/errorinfo columns - let the ImportEntryManager thread start when mobile core starts in the application, using a context listener - when adding a new import entry check both in the import entry as well as in the import entry archive table if it was already passed in - don't wait anymore after waking up from the managerWaitTime - when saving import entry as error, make sure that the obcontext is only temporarily replaced with the admin context, restore the previous context - set the thread name in the threadfactory
details: https://code.openbravo.com/erp/devel/main/rev/4e1811fb5889 changeset: 26825:4e1811fb5889 user: Naroa Iriarte <naroa.iriarte <at> openbravo.com> date: Tue Jun 02 14:18:15 2015 +0200 summary: Fixed issue 27445:ad_table_import function has two lines with wrong datatype. In the AD_TABLE_IMPORT.xml, there were two values assigned with wrong type of data. These were integer and should be varchar. To fix this, those two values have been changed to varchar. To test this after the change, a new table has been created, and the "Create Columns from DB" process has been executed. It works correctly. details: https://code.openbravo.com/erp/devel/main/rev/de9cee483843 changeset: 26826:de9cee483843 user: Naroa Iriarte <naroa.iriarte <at> openbravo.com> date: Tue Jun 02 14:38:36 2015 +0200 summary: Related with issue 27445: Update the copyright year The year of the copyright has been updated. details: https://code.openbravo.com/erp/devel/main/rev/89ecff04c23e changeset: 26827:89ecff04c23e user: Atul Gaware <atul.gaware <at> openbravo.com> date: Wed May 27 11:59:32 2015 +0530 summary: Fixes Issue 27262:After using copy from order the old order can not be removed A event handler is implemented to achieve the functionality. details: https://code.openbravo.com/erp/devel/main/rev/d73cfed50b6e changeset: 26828:d73cfed50b6e user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Tue Jun 02 14:39:07 2015 +0200 summary: Related to issue 27262: Run direct update query to improve performance Instead of getting all the sales order lines to update the reference line, we have replaced by a direct Update HQL, which improves performance and reduces the memory usage details: https://code.openbravo.com/erp/devel/main/rev/7eae99f7fe79 changeset: 26829:7eae99f7fe79 user: Atul Gaware <atul.gaware <at> openbravo.com> date: Wed May 27 01:29:05 2015 +0530 summary: Fixes Issue 29962:Wrong storage bin can be selected in Pending Goods Receipt window inpadOrgId is passed as a input parameter to filter locator in onloadfunctions method. Session variable Locator.adorgid is set to this parameter value. details: https://code.openbravo.com/erp/devel/main/rev/0b60872f78f5 changeset: 26830:0b60872f78f5 user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Wed May 20 16:30:14 2015 +0200 summary: Fixed bug 29664: Create Price List performance The patch contains the following changes that improve the process performance (in my local environment the performance is increased an average of 80%): 1. count(*) inside M_GET_NO_TRX_PRODUCT_COST has been rewritten to use exists clause 2. Added 2 indices to M_Product_PO table on M_PRODUCT_ID and C_BPARTNER_ID columns to reduce seq. scans on this table 3. M_PRICELIST_CREATE: Force to analyze C_TEMP_Selection table in Postgres According to PostgreSQL documentation, the autovacuum daemon cannot access and therefore cannot vacuum or analyze temporary tables. So it's recommended to run ANALYZE after the table is populated to improve performance. Oracle doesn't seem to be affected by this problem, so the analyze is only executed for postgres 4. M_PRICELIST_CREATE: Complex queries that fill the C_TEMP_Selection has been rewritten using a dynamic SQL run through the EXECUTE command. Although these queries are in general fast, they are executed as many times as records to be inserted into the Price List. So, the bigger amount of records the slower the process is. It has been detected that the execution plan created for these queries can be improved a lot if we remove useless parts in the where clause (OR stuff). That's why we dynamically build the sql based on the parameters, which drastically improves the execution plan performance. 5. M_PRICELIST_CREATE: Removed useless join to ad_client table to calculate the client's currency. Instead we get it at the beginning of the process just one time. 6. M_PRICELIST_CREATE: Removed code included into the IF (v_Costbased = 'N'AND (v_PriceList_Version_Base_ID IS NULL)). This code is never executed, because there is a validation at the beginning of the process to avoid that situation. Other changes not included that could improve performance: 1. Changing the db functions ad_isorgincluded and ad_org_isinnaturaltree from VOLATILE to STABLE reduces execution time for cost based price lists. Right now the DBSM doesn't support this flag, so a feature request #29943 has been created details: https://code.openbravo.com/erp/devel/main/rev/72a46a4bb692 changeset: 26831:72a46a4bb692 user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Tue Jun 02 11:59:51 2015 +0200 summary: Fixes issue 30070: NPE when navigating from Payment In/Out Lines tab ReferencedLink was checking reference record when navigating from Order Payment Schedule or Invoice Payment Schedule fields from Payment In Lines or Payment Out Lines tab; in order to know where the record had to navigate to. When the value of this field was empty, a Null Pointer Exception was raised. Now, in this case, a "Record empty" exception will be raised. Also, those fields will be now not displayed if their value is empty. Duplicated Order Payment Schedule and Invoice Payment Schedule fields have been removed also in those tabs, what was causing an error in int-full-oracle-compile-all job. details: https://code.openbravo.com/erp/devel/main/rev/cf75c68bd2e0 changeset: 26832:cf75c68bd2e0 user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Tue Jun 02 18:13:05 2015 +0200 summary: Related to issue 30070: code review improvements Improved exception message with a bit of context. Set Document No. related fields as centrally maintained = N and renamed to Invoice No. and Order No. details: https://code.openbravo.com/erp/devel/main/rev/10f9c780eb22 changeset: 26833:10f9c780eb22 user: RM packaging bot <staff.rm <at> openbravo.com> date: Tue Jun 02 16:40:25 2015 +0000 summary: CI: merge back from main details: https://code.openbravo.com/erp/devel/main/rev/8fff038cc32e changeset: 26834:8fff038cc32e user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com> date: Tue Jun 02 19:07:56 2015 +0200 summary: Relate to issue 29266. Removes log.info from test details: https://code.openbravo.com/erp/devel/main/rev/814a9e2ca8ce changeset: 26835:814a9e2ca8ce user: Carlos Aristu <carlos.aristu <at> openbravo.com> date: Wed Jun 03 09:43:20 2015 +0200 summary: Fixes issue 29745: Add on the renderJr method the option to print on plain text details: https://code.openbravo.com/erp/devel/main/rev/6a8a7601ff96 changeset: 26836:6a8a7601ff96 user: Jorge Garcia <jorge.garcia <at> openbravo.com> date: Wed Jun 03 11:08:45 2015 +0200 summary: Fixed issue 30080: Improve user experience in Payment In/Out lines tab Payment In and Payment Out lines tab has been improved. Some fields has been added and other has been hidden in the lines tab. details: https://code.openbravo.com/erp/devel/main/rev/5ca1fcef07ed changeset: 26837:5ca1fcef07ed user: Atul Gaware <atul.gaware <at> openbravo.com> date: Tue Jun 02 13:25:52 2015 +0530 summary: Fixes Issue 29802:Product selector in requisition line filter's by purchase products in price lists If case of window is for Requisition, then Product Complete selector filters product by purchase flag. details: https://code.openbravo.com/erp/devel/main/rev/bb6958d2bb8d changeset: 26838:bb6958d2bb8d user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com> date: Wed Jun 03 12:49:03 2015 +0200 summary: Backouts 8fff038cc32e rev. Multiple files pushed by mistake details: https://code.openbravo.com/erp/devel/main/rev/084e25f8f2cd changeset: 26839:084e25f8f2cd user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Jun 03 16:37:19 2015 +0000 summary: CI: update AD_MODULE to version 26838 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.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_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/ReportingUtils.java | 116 ++ 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-db/database/model/functions/AD_TABLE_IMPORT.xml | 6 +- src-db/database/model/functions/M_GET_NO_TRX_PRODUCT_COST.xml | 26 +- src-db/database/model/functions/M_PRICELIST_CREATE.xml | 229 +++-- src-db/database/model/tables/C_IMPORT_ENTRY.xml | 15 +- src-db/database/model/tables/C_IMPORT_ENTRY_ARCHIVE.xml | 11 +- src-db/database/model/tables/M_PRODUCT_PO.xml | 6 + src-db/database/sourcedata/AD_COLUMN.xml | 146 +- src-db/database/sourcedata/AD_ELEMENT.xml | 12 - src-db/database/sourcedata/AD_FIELD.xml | 393 ++++----- src-db/database/sourcedata/AD_MODULE.xml | 4 +- src-db/database/sourcedata/AD_PROCESS.xml | 24 + src-db/database/sourcedata/AD_TAB.xml | 4 +- src-db/database/sourcedata/OBUISEL_SELECTOR.xml | 2 +- src-test/src/org/openbravo/test/AllAntTaskTests.java | 2 + src-test/src/org/openbravo/test/AllQuickAntTaskTests.java | 2 + src-test/src/org/openbravo/test/AntTaskTests.java | 2 + src-test/src/org/openbravo/test/system/ImportEntrySizeTest.java | 114 ++ src/org/openbravo/base/secureApp/HttpSecureAppServlet.java | 3 +- src/org/openbravo/erpCommon/ad_forms/MaterialReceiptPending.html | 2 +- src/org/openbravo/erpCommon/info/Locator.java | 5 +- src/org/openbravo/erpCommon/utility/DownloadReport.java | 2 + src/org/openbravo/erpCommon/utility/ReferencedLink.java | 56 +- src/org/openbravo/event/OrderLineEventHandler.java | 69 + src/org/openbravo/service/importprocess/ImportEntryArchiveManager.java | 18 +- src/org/openbravo/service/importprocess/ImportEntryManager.java | 219 ++++- src/org/openbravo/service/importprocess/ImportEntryProcessor.java | 182 ++-- src/org/openbravo/service/importprocess/ImportProcessUtils.java | 62 + src/org/openbravo/service/importprocess/ImportReprocessErrorEntries.java | 65 + src/org/openbravo/service/importprocess/ProcessImportEntriesProcessActionHandler.java | 65 + 72 files changed, 1334 insertions(+), 694 deletions(-) diffs (truncated from 4012 to 300 lines): diff -r 997f501a4674 -r 084e25f8f2cd modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Wed Jun 03 16:37:19 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.26817]]></VERSION> +<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION><![CDATA[3.0.26838]]></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 997f501a4674 -r 084e25f8f2cd 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 Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Jun 03 16:37:19 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.26817]]></STARTVERSION> +<!--89326AE95DAD449D85DFAB2C5B1C6683--> <STARTVERSION><![CDATA[2.1.26838]]></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.26817]]></STARTVERSION> +<!--B97FC854C6DD41E692161585645A900F--> <STARTVERSION><![CDATA[3.0.26838]]></STARTVERSION> <!--B97FC854C6DD41E692161585645A900F--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 997f501a4674 -r 084e25f8f2cd 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 Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml Wed Jun 03 16:37:19 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.26817]]></VERSION> +<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION><![CDATA[1.1.26838]]></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 997f501a4674 -r 084e25f8f2cd 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 Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Jun 03 16:37:19 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.26817]]></STARTVERSION> +<!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <STARTVERSION><![CDATA[3.0.26838]]></STARTVERSION> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 997f501a4674 -r 084e25f8f2cd 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 Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml Wed Jun 03 16:37:19 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.26817]]></VERSION> +<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION><![CDATA[2.1.26838]]></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 997f501a4674 -r 084e25f8f2cd 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 Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Jun 03 16:37:19 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.26817]]></STARTVERSION> +<!--15D7CE8D95D043189162DBABA54A1F61--> <STARTVERSION><![CDATA[2.1.26838]]></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.26817]]></STARTVERSION> +<!--60A170212F36499D83B8AD38D01F46B3--> <STARTVERSION><![CDATA[2.1.26838]]></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.26817]]></STARTVERSION> +<!--824D60CB352E4099B1D8C903CA139DAE--> <STARTVERSION><![CDATA[3.0.26838]]></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.26817]]></STARTVERSION> +<!--E8FD820AFE3D4FE08C02FC47769026AD--> <STARTVERSION><![CDATA[8.1.26838]]></STARTVERSION> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r 997f501a4674 -r 084e25f8f2cd modules/org.openbravo.client.application/src/org/openbravo/client/application/report/ReportingUtils.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/report/ReportingUtils.java Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/report/ReportingUtils.java Wed Jun 03 16:37:19 2015 +0000 @@ -48,6 +48,7 @@ import net.sf.jasperreports.engine.export.HtmlExporter; import net.sf.jasperreports.engine.export.JRCsvExporter; import net.sf.jasperreports.engine.export.JRPdfExporter; +import net.sf.jasperreports.engine.export.JRTextExporter; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.fill.JRSwapFileVirtualizer; import net.sf.jasperreports.engine.util.JRSwapFile; @@ -58,6 +59,8 @@ import net.sf.jasperreports.export.SimpleHtmlReportConfiguration; import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput; import net.sf.jasperreports.export.SimplePdfExporterConfiguration; +import net.sf.jasperreports.export.SimpleTextExporterConfiguration; +import net.sf.jasperreports.export.SimpleTextReportConfiguration; import net.sf.jasperreports.export.SimpleWriterExporterOutput; import net.sf.jasperreports.export.SimpleXlsReportConfiguration; import net.sf.jasperreports.export.type.HtmlSizeUnitEnum; @@ -97,6 +100,9 @@ * Used to set the parameter with the URI to retrieve images in HTML reports. */ public static final String IMAGES_URI = "Images URI"; + + private static final double TEXT_CHAR_HEIGHT = 10; + private static final double TEXT_CHAR_WIDTH = 10; private static final Logger log = LoggerFactory.getLogger(ReportingUtils.class); /** @@ -332,6 +338,9 @@ case PDF: JasperExportManager.exportReportToPdfFile(jasperPrint, target.getAbsolutePath()); break; + case TXT: + saveTxtReportToFile(jasperPrint, target); + break; case XLS: saveExcelReportToFile(jasperPrint, exportParameters, target); break; @@ -370,6 +379,9 @@ case PDF: JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream); break; + case TXT: + saveTxtReportToOutputStream(jasperPrint, outputStream); + break; case XLS: saveExcelReportToOutputStream(jasperPrint, exportParameters, outputStream); break; @@ -643,6 +655,99 @@ } /** + * Generates a plain text report from a pre-compiled report and returns it into a file. + * + * @param jasperPrint + * JasperPrint object which contains a compiled report. + * @param file + * The file used to return the report. + * @throws JRException + * In case there is any error generating the report an exception is thrown with the + * error message. + */ + private static void saveTxtReportToFile(JasperPrint jasperPrint, File file) throws JRException { + final JRTextExporter textExporter = new JRTextExporter(); + SimpleExporterInput exporterInput = new SimpleExporterInput(jasperPrint); + SimpleWriterExporterOutput exporterOutput = new SimpleWriterExporterOutput(file); + + // Default text configuration that can be overridden in the .jrxml template itself + SimpleTextExporterConfiguration textExporterConfiguration = new SimpleTextExporterConfiguration(); + textExporterConfiguration.setOverrideHints(false); + textExporter.setConfiguration(textExporterConfiguration); + // Default item text configuration that can be overridden in the .jrxml template itself + SimpleTextReportConfiguration textReportConfiguration = new SimpleTextReportConfiguration(); + textReportConfiguration.setCharHeight(new Float(TEXT_CHAR_HEIGHT)); + textReportConfiguration.setCharWidth(new Float(TEXT_CHAR_WIDTH)); + textReportConfiguration.setOverrideHints(false); + textExporter.setConfiguration(textReportConfiguration); + + textExporter.setExporterInput(exporterInput); + textExporter.setExporterOutput(exporterOutput); + textExporter.exportReport(); + } + + /** + * Generates a plain text report from a pre-compiled report and returns it into an output stream. + * + * @param jasperPrint + * JasperPrint object which contains a compiled report. + * @param outputStream + * The output stream used to return the report. + * @throws JRException + * In case there is any error generating the report an exception is thrown with the + * error message. + */ + private static void saveTxtReportToOutputStream(JasperPrint jasperPrint, OutputStream outputStream) + throws JRException { + final JRTextExporter textExporter = new JRTextExporter(); + SimpleExporterInput exporterInput = new SimpleExporterInput(jasperPrint); + SimpleWriterExporterOutput exporterOutput = new SimpleWriterExporterOutput(outputStream); + + // Default text configuration that can be overridden in the .jrxml template itself + SimpleTextExporterConfiguration textExporterConfiguration = new SimpleTextExporterConfiguration(); + textExporterConfiguration.setOverrideHints(false); + textExporter.setConfiguration(textExporterConfiguration); + // Default item text configuration that can be overridden in the .jrxml template itself + SimpleTextReportConfiguration textReportConfiguration = new SimpleTextReportConfiguration(); + textReportConfiguration.setCharHeight(new Float(TEXT_CHAR_HEIGHT)); + textReportConfiguration.setCharWidth(new Float(TEXT_CHAR_WIDTH)); + textReportConfiguration.setOverrideHints(false); + textExporter.setConfiguration(textReportConfiguration); + + textExporter.setExporterInput(exporterInput); + textExporter.setExporterOutput(exporterOutput); + textExporter.exportReport(); + } + + /** + * Generates a plain text report using the SimpleExporterInput, SimpleWriterExporterOutput, + * SimpleTextExporterConfiguration and SimpleTextReportConfiguration received as parameters. + * + * @param exporterInput + * SimpleExporterInput object with the input data. + * @param exporterOutput + * SimpleWriterExporterOutput object with the output data. + * @param textExporterConfiguration + * SimpleTextExporterConfiguration with the configuration data. + * @param textReportConfiguration + * SimpleTextReportConfiguration with the item configuration data. + * @throws JRException + * In case there is any error generating the report an exception is thrown with the + * error message. + */ + public static void saveTxtReport(SimpleExporterInput exporterInput, + SimpleWriterExporterOutput exporterOutput, + SimpleTextExporterConfiguration textExporterConfiguration, + SimpleTextReportConfiguration textReportConfiguration) throws JRException { + final JRTextExporter textExporter = new JRTextExporter(); + textExporter.setExporterInput(exporterInput); + textExporter.setExporterOutput(exporterOutput); + textExporter.setConfiguration(textExporterConfiguration); + textExporter.setConfiguration(textReportConfiguration); + textExporter.exportReport(); + } + + /** * Generates a SimpleXlsReportConfiguration from a parameter map. * * This method allows backwards compatibility when generating XLS reports by using a parameter map @@ -1181,6 +1286,15 @@ } }), // /** + * TXT export type + */ + @SuppressWarnings("serial") + TXT("txt", "100", new HashMap<String, Object>() { + { + put("IS_IGNORE_PAGINATION", false); + } + }), // + /** * XLS export type */ @SuppressWarnings("serial") @@ -1263,6 +1377,8 @@ return ExportType.HTML; } else if ("PDF".equals(action)) { return ExportType.PDF; + } else if ("TXT".equals(action)) { + return ExportType.TXT; } else if ("XLS".equals(action)) { return ExportType.XLS; } else if ("XML".equals(action)) { diff -r 997f501a4674 -r 084e25f8f2cd modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml Wed Jun 03 16:37:19 2015 +0000 @@ -6,7 +6,7 @@ <!--D393BE6F22BB44B7B728259B34FC795A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--D393BE6F22BB44B7B728259B34FC795A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--D393BE6F22BB44B7B728259B34FC795A--> <NAME><![CDATA[HTML Widget]]></NAME> -<!--D393BE6F22BB44B7B728259B34FC795A--> <VERSION><![CDATA[1.0.26817]]></VERSION> +<!--D393BE6F22BB44B7B728259B34FC795A--> <VERSION><![CDATA[1.0.26838]]></VERSION> <!--D393BE6F22BB44B7B728259B34FC795A--> <DESCRIPTION><![CDATA[Provides the HTML Widget superclass that allows to create widget classes that embed the html code.]]></DESCRIPTION> <!--D393BE6F22BB44B7B728259B34FC795A--> <HELP><![CDATA[With this module you can define your own widget classes just setting up your own html code or the html code provided by third parties.]]></HELP> <!--D393BE6F22BB44B7B728259B34FC795A--> <URL><![CDATA[http://forge.openbravo.com/projects/htmlwidget]]></URL> diff -r 997f501a4674 -r 084e25f8f2cd modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Tue Jun 02 10:46:21 2015 +0200 +++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Jun 03 16:37:19 2015 +0000 @@ -7,7 +7,7 @@ <!--DCE798FBC5B648F7A3C81A6941720A57--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> ------------------------------------------------------------------------------ _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits