package ecologylab.bigsemantics.metametadata.fieldparsers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class FieldParserForRegexSplitAndFind extends FieldParserForRegexSplit { FieldParserForRegexFind regexFind = new FieldParserForRegexFind(); @Override public List<Map<String, String>> getCollectionResult(FieldParserElement parserElement, String input) { List<Map<String, String>> splitResults = null; if (parserElement.getRegex() != null) { splitResults = super.getCollectionResult(parserElement, input); } else { splitResults = new ArrayList<Map<String,String>>(); Map<String, String> onlyResult = new HashMap<String, String>(); onlyResult.put(FieldParserForRegexSplit.DEFAULT_KEY, input); splitResults.add(onlyResult); } if (splitResults != null) { for (Map<String, String> splitResult : splitResults) { if (splitResult != null && splitResult.size() > 0) { String split = splitResult.values().iterator().next(); splitResult.clear(); splitResult.putAll(regexFind.getKeyValuePairResult(parserElement, split)); } } } return splitResults; } }