Show
Ignore:
Timestamp:
06/30/08 09:04:13 (4 years ago)
Author:
amandel
Message:

Fixed resource lookup for inner classes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/java/org/jcoderz/phoenix/report/EmmaReportReader.java

    r1051 r1053  
    5151import java.util.Set; 
    5252import java.util.Map.Entry; 
     53import java.util.logging.Level; 
    5354import java.util.logging.Logger; 
    5455 
     
    101102            mEmmaCoverageData = (ICoverageData) 
    102103                emmaReport[DataFactory.TYPE_COVERAGEDATA]; 
     104            if (mEmmaMetaData == null) 
     105            { 
     106                logger.warning( 
     107                    "Read no meta data from emma in file '" + f + "'." ); 
     108            } 
     109            if (mEmmaCoverageData == null) 
     110            { 
     111                logger.warning( 
     112                    "Read no coverage info from emma in file '" + f + "'." ); 
     113            } 
    103114        } 
    104115        catch (IOException e) 
     
    119130        { 
    120131            ClassDescriptor clazz = (ClassDescriptor) i.next(); 
     132            final String srcFileName = clazz.getSrcFileName(); 
     133            final String fileName; 
     134            if (srcFileName != null) 
     135            { 
     136                fileName = srcFileName.substring( 
     137                    0, srcFileName.lastIndexOf('.')); 
     138            } 
     139            else 
     140            {   // fallback if data is not available. 
     141                fileName = clazz.getClassVMName().substring( 
     142                    clazz.getClassVMName().lastIndexOf('/') + 1); 
     143            } 
    121144            final String classname 
    122145                = clazz.getClassVMName().substring( 
     
    124147            final ResourceInfo source 
    125148                = ResourceInfo.lookup( 
    126                     clazz.getPackageVMName().replaceAll("/", "."), classname); 
     149                    clazz.getPackageVMName().replaceAll("/", "."), fileName); 
    127150            if (source != null) 
    128151            { 
     152                if (logger.isLoggable(Level.FINER)) 
     153                { 
     154                    logger.finer( 
     155                        "Processing coverage info for resource " + source); 
     156                } 
    129157                processClazz(itemMap, source, clazz, 
    130                     mEmmaCoverageData.getCoverage(clazz)); 
     158                   mEmmaCoverageData == null 
     159                       ? null : mEmmaCoverageData.getCoverage(clazz)); 
    131160            } 
    132161            else 
    133162            { 
    134                 logger.finer( 
    135                     "Ignoring coverage info for resource " 
    136                         + clazz.getPackageVMName().replaceAll("/", ".") 
    137                         + classname); 
     163                if (logger.isLoggable(Level.FINER)) 
     164                { 
     165                    logger.finer( 
     166                        "Ignoring coverage info for class " 
     167                        + clazz.getPackageVMName().replaceAll("/", ".") + "." 
     168                        + classname + "@" + clazz.getSrcFileName()); 
     169                } 
    138170            } 
    139171        }