1 25 26 package org.snipsnap.render.filter.links; 27 28 import org.radeox.util.logging.Logger; 29 import org.radeox.util.i18n.ResourceManager; 30 import org.snipsnap.snip.Links; 31 import org.snipsnap.snip.SnipLink; 32 import org.snipsnap.util.ColorRange; 33 34 import java.io.IOException ; 35 import java.io.Writer ; 36 import java.util.Iterator ; 37 38 44 45 public class SnipLinks { 46 public static void appendTo(Writer writer, Links snipLinks, int width, String start, String end) { 47 Iterator iterator = snipLinks.iterator(); 48 int size = snipLinks.getSize(); 49 int percentPerCell = 100 / width; 50 ColorRange cr = new ColorRange(start, end, Math.max(size <= 20 ? size : 20, 8)); 51 52 try { 53 int i = 0; 54 if (iterator.hasNext()) { 55 writer.write("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n"); 56 writer.write("<caption>"); 57 writer.write(ResourceManager.getString("i18n.messages", "see.also")); 58 writer.write("</caption>\n"); 59 writer.write("<tr>\n"); 60 while (iterator.hasNext() && i < 20) { 61 if (i % width == 0 && i != 0) { 62 writer.write("</tr><tr>"); 63 } 64 String url = (String ) iterator.next(); 65 writer.write("<td bgcolor=\""); 66 writer.write(cr.getColor(i++)); 67 writer.write("\" width=\""); 68 writer.write("" + percentPerCell); 69 writer.write("%\">"); 70 writer.write(SnipLink.createLink(url, SnipLink.cutLength(url, 25))); 71 writer.write("</td>\n"); 73 } 74 writer.write("</tr></table>\n"); 75 } 76 } catch (IOException e) { 77 Logger.warn("unable write to writer", e); 78 } 79 } 80 } 81 | Popular Tags |