details:   https://code.openbravo.com/erp/devel/pi/rev/7a23607a0b6c
changeset: 33414:7a23607a0b6c
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Feb 09 09:15:50 2018 +0100
summary:   related to bug 37857: minor optimizations

  * FIC uses multiple ids only for attachemnts, we can initialize it only in 
that case
  * In convertJSONArray use more generic variable name
  * In convertJSONArray we know which will be the array size, so it can be 
initialized
    using it

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
 |  16 +++------
 1 files changed, 6 insertions(+), 10 deletions(-)

diffs (53 lines):

diff -r 81994596bc51 -r 7a23607a0b6c 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Thu Feb 08 18:10:27 2018 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Fri Feb 09 09:15:50 2018 +0100
@@ -134,8 +134,6 @@
       tabId = readParameter(parameters, "TAB_ID");
       // The ID of the record. Only relevant on EDIT, CHANGE and SETSESSION 
modes
       rowId = readParameter(parameters, "ROW_ID");
-      // The IDs of the selected records in case more than one
-      List<String> multipleRowIds = null;
       // The column changed by the user. Only relevant on CHANGE mode
       String changedColumn = readParameter(parameters, "CHANGED_COLUMN");
       Tab tab = getTab(tabId);
@@ -185,9 +183,6 @@
       if (jsContent.has("_gridVisibleProperties")) {
         gridVisibleProperties = 
convertJSONArray(jsContent.getJSONArray("_gridVisibleProperties"));
       }
-      if (jsContent.has("MULTIPLE_ROW_IDS")) {
-        multipleRowIds = 
convertJSONArray(jsContent.getJSONArray("MULTIPLE_ROW_IDS"));
-      }
 
       List<String> overwrittenAuxiliaryInputs = new ArrayList<String>();
       // The provided overwrittenAuxiliaryInputs only have to be persisted 
when calling the FIC in
@@ -299,8 +294,9 @@
       long t7 = System.currentTimeMillis();
       List<JSONObject> attachments = new ArrayList<JSONObject>();
       int attachmentCount = 0;
-      if (multipleRowIds != null) {
-        attachmentCount = computeAttachmentCount(tab, multipleRowIds, true);
+      if (jsContent.has("MULTIPLE_ROW_IDS")) {
+        attachmentCount = computeAttachmentCount(tab,
+            convertJSONArray(jsContent.getJSONArray("MULTIPLE_ROW_IDS")), 
true);
       } else {
         attachmentCount = computeAttachmentCount(tab, Arrays.asList(rowId), 
false);
       }
@@ -428,15 +424,15 @@
   }
 
   private List<String> convertJSONArray(JSONArray jsonArray) {
-    List<String> visibleProperties = new ArrayList<String>();
+    List<String> elements = new ArrayList<String>(jsonArray.length());
     for (int i = 0; i < jsonArray.length(); i++) {
       try {
-        visibleProperties.add(jsonArray.getString(i));
+        elements.add(jsonArray.getString(i));
       } catch (JSONException e) {
         throw new OBException("Error while reading the visible properties JSON 
array");
       }
     }
-    return visibleProperties;
+    return elements;
   }
 
   private JSONObject buildJSONObject(String mode, Tab tab, Map<String, 
JSONObject> columnValues,

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to