details:   http://code.openbravo.com/erp/devel/pi/rev/bfbbb85e7117
changeset: 3283:bfbbb85e7117
user:      Anthony Wolski <awol...@openbravo.com>
date:      Mon Mar 02 16:25:15 2009 +0100
description:
Fixes issue 0000549. Initially, only display a subset of imported data.

details:   http://code.openbravo.com/erp/devel/pi/rev/bc1e6be7d3a0
changeset: 3284:bc1e6be7d3a0
user:      Anthony Wolski <awol...@openbravo.com>
date:      Mon Mar 02 18:21:18 2009 +0100
description:
Fixes issue 0000549. Limit number of displayed rows for intermediate results.

details:   http://code.openbravo.com/erp/devel/pi/rev/20ecf72ab411
changeset: 3285:20ecf72ab411
user:      Anthony Wolski <awol...@openbravo.com>
date:      Mon Mar 02 18:22:18 2009 +0100
description:
Merge.

diffs (236 lines):

diff -r 16f4d450de29 -r 20ecf72ab411 
referencedata/sampledata/Accounting_Test.xml
--- a/referencedata/sampledata/Accounting_Test.xml      Mon Mar 02 12:59:27 
2009 +0100
+++ b/referencedata/sampledata/Accounting_Test.xml      Mon Mar 02 18:22:18 
2009 +0100
@@ -23574,7 +23574,6 @@
     <disposalGain/>
     <disposalLoss/>
     <id>1000000</id>
-    <status/>
   </FinancialMgmtAcctSchemaDefault>
   <Invoice id="1000040">
     <id>1000040</id>
diff -r 16f4d450de29 -r 20ecf72ab411 referencedata/sampledata/SmallBazaar.xml
--- a/referencedata/sampledata/SmallBazaar.xml  Mon Mar 02 12:59:27 2009 +0100
+++ b/referencedata/sampledata/SmallBazaar.xml  Mon Mar 02 18:22:18 2009 +0100
@@ -113587,7 +113587,6 @@
     <disposalGain id="1000069"/>
     <disposalLoss id="1000070"/>
     <id>1</id>
-    <status/>
   </FinancialMgmtAcctSchemaDefault>
   <Invoice id="1000000">
     <id>1000000</id>
diff -r 16f4d450de29 -r 20ecf72ab411 
src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml
--- a/src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml     Mon Mar 02 
12:59:27 2009 +0100
+++ b/src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml     Mon Mar 02 
18:22:18 2009 +0100
@@ -285,10 +285,6 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="STATUS" primaryKey="false" required="false" type="VARCHAR" 
size="60" autoIncrement="false">
-        <default/>
-        <onCreateDefault/>
-      </column>
       <foreign-key foreignTable="C_VALIDCOMBINATION" 
name="ACCUMDEP_CACCTSCHEMAACCT">
         <reference local="A_ACCUMDEPRECIATION_ACCT" 
foreign="C_VALIDCOMBINATION_ID"/>
       </foreign-key>
@@ -481,7 +477,7 @@
       <foreign-key foreignTable="C_VALIDCOMBINATION" 
name="VC_WRITEOFF_CSCHEMADEFAULT">
         <reference local="WRITEOFF_ACCT" foreign="C_VALIDCOMBINATION_ID"/>
       </foreign-key>
-      <unique name="C_ACCTSCHEMA_DEFAULT_UN_C_ACCTSCHEMA">
+      <unique name="C_ACCTSCHEMA_DE_UN_C_ACCTSCH">
         <unique-column name="C_ACCTSCHEMA_ID"/>
       </unique>
       <check name="C_ACCTSCHEMA_DE_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y', 
'N')]]></check>
diff -r 16f4d450de29 -r 20ecf72ab411 
src-db/database/model/tables/M_PRODUCT_BOM.xml
--- a/src-db/database/model/tables/M_PRODUCT_BOM.xml    Mon Mar 02 12:59:27 
2009 +0100
+++ b/src-db/database/model/tables/M_PRODUCT_BOM.xml    Mon Mar 02 18:22:18 
2009 +0100
@@ -69,6 +69,9 @@
       <foreign-key foreignTable="M_PRODUCT" name="MPRODUCT_MPRODUCTBOM" 
onDelete="cascade">
         <reference local="M_PRODUCT_ID" foreign="M_PRODUCT_ID"/>
       </foreign-key>
+      <index name="M_PRODUCT_BOM_M_PRODUCT_ID" unique="false">
+        <index-column name="M_PRODUCT_ID"/>
+      </index>
       <check name="M_PRODUCT_BOM_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y', 
'N')]]></check>
     </table>
   </database>
diff -r 16f4d450de29 -r 20ecf72ab411 
src-db/database/sourcedata/AD_MODEL_OBJECT.xml
--- a/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Mon Mar 02 12:59:27 
2009 +0100
+++ b/src-db/database/sourcedata/AD_MODEL_OBJECT.xml    Mon Mar 02 18:22:18 
2009 +0100
@@ -1483,7 +1483,7 @@
 <!--800742-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--800742-->  <ACTION><![CDATA[R]]></ACTION>
 <!--800742-->  
<CLASSNAME><![CDATA[org.openbravo.erpCommon.ad_reports.ReportTrialBalanceDetail]]></CLASSNAME>
-<!--800742-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--800742-->  <ISDEFAULT><![CDATA[N]]></ISDEFAULT>
 <!--800742-->  <AD_PROCESS_ID><![CDATA[800039]]></AD_PROCESS_ID>
 <!--800742-->  <OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
 <!--800742--></AD_MODEL_OBJECT>
@@ -2515,7 +2515,7 @@
 <!--801013-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--801013-->  <ACTION><![CDATA[R]]></ACTION>
 <!--801013-->  
<CLASSNAME><![CDATA[org.openbravo.erpCommon.ad_reports.ReportGeneralLedgerJournalDetail]]></CLASSNAME>
-<!--801013-->  <ISDEFAULT><![CDATA[Y]]></ISDEFAULT>
+<!--801013-->  <ISDEFAULT><![CDATA[N]]></ISDEFAULT>
 <!--801013-->  <AD_PROCESS_ID><![CDATA[800000]]></AD_PROCESS_ID>
 <!--801013-->  <OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE>
 <!--801013--></AD_MODEL_OBJECT>
diff -r 16f4d450de29 -r 20ecf72ab411 
src/org/openbravo/erpCommon/ad_forms/FileImport.java
--- a/src/org/openbravo/erpCommon/ad_forms/FileImport.java      Mon Mar 02 
12:59:27 2009 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/FileImport.java      Mon Mar 02 
18:22:18 2009 +0100
@@ -44,6 +44,8 @@
   private static final long serialVersionUID = 1L;
   static boolean firstRowHeaders = true;
 
+  static final int THRESHOLD = 1000;
+
   public void init(ServletConfig config) {
     super.init(config);
     boolHist = false;
@@ -70,9 +72,8 @@
       if (strSeparator.equalsIgnoreCase("F"))
         rows = FileImportData.select(this, strAdImpformatId);
       fieldsData = new FileLoadData(vars, "inpFile", firstRowHeaders, 
strSeparator, rows);
-      String texto = procesarFichero(vars, fieldsData.getFieldProvider(), 
request, response,
-          strAdImpformatId, strFirstLineHeader);
-      printPageResult(response, vars, texto, "FIND");
+      printSampleImport(vars, fieldsData.getFieldProvider(), request, 
response, strAdImpformatId,
+          strFirstLineHeader);
     } else if (vars.commandIn("SAVE")) {
       String strAdImpformatId = vars.getStringParameter("inpadImpformatId");
       FieldProvider[] rows = null;
@@ -319,20 +320,93 @@
     out.close();
   }
 
+  /**
+   * Prints the intermediate output of the .csv import - a manually generated 
table. The number of
+   * rows displayed (loaded) is limited to THRESHOLD. Large .csv files can 
cause out of memory
+   * exceptions, so we limit what can be loaded in the intermediate step here.
+   * 
+   * @param vars
+   * @param data2
+   * @param request
+   * @param response
+   * @param strAdImpformatId
+   * @param strFirstLineHeader
+   * @throws ServletException
+   * @throws IOException
+   */
+  void printSampleImport(VariablesSecureApp vars, FieldProvider[] data2,
+      HttpServletRequest request, HttpServletResponse response, String 
strAdImpformatId,
+      String strFirstLineHeader) throws ServletException, IOException {
+
+    int count = 0;
+    StringBuilder sb = new StringBuilder();
+    if (data2 != null) {
+      FileImportData[] data = FileImportData.select(this, strAdImpformatId);
+
+      int constant = 0;
+      sb.append("<table cellspacing=\"0\" cellpadding=\"0\" "
+          + "width=\"99%\" class=\"DataGrid_Header_Table "
+          + "DataGrid_Body_Table\" style=\"table-layout: auto;\">"
+          + "<tr class=\"DataGrid_Body_Row\">  " + "<td>");
+      if (log4j.isDebugEnabled())
+        log4j.debug("data2.length: " + data2.length);
+      for (int i = 0; i < data2.length && i < THRESHOLD; i++) {
+        if (log4j.isDebugEnabled())
+          log4j.debug("i:" + i + " - data.length" + data.length);
+        sb.append("<tr class=\"DataGrid_Body_Row DataGrid_Body_Row_" + (i % 2 
== 0 ? "0" : "1")
+            + "\">");
+        for (int j = 0; j < data.length; j++) {
+          if (i == 0 && strFirstLineHeader.equalsIgnoreCase("Y"))
+            sb.append("<th class=\"DataGrid_Header_Cell\">");
+          else
+            sb.append("<td class=\"DataGrid_Body_Cell\">");
+          if (!data[j].constantvalue.equals("")) {
+            sb.append(data[j].constantvalue);
+            constant = constant + 1;
+          } else
+            sb.append(parseField(data2[i].getField(String.valueOf(j - 
constant)),
+                data[j].fieldlength, data[j].datatype, data[j].dataformat, 
data[j].decimalpoint));
+          if (i == 0 && strFirstLineHeader.equalsIgnoreCase("Y"))
+            sb.append("</th>");
+          else
+            sb.append("</td>");
+        }
+        constant = 0;
+        sb.append("</tr>");
+        count++;
+      }
+      sb.append("</td></table>");
+      if (count < data2.length) {
+        sb.insert(0, "<p class=\"LabelText\">&nbsp; ** The following table is 
a sample " + count
+            + " rows of the " + data2.length + " rows of data in the selected 
file.</p><br/>");
+      }
+    }
+
+    XmlDocument xmlDocument = null;
+    xmlDocument = 
xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_forms/FileImport_Result")
+        .createXmlDocument();
+    response.setContentType("text/html; charset=UTF-8");
+    String strJS = "\n var r = '" + sb.toString() + "'; \n"
+        + "top.frames['appFrame'].setResult(r); \n "
+        + "top.frames['appFrame'].setProcessingMode('window', false); \n";
+    xmlDocument.setParameter("result", strJS);
+    xmlDocument.setParameter("messageType", "Success");
+    xmlDocument.setParameter("messageTitle", "Success");
+    xmlDocument.setParameter("messageMessage", "Process completed ooh yeah");
+
+    PrintWriter out = response.getWriter();
+    out.println(xmlDocument.print());
+    out.close();
+  }
+
   void printPageResult(HttpServletResponse response, VariablesSecureApp vars, 
String text,
       String command) throws IOException, ServletException {
     XmlDocument xmlDocument = null;
     xmlDocument = 
xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_forms/FileImport_Result")
         .createXmlDocument();
     response.setContentType("text/html; charset=UTF-8");
-    String strJS = "";
-    if (command.equalsIgnoreCase("FIND")) {
-      strJS = "\n var r = '" + text + "'; \n" + 
"top.frames['appFrame'].setResult(r); \n "
-          + "top.frames['appFrame'].setProcessingMode('window', false); \n";
-    } else if (command.equalsIgnoreCase("SAVE")) {
-      strJS = "\n top.frames['appFrame'].setProcessingMode('window', false); 
\n"
-          + 
"top.frames['appFrame'].document.getElementById('buttonRefresh').onclick();\n";
-    }
+    String strJS = "\n top.frames['appFrame'].setProcessingMode('window', 
false); \n"
+        + 
"top.frames['appFrame'].document.getElementById('buttonRefresh').onclick();\n";
     xmlDocument.setParameter("result", strJS);
     PrintWriter out = response.getWriter();
     out.println(xmlDocument.print());
diff -r 16f4d450de29 -r 20ecf72ab411 
src/org/openbravo/erpCommon/ad_process/ImportProduct_data.xsql
--- a/src/org/openbravo/erpCommon/ad_process/ImportProduct_data.xsql    Mon Mar 
02 12:59:27 2009 +0100
+++ b/src/org/openbravo/erpCommon/ad_process/ImportProduct_data.xsql    Mon Mar 
02 18:22:18 2009 +0100
@@ -664,14 +664,14 @@
     <SqlMethodComment></SqlMethodComment>
     <Sql>
       <![CDATA[
-      INSERT INTO M_Product_PO (M_Product_ID,C_BPartner_ID, 
+      INSERT INTO M_Product_PO (M_Product_PO_ID,M_Product_ID,C_BPartner_ID, 
       AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,
       IsCurrentVendor,C_UOM_ID,C_Currency_ID,UPC,
       PriceList, PricePO,RoyaltyAmt,PriceEffective,
       VendorProductNo,VendorCategory,Manufacturer,
       Discontinued,DiscontinuedBy,Order_Min,Order_Pack,
       CostPerOrder,DeliveryTime_Promised) 
-      SELECT ?,?, 
+      SELECT GET_UUID(),?,?, 
       AD_Client_ID,AD_Org_ID,'Y',now(),CreatedBy,now(),UpdatedBy,
       'Y',C_UOM_ID,C_Currency_ID,UPC,
       PriceList,PricePO,RoyaltyAmt,PriceEffective,
diff -r 16f4d450de29 -r 20ecf72ab411 
src/org/openbravo/erpCommon/ad_reports/ReportTaxInvoiceSaleForeign.jrxml
--- a/src/org/openbravo/erpCommon/ad_reports/ReportTaxInvoiceSaleForeign.jrxml  
Mon Mar 02 12:59:27 2009 +0100
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportTaxInvoiceSaleForeign.jrxml  
Mon Mar 02 18:22:18 2009 +0100
@@ -162,7 +162,6 @@
       AND C_INVOICE.C_DOCTYPE_ID = C_DOCTYPE.C_DOCTYPE_ID
       AND C_INVOICE.PROCESSED = 'Y'
       AND C_INVOICE.ISACTIVE = 'Y'
-      AND C_INVOICE.ISSOTRX = 'N'
       AND C_INVOICE.ISSOTRX = 'Y'
       AND C_INVOICE.DATEINVOICED >= $P{parDateFrom}
       AND C_INVOICE.DATEINVOICED < $P{parDateTo}

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to