/** * * @param reader * @param querqyParserFactory * @param ignoreCase * @throws IOException */ public SimpleCommonRulesRewriterFactory(final Reader reader, final QuerqyParserFactory querqyParserFactory, final boolean ignoreCase) throws IOException { try { rules = new SimpleCommonRulesParser(reader, querqyParserFactory, ignoreCase).parse(); } catch (final RuleParseException e) { throw new IOException(e); } finally { try { reader.close(); } catch (IOException e) { // TODO: log } } }
public void nextLine(String line) throws RuleParseException { line = stripLine(line); if (line.length() > 0) { Object lineObject = LineParser.parse(line, input, querqyParserFactory); if (lineObject instanceof Input) { putRule(); input = (Input) lineObject; instructions = new Instructions(); } else if (lineObject instanceof ValidationError) { throw new RuleParseException(lineNumber, ((ValidationError) lineObject).getMessage()); } else { instructions.add((Instruction) lineObject); } } }
SimpleCommonRulesParser createParserWithEmptyReader() { reader = new StringReader(""); return new SimpleCommonRulesParser(reader, querqyParserFactory, false); }
RulesCollection createRulesFromResource(String resourceName, boolean ignoreCase) throws IOException, RuleParseException { SimpleCommonRulesParser parser = createParserFromResource(resourceName, ignoreCase); return parser.parse(); }
@Test public void testStripLine() { SimpleCommonRulesParser parser = createParserWithEmptyReader(); assertEquals("", parser.stripLine("")); assertEquals("", parser.stripLine(" ")); assertEquals("", parser.stripLine("#dss")); assertEquals("", parser.stripLine(" #sdsd")); assertEquals("", parser.stripLine("\t #sdsd")); }
SimpleCommonRulesParser createParserFromResource(String resourceName, boolean ignoreCase) { reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream(resourceName)); return new SimpleCommonRulesParser(reader, querqyParserFactory, ignoreCase); }