Index: CoverageReport.java =================================================================== RCS file: /home/cvspublic/maven-plugins/jcoverage/src/main/org/apache/maven/jcoveragereport/CoverageReport.java,v retrieving revision 1.11 diff -u -r1.11 CoverageReport.java --- CoverageReport.java 15 Oct 2004 14:49:17 -0000 1.11 +++ CoverageReport.java 8 Apr 2005 23:29:13 -0000 @@ -183,11 +183,8 @@ { urlDirectory = theClass.getFile().substring(0, theClass.getFile().lastIndexOf("/")); } - String classFilename = theClass.getName() + ".html"; - if (theClass.getFile().endsWith("/" + theClass.getName() + ".java")) - { - pw.println("" + theClass.getName() + " (" + getPercentValue(theClass.getLineRate()) + ")
"); - } + String classFilename = getShortFilename(theClass); + pw.println("" + theClass.getName() + " (" + getPercentValue(theClass.getLineRate()) + ")
"); } pw.println(""); @@ -280,7 +277,7 @@ Clazz cl = (Clazz) it.next(); if (cl.getFile().indexOf("[Unknown]")<0) { - String classFilename = cl.getFile().substring(cl.getFile().lastIndexOf("/")+1, cl.getFile().lastIndexOf(".")) + ".html"; + String classFilename = getShortFilename(cl); pw.println(""); pw.println("" + cl.getName() + ""); pw.println("" + generatePercentResult(getPercentValue(cl.getLineRate())) + ""); @@ -331,7 +328,7 @@ Clazz cl = (Clazz) iter.next(); if (cl.getFile().indexOf("[Unknown]")<0) { - String classFilename = cl.getFile().substring(cl.getFile().lastIndexOf("/")+1, cl.getFile().lastIndexOf(".")) + ".html"; + String classFilename = getShortFilename(cl); pw.println(""); pw.println("" + cl.getName() + ""); pw.println("" + generatePercentResult(getPercentValue(cl.getLineRate())) + ""); @@ -349,6 +346,34 @@ pw.close(); } + /** + * Gets the name to output the file to. + * + * @param cl the class to get the filename for + * @return the filename + */ + private String getShortFilename(Clazz cl) { + String name = cl.getFile().substring(cl.getFile().lastIndexOf("/")+1, cl.getFile().lastIndexOf(".")); + if (cl.getName().indexOf('$') >= 0) { + name = name + "_" + cl.getName().substring(cl.getName().indexOf('$') + 1); + } + return name + ".html"; + } + + /** + * Gets the name to output the file to. + * + * @param cl the class to get the filename for + * @return the filename + */ + private String getFullFilename(Clazz cl) { + String name = cl.getFile().substring(0, cl.getFile().lastIndexOf(".")); + if (cl.getName().indexOf('$') >= 0) { + name = name + "_" + cl.getName().substring(cl.getName().indexOf('$') + 1); + } + return name + ".html"; + } + private void generateSourceFiles(File dir) throws IOException { for (Iterator iter = coverage.getClasses().iterator(); iter.hasNext(); ) @@ -364,7 +389,7 @@ private void generateSourceFile(File directory, Clazz theClass) throws IOException { - String srcOutputFilename = theClass.getFile().substring(0, theClass.getFile().lastIndexOf(".")) + ".html"; + String srcOutputFilename = getFullFilename(theClass); File srcOutputFile = new File(directory, srcOutputFilename); File dirOutputFile = srcOutputFile.getParentFile(); if (dirOutputFile != null)