ReviewToLogListener.java :  » Code-Analyzer » hammurapi-3.20.0.3 » org » hammurapi » Java Open Source

Java Open Source » Code Analyzer » hammurapi 3.20.0.3 
hammurapi 3.20.0.3 » org » hammurapi » ReviewToLogListener.java
/*
 * Hammurapi
 * Automated Java code review system. 
 * Copyright (C) 2004  Hammurapi Group
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * URL: http://www.hammurapi.org
 * e-Mail: support@hammurapi.biz
 */

package org.hammurapi;

import java.text.MessageFormat;
import java.util.Iterator;

import org.apache.tools.ant.Project;
import org.hammurapi.results.CompositeResults;
import org.hammurapi.results.ReviewResults;

/**
 *
 * @author  Pavel Vlasov
 * @version $Revision: 1.1 $
 */
public class ReviewToLogListener implements Listener {
    private Project project;
    
    /** Creates a new instance of ReviewToLogListener */
    public ReviewToLogListener(Project project) {
        this.project=project;
    }
    
    public void onReview(ReviewResults reviewResult) throws HammurapiException {
        if (reviewResult.getViolations().size()!=0) {
            project.log("Violations in "+reviewResult.getCompilationUnit().getRelativeName()+":", Project.MSG_VERBOSE);
            Iterator vit=reviewResult.getViolations().iterator();
            while (vit.hasNext()) {
                Violation violation=(Violation) vit.next();
                Object[] objs = {
                    new Integer(violation.getSource().getLine()),
                    new Integer(violation.getSource().getColumn()),
                    violation.getDescriptor().getName(),
                    violation.getDescriptor().getSeverity(),
                    violation.getMessage()
                };
                
                project.log(MessageFormat.format("{0}:{1} - {2}[{3}] {4}", objs), Project.MSG_VERBOSE);
            }
        }

        project.log("Codebase: "+reviewResult.getCodeBase(), Project.MSG_VERBOSE);
        project.log("Reviews: "+reviewResult.getReviewsNumber(), Project.MSG_VERBOSE);
        project.log("Violations: "+reviewResult.getViolations().size(), Project.MSG_VERBOSE);
//        project.log(MessageFormat.format("PAI {0, number,###.00}%", new Object[] { new Double(reviewResult.getPerfectionAffinityIndex()*100) }), Project.MSG_VERBOSE);
        project.log("DPMO: "+reviewResult.getDPMO(), Project.MSG_VERBOSE);
        project.log("Sigma: "+reviewResult.getSigma(), Project.MSG_VERBOSE);
        project.log(" ", Project.MSG_VERBOSE);
    }
    
    public void onSummary(CompositeResults summary, InspectorSet ruleSet) throws HammurapiException {
        project.log("=== Summary ===");
        project.log("Codebase: "+summary.getCodeBase());
        project.log("Reviews: "+summary.getReviewsNumber());
        project.log("Violations: "+summary.getViolationsNumber());
//        project.log(MessageFormat.format("PAI {0, number,###.00}%", new Object[] { new Double(summary.getPerfectionAffinityIndex()*100) }));
        project.log("DPMO: "+summary.getDPMO());
        project.log("Sigma: "+summary.getSigma());
    }    
    
    public void onPackage(CompositeResults packageResults) {
        project.log("=== Package ===", Project.MSG_VERBOSE);
        project.log("Package: "+packageResults.getName(), Project.MSG_VERBOSE);
        project.log("Codebase: "+packageResults.getCodeBase(), Project.MSG_VERBOSE);
        project.log("Reviews: "+packageResults.getReviewsNumber(), Project.MSG_VERBOSE);
        project.log("Violations: "+packageResults.getViolationsNumber(), Project.MSG_VERBOSE);
//        project.log(MessageFormat.format("PAI {0, number,###.00}%", new Object[] { new Double(packageResults.getPerfectionAffinityIndex()*100) }), Project.MSG_VERBOSE);
        project.log("DPMO: "+packageResults.getDPMO(), Project.MSG_VERBOSE);
        project.log("Sigma: "+packageResults.getSigma(), Project.MSG_VERBOSE);
}

  public void onBegin(InspectorSet inspectorSet) {
    project.log("Review started with "+inspectorSet.size()+" inspectors");    
  }    
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.