PageRenderTime 55ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/ShowBlamed.java

https://bitbucket.org/jwalton/confluence-blame
Java | 61 lines | 47 code | 13 blank | 1 comment | 0 complexity | 9d3e6727e4ff66409169c6ff7862d5aa MD5 | raw file
  1. import java.awt.Color;
  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.Writer;
  5. import java.util.Random;
  6. import com.atlassian.labs.fedex19.blame.Blamer;
  7. import com.atlassian.labs.fedex19.blame.ConfluenceHistory;
  8. import com.atlassian.labs.fedex19.blame.OutputPage;
  9. import com.atlassian.labs.fedex19.blame.Revision;
  10. import com.atlassian.labs.fedex19.blame.SFThing;
  11. import com.megginson.sax.XMLWriter;
  12. public class ShowBlamed
  13. {
  14. public static void main(String[] args) throws Exception
  15. {
  16. final ConfluenceHistory ch = ConfluenceHistory.load(new File("src/test/sample/second/index.csv"));
  17. Writer w;
  18. w = new FileWriter("/tmp/a.xhtml");
  19. // w = new OutputStreamWriter(System.out);
  20. XMLWriter xw = new XMLWriter(w);
  21. OutputPage op = new OutputPage(xw){
  22. @Override
  23. public String titleFor(Revision<SFThing> r)
  24. {
  25. return ch.revDetails.get(r).toString();
  26. }
  27. @Override
  28. public String randomColour(Revision<SFThing> r)
  29. {
  30. float hue = (float) Math.random();
  31. hue = new Random(ch.revDetails.get(r).who.hashCode()).nextFloat() + (float) (Math.random() / 5);
  32. float saturation = 0.2f + (float) (Math.random() / 5);
  33. float brightness = 0.85f;
  34. return String.format("#%06X", 0xFFFFFF & Color.HSBtoRGB(hue, saturation, brightness));
  35. }
  36. @Override
  37. public String getRevLabel(Revision<SFThing> r)
  38. {
  39. return ch.revDetails.get(r).revLabel;
  40. }
  41. };
  42. op.startHtmlBody();
  43. op.writeBlamed(Blamer.blame(ch.revisions));
  44. op.writeRevisionKey(xw);
  45. op.endHtmlBody();
  46. w.close();
  47. }
  48. }