details:   https://code.openbravo.com/erp/devel/pi/rev/484a4cb67c8c
changeset: 34781:484a4cb67c8c
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Thu Sep 20 14:52:14 2018 +0200
summary:   related to issue 39229: don't use source path for updating ref data

diffstat:

 src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData.java        |  33 
+++++----
 src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData_data.xsql   |   6 +-
 src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java |   2 +-
 3 files changed, 23 insertions(+), 18 deletions(-)

diffs (128 lines):

diff -r b3ead782e3e7 -r 484a4cb67c8c 
src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData.java
--- a/src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData.java     Wed Sep 
12 09:27:14 2018 +0200
+++ b/src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData.java     Thu Sep 
20 14:52:14 2018 +0200
@@ -11,14 +11,13 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2008-2017 Openbravo SLU
+ * All portions are Copyright (C) 2008-2018 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
  */
 package org.openbravo.erpCommon.ad_forms;
 
-import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -31,8 +30,10 @@
 import org.openbravo.base.filter.IsIDFilter;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.database.ConnectionProvider;
+import org.openbravo.erpCommon.businessUtility.InitialSetupUtility;
 import org.openbravo.erpCommon.businessUtility.WindowTabs;
 import org.openbravo.erpCommon.modules.ModuleReferenceDataOrgTree;
 import org.openbravo.erpCommon.modules.ModuleUtiltiy;
@@ -43,6 +44,7 @@
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.ad.module.Module;
 import org.openbravo.model.ad.system.Client;
+import org.openbravo.model.ad.utility.DataSet;
 import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.service.db.DalConnectionProvider;
 import org.openbravo.service.db.DataImportService;
@@ -211,24 +213,27 @@
 
         StringBuffer strError = new StringBuffer("");
         for (int j = 0; j < data.length; j++) {
-          String strPath = vars.getSessionValue("#SOURCEPATH");
-          if (!data[j].javapackage.equals("org.openbravo"))
-            strPath = strPath + "/modules/" + data[j].javapackage;
-          strPath = strPath + "/referencedata/standard";
-          File datasetFile = new File(strPath + "/" + 
Utility.wikifiedName(data[j].datasetname)
-              + ".xml");
-          if (!datasetFile.exists()) {
-            continue;
-          }
+          String fileName = Utility.wikifiedName(data[j].datasetname);
           if (UpdateReferenceDataData.existsOrgModule(cp, vars.getClient(), 
strOrganization,
               data[j].adModuleId, data[j].version).equals("0")) {
             // Not installed previously
-            String strXml = Utility.fileToString(datasetFile.getPath());
+            OBContext.setAdminMode(true);
+            String strXml;
+            try {
+              strXml = 
InitialSetupUtility.getDatasetContent(OBDal.getInstance().get(DataSet.class,
+                  data[j].adDatasetId));
+            } catch (IOException ignore) {
+              log4j.error("Error updating reference data for " + fileName, 
ignore);
+              continue;
+            } finally {
+              OBContext.restorePreviousMode();
+            }
+
             ImportResult myResult = myData.importDataFromXML(
                 OBDal.getInstance().get(Client.class, vars.getClient()),
                 OBDal.getInstance().get(Organization.class, strOrganization), 
strXml, OBDal
                     .getInstance().get(Module.class, data[j].adModuleId), 
true);
-            m_info.append(SALTO_LINEA).append("File: 
").append(datasetFile.getName()).append(":")
+            m_info.append(SALTO_LINEA).append("File: 
").append(fileName).append(":")
                 .append(SALTO_LINEA);
             if (myResult.getLogMessages() != null && 
!myResult.getLogMessages().equals("")
                 && !myResult.getLogMessages().equals("null")) {
@@ -262,7 +267,7 @@
                   .append(SALTO_LINEA);
             }
           } else {
-            m_info.append(SALTO_LINEA).append("File: 
").append(datasetFile.getName()).append(":")
+            m_info.append(SALTO_LINEA).append("File: 
").append(fileName).append(":")
                 .append(SALTO_LINEA);
             m_info
                 .append(SALTO_LINEA)
diff -r b3ead782e3e7 -r 484a4cb67c8c 
src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData_data.xsql
--- a/src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData_data.xsql        
Wed Sep 12 09:27:14 2018 +0200
+++ b/src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData_data.xsql        
Thu Sep 20 14:52:14 2018 +0200
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008-2017 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2018 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -27,7 +27,7 @@
     <Sql>
       <![CDATA[
       SELECT '' as id, '' as NAME, '' AS HASCHARTOFACCOUNTS, '' AS  
ISTRANSLATIONMODULE,
-      '' AS AD_MODULE_ID, '' AS PATH, '' AS  JAVAPACKAGE, '' AS DATASETNAME, 
'' AS VERSION, '' AS CHECKSUM
+      '' AS AD_MODULE_ID, '' AS PATH, '' AS  JAVAPACKAGE, '' AS DATASETNAME, 
'' AS VERSION, '' AS CHECKSUM, '' AS AD_DATASET_ID
       FROM DUAL
       ]]>
     </Sql>
@@ -53,7 +53,7 @@
     <Sql>
       <![CDATA[
       SELECT AD_MODULE.NAME, AD_MODULE.HASCHARTOFACCOUNTS, 
AD_MODULE.ISTRANSLATIONMODULE, 
-      AD_MODULE.AD_MODULE_ID , AD_MODULE.JAVAPACKAGE, AD_DATASET.NAME AS 
DATASETNAME, AD_MODULE.VERSION, AD_DATASET.CHECKSUM
+      AD_MODULE.AD_MODULE_ID , AD_MODULE.JAVAPACKAGE, AD_DATASET.NAME AS 
DATASETNAME, AD_MODULE.VERSION, AD_DATASET.CHECKSUM, AD_DATASET.AD_DATASET_ID
       FROM AD_MODULE, AD_DATASET
       WHERE AD_MODULE.AD_MODULE_ID = AD_DATASET.AD_MODULE_ID      
       AND AD_MODULE.AD_MODULE_ID IN ('1')
diff -r b3ead782e3e7 -r 484a4cb67c8c 
src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java
--- a/src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java      
Wed Sep 12 09:27:14 2018 +0200
+++ b/src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java      
Thu Sep 20 14:52:14 2018 +0200
@@ -1719,7 +1719,7 @@
     return myResult;
   }
 
-  private static String getDatasetContent(DataSet dataset) throws IOException {
+  public static String getDatasetContent(DataSet dataset) throws IOException {
     String fileName = Utility.wikifiedName(dataset.getName()) + ".xml";
     if (SessionFactoryController.isRunningInWebContainer()) {
       String xmlPath = "/WEB-INF/referencedata/standard/" + 
dataset.getModule().getJavaPackage()


_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to