@Override public void run() { try { OpencsvUtils.queueRefuseToAcceptDefeat(resultantLineQueue, new OrderedObject<>(lineNumber, mappingStrategy.transmuteBean(bean))); } catch (CsvException e) { e.setLineNumber(lineNumber); if(throwExceptions) { throw new RuntimeException(e); } OpencsvUtils.queueRefuseToAcceptDefeat(thrownExceptionsQueue, new OrderedObject<>(lineNumber, e)); } catch(CsvRuntimeException csvre) { // Rethrowing exception here because I do not want the CsvRuntimeException caught and rewrapped in the catch below. throw csvre; } catch(Exception t) { throw new RuntimeException(t); } }
@Override public void run() { try { if (filter == null || filter.allowLine(line)) { T obj = processLine(); ListIterator<BeanVerifier<T>> verifierList = verifiers.listIterator(); boolean keep = true; while(keep && verifierList.hasNext()) { keep = verifierList.next().verifyBean(obj); } if (keep) { OpencsvUtils.queueRefuseToAcceptDefeat( resultantBeanQueue, new OrderedObject<>(lineNumber, obj)); } } } catch (CsvException e) { e.setLineNumber(lineNumber); e.setLine(line); if (throwExceptions) { throw new RuntimeException(e); } OpencsvUtils.queueRefuseToAcceptDefeat(thrownExceptionsQueue, new OrderedObject<>(lineNumber, e)); } catch (Exception e) { throw new RuntimeException(e); } }