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]

Reply via email to