private void reportErrors(List<ErrorReport> errorLog, Controller controller) { String pattern = LocaleMgr.misc.getString("FailedOn0"); for (ErrorReport report : errorLog) { String filename = report.m_file.toString(); String msg = MessageFormat.format(pattern, filename); controller.println(msg); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); report.m_th.printStackTrace(pw); String s = sw.toString(); controller.println(s); } // end for pattern = LocaleMgr.misc.getString("FailedOn0Files"); int nb = errorLog.size(); String msg = MessageFormat.format(pattern, nb); controller.println(msg); for (ErrorReport report : errorLog) { String filename = report.m_file.toString(); msg = MessageFormat.format(pattern, filename); controller.println(msg); } // end for } // end reportErrors()
public boolean expandChild( Writer output, DbObject parent, DbObject child, int nbChildren, boolean state[], // for {prefixPrinted, // atLeastOneChildPrinted} RuleOptions options) throws DbException, IOException, RuleException { boolean expanded = false; boolean prefixPrinted = state[0]; boolean atLeastOneChildPrinted = state[1]; // If no 'WHEN MODIFIER' defined, or one defined that returns true // if ((m_whenClause == null) || boolean condition = true; if (m_booleanModifier != null) { condition = m_booleanModifier.evaluate(child); } // end if if (condition) { // Make sure a child has been defined if (childRule == null) { String msg = NoChildRuleException.buildMessage(m_ruleName, m_childStrRule); throw new NoChildRuleException(msg); } // create a string buffer StringWriter sw = new StringWriter(); // take CHILD rule, except if there is one element and ONECHILD rule // is defined Rule ruleToUse = childRule; if ((nbChildren == 1) && (oneChildRule != null)) { ruleToUse = oneChildRule; } // expand the child in the string buffer boolean childExpanded = ruleToUse.expand(sw, child, options); if (childExpanded) { // if there is a prefix to print if ((prefixModifier != null) && (!prefixPrinted)) { expanded |= prefixModifier.expand(output, parent, options); prefixPrinted = true; } else { // prefix already printed, or no prefix if (atLeastOneChildPrinted) { if (separatorModifier != null) { // expand the SEParator right before to print the // child expanded |= separatorModifier.expand(output, parent, options); } // end if } // end if } // end if // copy the string buffer into the output stream output.write(sw.toString()); } // end if expanded |= childExpanded; if (childExpanded) { atLeastOneChildPrinted = true; } } // end if state[0] = prefixPrinted; state[1] = atLeastOneChildPrinted; return expanded; }