Author: brett
Date: Tue Jun  7 09:06:14 2005
New Revision: 188806

URL: http://svn.apache.org/viewcvs?rev=188806&view=rev
Log:
PR: MNG-453
Submitted by: Andreas Hoheneder
Reviewed by:  Brett Porter
Add support for generic artifact types, mapping the type to an extension

Added:
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
   (with props)
Modified:
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java

Added: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java?rev=188806&view=auto
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
 (added)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
 Tue Jun  7 09:06:14 2005
@@ -0,0 +1,47 @@
+package org.apache.maven.artifact.handler;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @author Andreas Hoheneder (ahoh/at/inode.at)
+ * @version $Id$
+ */
+public class GenericHandler
+    extends AbstractArtifactHandler
+{
+    private String type;
+
+    public GenericHandler( String atype )
+    {
+        type = atype;
+    }
+
+    public String extension()
+    {
+        return type;
+    }
+
+    public String directory()
+    {
+        return type + "s";
+    }
+
+    public String packageGoal()
+    {
+        return null;
+    }
+}

Propchange: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/GenericHandler.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java?rev=188806&r1=188805&r2=188806&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
 Tue Jun  7 09:06:14 2005
@@ -17,6 +17,7 @@
  */
 
 import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.handler.GenericHandler;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 
 import java.util.Map;
@@ -39,6 +40,13 @@
     {
         ArtifactHandler handler = (ArtifactHandler) artifactHandlers.get( type 
);
 
+        if ( handler == null )
+        {
+            handler = new GenericHandler( type );
+        }
+
+        // this should only happen if GenericHandler decides that the given 
type is unworthy to be handled
+        // TODO: can probably remove this
         if ( handler == null )
         {
             throw new ArtifactHandlerNotFoundException( "Artifact handler for 
type '" + type + "' cannot be found." );



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to