felipeal 2004/09/01 20:37:21 Modified: javadoc/src/main/org/apache/maven/javadoc JavadocWarningsTextToXml.java Log: first fix for MPJAVADOC-42: instead of failing due to an exception, a WARNING message is logged to the console Revision Changes Path 1.2 +64 -52 maven-plugins/javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java Index: JavadocWarningsTextToXml.java =================================================================== RCS file: /home/cvs/maven-plugins/javadoc/src/main/org/apache/maven/javadoc/JavadocWarningsTextToXml.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JavadocWarningsTextToXml.java 21 Aug 2004 18:42:04 -0000 1.1 +++ JavadocWarningsTextToXml.java 2 Sep 2004 03:37:21 -0000 1.2 @@ -230,60 +230,72 @@ for (int i = 0; i < input.length; i++) { String line = input[i]; - - // Break up line into pieces - int javaDocStart = line.indexOf("[javadoc]"); - int fileNameStart = javaDocStart += PADDING; - int warningStart = line.indexOf("warning - "); - int fileNameEnd = warningStart - 1; - String fileNameAndLineNumber = - line.substring( - fileNameStart, - fileNameEnd - ); - int lastColon = fileNameAndLineNumber.lastIndexOf(':'); - int nextToLastColon = - fileNameAndLineNumber.lastIndexOf( - ':', - lastColon - 1 - ); - String fileName = fileNameAndLineNumber.substring( - 0, - nextToLastColon - ); - String lineNumber = - fileNameAndLineNumber.substring( - nextToLastColon + 1, - lastColon - ); - int msgStart = warningStart + PADDING; - String msg = line.substring(msgStart); - - // Get the messages for the file - Map fileMessages = (Map) files.get(fileName); - - if (fileMessages == null) { - fileMessages = new TreeMap(); - files.put( - fileName, - fileMessages + if (this.isVerbose()) { + System.out.println( + "Parsing line " + line ); } - - // Get the messages for the line - Set lineMessages = (Set) fileMessages.get(new Integer(lineNumber)); - - if (lineMessages == null) { - lineMessages = new LinkedHashSet(); - fileMessages.put( - new Integer(lineNumber), - lineMessages - ); + try { + // Break up line into pieces + int javaDocStart = line.indexOf("[javadoc]"); + int fileNameStart = javaDocStart += PADDING; + int warningStart = line.indexOf("warning - "); + int fileNameEnd = warningStart - 1; + String fileNameAndLineNumber = + line.substring( + fileNameStart, + fileNameEnd + ); + int lastColon = fileNameAndLineNumber.lastIndexOf(':'); + int nextToLastColon = + fileNameAndLineNumber.lastIndexOf( + ':', + lastColon - 1 + ); + String fileName = fileNameAndLineNumber.substring( + 0, + nextToLastColon + ); + String lineNumber = + fileNameAndLineNumber.substring( + nextToLastColon + 1, + lastColon + ); + int msgStart = warningStart + PADDING; + String msg = line.substring(msgStart); + + // Get the messages for the file + Map fileMessages = (Map) files.get(fileName); + + if (fileMessages == null) { + fileMessages = new TreeMap(); + files.put( + fileName, + fileMessages + ); + } + + // Get the messages for the line + Set lineMessages = (Set) fileMessages.get(new Integer(lineNumber)); + + if (lineMessages == null) { + lineMessages = new LinkedHashSet(); + fileMessages.put( + new Integer(lineNumber), + lineMessages + ); + } + + // Put the message into the line messages set + lineMessages.add(msg); + } catch( Throwable t ) { + System.err.println("*** WARNING: exception parsing line '" + line + + "': " + t.getMessage() ); + if (this.isVerbose()) { + t.printStackTrace(); + } } - - // Put the message into the line messages set - lineMessages.add(msg); - } + } // for return files; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]