Coverage Report - net.objectlab.qalab.parser.FindBugsStatMerge
 
Classes in this File Line Coverage Branch Coverage Complexity
FindBugsStatMerge
100%
15/15
100%
2/2
1.4
 
 1  
 ////////////////////////////////////////////////////////////////////////////////
 2  
 //
 3  
 //                  ObjectLab is sponsoring QALab
 4  
 // 
 5  
 // Based in London, we are world leaders in the design and development 
 6  
 // of bespoke applications for the Securities Financing markets.
 7  
 // 
 8  
 // <a href="http://www.objectlab.co.uk/open">Click here to learn more</a>
 9  
 //           ___  _     _           _   _          _
 10  
 //          / _ \| |__ (_) ___  ___| |_| |    __ _| |__
 11  
 //         | | | | '_ \| |/ _ \/ __| __| |   / _` | '_ \
 12  
 //         | |_| | |_) | |  __/ (__| |_| |__| (_| | |_) |
 13  
 //          \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
 14  
 //                   |__/
 15  
 //
 16  
 //                   http://www.ObjectLab.co.uk
 17  
 // ---------------------------------------------------------------------------
 18  
 //
 19  
 //QALab is released under the GNU General Public License.
 20  
 //
 21  
 //QALab: Collects QA Statistics from your build over time.
 22  
 //2005+, ObjectLab Ltd
 23  
 //
 24  
 //This library is free software; you can redistribute it and/or
 25  
 //modify it under the terms of the GNU General Public
 26  
 //License as published by the Free Software Foundation; either
 27  
 //version 2.1 of the License, or (at your option) any later version.
 28  
 //
 29  
 //This library is distributed in the hope that it will be useful,
 30  
 //but WITHOUT ANY WARRANTY; without even the implied warranty of
 31  
 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 32  
 //General Public License for more details.
 33  
 //
 34  
 //You should have received a copy of the GNU General Public
 35  
 //License along with this library; if not, write to the Free Software
 36  
 //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 37  
 //
 38  
 ////////////////////////////////////////////////////////////////////////////////
 39  
 package net.objectlab.qalab.parser;
 40  
 
 41  
 import net.objectlab.qalab.util.Util;
 42  
 
 43  
 import org.xml.sax.Attributes;
 44  
 
 45  
 /**
 46  
  * This class is able to read the XDOC output from FindBugs and integrate the
 47  
  * violation results into our qalab.xml format.
 48  
  * 
 49  
  * @see <a href="http://findbugs.sourceforge.net/">FindBugs at SourceForge</a>
 50  
  * @author Benoit Xhenseval
 51  
  * @version $Revision: 187 $
 52  
  */
 53  21
 public class FindBugsStatMerge extends CheckstyleOrPMDBaseMerge {
 54  
     // ~ Methods
 55  
     // ------------------------------------------------------------------------
 56  
 
 57  
     /**
 58  
      * @return "file"
 59  
      */
 60  
     protected final String getFileTag() {
 61  222
         return "file";
 62  
     }
 63  
 
 64  
     /**
 65  
      * @return classname
 66  
      */
 67  
     protected final String getFileNameAttribute() {
 68  30
         return "classname";
 69  
     }
 70  
 
 71  
     /**
 72  
      * @return BugInstance
 73  
      */
 74  
     protected final String getViolationTag() {
 75  111
         return "BugInstance";
 76  
     }
 77  
 
 78  
     /**
 79  
      * @return findbugs
 80  
      */
 81  
     public final String getType() {
 82  18
         return "findbugs";
 83  
     }
 84  
 
 85  
     /**
 86  
      * Given the different ways that files can be stored on file system, this
 87  
      * method will remove anything part of the path up to the 'srcDir' given, it
 88  
      * should only retain the package name in java. For instance, for Findbugs
 89  
      * classname="net.objectlab.X" will be stored in the compiled stats as:
 90  
      * net/objectlab/A.java
 91  
      * 
 92  
      * @param att
 93  
      *            the XML attribute
 94  
      */
 95  
     protected final void setFileName(final Attributes att) {
 96  30
         String fileName = Util.getAttributeValue(att, getFileNameAttribute(),
 97  
                 isQuiet(), getTaskLogger());
 98  
 
 99  30
         fileName = fileName.replace('.', '/');
 100  
 
 101  30
         final int embeddedClass = fileName.indexOf("$");
 102  
 
 103  30
         if (embeddedClass > 0) {
 104  15
             fileName = fileName.substring(0, embeddedClass);
 105  
         }
 106  
 
 107  30
         fileName += ".java";
 108  
 
 109  30
         if (!isQuiet()) {
 110  30
             getTaskLogger().log("setCurrentFileName FILE [" + fileName + "]");
 111  
         }
 112  
 
 113  30
         setCurrentFile(fileName);
 114  30
     }
 115  
 }
 116  
 /*
 117  
  *                   ObjectLab is sponsoring QALab
 118  
  * 
 119  
  * Based in London, we are world leaders in the design and development 
 120  
  * of bespoke applications for the securities financing markets.
 121  
  * 
 122  
  * <a href="http://www.objectlab.co.uk/open">Click here to learn more about us</a>
 123  
  *           ___  _     _           _   _          _
 124  
  *          / _ \| |__ (_) ___  ___| |_| |    __ _| |__
 125  
  *         | | | | '_ \| |/ _ \/ __| __| |   / _` | '_ \
 126  
  *         | |_| | |_) | |  __/ (__| |_| |__| (_| | |_) |
 127  
  *          \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
 128  
  *                   |__/
 129  
  *
 130  
  *                     www.ObjectLab.co.uk
 131  
  */