Coverage Report - net.sf.statcvs.pages.TwitterHelp
 
Classes in this File Line Coverage Branch Coverage Complexity
TwitterHelp
0%
0/84
0%
0/12
1.667
 
 1  
 /**
 2  
  * 
 3  
  */
 4  
 package net.sf.statcvs.pages;
 5  
 
 6  
 import java.text.NumberFormat;
 7  
 
 8  
 import net.sf.statcvs.Messages;
 9  
 import net.sf.statcvs.model.Author;
 10  
 import net.sf.statcvs.model.Repository;
 11  
 import net.sf.statcvs.model.Revision;
 12  
 import net.sf.statcvs.output.ReportConfig;
 13  
 import net.sf.statcvs.reports.TopDevelopersTableReport;
 14  
 import net.sf.statcvs.util.StringUtils;
 15  
 
 16  
 /**
 17  
  * @author Benoit
 18  
  *
 19  
  */
 20  
 public final class TwitterHelp {
 21  0
     private TwitterHelp() {
 22  0
     }
 23  
 
 24  
     public static String buildOverviewLink(final TopDevelopersTableReport topDevelopers, final Repository repository, final ReportConfig config) {
 25  0
         final StringBuffer buf = new StringBuffer();
 26  0
         startLink(buf);
 27  0
         buf.append("http://twitter.com/home?status=Project");
 28  0
 
 29  0
         final StringBuffer url = new StringBuffer();
 30  0
         url.append(" ");
 31  0
         url.append(config.getProjectName());
 32  0
         url.append(" {0} on ");
 33  0
         url.append(HTML.OUTPUT_DATE_FORMAT.format(repository.getLastDate()));
 34  0
         url.append(" has ");
 35  0
         url.append(NumberFormat.getNumberInstance().format(repository.getCurrentLOC()));
 36  0
         url.append(" Lines of Code and ");
 37  0
         url.append(topDevelopers.getDeveloperCount());
 38  0
         url.append(" Developers: stats by ");
 39  0
         url.append(Messages.getString("PROJECT_SHORTNAME"));
 40  0
         url.append(" ").append(Messages.getString("PROJECT_SMALL_URL"));
 41  
         
 42  0
         buf.append(HTML.escapeUrlParameters(url.toString()));
 43  0
 
 44  0
         endLinkAndIcon(buf, ReportSuiteMaker.TWEET_THIS_ICON);
 45  0
         return buf.toString();
 46  
     }
 47  0
 
 48  0
     private static void endLinkAndIcon(final StringBuffer buf, final String iconName) {
 49  0
         buf.append("\"><img style=\"border:0px\" alt=\"Tweet this\" src=\"").append(iconName).append("\"/></a>");
 50  0
     }
 51  0
 
 52  0
     private static void startLink(final StringBuffer buf) {
 53  0
         buf.append("<a onclick=\"return shortenTweet(this.href);\" href=\"");
 54  0
     }
 55  0
 
 56  0
     public static String buildDeveloperLink(final Author developer, final String loc, final Repository repository, final ReportConfig config) {
 57  0
         final StringBuffer buf = new StringBuffer();
 58  0
         startLink(buf);
 59  0
         buf.append("http://twitter.com/home?status=");
 60  0
         final StringBuffer url = new StringBuffer();
 61  0
         if (StringUtils.isNotEmpty(developer.getTwitterUserName())) {
 62  0
             url.append("@").append(developer.getTwitterUserName());
 63  0
         } else if (StringUtils.isNotEmpty(developer.getRealName())) {
 64  0
             url.append(developer.getRealName());
 65  
         } else {
 66  0
             url.append(developer.getName());
 67  0
         }
 68  0
         url.append(" contributed ");
 69  0
         url.append(loc);
 70  0
         url.append(" lines to ");
 71  0
         url.append(config.getProjectName());
 72  0
         url.append(" {0} most recent commit ");
 73  0
         url.append(HTML.OUTPUT_DATE_FORMAT.format(((Revision) developer.getRevisions().last()).getDate()));
 74  0
         url.append(" stats by ");
 75  0
         url.append(Messages.getString("PROJECT_SHORTNAME"));
 76  0
         url.append(" ").append(Messages.getString("PROJECT_SMALL_URL"));
 77  
 
 78  0
         //        System.out.println("Raw:"+url.toString());
 79  0
 
 80  0
         String escapeUrl = HTML.escapeUrlParameters(url.toString());
 81  0
         //        System.out.println("url:"+escapeUrl);
 82  0
         buf.append(escapeUrl);
 83  0
         endLinkAndIcon(buf, ReportSuiteMaker.TWEET_THIS_ICON);
 84  0
         return buf.toString();
 85  
     }
 86  
 
 87  0
     public static String buildDeveloperOfMonthLink(final Author developer, final int loc, final Repository repository, final String month_year,
 88  0
             ReportConfig config) {
 89  0
         final StringBuffer buf = new StringBuffer();
 90  0
         startLink(buf);
 91  0
         final StringBuffer url = new StringBuffer();
 92  0
         buf.append("http://twitter.com/home?status=");
 93  0
         if (StringUtils.isNotEmpty(developer.getTwitterUserName())) {
 94  0
             url.append("@").append(developer.getTwitterUserName());
 95  0
         } else if (StringUtils.isNotEmpty(developer.getRealName())) {
 96  0
             url.append(developer.getRealName());
 97  
         } else {
 98  0
             url.append(developer.getName());
 99  0
         }
 100  0
         url.append(" is Developer of The Month for ");
 101  0
         url.append(month_year);
 102  0
         url.append(" for ");
 103  0
         url.append(config.getProjectName());
 104  0
 
 105  0
         url.append(" {0} with ");
 106  0
         url.append(NumberFormat.getNumberInstance().format(loc));
 107  0
         url.append(" lines. Stats by ");
 108  0
         url.append(Messages.getString("PROJECT_SHORTNAME"));
 109  0
         url.append(" ").append(Messages.getString("PROJECT_SMALL_URL"));
 110  
 
 111  0
         buf.append(HTML.escapeUrlParameters(url.toString()));
 112  0
 
 113  0
         endLinkAndIcon(buf, ReportSuiteMaker.TWEET_THIS_SMALL);
 114  0
         return buf.toString();
 115  
     }
 116  
 }