Default Constructor super("writers", ALIGN_LEAD, POSITION_INVISIBLE, 80, TableManager.TABLE_TORRENT_PIECES); setObfustication(true); setRefreshInterval(4);
super("writers", ALIGN_LEAD, POSITION_INVISIBLE, 80, TableManager.TABLE_TORRENT_PIECES); setObfustication(true); setRefreshInterval(4);
PEPiece piece = (PEPiece)cell.getDataSource(); String[] core_writers = piece.getWriters(); String[] my_writers = new String[core_writers.length]; int writer_count = 0; Map map = new HashMap(); for(int i = 0 ; ; ) { String this_writer = null; int start; for (start = i ; start < core_writers.length ; start++ ) { this_writer = core_writers[start]; if (this_writer != null) break; } if (this_writer == null) break; int end; for (end = start + 1; end < core_writers.length; end++) { if (! this_writer.equals(core_writers[end])) break; } StringBuffer pieces = (StringBuffer) map.get(this_writer); if (pieces == null) { pieces = new StringBuffer(); map.put(this_writer, pieces); my_writers[writer_count++] = this_writer; } else { pieces.append(',"); } pieces.append(start); if (end-1 > start) pieces.append('-").append(end-1); i=end; } StringBuffer sb = new StringBuffer(); for (int i = 0 ; i < writer_count ; i++) { String writer = my_writers[i]; StringBuffer pieces = (StringBuffer) map.get(writer); if (i > 0) sb.append(';"); sb.append(writer).append('[").append(pieces).append(']"); } String value = sb.toString(); if( !cell.setSortValue( value ) && cell.isValid() ) { return; } cell.setText(value);