/** * Output an ASK answer * @param out OutputStream * @param answer The boolean answer */ public static void out(OutputStream out, boolean answer) { TextOutput tFmt = new TextOutput((SerializationContext)null) ; tFmt.format(out, answer) ; }
/** Output a result set. * @param outs OutputStream * @param resultSet ResultSet */ public void write(OutputStream outs, ResultSet resultSet) { write(outs, resultSet, "| ", " | ", " |") ; }
TextOutput fmt = new TextOutput(myQuery); fmt.format(new OutputStreamWriter(System.out, Charset.defaultCharset()), myResultSet);
int[] colWidths = colWidths(resultSetRewindable); pw.println() ; printRow(pw, row, colWidths, colStart, colSep, colEnd) ; for ( int col = 0 ; col < numCols ; col++ ) { String rVar = resultSet.getResultVars().get(col); row[col] = this.getVarValueAsString(rBind, rVar); printRow(pw, row, colWidths, colStart, colSep, colEnd);
private int[] colWidths(ResultSetRewindable rs) { int numCols = rs.getResultVars().size() ; int numRows = 0 ; int[] colWidths = new int[numCols] ; // Widths at least that of the variable name. Assumes we will print col headings. for ( int i = 0 ; i < numCols ; i++ ) colWidths[i] = (rs.getResultVars().get(i)).length() ; // Preparation pass : find the maximum width for each column for ( ; rs.hasNext() ; ) { numRows++ ; QuerySolution rBind = rs.nextSolution() ; int col = -1 ; for ( String s1 : rs.getResultVars() ) { col++; String rVar = s1; String s = getVarValueAsString( rBind, rVar ); if ( colWidths[col] < s.length() ) { colWidths[col] = s.length(); } } } rs.reset() ; return colWidths ; }
/** * Output a result set in a text format. The result set is consumed. * Use @see{ResultSetFactory.makeRewindable(ResultSet)} for a rewindable one. * <p> * This caches the entire results in memory in order to determine the appropriate * column widths and therefore may exhaust memory for large results * </p> * @param out OutputStream * @param qresults result set * @param prologue Prologue, used to abbreviate IRIs */ public static void out(OutputStream out, ResultSet qresults, Prologue prologue) { TextOutput tFmt = new TextOutput(prologue) ; tFmt.format(out, qresults) ; }
/** Textual representation : default layout using " | " to separate columns. * Ensure the PrintWriter can handle UTF-8. * OutputStream version is preferred. * @param pw A PrintWriter * @param resultSet ResultSet */ public void write(PrintWriter pw, ResultSet resultSet) { write(pw, resultSet, "| ", " | ", " |") ; }
/** * Output a result set in a text format. The result set is consumed. * Use @see{ResultSetFactory.makeRewindable(ResultSet)} for a rewindable one. * <p> * This caches the entire results in memory in order to determine the appropriate * column widths and therefore may exhaust memory for large results * </p> * @param out OutputStream * @param qresults result set * @param pmap Prefix mapping for abbreviating URIs. */ public static void out(OutputStream out, ResultSet qresults, PrefixMapping pmap) { TextOutput tFmt = new TextOutput(pmap) ; tFmt.format(out, qresults) ; }
@Override public void format(OutputStream outs, ResultSet resultSet) { write(outs, resultSet) ; }
@Override public void write(OutputStream out, ResultSet resultSet, Context context) { Prologue prologue = choosePrologue(resultSet, context); TextOutput tFmt = new TextOutput(new SerializationContext(prologue)) ; tFmt.format(out, resultSet) ; } @Override public void write(Writer out, ResultSet resultSet, Context context) {throw new NotImplemented("Writer") ; }
/** Writer should be UTF-8 encoded - better to an OutputStream */ public void format(Writer w, ResultSet resultSet) { PrintWriter pw = new PrintWriter(w) ; write(pw, resultSet) ; pw.flush() ; }
@Override public void write(OutputStream out, boolean result, Context context) { TextOutput tFmt = new TextOutput(new SerializationContext((Prologue)null)) ; tFmt.format(out, result) ; } } ;
/** Output a result set. * @param outs OutputStream * @param resultSet ResultSet * @param colStart Left column * @param colSep Inter-column * @param colEnd Right column */ public void write(OutputStream outs, ResultSet resultSet, String colStart, String colSep, String colEnd) { PrintWriter pw = FileUtils.asPrintWriterUTF8(outs) ; write(pw, resultSet, colStart, colSep, colEnd) ; pw.flush() ; }
if (expected != rs.size()) { System.err.println("Non-optimized results not as expected"); TextOutput output = new TextOutput((SerializationContext)null); output.format(System.out, rs); rs.reset(); if (expected != rsOpt.size()) { System.err.println("Optimized results not as expected"); TextOutput output = new TextOutput((SerializationContext)null); output.format(System.out, rsOpt); rsOpt.reset();
if (expected != rs.size()) { System.err.println("Non-optimized results not as expected"); TextOutput output = new TextOutput((SerializationContext)null); output.format(System.out, rs); rs.reset(); if (expected != rsOpt.size()) { System.err.println("Optimized results not as expected"); TextOutput output = new TextOutput((SerializationContext)null); output.format(System.out, rsOpt); rsOpt.reset();