private static String logWarningsHelper(Warning warning) { return " " + warning.getTag() + ": " + warning.getText() + "\n"; }
@Override public String prettyPrint() { StringBuilder retString = new StringBuilder("Results of parsing vendor configurations\n"); for (String name : _warnings.keySet()) { retString.append("\n " + name + "[Parser warnings]\n"); for (Warning warning : _warnings.get(name).getRedFlagWarnings()) { retString.append(" RedFlag " + warning.getTag() + " : " + warning.getText() + "\n"); } for (Warning warning : _warnings.get(name).getUnimplementedWarnings()) { retString.append( " Unimplemented " + warning.getTag() + " : " + warning.getText() + "\n"); } for (Warning warning : _warnings.get(name).getPedanticWarnings()) { retString.append(" Pedantic " + warning.getTag() + " : " + warning.getText() + "\n"); } } for (String name : _errors.keySet()) { retString.append("\n " + name + "[Parser errors]\n"); for (String line : _errors.get(name).getLineMap()) { retString.append(" " + line + "\n"); } } for (String name : _parseTrees.keySet()) { retString.append("\n " + name + " [Parse trees]\n"); for (String sentence : _parseTrees.get(name).getSentences()) { retString.append(" ParseTreeSentence : " + sentence + "\n"); } } return retString.toString(); }
sb.append(" " + name + ":\n"); for (Warning warning : _warnings.get(name).getRedFlagWarnings()) { sb.append(" RedFlag " + warning.getTag() + " : " + warning.getText() + "\n"); redFlagCount++; sb.append(" Unimplemented " + warning.getTag() + " : " + warning.getText() + "\n"); unimplementedCount++; sb.append(" Pedantic " + warning.getTag() + " : " + warning.getText() + "\n"); pedanticCount++;
@Nonnull @VisibleForTesting static Row getRow(String nodeName, Warning warning) { return Row.builder(TABLE_METADATA.toColumnMap()) .put(COL_NODE, new Node(nodeName)) .put(COL_TYPE, ImmutableList.of(warning.getTag())) .put(COL_COMMENT, warning.getText()) .build(); }
sb.append("\n " + name + "[Conversion warnings]\n"); for (Warning warning : warnings.getRedFlagWarnings()) { sb.append(" RedFlag " + warning.getTag() + " : " + warning.getText() + "\n"); sb.append(" Unimplemented " + warning.getTag() + " : " + warning.getText() + "\n"); sb.append(" Pedantic " + warning.getTag() + " : " + warning.getText() + "\n");
/** Policy with actual circular reference as statement */ @Test public void testRoutingPolicyCircularReference() { String parentPolicyName = "parent"; _rpb.setName(parentPolicyName) .setStatements(ImmutableList.of(new CallStatement(parentPolicyName))) .build(); _c.computeRoutingPolicySources(_w); /* * A circular reference warning should be emitted containing the name of the circularly * referenced policy. */ assertThat(_w.getRedFlagWarnings(), not(empty())); assertThat( _w.getRedFlagWarnings().iterator().next().getText(), containsString(parentPolicyName)); }
/** Policy with actual circular reference as expr */ @Test public void testRoutingPolicyCircularReferenceExpr() { String parentPolicyName = "parent"; CallExpr callExpr = new CallExpr(parentPolicyName); If ifStatement = new If(); ifStatement.setGuard(callExpr); _rpb.setName(parentPolicyName).setStatements(ImmutableList.of(ifStatement)).build(); _c.computeRoutingPolicySources(_w); /* * A circular reference warning should be emitted containing the name of the circularly * referenced policy. */ assertThat(_w.getRedFlagWarnings(), not(empty())); assertThat( _w.getRedFlagWarnings().iterator().next().getText(), containsString(parentPolicyName)); }
_w.getRedFlagWarnings().iterator().next().getText(), containsString(parentPolicyName));