private static List<Invoice> parser(String text) { JsArray<InvoiceJavaScript> modulosJS = InvoiceJavaScript.eval(text); List<Invoice> invoices = new ArrayList<Invoice>(); for (int i = 0, j = modulosJS.length(); i < j; i++) { InvoiceJavaScript invoiceJavaScript = modulosJS.get(i); Invoice invoice = new Invoice(); invoice.setCode(invoiceJavaScript.getCode()); invoice.setContractId(invoiceJavaScript.getContractId()); invoice.setContractName(invoiceJavaScript.getContractName()); invoice.setId(invoiceJavaScript.getId()); invoice.setInvoiceStatusId(invoiceJavaScript.getInvoiceStatusId()); invoice.setInvoiceStatusName(invoiceJavaScript.getInvoiceStatusName()); invoice.setClientId(invoiceJavaScript.getClientId()); invoice.setClientName(invoiceJavaScript.getClientName()); invoice.setAmount(invoiceJavaScript.getAmount()); try { invoice.setDate(invoiceJavaScript.getDate()); } catch (IllegalValueException e) { Window.alert("Error con las fechas de contrato: " + e.getMessage()); } invoices.add(invoice); } return invoices; }