@Test public void testUsageWithoutSpringInitialization() { LoggingHandler loggingHandler = new LoggingHandler("ERROR"); DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler); Log log = (Log) accessor.getPropertyValue("messageLogger"); log = spy(log); accessor.setPropertyValue("messageLogger", log); String testPayload = "TEST_PAYLOAD"; Message<String> message = MessageBuilder.withPayload(testPayload).build(); loggingHandler.handleMessage(message); verify(log).error(testPayload); }
private PaymentStatistic processVZPaymentRecord( ArrayList<PaymentRecord> recordList, LoggingHandler lh) throws IOException { if (!recordList.isEmpty()) { lh.getLogger(Globals.LOGGINGVZ).log(Level.INFO, " Kunde: " + recordList.get(0).getKontoNr()); } PaymentStatistic statistic = new PaymentStatistic(); return statistic; }
@Test public void assertMutuallyExclusive() { LoggingHandler loggingHandler = new LoggingHandler("INFO"); loggingHandler.setLogExpressionString("'foo'"); try { loggingHandler.setShouldLogFullMessage(true); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { assertEquals( "Cannot set both 'expression' AND 'shouldLogFullMessage' properties", e.getMessage()); } loggingHandler = new LoggingHandler("INFO"); loggingHandler.setShouldLogFullMessage(true); try { loggingHandler.setLogExpressionString("'foo'"); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { assertEquals( "Cannot set both 'expression' AND 'shouldLogFullMessage' properties", e.getMessage()); } }
@Test public void testDontEvaluateIfNotEnabled() { LoggingHandler loggingHandler = new LoggingHandler("INFO"); loggingHandler.setBeanFactory(mock(BeanFactory.class)); loggingHandler.afterPropertiesSet(); DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler); Log log = (Log) accessor.getPropertyValue("messageLogger"); log = spy(log); accessor.setPropertyValue("messageLogger", log); Expression expression = (Expression) accessor.getPropertyValue("expression"); expression = spy(expression); accessor.setPropertyValue("expression", expression); when(log.isInfoEnabled()).thenReturn(false); loggingHandler.handleMessage(new GenericMessage<>("foo")); verify(expression, never()) .getValue(Mockito.any(EvaluationContext.class), Mockito.any(Message.class)); when(log.isInfoEnabled()).thenReturn(true); loggingHandler.handleMessage(new GenericMessage<>("foo")); verify(expression, times(1)) .getValue(Mockito.any(EvaluationContext.class), Mockito.any(Message.class)); }
@Test public void testChangeLevel() { LoggingHandler loggingHandler = new LoggingHandler(Level.INFO); loggingHandler.setBeanFactory(mock(BeanFactory.class)); loggingHandler.afterPropertiesSet(); DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler); Log log = (Log) accessor.getPropertyValue("messageLogger"); log = spy(log); accessor.setPropertyValue("messageLogger", log); when(log.isInfoEnabled()).thenReturn(true); loggingHandler.handleMessage(new GenericMessage<>("foo")); verify(log, times(1)).info(Mockito.anyString()); verify(log, never()).warn(Mockito.anyString()); loggingHandler.setLevel(Level.WARN); loggingHandler.handleMessage(new GenericMessage<>("foo")); verify(log, times(1)).info(Mockito.anyString()); verify(log, times(1)).warn(Mockito.anyString()); }
public PaymentStatistic processKZ(File csvFile, LoggingHandler lh) throws IOException { CsvReader reader = null; ArrayList<PaymentRecord> recordList = new ArrayList(); Double sum = 0.0; PaymentStatistic statisticAll = new PaymentStatistic(); try { reader = new CsvReader(csvFile.getCanonicalPath()); reader.setDelimiter(';'); reader.readHeaders(); // Headers ohne Spaces mittels trim String[] headers = new String[reader.getHeaderCount()]; for (int i = 0; i < reader.getHeaderCount(); i++) { headers[i] = reader.getHeader(i).trim(); } reader.setHeaders(headers); // http://www.csvreader.com/java_csv_samples.php // http://javacsv.sourceforge.net/ PaymentRecord record = new PaymentRecord(reader); recordList.add(record); while (true) { try { PaymentRecord newRecord = new PaymentRecord(reader); if (newRecord.getKontoNr() == record.getKontoNr()) { // nicht verarbeiten, gleicher Kunde recordList.add(newRecord); sum = sum + newRecord.getBetragNr(); record = newRecord; continue; } // unterschiedliche Kundennummer, alte Belege verarbeiten if (sum == 0.0) { PaymentStatistic statistic = processKZPaymentRecord(recordList, lh); statisticAll.addStatistic(statistic); } // System.out.println("Kunde " + record.getKontoStr() + "OP: " + sum); recordList = new ArrayList(); sum = 0.0; recordList.add(newRecord); sum = sum + newRecord.getBetragNr(); record = newRecord; continue; } catch (Throwable th) { // kein neuer record mehr, Liste verarbeiten if (sum == 0.0) { PaymentStatistic statistic = processKZPaymentRecord(recordList, lh); statisticAll.addStatistic(statistic); } } break; } reader.close(); } catch (Throwable th) { lh.getLogger(Globals.LOGGINGKZ).log(Level.SEVERE, null, th); return statisticAll; } return statisticAll; }
private PaymentStatistic processKZPaymentRecord( ArrayList<PaymentRecord> recordList, LoggingHandler lh) throws IOException { if (!recordList.isEmpty()) { lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, " Kunde: " + recordList.get(0).getKontoNr()); } PaymentStatistic statistic = new PaymentStatistic(); for (PaymentRecord record : recordList) { Invoice invoice = null; // if (record.getBelegNr() < Globals.MINKUNDENRECHNUNG || // configurationController.getProperty(Globals.PREFIXINVAR + record.getBelegNr()) != null) { // wird nicht mehr als Fehler gemeldet, daher keine MIN-Prüfung mehr if (configurationController.getProperty(Globals.PREFIXINVAR + record.getBelegNr()) != null) { continue; } // Rechnung noch nicht verarbeitet List<Invoice> invoices = configurationController .getInvoiceJpaController() .findInvoiceByNumber(record.getBelegNr()); if (invoices.size() > 0) { invoice = invoices.iterator().next(); } if (invoice != null) { lh.getLogger(Globals.LOGGINGKZ) .log(Level.INFO, " Rechnung " + invoice.getInvoiceNumber()); for (InvoiceItem invoiceItem : invoice.getInvoiceItemCollection()) { // nur Gutscheine die gekauft wurden // ab Okt. 2012 nicht nur Gutscheine, sondern auch 95er Items if (invoiceItem.getUniqueNumber() != null && !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && invoiceItem.getMrcommerceItemID().intValue() < Globals.GUTSCHEINMAXITEMNR && invoiceItem.getAmount().doubleValue() > 0.0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() != null ? invoiceItem.getUniqueNumber() : Globals.EMPTYSTRING); if (invoiceItem.getBHstatus() != null && (invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSNICHTBEZ || // nicht bezahlt invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNUNG || // Mahnung (nicht bez.) invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMANFREI || // manuell frei für Buchung invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNFREI) // Mahnung (frei f. Buch.) ) { int result = 0; // if ( invoiceItem.getUniqueNumber() != null && // // !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && // invoiceItem.getMrcommerceItemID().intValue() < // Globals.GUTSCHEINMAXITEMNR && // invoiceItem.getAmount().doubleValue() > 0.0) { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus( invoiceItem.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // } else { // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); // } if (result < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() + " in Rechnung " + invoice.getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result > 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, "Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() + " freigeschaltet"); statistic.incVoucherOkCounter(1); // // When das bezahlte Item ein Raktivierungsgebühr // war -> den zugehörigen Gutschein wieder auf frei für Einlösung setzen // if (invoiceItem.getMrcommerceItemID().intValue() // == Globals.GUTSCHEINREAKTIVIERUNG) { // InvoiceItem invoiceItemOld = // invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); // if (invoiceItemOld != null) { // NukeMrcommerceHistory histEntryBH = // new NukeMrcommerceHistory(); // histEntryBH.setNukeHistoryDate(new // Date()); // // histEntryBH.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); // // histEntryBH.setNukeHistoryMsg("Gutschein: " + invoiceItemOld.getUniqueNumber() + // " nach Reaktivierung wieder freigeschaltet - Anpassung BH"); // // histEntryBH.setNukeHistoryStatustype((short) 2); // // histEntryBH.setNukeHistoryStatus(invoiceItemOld.getBHstatus()); // NukeMrcommerceHistoryJpaController // HistoryJPAController = new NukeMrcommerceHistoryJpaController(); // // HistoryJPAController.create(histEntryBH); // NukeMrcommerceHistory histEntryFF = // new NukeMrcommerceHistory(); // histEntryFF.setNukeHistoryDate(new // Date()); // // histEntryFF.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); // // histEntryFF.setNukeHistoryMsg("Gutschein: " + invoiceItemOld.getUniqueNumber() + // " nach Reaktivierung wieder freigeschaltet - Anpassung FF"); // // histEntryFF.setNukeHistoryStatustype((short) 1); // // histEntryFF.setNukeHistoryStatus(invoiceItemOld.getFFstatus()); // // HistoryJPAController.create(histEntryFF); // // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItemOld.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // int resultFF = 0; // resultFF = // configurationController.getInvoiceItemJpaController().updateInvoiceItemFFStatus(invoiceItemOld.getUniqueNumber(), Globals.FFSTATUSFREIEINLOESUNG); // if (result < 0 || resultFF < 0) { // // lh.getLogger(Globals.LOGGINGKZ).log(Level.SEVERE, "Fehler bei Item: " + // invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " in // Rechnung " + invoiceItemOld.getInvoice().getInvoiceNumber() + " : " + result); // statistic.incErrorCounter(1); // } else if (result > 0 && resultFF > 0) { // // lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, "Item: " + invoiceItemOld.getId() // + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder // freigeschaltet"); // statistic.incVoucherOkCounter(1); // } // } // // } } } else { lh.getLogger(Globals.LOGGINGKZ) .log( Level.WARNING, "Item: " + invoiceItem.getId() + " Gutschein " + invoiceItem.getUniqueNumber() + " in Rechnung " + invoice.getInvoiceNumber() + " nicht freigeschalten: hat BH-Status " + invoiceItem.getBHstatus()); statistic.incStatusNokCounter(1); } // } } else if ((invoiceItem.getMrcommerceItemID().intValue() < Globals.GUTSCHEINMAXITEMNR || Globals.NONGUTSCHEINITEMSKZ.contains( invoiceItem.getMrcommerceItemID().intValue())) && invoiceItem.getAmount().doubleValue() > 0.0) { // InvoiceItem invoiceItemOld = invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, " Item: " + invoiceItem.getId()); if (invoiceItem.getBHstatus() != null && (invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSNICHTBEZ || // nicht bezahlt invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNUNG || // Mahnung (nicht bez.) invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMANFREI || // manuell frei für Buchung invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNFREI) // Mahnung (frei f. Buch.) ) { int result = 0; int result2 = 0; // if ( invoiceItem.getUniqueNumber() != null && // // !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && // invoiceItem.getMrcommerceItemID().intValue() < // Globals.GUTSCHEINMAXITEMNR && // invoiceItem.getAmount().doubleValue() > 0.0) { // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // } else { if (Globals.NONGUTSCHEINITEMSKZ.contains( invoiceItem.getMrcommerceItemID().intValue())) { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUS95ABGESCHLOSSEN); result2 = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatus(invoiceItem, Globals.FFSTATUS95ABGESCHLOSSEN); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " auf abgeschlossen gesetzt (95er Item)"); } else { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); result2 = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatus(invoiceItem, Globals.FFSTATUSFREIEINLOESUNG); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " auf bezahlt/frei für Einlösung gesetzt"); } // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); // } if (result < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItem.getId() + " in Rechnung " + invoice.getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result == 0) { lh.getLogger(Globals.LOGGINGKZ) .log(Level.INFO, "Item: " + invoiceItem.getId() + " freigeschaltet"); statistic.incVoucherOkCounter(1); // When das bezahlte Item ein Raktivierungsgebühr war -> den zugehörigen Gutschein // wieder auf frei für Einlösung setzen if (invoiceItem.getMrcommerceItemID().intValue() == Globals.GUTSCHEINREAKTIVIERUNG) { // InvoiceItem invoiceItemOld = // invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); InvoiceItem invoiceItemOld = invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " bezieht sich auf Gutschein: " + invoiceItemOld.getUniqueNumber() != null ? invoiceItemOld.getUniqueNumber() : Globals.EMPTYSTRING); if (invoiceItemOld != null) { NukeMrcommerceHistory histEntryBH = new NukeMrcommerceHistory(); histEntryBH.setNukeHistoryDate(new Date()); histEntryBH.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); histEntryBH.setNukeHistoryMsg( "Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet - Anpassung BH"); histEntryBH.setNukeHistoryStatustype((short) 2); histEntryBH.setNukeHistoryStatus(invoiceItemOld.getBHstatus()); NukeMrcommerceHistoryJpaController HistoryJPAController = new NukeMrcommerceHistoryJpaController(); HistoryJPAController.create(histEntryBH); NukeMrcommerceHistory histEntryFF = new NukeMrcommerceHistory(); histEntryFF.setNukeHistoryDate(new Date()); histEntryFF.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); histEntryFF.setNukeHistoryMsg( "Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet - Anpassung FF"); histEntryFF.setNukeHistoryStatustype((short) 1); histEntryFF.setNukeHistoryStatus(invoiceItemOld.getFFstatus()); HistoryJPAController.create(histEntryFF); result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatusReact( invoiceItemOld.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); int resultFF = 0; resultFF = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatusReact( invoiceItemOld.getUniqueNumber(), Globals.FFSTATUSFREIEINLOESUNG); if (result < 0 || resultFF < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " in Rechnung " + invoiceItemOld.getInvoice().getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result > 0 && resultFF > 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, "Item: " + invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet"); statistic.incVoucherOkCounter(1); } } } } } } } configurationController.setProperty( Globals.PREFIXINVAR + record.getBelegNr(), format.format(new Date())); // configurationController.getProperty("PREINVAR26890811"); } else { lh.getLogger(Globals.LOGGINGKZ) .log( Level.WARNING, "Fehler bei Rechnung " + record.getBelegStr() + ": Rechnung nicht gefunden! "); statistic.incInvoiceNotFoundCounter(1); } } return statistic; }