You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2009/03/11 01:54:08 UTC

svn commit: r752326 - /maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java

Author: vsiveton
Date: Wed Mar 11 00:54:07 2009
New Revision: 752326

URL: http://svn.apache.org/viewvc?rev=752326&view=rev
Log:
o added default since only when not already added in the class javadoc

Modified:
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java?rev=752326&r1=752325&r2=752326&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractFixJavadocMojo.java Wed Mar 11 00:54:07 2009
@@ -348,16 +348,15 @@
      */
     private String[] fixTagsSplitted;
 
-    /**
-     * New classes found by Clirr.
-     */
+    /** New classes found by Clirr. */
     private List clirrNewClasses;
 
-    /**
-     * New Methods in a Class (the key) found by Clirr.
-     */
+    /** New Methods in a Class (the key) found by Clirr. */
     private Map clirrNewMethods;
 
+    /** List of classes where <code>&#42;since</code> is added. */
+    private List sinceClasses;
+
     /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException, MojoFailureException
@@ -1120,6 +1119,7 @@
             else
             {
                 addDefaultSince( sb, indent );
+                addSinceClasses( javaClass );
             }
         }
         sb.append( indent ).append( " " ).append( END_JAVADOC );
@@ -1861,6 +1861,7 @@
                 else
                 {
                     addDefaultSince( sb, indent );
+                    addSinceClasses( (JavaClass) entity );
                 }
             }
             else
@@ -1874,7 +1875,10 @@
                 }
                 else
                 {
-                    addDefaultSince( sb, indent );
+                    if ( sinceClasses != null && !sinceClassesContains( ( (JavaMethod) entity ).getParentClass() ) )
+                    {
+                        addDefaultSince( sb, indent );
+                    }
                 }
             }
         }
@@ -2008,6 +2012,7 @@
                     }
 
                     addDefaultSince( sb, indent );
+                    addSinceClasses( javaClass );
                 }
             }
             else
@@ -2029,13 +2034,16 @@
                 }
                 else
                 {
-                    if ( !addSeparator )
+                    if ( sinceClasses != null && !sinceClassesContains( javaMethod.getParentClass() ) )
                     {
-                        addSeparator( sb, indent );
-                        addSeparator = true;
-                    }
+                        if ( !addSeparator )
+                        {
+                            addSeparator( sb, indent );
+                            addSeparator = true;
+                        }
 
-                    addDefaultSince( sb, indent );
+                        addDefaultSince( sb, indent );
+                    }
                 }
             }
         }
@@ -2437,6 +2445,23 @@
         }
     }
 
+    /**
+     * @param javaClass not null
+     */
+    private void addSinceClasses( JavaClass javaClass )
+    {
+        if ( sinceClasses == null )
+        {
+            sinceClasses = new ArrayList();
+        }
+        sinceClasses.add( javaClass.getFullyQualifiedName() );
+    }
+
+    private boolean sinceClassesContains( JavaClass javaClass )
+    {
+        return sinceClasses.contains( javaClass.getFullyQualifiedName() );
+    }
+
     // ----------------------------------------------------------------------
     // Static methods
     // ----------------------------------------------------------------------
@@ -2548,6 +2573,23 @@
 
         List originalJavadocLinesAsList = new LinkedList();
         originalJavadocLinesAsList.addAll( Arrays.asList( originalJavadocLines ) );
+
+        Collections.reverse( originalJavadocLinesAsList );
+
+        for ( Iterator it = originalJavadocLinesAsList.iterator(); it.hasNext(); )
+        {
+            String line = (String) it.next();
+
+            if ( line.endsWith( END_JAVADOC ) )
+            {
+                break;
+            }
+
+            it.remove();
+        }
+
+        Collections.reverse( originalJavadocLinesAsList );
+
         boolean toremove = false;
         for ( Iterator it = originalJavadocLinesAsList.iterator(); it.hasNext(); )
         {