Changeset 532 for trunk/lib/Node.cc


Ignore:
Timestamp:
Dec 26, 2007, 2:47:03 AM (14 years ago)
Author:
Peter Johansson
Message:

Node holds a StatsCollection? rather than a Stats object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Node.cc

    r519 r532  
    8888
    8989  void Node::html_tablerow(std::ostream& os,
     90                           const std::string& stats_type,
    9091                           const std::string& css_class,
    9192                           const std::string& user) const
    9293  {
     94    const Stats& stats = stats_[stats_type];
    9395    os << "<tr class=\"" << css_class << "\">\n"
    9496       << "<td class=\"" << node_type() << "\">";
     
    100102      os << name() << " (<i>link</i>)";
    101103    // there is no output for nodes when user has zero contribution
    102     else if (user!="all" && !stats_.lines(user))
     104    else if (user!="all" && !stats.lines(user))
    103105      os << name();
    104106    else
     
    106108    os << "</td>\n";
    107109    if (user=="all") {
    108       os << "<td>" << stats_.lines() << "</td>\n"
    109          << "<td>" << stats_.code() << "</td>\n"
    110          << "<td>" << stats_.comments() << "</td>\n"
    111          << "<td>" << stats_.empty() << "</td>\n";
     110      os << "<td>" << stats.lines() << "</td>\n"
     111         << "<td>" << stats.code() << "</td>\n"
     112         << "<td>" << stats.comments() << "</td>\n"
     113         << "<td>" << stats.empty() << "</td>\n";
    112114    }
    113115    else {
    114       os << "<td>" << stats_.lines(user);
    115       if (stats_.lines(user))
    116         os << " (" << percent(stats_.lines(user),stats_.lines()) << "%)";
     116      os << "<td>" << stats.lines(user);
     117      if (stats.lines(user))
     118        os << " (" << percent(stats.lines(user),stats.lines()) << "%)";
    117119      os << "</td>\n";
    118       os << "<td>" << stats_.code(user);
    119       if (stats_.code(user))
    120         os << " (" << percent(stats_.code(user),stats_.code()) << "%)";
     120      os << "<td>" << stats.code(user);
     121      if (stats.code(user))
     122        os << " (" << percent(stats.code(user),stats.code()) << "%)";
    121123      os << "</td>\n";
    122       os << "<td>" << stats_.comments(user);
    123       if (stats_.comments(user))
    124         os << " (" << percent(stats_.comments(user),stats_.comments()) << "%)";
     124      os << "<td>" << stats.comments(user);
     125      if (stats.comments(user))
     126        os << " (" << percent(stats.comments(user),stats.comments()) << "%)";
    125127      os << "</td>\n";
    126       os << "<td>" << stats_.empty(user);
    127       if (stats_.empty(user))
    128         os << " (" << percent(stats_.empty(user),stats_.empty()) << "%)";
     128      os << "<td>" << stats.empty(user);
     129      if (stats.empty(user))
     130        os << " (" << percent(stats.empty(user),stats.empty()) << "%)";
    129131      os << "</td>\n";
    130132
     
    202204      std::cout << "Printing output for " << path_ << std::endl;
    203205    SVNlog log(path_);
    204     print_core("classic", "all", "total", log);
    205     print_core("classic", "all", "code", log);
    206     print_core("classic", "all", "comments", log);
    207     print_core("classic", "all", "empty", log);
    208 
    209     for (std::set<std::string>::const_iterator i = stats_.authors().begin();
    210          i!=stats_.authors().end(); ++i) {
    211       print_core("classic", *i, "total", log);
    212       print_core("classic", *i, "code", log);
    213       print_core("classic", *i, "comments", log);
    214       print_core("classic", *i, "empty", log);
    215     }
    216    
    217     print_core(verbose);
    218   }
    219 
    220 
    221   void Node::print_author_summary(std::ostream& os, std::string line_type,
     206    typedef std::map<std::string, Stats*>::const_iterator iter;
     207
     208    const iter end(stats_.stats().end());
     209    for (iter i=stats_.stats().begin();i!=end; ++i){
     210      print_core(i->first, "all", "total", log);
     211      print_core(i->first, "all", "code", log);
     212      print_core(i->first, "all", "comments", log);
     213      print_core(i->first, "all", "empty", log);
     214      for (std::set<std::string>::const_iterator j=i->second->authors().begin();
     215         j!=i->second->authors().end(); ++j) {
     216        print_core(i->first, *j, "total", log);
     217        print_core(i->first, *j, "code", log);
     218        print_core(i->first, *j, "comments", log);
     219        print_core(i->first, *j, "empty", log);
     220      }
     221    }
     222      print_core(verbose);
     223  }
     224
     225
     226  void Node::print_author_summary(std::ostream& os,
     227                                  const Stats& stats,
     228                                  const std::string& line_type,
    222229                                  const SVNlog& log) const
    223230  {
     
    246253    // print authors
    247254    const std::string timefmt("%e/%m/%y %H:%M:%S");
    248     for (std::set<std::string>::const_iterator i=stats_.authors().begin();
    249          i!=stats_.authors().end(); ++i){
     255    for (std::set<std::string>::const_iterator i=stats.authors().begin();
     256         i!=stats.authors().end(); ++i){
    250257      if (color=="dark")
    251258        color="light";
     
    255262      os << anchor(*i+"/"+line_type+"/"+output_path()
    256263                   ,*i, level_+2, "View statistics for "+*i);
    257       os << "</td><td>" << stats_.lines(*i)
    258          << "</td><td>" << stats_.code(*i)
    259          << "</td><td>" << stats_.comments(*i)
    260          << "</td><td>" << stats_.empty(*i);
     264      os << "</td><td>" << stats.lines(*i)
     265         << "</td><td>" << stats.code(*i)
     266         << "</td><td>" << stats.comments(*i)
     267         << "</td><td>" << stats.empty(*i);
    261268      if (log.exist(*i)) {
    262269        Commitment lc(log.latest_commit(*i));
     
    284291                   ,"Total", level_+2, "View statistics for all");
    285292    os << "</td>\n";
    286     os << "<td>" << stats_.lines() << "</td>\n";
    287     os << "<td>" << stats_.code() << "</td>\n";
    288     os << "<td>" << stats_.comments() << "</td>\n";
    289     os << "<td>" << stats_.empty() << "</td>\n";
     293    os << "<td>" << stats.lines() << "</td>\n";
     294    os << "<td>" << stats.code() << "</td>\n";
     295    os << "<td>" << stats.comments() << "</td>\n";
     296    os << "<td>" << stats.empty() << "</td>\n";
    290297    Commitment lc(log.latest_commit());
    291298    os << "<td>" << trac_revision(lc.revision()) << "</td>\n";
Note: See TracChangeset for help on using the changeset viewer.