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\"> ** 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