Author: olamy
Date: Tue Apr  1 01:45:38 2014
New Revision: 1583508

URL: http://svn.apache.org/r1583508
Log:
fix jdk1.8 build

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataWriter.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataWriter.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataWriter.java?rev=1583508&r1=1583507&r2=1583508&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataWriter.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/archiva/repository/metadata/RepositoryMetadataWriter.java
 Tue Apr  1 01:45:38 2014
@@ -35,12 +35,13 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.Writer;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Iterator;
+import java.util.List;
 
 /**
  * RepositoryMetadataWriter
- *
- *
  */
 public class RepositoryMetadataWriter
 {
@@ -86,6 +87,10 @@ public class RepositoryMetadataWriter
         if ( CollectionUtils.isNotEmpty( metadata.getPlugins() ) )
         {
             Element plugins = root.addElement( "plugins" );
+
+            List<Plugin> pluginList = metadata.getPlugins();
+            Collections.sort( pluginList, PluginComparator.INSTANCE );
+
             for ( Plugin plugin : metadata.getPlugins() )
             {
                 Element p = plugins.addElement( "plugin" );
@@ -95,9 +100,11 @@ public class RepositoryMetadataWriter
             }
         }
 
-        if ( CollectionUtils.isNotEmpty( metadata.getAvailableVersions() ) || 
StringUtils.isNotBlank(
-            metadata.getReleasedVersion() ) || StringUtils.isNotBlank( 
metadata.getLatestVersion() )
-            || StringUtils.isNotBlank( metadata.getLastUpdated() ) || ( 
metadata.getSnapshotVersion() != null ) )
+        if ( CollectionUtils.isNotEmpty( metadata.getAvailableVersions() ) //
+            || StringUtils.isNotBlank( metadata.getReleasedVersion() ) //
+            || StringUtils.isNotBlank( metadata.getLatestVersion() ) //
+            || StringUtils.isNotBlank( metadata.getLastUpdated() ) //
+            || ( metadata.getSnapshotVersion() != null ) )
         {
             Element versioning = root.addElement( "versioning" );
 
@@ -145,4 +152,25 @@ public class RepositoryMetadataWriter
 
         elem.addElement( elemName ).setText( text );
     }
+
+    private static class PluginComparator
+        implements Comparator<Plugin>
+    {
+        private static final PluginComparator INSTANCE = new 
PluginComparator();
+
+        @Override
+        public int compare( Plugin plugin, Plugin plugin2 )
+        {
+            if ( plugin.getPrefix() != null && plugin2.getPrefix() != null )
+            {
+                return plugin.getPrefix().compareTo( plugin2.getPrefix() );
+            }
+            if ( plugin.getName() != null && plugin2.getName() != null )
+            {
+                return plugin.getName().compareTo( plugin2.getName() );
+            }
+            // we assume artifactId is not null which sounds good :-)
+            return plugin.getArtifactId().compareTo( plugin2.getArtifactId() );
+        }
+    }
 }


Reply via email to