Source:
public void processTuple(byte[] tuple) { if (tuple == null) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(null, "Blank/null tuple")); } errorTupleCount++; return; } String incomingString = new String(tuple); if (StringUtils.isBlank(incomingString)) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(incomingString, "Blank tuple")); } errorTupleCount++; return; } try { if (out.isConnected() && clazz != null) { Matcher matcher = pattern.matcher(incomingString); boolean patternMatched = false; Constructor<?> ctor = clazz.getConstructor(); Object object = ctor.newInstance(); while (matcher.find()) { for (int i = 1; i <= matcher.groupCount(); i++) { if (delimitedParserSchema.getFields().get(i - 1).getType() == DelimitedSchema.FieldType.DATE) { DateTimeConverter dtConverter = new DateConverter(); dtConverter.setPattern((String)delimitedParserSchema.getFields().get(i - 1).getConstraints().get(DelimitedSchema.DATE_FORMAT)); ConvertUtils.register(dtConverter, Date.class); } BeanUtils.setProperty(object, delimitedParserSchema.getFields().get(i - 1).getName(), matcher.group(i)); } patternMatched = true; } if (!patternMatched) { throw new ConversionException("The incoming tuple do not match with the Regex pattern defined."); } out.emit(object); emittedObjectCount++; } } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException | InstantiationException | ConversionException e) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(incomingString, e.getMessage())); logger.debug("Regex Expression : Incoming tuple : {}", splitRegexPattern, incomingString); } errorTupleCount++; logger.error("Tuple could not be parsed. Reason {}", e.getMessage()); } }

Target:
public void processTuple(byte[] tuple) { if (tuple == null) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(null, "Blank/null tuple")); } errorTupleCount++; return; } String incomingString = new String(tuple); if (StringUtils.isBlank(incomingString)) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(incomingString, "Blank tuple")); } errorTupleCount++; return; } try { if (out.isConnected() && clazz != null) { Matcher matcher = pattern.matcher(incomingString); boolean patternMatched = false; Constructor<?> ctor = clazz.getConstructor(); Object object = ctor.newInstance(); if (matcher.find()) { for (int i = 0; i <= matcher.groupCount()-1; i++) { if (delimitedParserSchema.getFields().get(i).getType() == DelimitedSchema.FieldType.DATE) { DateTimeConverter dtConverter = new DateConverter(); dtConverter.setPattern((String)delimitedParserSchema.getFields().get(i).getConstraints().get(DelimitedSchema.DATE_FORMAT)); ConvertUtils.register(dtConverter, Date.class); } BeanUtils.setProperty(object, delimitedParserSchema.getFields().get(i).getName(), matcher.group(i+1)); } patternMatched = true; } if (!patternMatched) { throw new ConversionException("The incoming tuple do not match with the Regex pattern defined."); } out.emit(object); emittedObjectCount++; } } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException | InstantiationException | ConversionException e) { if (err.isConnected()) { err.emit(new KeyValPair<String, String>(incomingString, e.getMessage())); logger.debug("Regex Expression : Incoming tuple : {}", splitRegexPattern, incomingString); } errorTupleCount++; logger.error("Tuple could not be parsed. Reason {}", e.getMessage()); } }