details:   /erp/devel/pi/rev/66a2b1f2a809
changeset: 8433:66a2b1f2a809
user:      Valery Lezhebokov <valery.lezhebokov <at> gmail.com>
date:      Sun Aug 22 19:28:18 2010 +0200
summary:   Fixes issue 13292: Update details for an MP points to current 
installed release notes

details:   /erp/devel/pi/rev/7b519576ec42
changeset: 8434:7b519576ec42
user:      Valery Lezhebokov <valery.lezhebokov <at> gmail.com>
date:      Tue Aug 31 14:27:33 2010 +0200
summary:   merging with PI

details:   /erp/devel/pi/rev/99e2f90447a6
changeset: 8435:99e2f90447a6
user:      Valery Lezhebokov <valery.lezhebokov <at> gmail.com>
date:      Wed Sep 01 16:59:24 2010 +0200
summary:   Fixes issue 13292: Update details for an MP points to current 
installed release notes

details:   /erp/devel/pi/rev/0667d8d85840
changeset: 8436:0667d8d85840
user:      Valery Lezhebokov <valery.lezhebokov <at> gmail.com>
date:      Thu Sep 02 09:05:30 2010 +0200
summary:   Fixes issue 13826: On email document popup, "Add Attachment" button 
label doesn't fit the button

details:   /erp/devel/pi/rev/4bad3f86effc
changeset: 8437:4bad3f86effc
user:      Valery Lezhebokov <valery.lezhebokov <at> gmail.com>
date:      Wed Sep 08 17:25:08 2010 +0200
summary:   Fixes issue 14346: On activating an instance with a wrong key, the 
message is "InvalidPublicKey"

details:   /erp/devel/pi/rev/2eaf48823a32
changeset: 8438:2eaf48823a32
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Thu Sep 23 12:24:35 2010 +0200
summary:   related to issue 14346: Reverted formatting changes of 4bad3f86effc

details:   /erp/devel/pi/rev/0ec9db2b11aa
changeset: 8439:0ec9db2b11aa
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Thu Sep 23 12:25:41 2010 +0200
summary:   merge

diffstat:

 .hgsigs                                                                     |  
   1 +
 .hgtags                                                                     |  
   1 +
 build.xml                                                                   |  
   1 +
 config/licenseRestrictions                                                  |  
   1 -
 src-core/src/org/openbravo/xmlEngine/DataTemplate.java                      |  
   6 +-
 src-core/src/org/openbravo/xmlEngine/DataValue.java                         |  
  24 +-
 src-core/src/org/openbravo/xmlEngine/SectionValue.java                      |  
   8 +-
 src-core/src/org/openbravo/xmlEngine/XmlDocument.java                       |  
  91 +-
 src-db/database/lib/dbsourcemanager.jar                                     |  
   0 
 src-db/database/model/excludeFilter.xml                                     |  
  71 +
 src-db/database/model/functions/C_BANKSTATEMENT_POST.xml                    |  
   9 +-
 src-db/database/model/functions/C_ORDER_PO_CREATE.xml                       |  
   8 +-
 src-db/database/model/functions/C_PROJECT_GENERATE.xml                      |  
   9 +-
 src-db/database/model/functions/MA_COPY_VERSION.xml                         |  
   2 +-
 src-db/database/model/functions/MRP_PROCESSPLAN.xml                         |  
   8 +-
 src-db/database/model/functions/MRP_PURCHASEORDER.xml                       |  
   8 +-
 src-db/database/model/functions/MRP_RUN_EXPLODE.xml                         |  
   2 +-
 src-db/database/model/functions/MRP_RUN_INITIALIZE.xml                      |  
   3 +
 src-db/database/model/functions/M_INOUT_CREATEINVOICE.xml                   |  
  12 +-
 src-db/database/model/functions/M_REQUISITION_CREATEPO.xml                  |  
  13 +-
 src-db/database/model/tables/AD_TREENODE.xml                                |  
   2 +-
 src-db/database/model/tables/C_ACCTSCHEMA_TABLE.xml                         |  
   4 +
 src-db/database/model/tables/FIN_PAYMENT.xml                                |  
   8 +
 src-db/database/model/triggers/AD_ORG_TRG.xml                               |  
   6 +
 src-db/database/model/triggers/AD_TAB_TRG2.xml                              |  
   9 +-
 src-db/database/model/triggers/C_ORDER_TRG2.xml                             |  
   9 +
 src-db/database/model/triggers/M_INOUTLINE_TRG.xml                          |  
  15 +-
 src-db/database/sourcedata/AD_AUXILIARINPUT.xml                             |  
  11 +
 src-db/database/sourcedata/AD_COLUMN.xml                                    |  
 153 +-
 src-db/database/sourcedata/AD_ELEMENT.xml                                   |  
 109 +-
 src-db/database/sourcedata/AD_FIELD.xml                                     |  
 377 ++-
 src-db/database/sourcedata/AD_MESSAGE.xml                                   |  
  71 +-
 src-db/database/sourcedata/AD_MODEL_OBJECT.xml                              |  
 648 ++++++
 src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml                      |  
1060 +++++++++-
 src-db/database/sourcedata/AD_MODULE.xml                                    |  
   4 +-
 src-db/database/sourcedata/AD_REF_LIST.xml                                  |  
  37 +-
 src-db/database/sourcedata/AD_TABLE.xml                                     |  
   8 +-
 src-db/database/sourcedata/AD_TEXTINTERFACES.xml                            |  
  33 +-
 src-db/src/com/openbravo/db/OpenbravoExcludeFilter.java                     |  
   4 +-
 src-test/org/openbravo/test/dal/DoOrgClientAccessCheckTest.java             |  
  99 +
 src-test/org/openbravo/test/dal/IssuesTest.java                             |  
  57 +
 src-test/org/openbravo/test/security/AllDataAllowedOrganizationsTest.java   |  
  99 +
 src-wad/src/org/openbravo/wad/Wad_data.xsql                                 |  
  21 +-
 src/build.xml                                                               |  
   3 +-
 src/org/openbravo/base/model/NamingUtil.java                                |  
   8 +-
 src/org/openbravo/base/secureApp/HttpSecureAppServlet.java                  |  
  16 +-
 src/org/openbravo/dal/core/DalRequestFilter.java                            |  
   2 +
 src/org/openbravo/dal/core/OBContext.java                                   |  
  69 +-
 src/org/openbravo/dal/core/OBInterceptor.java                               |  
  34 +-
 src/org/openbravo/dal/security/SecurityChecker.java                         |  
   3 +-
 src/org/openbravo/dal/xml/XMLEntityConverter.java                           |  
   1 +
 src/org/openbravo/erpCommon/ad_actionButton/CopyFromPOOrder_data.xsql       |  
   2 +-
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice.html         |  
   4 +-
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql    |  
   6 +-
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Shipment_data.xsql   |  
   5 +-
 src/org/openbravo/erpCommon/ad_actionButton/ExpenseSOrder.java              |  
  63 +-
 src/org/openbravo/erpCommon/ad_actionButton/ExpenseSOrder_data.xsql         |  
 101 +-
 src/org/openbravo/erpCommon/ad_actionButton/Posted.java                     |  
   4 +-
 src/org/openbravo/erpCommon/ad_callouts/SE_Order_BPartner.java              |  
   6 +-
 src/org/openbravo/erpCommon/ad_callouts/SE_Order_BPartner_data.xsql         |  
   9 +
 src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod.java               |  
  18 +-
 src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod_FinAccount.java    |  
   8 +-
 src/org/openbravo/erpCommon/ad_callouts/SL_Inventory_Locator.java           |  
  11 +-
 src/org/openbravo/erpCommon/ad_callouts/SL_Inventory_Locator_data.xsql      |  
   4 +-
 src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Amt.java         |  
  63 +-
 src/org/openbravo/erpCommon/ad_forms/AcctSchema.java                        |  
  12 +-
 src/org/openbravo/erpCommon/ad_forms/AcctServer.java                        |  
  75 +-
 src/org/openbravo/erpCommon/ad_forms/AcctServer_data.xsql                   |  
  14 +-
 src/org/openbravo/erpCommon/ad_forms/DocBank.java                           |  
  18 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java           |  
 240 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java                     |  
  66 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java              |  
 216 +-
 src/org/openbravo/erpCommon/ad_forms/Heartbeat.java                         |  
   9 +-
 src/org/openbravo/erpCommon/ad_forms/ModuleManagement.java                  |  
  57 +-
 src/org/openbravo/erpCommon/ad_forms/ModuleManagement_InstallP1.html        |  
   2 +-
 src/org/openbravo/erpCommon/ad_process/AcctServerProcess.java               |  
   8 +-
 src/org/openbravo/erpCommon/ad_process/AcctServerProcess_data.xsql          |  
  35 +-
 src/org/openbravo/erpCommon/ad_process/COrder_data.xsql                     |  
  21 +-
 src/org/openbravo/erpCommon/ad_process/ImportOrder.java                     |  
   9 +
 src/org/openbravo/erpCommon/ad_process/TestHeartbeat.java                   |  
  13 +-
 src/org/openbravo/erpCommon/ad_reports/ReportAcctRedirectUtility.java       |  
  17 +-
 src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance_data.xsql         |  
  30 +-
 src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java      |  
   6 +-
 src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal_data.xsql |  
  10 +-
 src/org/openbravo/erpCommon/ad_reports/ReportNotPosted_data.xsql            |  
  25 +-
 src/org/openbravo/erpCommon/ad_reports/ReportProductMovement.html           |  
   4 +-
 src/org/openbravo/erpCommon/businessUtility/COAUtility.java                 |  
   4 +-
 src/org/openbravo/erpCommon/info/Account.html                               |  
   2 +
 src/org/openbravo/erpCommon/info/ProductComplete.java                       |  
   2 +-
 src/org/openbravo/erpCommon/modules/ImportModule.java                       |  
   5 +-
 src/org/openbravo/erpCommon/modules/ImportModule_data.xsql                  |  
   4 +-
 src/org/openbravo/erpCommon/modules/VersionUtility.java                     |  
   6 +-
 src/org/openbravo/erpCommon/obps/ActivationKey.java                         |  
  11 +-
 src/org/openbravo/erpCommon/obps/licenseRestrictions                        |  
   1 +
 src/org/openbravo/erpCommon/security/Login_F1.html                          |  
  14 +-
 src/org/openbravo/erpCommon/utility/ComboTableData.java                     |  
 341 +--
 src/org/openbravo/erpCommon/utility/ComboTableQuery_data.xsql               |  
   2 +-
 src/org/openbravo/erpCommon/utility/UsedByLink.java                         |  
   2 +-
 src/org/openbravo/erpCommon/utility/reporting/printing/EmailOptions.html    |  
  12 +-
 src/org/openbravo/erpReports/C_OrderJR.jrxml                                |  
  10 +-
 src/org/openbravo/erpReports/C_OrderLinesJR.jrxml                           |  
  14 +-
 src/org/openbravo/erpReports/RptC_Invoice.jrxml                             |  
   7 +-
 src/org/openbravo/erpReports/RptC_OrderPO.jrxml                             |  
   5 +-
 src/org/openbravo/erpReports/RptM_InOut.jrxml                               |  
   7 +-
 src/org/openbravo/reference/ui/ComboTableQuery_data.xsql                    |  
  75 -
 src/org/openbravo/reference/ui/UIList.java                                  |  
  58 +
 src/org/openbravo/reference/ui/UIReference.java                             |  
  16 +-
 src/org/openbravo/reference/ui/UIReferenceUtility.java                      |  
  73 +-
 src/org/openbravo/reference/ui/UITable.java                                 |  
  62 +-
 src/org/openbravo/reference/ui/UITableDir.java                              |  
  46 +
 src/org/openbravo/service/db/ImportReferenceDataTask.java                   |  
  71 +
 src/org/openbravo/service/system/SystemValidationTask.java                  |  
   5 +-
 web/js/ajax.js                                                              |  
  14 +-
 web/js/appStatus.js                                                         |  
   2 +-
 web/js/searchs.js                                                           |  
  16 +-
 web/js/utils.js                                                             |  
  63 +-
 116 files changed, 4271 insertions(+), 1128 deletions(-)

diffs (truncated from 10254 to 300 lines):

diff -r d08feaca26c7 -r 0ec9db2b11aa .hgsigs
--- a/.hgsigs   Sat Aug 21 18:35:56 2010 +0530
+++ b/.hgsigs   Thu Sep 23 12:25:41 2010 +0200
@@ -21,3 +21,4 @@
 9b4bbe8362f54f7212653fddf5bd053183a7ffda 0 
iEYEABECAAYFAkv8vDgACgkQCX/oGf+2qkPC3ACfURoh78/OY95XuFkAKNfaLQQzuCsAoNoNLdSqMVYuAJMAI2mimGZ5BXaw
 7fe932c5c015da84a972d6945dd0451366bbf325 0 
iEYEABECAAYFAkwodmcACgkQCX/oGf+2qkM4jQCgq2n4X0Tzi8EcGqNLhtzjOJ/1YcgAn3Fh9aZRpXmM2zYmMwuecn4UR5tt
 618363224a381737439e0bd4461e2d36c4fd986e 0 
iEYEABECAAYFAkxFkHoACgkQCX/oGf+2qkP7DQCeK9qCv3jETpO5iM89PV2bJYmpErMAoO/H2QyeKKZjublcgFmH7g1tEomB
+6563372bc2fbf0bc2e15f70c2a8da81fad8cbc2e 0 
iEYEABECAAYFAkyDw4sACgkQCX/oGf+2qkMZ1ACePoFeipRkNAN6bW7yIUeiRYgEMBMAni+gFwpEp8kfGKryvixvdudRgGoQ
diff -r d08feaca26c7 -r 0ec9db2b11aa .hgtags
--- a/.hgtags   Sat Aug 21 18:35:56 2010 +0530
+++ b/.hgtags   Thu Sep 23 12:25:41 2010 +0200
@@ -31,3 +31,4 @@
 f7b9678ebb10f1fb0963b7e3cc4724aa6aeca565 2.50MP18
 34eed7b386965b19e191fbfe03195588cdc75254 2.50MP19
 99ff33f6588973f7e738b6afd47ad44f3ac08d20 2.50MP20
+a3c1cffa8af7b60cab6949251fce1faaa13ca5bb 2.50MP21
diff -r d08feaca26c7 -r 0ec9db2b11aa build.xml
--- a/build.xml Sat Aug 21 18:35:56 2010 +0530
+++ b/build.xml Thu Sep 23 12:25:41 2010 +0200
@@ -101,6 +101,7 @@
   <property name="friendlyWarnings" value="false"/>
   <property name="checkTranslationConsistency" value="true"/>
   <property name="buildValidation" value="true"/>
+  <property name="disableCheckReferencedOrganizations" value="false"/>
 
   <available file=".hg" property="is.hg" />
 
diff -r d08feaca26c7 -r 0ec9db2b11aa config/licenseRestrictions
--- a/config/licenseRestrictions        Sat Aug 21 18:35:56 2010 +0530
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-IeqpfXkoobemyDLAJHNBi3JrTdjgnU0BnGiX9k78CBHK1Eqdek/Lsi/HpeBev9c8sNQPOf9nwq8jWE4j7X4e6TUzdPX5xukYcTshjeB3wKh9Y6LE5rgEw+OqUm8bcaKH6Nm5Efg2yQnwsHqqTyjFQPXa9IdijkazSRrAEVg/X0WPMPEYYQRikHlz1CDJPiqEeQIhMejebxNmHa/VTLN5Hmhc+lyBfRVseGdJeJaf2Nh1YMwunKFAGMNKwPFFhqLyAXoGsNFs2BK5yPTgOEWaFRS+5Dei4fewUm7GI5k+a4xZ1qDrjYl+C/p6vod1oYf+KFsfH1P07v2k7J4VQ71XBANYXXDM81bgEWZJzz5F9mhUtabroQdejQdcTqGQPpX2ZOhmEfgelzN7WINpIF8rQHiMeVty8m3TG+zSTkc/Tj53UJaV8mjZ+cWSUAI7PFwIDbxeUcktfwV85yzpxAxu6Fln6h6fpxlmzy3DYhjBNTpMKYmjJX0ilomTCAivh31pfCMDOkoLwMmDQoov/bCPJfLej9RlhmC0Y1EswNL/IAbuINX3DNk2+G8i7yXUOE6FsUtDJ6WdVhSKw0BvCH/28oJ38rfx3aCcuLHjAJI23L5RjlQlqnVsGOZsDeJ5UWQGeBotYJWdfz1mSRAiPB4RE6dv9Ap0X90Y0MDYrJP2jW2FmIrY1R5UTh2XcvAomsToZdwLrolZIWe26RIn1yYRpGEf2wqg5sGQaOxQ39BB11Xhj2bzz96mnnqSP6GZiv52/cibVcp8VtErmClvF4OByPuKsswTUD8Fs9FYMNv+myfJ928PxuHmpjT99igMw7NNtbSD+lPckVSM9kKvUIuWxUgnSaly9FG2oP1DM2alkI9Vdc77EHW8Vjz5eID0EjM04rDKNvsbJygMCPF3XWaA2rpnUgcRB5Or0lCDe/z/zOoWK3p9N19TguH8y74cl0xd+jpkdfqfVEyUxqtTIG4/+0DZ8+VzPmOPArrFM51piby1Ym2L/J3Uuugiw1r8+RpRVdiTMLHKbe15KpuECf8W9KMpaYc7hzXo94aJXKvWuui1Y1vcrJhAXdN0ib8Wjz8473ecV/STAt5njB4dJiSjBfek+JYeXZz/Ft/fkPlvzW1DVbHx9RCmu068DWefuNvWMqJLr69pKCrea8PZXBJpit9tx/JSj454C1FOwigR+qsi24FOaaQ5Zy6m3VReW0cZ+9sQXLDwkjOfjvzJPFQ9A7kDTYOYzorjHPbCwy0JyXAxkHQ+wlV5+52WeM9uiTxAWtoyqcr+OhBb1btFqiaDhetH6LqxcGXm+0iLckp+cu4FY2t4eYY81PRKBUUCrdh8N0+N68P8XMht4rWIzeRzLVlY1PnFz0BDZa6IecwK2egOPmlH+xG8uhOYgIbbUE7nhcz8b1MDllGTOpTSG1e9UDJj8wBTWzeVIrVpJRztWjldY45skuAohNh7PxxDubeUv7701GVBqlg1mO2rb19evzDAMLUHF4i5exoWEy9uQqrF/qMT+W4I0zwJbgFHTs1HIpgQelm/gSysdnbnbQs14YceXv+BYMYurafh7N2lkUMnmkVkHpPk/08R0hCeOtKjkbSUCuOy9XPg153iJmxE3NCBeZl/gY2mmsMNtaswMEN05HKSkRqlu/CKedv/HrYYhXtdbaqkL8Ay0mcRtXimQCvr3aNQ9fcQLuLpmqJh5Uo=
\ No newline at end of file
diff -r d08feaca26c7 -r 0ec9db2b11aa 
src-core/src/org/openbravo/xmlEngine/DataTemplate.java
--- a/src-core/src/org/openbravo/xmlEngine/DataTemplate.java    Sat Aug 21 
18:35:56 2010 +0530
+++ b/src-core/src/org/openbravo/xmlEngine/DataTemplate.java    Thu Sep 23 
12:25:41 2010 +0200
@@ -1,6 +1,6 @@
 /*
  
************************************************************************************
- * Copyright (C) 2001-2006 Openbravo S.L.U.
+ * Copyright (C) 2001-2010 Openbravo S.L.U.
  * Licensed under the Apache Software License version 2.0
  * You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0
  * Unless required by applicable law or agreed to  in writing,  software  
distributed
@@ -23,7 +23,7 @@
 class DataTemplate implements XmlComponentTemplate {
   String strName; // the name should be initialized
 
-  Vector<Object> vecSectionTemplate;
+  Vector<SectionTemplate> vecSectionTemplate;
   XmlVectorTemplate vecDetailTemplate; // vector of XmlComponents
   Vector<Object> vecFieldTemplate; // vector of FieldComponent's
   Vector<Object> vecParameterTemplate; // vector of ParameterTemplates for the
@@ -46,7 +46,7 @@
   public DataTemplate() {
     intTotalLevels = -1;
     log4jDataTemplate.debug("Initial value: " + intTotalLevels);
-    vecSectionTemplate = new Vector<Object>();
+    vecSectionTemplate = new Vector<SectionTemplate>();
     vecDetailTemplate = new XmlVectorTemplate();
     vecFieldTemplate = new Vector<Object>();
     vecParameterTemplate = new Vector<Object>();
diff -r d08feaca26c7 -r 0ec9db2b11aa 
src-core/src/org/openbravo/xmlEngine/DataValue.java
--- a/src-core/src/org/openbravo/xmlEngine/DataValue.java       Sat Aug 21 
18:35:56 2010 +0530
+++ b/src-core/src/org/openbravo/xmlEngine/DataValue.java       Thu Sep 23 
12:25:41 2010 +0200
@@ -1,6 +1,6 @@
 /*
  
************************************************************************************
- * Copyright (C) 2001-2006 Openbravo S.L.U.
+ * Copyright (C) 2001-2010 Openbravo S.L.U.
  * Licensed under the Apache Software License version 2.0
  * You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0
  * Unless required by applicable law or agreed to  in writing,  software  
distributed
@@ -36,7 +36,7 @@
   PreparedStatement preparedStatement;
   ResultSet result;
 
-  Vector<Object> vecSectionValue;
+  Vector<SectionValue> vecSectionValue;
   XmlVectorValue vecDetailValue; // vector of XmlComponentValues
   Vector<Object> vecFieldValue; // vector of FieldValues
   Vector<Object> vecParameterValue; // vector of ParameterValues for the query
@@ -94,9 +94,8 @@
 
     // vector of Sections
     log4jDataValue.debug("vector of Sections");
-    vecSectionValue = new Vector<Object>();
-    for (Enumeration<Object> e1 = dataTemplate.vecSectionTemplate.elements(); 
e1.hasMoreElements();) {
-      SectionTemplate sectionTemplate = (SectionTemplate) e1.nextElement();
+    vecSectionValue = new Vector<SectionValue>();
+    for (SectionTemplate sectionTemplate : dataTemplate.vecSectionTemplate) {
       SectionValue sectionValue = 
sectionTemplate.createSectionValue(xmlDocument, this);
       vecSectionValue.addElement(sectionValue);
       if (sectionTemplate.name.equals(dataTemplate.firstSectionTemplate.name)) 
{
@@ -356,8 +355,7 @@
   private void init() {
     if (log4jDataValue.isDebugEnabled())
       log4jDataValue.debug("DataValue: init");
-    for (Enumeration<Object> e = vecSectionValue.elements(); 
e.hasMoreElements();) {
-      SectionValue section = (SectionValue) e.nextElement();
+    for (SectionValue section : vecSectionValue) {
       log4jDataValue.debug("DataValue: init, section:" + 
section.sectionTemplate.name);
       section.init();
     }
@@ -372,8 +370,7 @@
   }
 
   private void firstValues() {
-    for (Enumeration<Object> e = vecSectionValue.elements(); 
e.hasMoreElements();) {
-      SectionValue sectionValue = (SectionValue) e.nextElement();
+    for (SectionValue sectionValue : vecSectionValue) {
       if (sectionValue.breakFieldValue != null) {
         sectionValue.breakFieldValue.savePrevious();
       }
@@ -387,12 +384,10 @@
   }
 
   private void check() {
-    boolean checked = true;
-    for (Enumeration<Object> e = vecSectionValue.elements(); 
e.hasMoreElements() && checked;) {
-      SectionValue sectionValue = (SectionValue) e.nextElement();
+    for (SectionValue sectionValue : vecSectionValue) {
       if (!sectionValue.check()) {
-        checked = false;
         sectionValue.close();
+        return;
       }
     }
   }
@@ -428,8 +423,7 @@
   }
 
   public void acumulate() {
-    for (Enumeration<Object> e = vecSectionValue.elements(); 
e.hasMoreElements();) {
-      SectionValue sectionValue = (SectionValue) e.nextElement();
+    for (SectionValue sectionValue : vecSectionValue) {
       sectionValue.acumulate();
     }
 
diff -r d08feaca26c7 -r 0ec9db2b11aa 
src-core/src/org/openbravo/xmlEngine/SectionValue.java
--- a/src-core/src/org/openbravo/xmlEngine/SectionValue.java    Sat Aug 21 
18:35:56 2010 +0530
+++ b/src-core/src/org/openbravo/xmlEngine/SectionValue.java    Thu Sep 23 
12:25:41 2010 +0200
@@ -1,6 +1,6 @@
 /*
  
************************************************************************************
- * Copyright (C) 2001-2006 Openbravo S.L.U.
+ * Copyright (C) 2001-2010 Openbravo S.L.U.
  * Licensed under the Apache Software License version 2.0
  * You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0
  * Unless required by applicable law or agreed to  in writing,  software  
distributed
@@ -63,7 +63,7 @@
       functionInstance.init();
     }
     if (sectionTemplate.intLevel != 
sectionTemplate.dataTemplate.intTotalLevels) {
-      SectionValue section = (SectionValue) dataValue.vecSectionValue
+      SectionValue section = dataValue.vecSectionValue
           .elementAt(sectionTemplate.intLevel + 1);
       section.strSection = new StringBuffer();
     } else {
@@ -75,7 +75,7 @@
     log4jSectionValue.debug("(Close) Levels:" + 
sectionTemplate.dataTemplate.intTotalLevels
         + " actual level: " + sectionTemplate.intLevel);
     if (sectionTemplate.intLevel != 
sectionTemplate.dataTemplate.intTotalLevels) {
-      SectionValue section = (SectionValue) dataValue.vecSectionValue
+      SectionValue section = dataValue.vecSectionValue
           .elementAt(sectionTemplate.intLevel + 1);
       section.close();
     }
@@ -84,7 +84,7 @@
 
     // add next section
     if (sectionTemplate.intLevel != 
sectionTemplate.dataTemplate.intTotalLevels) {
-      SectionValue section = (SectionValue) dataValue.vecSectionValue
+      SectionValue section = dataValue.vecSectionValue
           .elementAt(sectionTemplate.intLevel + 1);
       strSection.append(section.strSection);
     } else {
diff -r d08feaca26c7 -r 0ec9db2b11aa 
src-core/src/org/openbravo/xmlEngine/XmlDocument.java
--- a/src-core/src/org/openbravo/xmlEngine/XmlDocument.java     Sat Aug 21 
18:35:56 2010 +0530
+++ b/src-core/src/org/openbravo/xmlEngine/XmlDocument.java     Thu Sep 23 
12:25:41 2010 +0200
@@ -1,6 +1,6 @@
 /*
  
************************************************************************************
- * Copyright (C) 2001-2009 Openbravo S.L.U.
+ * Copyright (C) 2001-2010 Openbravo S.L.U.
  * Licensed under the Apache Software License version 2.0
  * You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0
  * Unless required by applicable law or agreed to  in writing,  software  
distributed
@@ -13,8 +13,6 @@
 
 import java.util.Enumeration;
 import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Vector;
 
 import org.apache.log4j.Logger;
 import org.openbravo.data.FieldProvider;
@@ -305,58 +303,51 @@
    *          DataValue object that might contain sections to be translated
    */
   private void translateDataValue(DataValue elementDataValue) {
-    if (elementDataValue.dataTemplate != null) {
-      DataTemplate dataTemplate = elementDataValue.dataTemplate;
-      if (dataTemplate.vecSectionTemplate != null) {
-        Vector<Object> vecSectionTemplate = dataTemplate.vecSectionTemplate;
-        for (Iterator<?> iterator = vecSectionTemplate.iterator(); 
iterator.hasNext();) {
-          SectionTemplate sectionTemplate = (SectionTemplate) iterator.next();
-          if (sectionTemplate.vecHeadTemplate != null) {
-            XmlVectorTemplate template = sectionTemplate.vecHeadTemplate;
-            for (Iterator<?> iterator2 = template.iterator(); 
iterator2.hasNext();) {
-              Object componentTemplate = (Object) iterator2.next();
-              if (CharacterComponent.class.isInstance(componentTemplate)) {
-                CharacterComponent charComponent = (CharacterComponent) 
componentTemplate;
-                if (charComponent.character != null && 
!charComponent.equals("")) {
-                  String original = charComponent.character.trim();
-                  if (xmlVectorValue != null && xmlVectorValue.getTextMap() != 
null) {
-                    String trl = xmlVectorValue.getTextMap().get(original);
 
-                    if (trl != null && !trl.equals(""))
-                      charComponent.character = trl;
-                  }
-                }
-                componentTemplate = charComponent;
-              }
-            }
-            sectionTemplate.vecHeadTemplate = template;
-          }
+    if (xmlVectorValue == null || xmlVectorValue.getTextMap() == null) {
+      return;
+    }
 
-          if (sectionTemplate.vecFootTemplate != null) {
-            XmlVectorTemplate xmlFootTemplate = 
sectionTemplate.vecFootTemplate;
-            for (Iterator<?> iterator2 = xmlFootTemplate.iterator(); 
iterator2.hasNext();) {
-              Object componentTemplate = (Object) iterator2.next();
-              if (CharacterComponent.class.isInstance(componentTemplate)) {
-                CharacterComponent charComponent = (CharacterComponent) 
componentTemplate;
-                if (charComponent.character != null && 
!charComponent.equals("")) {
-                  String original = charComponent.character.trim();
-                  if (xmlVectorValue.getTextMap() != null) {
-                    String trl = xmlVectorValue.getTextMap().get(original);
-                    if (trl != null && !trl.equals(""))
-                      charComponent.character = trl;
-                  }
-                }
-                componentTemplate = charComponent;
-              }
-            }
-            sectionTemplate.vecFootTemplate = xmlFootTemplate;
+    if (elementDataValue.vecSectionValue == null) {
+      return;
+    }
+
+    for (SectionValue sectionValue : elementDataValue.vecSectionValue) {
+      translateXmlVectorValue(sectionValue.vecHeadValue);
+      translateXmlVectorValue(sectionValue.vecFootValue);
+    }
+  }
+
+  /**
+   * Utility method to translate all CharacterComponents contained in the 
passed translateXmlVectorValue.
+   */
+  private void translateXmlVectorValue(XmlVectorValue vecXmlVectorValue) {
+
+    if (vecXmlVectorValue == null) {
+      return;
+    }
+
+    for (int i = 0; i < vecXmlVectorValue.size(); i++) {
+      Object componentTemplate = vecXmlVectorValue.get(i);
+      if (CharacterComponent.class.isInstance(componentTemplate)) {
+        CharacterComponent charComponent = (CharacterComponent) 
componentTemplate;
+        if (charComponent.character != null && 
!charComponent.character.equals("")) {
+          String original = charComponent.character.trim();
+          String trl = xmlVectorValue.getTextMap().get(original);
+          if (trl != null && !trl.equals("")) {
+            /*
+             * Need to create a new instance here, instead of just modifying 
the attribute of the
+             * existing instance, as SectionTemplate and SectionValue do share 
the same
+             * CharacterComponent instances and do not copy them. Without the 
new instance here we
+             * would silently modify the templates' text also and effectively 
translating the
+             * (cached) template.
+             */
+            charComponent = new CharacterComponent(trl);
+            vecXmlVectorValue.set(i, charComponent);
           }
         }
-        dataTemplate.vecSectionTemplate = vecSectionTemplate;
       }
-      elementDataValue.dataTemplate = dataTemplate;
     }
-
   }
 
   public String printPrevious() {
@@ -376,5 +367,5 @@
       elementDataValue.connect();
     }
   }
-

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to