package fr.lteconsulting.hexa.server.qpath; import java.util.List; import fr.lteconsulting.hexa.server.qpath.QPathResult.QPathResultRow; public class Tools { public static String implode( String separator, List<String> list ) { StringBuilder b = new StringBuilder(); boolean addSeparator = false; for( String s : list ) { if( s == null || s.isEmpty() ) continue; if( addSeparator ) b.append( separator ); else addSeparator = true; b.append( s ); } return b.toString(); } public static String toHTMLTable( QPathResult res ) { int numCols = res.getNbCols(); if( numCols == 0 ) return "Empty QPath results<br/>"; StringBuilder sb = new StringBuilder(); sb.append( "<table border='1'><tr>" ); String columnNames[] = res.getColumnNames(); for( int i = 0; i < numCols; i++ ) sb.append( "<td>" + columnNames[i] + "</td>" ); sb.append( "</tr>" ); for( QPathResultRow row : res ) { sb.append( "<tr>" ); for( int i = 0; i < numCols; i++ ) sb.append( "<td>" + row.get( columnNames[i] ) + "</td>" ); sb.append( "</tr>" ); } sb.append( "<tr><td colspan='" + numCols + "'>" + res.getNbRows() + " rows.</td></tr>" ); sb.append( "</table>" ); return sb.toString(); } }