Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
o Prevented crappy plugins from messing with container-managed artifa…
…ct handlers

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@990345 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
bentmann committed Aug 28, 2010
1 parent 53cd87f commit 7b9b88e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
Expand Up @@ -33,5 +33,6 @@ public interface ArtifactHandlerManager

ArtifactHandler getArtifactHandler( String type );

@Deprecated
void addHandlers( Map<String, ArtifactHandler> handlers );
}
}
Expand Up @@ -21,6 +21,7 @@

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;
Expand All @@ -35,28 +36,39 @@
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;
}

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();
}

}

0 comments on commit 7b9b88e

Please sign in to comment.