Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0032366Openbravo ERPA. Platformpublic2016-02-26 14:192017-02-21 17:23
alostale 
inigosanchez 
normalminorN/A
closedfixed 
5
 
3.0PR16Q43.0PR16Q4 
caristu
Core
No
0032366: callout invocation ineficiencies
Callouts are executed by FIC emulating a Servlet request, to later parse the response to generate a JSON object with the contents.

This mechanism has some performance drawbacks:
* There is an overhead to perform the request
* Response needs to be parsed to generate a JSON

Project documentation: http://wiki.openbravo.com/wiki/Projects:Callout_Performance_Improvements [^]
-
Callouts extending SimpleCallout should:

1. be directly invoked without need of doing a request
2. return a JSON object that does not require extra post processing
Performance
duplicate of defect 0036192 closed platform Openbravo ERP Not possible to overwrite the result of a callout from your own callout using a requestdispatcher an a decorator in Tomcat 7 
related to defect 0034043 closed inigosanchez Openbravo ERP There is a restriction when extending a callout from another callout and the same combo is updated. 
related to design defect 0032189 closed inigosanchez Openbravo ERP Make the callouts extensible 
related to defect 0033886 closed inigosanchez Openbravo ERP API change related with callouts refactor. 
related to defect 0034033 closed inigosanchez Openbravo ERP Removed unnecessary check in manageComboData method. 
related to defect 0034213 closed shuehner Openbravo ERP clean up AD_Model_Object and AD_Model_Object_Mapping 
related to defect 0035017 closed alostale Modules eclipse warning 
related to defect 0035213 closed inigosanchez Openbravo ERP Callout problem when working with comma (,) as decimal separator for euro references defined in format.xml 
related to defect 0035225 closed caristu Openbravo ERP Remove unused variable in ZohoProcessCallout 
related to defect 0035540 closed alostale Openbravo ERP Traceability Report does not work 
related to design defect 0036067 closed markmm82 Openbravo ERP old callouts should be refactored to implement SimpleCallout 
related to defect 0036917 closed markmm82 Openbravo ERP Default values are not selected in Return Material Receipt window if the organization does not have an on hand warehouse defined 
related to defect 0038370 closed shuehner Openbravo ERP Stop auto-adding new html mapping for every new callout (in ad_callout_trg) 
blocks defect 0036228 closed alostale Openbravo ERP SimpleCallout used as ConnectionProvider borrows 2 connections in same thread 
blocks feature request 00325123.0PR17Q1 closed alostale Openbravo ERP support WildFly 10 
causes defect 0033960 closed caristu Openbravo ERP "Warehouse" field goes blank when filling "Business Partner" field in a Purchase Order 
causes defect 0034067 closed inigosanchez Openbravo ERP No UOM Conversion Rate between UOMs found warning shown although the product does not have a 2nd UOM configured 
causes defect 0035176 closed caristu Openbravo ERP Callout's pool should be initialized before executing them 
causes defect 0035334 closed inigosanchez Openbravo ERP Callout problem when working with comma (,) as decimal separator 
causes defect 0036302 closed platform Openbravo ERP Display logic in fields is not working in callouts using SimpleCallout 
causes defect 0036392 closed collazoandy4 Openbravo ERP Avoid casting to Object when adding numeric results from a SimpleCallout 
Issue History
2016-02-26 14:19alostaleNew Issue
2016-02-26 14:19alostaleAssigned To => platform
2016-02-26 14:19alostaleModules => Core
2016-02-26 14:19alostaleTriggers an Emergency Pack => No
2016-02-26 14:19alostaleTag Attached: Performance
2016-02-26 14:19alostaleRelationship addedrelated to 0032189
2016-06-08 13:39inigosanchezStatusnew => scheduled
2016-06-08 13:39inigosanchezDescription Updatedbug_revision_view_page.php?rev_id=12332#r12332
2016-06-08 13:39inigosanchezAssigned Toplatform => inigosanchez
2016-09-02 12:07inigosanchezRelationship addedrelated to 0033886
2016-09-08 13:22hgbotCheckin
2016-09-08 13:22hgbotNote Added: 0089838
2016-09-08 13:29hgbotCheckin
2016-09-08 13:29hgbotNote Added: 0089840
2016-09-08 13:29hgbotStatusscheduled => resolved
2016-09-08 13:29hgbotResolutionopen => fixed
2016-09-08 13:29hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/b4a8ad7a445ff946888867836f3c3c80cb988f2a [^]
2016-09-08 13:30inigosanchezReview Assigned To => alostale
2016-09-08 13:36inigosanchezNote Added: 0089841
2016-09-08 21:36hudsonbotCheckin
2016-09-08 21:36hudsonbotNote Added: 0089857
2016-09-09 08:15alostaleReview Assigned Toalostale => caristu
2016-09-09 08:48hgbotCheckin
2016-09-09 08:48hgbotNote Added: 0089861
2016-09-09 14:40hudsonbotCheckin
2016-09-09 14:40hudsonbotNote Added: 0089869
2016-09-13 10:34caristuRelationship addedcauses 0033960
2016-09-14 10:19caristuNote Added: 0089939
2016-09-14 10:19caristuStatusresolved => closed
2016-09-14 10:19caristuFixed in Version => 3.0PR16Q4
2016-09-14 10:20caristuTarget Version => 3.0PR16Q4
2016-09-23 08:17alostaleRelationship addedrelated to 0034043
2016-09-23 12:56aferrazRelationship addedcauses 0034067
2016-09-27 16:33inigosanchezRelationship addedrelated to 0034033
2016-10-17 08:39hgbotCheckin
2016-10-17 08:39hgbotNote Added: 0090607
2016-10-17 08:47alostaleRelationship addedrelated to 0034213
2016-12-16 18:37hudsonbotCheckin
2016-12-16 18:37hudsonbotNote Added: 0092511
2017-01-20 08:39alostaleRelationship addedrelated to 0035017
2017-02-07 08:59caristuRelationship addedcauses 0035176
2017-02-10 09:07alostaleRelationship addedrelated to 0035213
2017-02-10 14:32caristuRelationship addedrelated to 0035225
2017-02-21 17:23jfrancesIssue Monitored: jfrances
2017-02-23 16:13inigosanchezRelationship addedcauses 0035334
2017-03-20 18:20aferrazRelationship addedcauses 0035540
2017-03-20 18:21aferrazRelationship replacedrelated to 0035540
2017-05-29 13:20shuehnerRelationship addedrelated to 0036067
2017-06-08 09:31alostaleRelationship addedduplicate of 0036192
2017-06-12 13:47alostaleRelationship addedblocks 0036228
2017-06-21 11:02aferrazRelationship addedcauses 0036302
2017-07-04 08:34caristuRelationship addedcauses 0036392
2017-09-21 17:18caristuRelationship addedrelated to 0036917
2017-11-02 09:34alostaleRelationship addedblocks 0032512
2018-04-19 09:41alostaleRelationship addedrelated to 0038370

Notes
(0089838)
hgbot   
2016-09-08 13:22   
Repository: erp/devel/api-checks
Changeset: 28ffc080263f4df5a4b61030dfb949d8b930a1c7
Author: Inigo Sanchez <inigo.sanchez <at> openbravo.com>
Date: Thu Sep 08 12:45:31 2016 +0200
URL: http://code.openbravo.com/erp/devel/api-checks/rev/28ffc080263f4df5a4b61030dfb949d8b930a1c7 [^]

Fixes issue 33886: API change for issue 32366

---
M java/reference/java.japi.gz
---
(0089840)
hgbot   
2016-09-08 13:29   
Repository: erp/devel/pi
Changeset: b4a8ad7a445ff946888867836f3c3c80cb988f2a
Author: Inigo Sanchez <inigo.sanchez <at> openbravo.com>
Date: Thu Sep 08 13:20:39 2016 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/b4a8ad7a445ff946888867836f3c3c80cb988f2a [^]

Fixes issue 32366: Callout performance improvements.

---
M modules/org.openbravo.client.application/src/org/openbravo/client/application/attachment/MetadataOnTab.java
M modules/org.openbravo.client.application/src/org/openbravo/client/application/example/JSExecuteCalloutExample.java
M modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
M modules/org.openbravo.client.application/src/org/openbravo/client/application/window/GridConfigurationSequenceNumberCallout.java
M modules/org.openbravo.client.querylist/src/org/openbravo/client/querylist/CheckOptionalFilterCallout.java
M src/org/openbravo/erpCommon/ad_callouts/EmailConfiguration_Port.java
M src/org/openbravo/erpCommon/ad_callouts/JavaPackageChecker.java
M src/org/openbravo/erpCommon/ad_callouts/Multiphase_dates.java
M src/org/openbravo/erpCommon/ad_callouts/SE_CalculateExchangeRate.java
M src/org/openbravo/erpCommon/ad_callouts/SE_DimensionDocBaseType.java
M src/org/openbravo/erpCommon/ad_callouts/SE_DoubtfulDebt_Method.java
M src/org/openbravo/erpCommon/ad_callouts/SE_ElementValue_AccountSign.java
M src/org/openbravo/erpCommon/ad_callouts/SE_GLItem_Transaction.java
M src/org/openbravo/erpCommon/ad_callouts/SE_InOut_Organization.java
M src/org/openbravo/erpCommon/ad_callouts/SE_InOut_Warehouse.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Invoice_AccountingDate.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Invoice_BPartnerLocation.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Invoice_Organization.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Invoice_TaxDate.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Locator_Activate.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Order_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Order_BPartnerLocation.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Order_Organization.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Organization_NotTaxDeductable.java
M src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod.java
M src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod_FinAccount.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Payment_BPartner.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Payment_FinAccount.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Payment_MultiCurrency.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Payment_Transaction.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Sales_Pricelist.java
M src/org/openbravo/erpCommon/ad_callouts/SE_StatementDate_Transaction.java
M src/org/openbravo/erpCommon/ad_callouts/SE_TaxRate_Withholding.java
M src/org/openbravo/erpCommon/ad_callouts/SE_Trxtype_Transaction.java
M src/org/openbravo/erpCommon/ad_callouts/SL_AdvPayment_Document.java
M src/org/openbravo/erpCommon/ad_callouts/SL_BP_Category_Default.java
M src/org/openbravo/erpCommon/ad_callouts/SL_BPartnerLocation.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Commission_ListDetails.java
M src/org/openbravo/erpCommon/ad_callouts/SL_CostAdjustment_DocType.java
M src/org/openbravo/erpCommon/ad_callouts/SL_CostingRule_FixBackdated.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Costing_Currency.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Depreciate.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InOutLine_Product.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InOut_AccountingDate.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InvAmtUpd_AmtUnitCost.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InvAmtUpd_DocType.java
M src/org/openbravo/erpCommon/ad_callouts/SL_InvAmtUpd_ProductRefDate.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Inventory_Locator.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Inventory_Product.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Journal_MultiAcctSchema.java
M src/org/openbravo/erpCommon/ad_callouts/SL_LandedCost_DocType.java
M src/org/openbravo/erpCommon/ad_callouts/SL_LandedCost_InvoiceLine.java
M src/org/openbravo/erpCommon/ad_callouts/SL_LandedCost_Receipt.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Movement_Product.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Order_UpdateLinesDate.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Preference.java
M src/org/openbravo/erpCommon/ad_callouts/SL_ProductCh_Characteristic.java
M src/org/openbravo/erpCommon/ad_callouts/SL_ProductionPlan_WRPhase_Quantity.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Project_Service.java
M src/org/openbravo/erpCommon/ad_callouts/SL_RefreshSequenceAndLength.java
M src/org/openbravo/erpCommon/ad_callouts/SL_Reservation.java
M src/org/openbravo/erpCommon/ad_callouts/SL_SequenceProduct_Product_Attribute.java
M src/org/openbravo/erpCommon/ad_callouts/SL_StatusFieldDefaults.java
M src/org/openbravo/erpCommon/ad_callouts/SL_TableTab.java
M src/org/openbravo/erpCommon/ad_callouts/SL_TaxCategory_Org.java
M src/org/openbravo/erpCommon/ad_callouts/SimpleCallout.java
M src/org/openbravo/erpCommon/ad_callouts/SysInfoCustomAllowed.java
A src/org/openbravo/erpCommon/ad_callouts/CalloutConstants.java
A src/org/openbravo/erpCommon/ad_callouts/CalloutInformationProvider.java
A src/org/openbravo/erpCommon/ad_callouts/DelegateConnectionProvider.java
A src/org/openbravo/erpCommon/ad_callouts/HttpServletCalloutInformationProvider.java
A src/org/openbravo/erpCommon/ad_callouts/SimpleCalloutInformationProvider.java
---
(0089841)
inigosanchez   
2016-09-08 13:36   
Several code review iterations have been done in order to improve the quality of the code. In the following sheet[1] can be seen the details of each review.

[1].https://docs.google.com/a/openbravo.com/spreadsheets/d/1MgzN1Qab2GkjIu9kc6aBvBDZ50c67TEiFG8aoF50HMo/edit?usp=sharing [^]
(0089857)
hudsonbot   
2016-09-08 21:36   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/bdb3e747cf46 [^]
Maturity status: Test
(0089861)
hgbot   
2016-09-09 08:48   
Repository: erp/devel/pi
Changeset: a4b35775939744c88fcc0f62d5552156a11abe31
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Fri Sep 09 08:47:45 2016 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/a4b35775939744c88fcc0f62d5552156a11abe31 [^]

related with issue 32366: removed unneeded casts and boilerplate

---
M src/org/openbravo/erpCommon/ad_callouts/SimpleCalloutInformationProvider.java
---
(0089869)
hudsonbot   
2016-09-09 14:40   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/a0e1673dab60 [^]
Maturity status: Test
(0089939)
caristu   
2016-09-14 10:19   
Code reviewed and tested as part of the project[1]. Code review iterations can be found here[2].

[1] http://wiki.openbravo.com/wiki/Projects:Callout_Performance_Improvements [^]

[2] https://docs.google.com/spreadsheets/d/1MgzN1Qab2GkjIu9kc6aBvBDZ50c67TEiFG8aoF50HMo/edit?ts=57aac752#gid=0 [^]
(0090607)
hgbot   
2016-10-17 08:39   
Repository: erp/devel/pi
Changeset: b468094df0d0ff1d168a03977ba314f64549b998
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Fri Oct 14 16:02:59 2016 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/b468094df0d0ff1d168a03977ba314f64549b998 [^]

related to issue 32512, related to issue 32366: exclude callouts from web.xml

  Callous are not executed as Servlets so they needn't be in web.xml. SimpleCallout
  do not extend servlet, so callouts extending it cannot be in web.xml.

---
M src-test/src/org/openbravo/test/model/ClassLoaderTest.java
M src-wad/src/org/openbravo/wad/Wad_data.xsql
---
(0092511)
hudsonbot   
2016-12-16 18:37   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/dc8bf00badd0 [^]
Maturity status: Test