You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/08/28 13:29:44 UTC

svn commit: r990345 - in /maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager: ArtifactHandlerManager.java DefaultArtifactHandlerManager.java

Author: bentmann
Date: Sat Aug 28 11:29:44 2010
New Revision: 990345

URL: http://svn.apache.org/viewvc?rev=990345&view=rev
Log:
o Prevented crappy plugins from messing with container-managed artifact handlers

Modified:
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java?rev=990345&r1=990344&r2=990345&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java Sat Aug 28 11:29:44 2010
@@ -33,5 +33,6 @@ public interface ArtifactHandlerManager
 
     ArtifactHandler getArtifactHandler( String type );
 
+    @Deprecated
     void addHandlers( Map<String, ArtifactHandler> handlers );
-}
\ No newline at end of file
+}

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java?rev=990345&r1=990344&r2=990345&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java Sat Aug 28 11:29:44 2010
@@ -21,6 +21,7 @@ package org.apache.maven.artifact.handle
 
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.handler.DefaultArtifactHandler;
@@ -35,16 +36,24 @@ import org.codehaus.plexus.component.ann
 public class DefaultArtifactHandlerManager
     implements ArtifactHandlerManager
 {
+
     @Requirement( role = ArtifactHandler.class )
     private Map<String, ArtifactHandler> artifactHandlers;
 
+    private Map<String, ArtifactHandler> unmanagedHandlers = new ConcurrentHashMap<String, ArtifactHandler>();
+
     public ArtifactHandler getArtifactHandler( String type )
     {
-        ArtifactHandler handler = artifactHandlers.get( type );
+        ArtifactHandler handler = unmanagedHandlers.get( type );
 
         if ( handler == null )
         {
-            handler = new DefaultArtifactHandler( type );
+            handler = artifactHandlers.get( type );
+
+            if ( handler == null )
+            {
+                handler = new DefaultArtifactHandler( type );
+            }
         }
 
         return handler;
@@ -52,11 +61,14 @@ public class DefaultArtifactHandlerManag
 
     public void addHandlers( Map<String, ArtifactHandler> handlers )
     {
-        artifactHandlers.putAll( handlers );
+        // legacy support for maven-gpg-plugin:1.0
+        unmanagedHandlers.putAll( handlers );
     }
 
+    @Deprecated
     public Set<String> getHandlerTypes()
     {
         return artifactHandlers.keySet();
     }
+
 }