Author: hboutemy
Date: Sat Nov 20 19:13:25 2010
New Revision: 1037304

URL: http://svn.apache.org/viewvc?rev=1037304&view=rev
Log:
implement HttpServlet methods

Modified:
    
maven/archetype/trunk/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java

Modified: 
maven/archetype/trunk/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java?rev=1037304&r1=1037303&r2=1037304&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java
 (original)
+++ 
maven/archetype/trunk/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java
 Sat Nov 20 19:13:25 2010
@@ -22,10 +22,7 @@ import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.StringWriter;
 import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -40,17 +37,10 @@ import org.mortbay.util.StringUtil;
 public class RepositoryServlet
     extends HttpServlet
 {
-    /*
-     * (non-Javadoc)
-     * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, 
javax.servlet.ServletResponse)
-     */
-    public void service( ServletRequest req, ServletResponse res )
-        throws ServletException
+    private File getFile( HttpServletRequest request )
     {
-        HttpServletRequest request = (HttpServletRequest) req;
-        HttpServletResponse response = (HttpServletResponse) res;
-
         log( "Requested file = " + request.getRequestURI() );
+
         String filePath =
             System.getProperty( 
"org.apache.maven.archetype.reporitory.directory" ).trim() + "/"
                 + request.getRequestURI();
@@ -62,95 +52,61 @@ public class RepositoryServlet
         filePath = filePath.replaceAll( "//", "/" );
         filePath = StringUtil.replace( filePath, "/", File.separator );
         log( "Complete file path = " + filePath );
+        
+        return new File( filePath );
+    }
+
+    public void doGet( HttpServletRequest request, HttpServletResponse 
response )
+        throws ServletException
+    {
+        log( "Getting file" );
+        try
+        {
+            InputStream is = new FileInputStream( getFile( request ) );
+
+            IO.copy( is, response.getOutputStream() );
+            response.setStatus( HttpServletResponse.SC_OK );
+            log( "File sent" );
+        }
+        catch ( FileNotFoundException fileNotFoundException )
+        {
+            response.setStatus( HttpServletResponse.SC_NOT_FOUND );
+            log( "Requested file not found " );
+        }
+        catch ( IOException iOException )
+        {
+            response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+            log( "Cannot send file", iOException );
+        }
+    }
 
-        String method = request.getMethod();
+    public void doPut( HttpServletRequest request, HttpServletResponse 
response )
+        throws ServletException
+    {
+        log( "Putting file" );
+        File uploadedFile = getFile( request );
+        if ( uploadedFile.exists() )
+        {
+            uploadedFile.delete();
+            log( "Removed old file" );
+        }
+        else if ( !uploadedFile.getParentFile().exists() )
+        {
+            uploadedFile.getParentFile().mkdirs();
+            log( "Created directory " + uploadedFile.getParent() );
+        }
 
-        if ( "GET".equalsIgnoreCase( method ) )
+        try
         {
-            log( "Getting file" );
-            try
-            {
-                File requestedFile = new File( filePath );
-
-                InputStream is = new FileInputStream( requestedFile );
-
-                IO.copy( is, response.getOutputStream() );
-                response.setStatus( HttpServletResponse.SC_OK );
-                log( "File sent" );
-            }
-            catch ( FileNotFoundException fileNotFoundException )
-            {
-                response.setStatus( HttpServletResponse.SC_NOT_FOUND );
-                log( "Requested file not found " );
-            }
-            catch ( IOException iOException )
-            {
-                response.setStatus( 
HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-                log( "Cannot send file", iOException );
-            }
-        }
-        else if ( "PUT".equalsIgnoreCase( method ) )
-        {
-            log( "Putting file" );
-            File uploadedFile = new File( filePath );
-            if ( uploadedFile.exists() )
-            {
-                uploadedFile.delete();
-                log( "Removed old file" );
-            }
-            else if ( !uploadedFile.getParentFile().exists() )
-            {
-                uploadedFile.getParentFile().mkdirs();
-                log( "Created directory " + uploadedFile.getParent() );
-            }
-
-            try
-            {
-                FileWriter fw = new FileWriter( uploadedFile );
-                IO.copy( request.getReader(), fw );
-                response.setStatus( HttpServletResponse.SC_OK );
-                log( "File copied" );
-            }
-            catch ( IOException iOException )
-            {
-
-                response.setStatus( 
HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-                log( "Cannot send file", iOException );
-            }
+            FileWriter fw = new FileWriter( uploadedFile );
+            IO.copy( request.getReader(), fw );
+            response.setStatus( HttpServletResponse.SC_OK );
+            log( "File copied" );
         }
-        else
+        catch ( IOException iOException )
         {
             response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-            try
-            {
-                log( "Method " + request.getMethod() );
-                log( "ContextPath " + request.getContextPath() );
-                log( "QueryString" + request.getQueryString() );
-                log( "PathInfo " + request.getPathInfo() );
-                log( "ServletPath " + request.getServletPath() );
-                log( "AttributeNames " + 
request.getAttributeNames().toString() );
-                log( "HeaderNames " + request.getHeaderNames().toString() );
-                log( "RequestURL " + request.getRequestURL().toString() );
-                log( "ParameterNames " + 
request.getParameterNames().toString() );
-                StringWriter w = new StringWriter();
-                IO.copy( request.getReader(), w );
-                log( "Content " + w.toString() );
-
-                // System.err.println( "Method " + request.getMethod( ) );
-                // System.err.println( "ContextPath " + 
request.getContextPath( ) );
-                // System.err.println( "QueryString" + request.getQueryString( 
) );
-                // System.err.println( "PathInfo " + request.getPathInfo( ) );
-                // System.err.println( "ServletPath " + 
request.getServletPath( ) );
-                // System.err.println( "AttributeNames " + 
request.getAttributeNames( ).toString( ) );
-                // System.err.println( "HeaderNames " + 
request.getHeaderNames( ).toString( ) );
-                // System.err.println( "RequestURL " + request.getRequestURL( 
).toString( ) );
-                // System.err.println( "ParameterNames " + 
request.getParameterNames( ).toString( ) );
-                // System.err.println( "Content " + w.toString( ) );
-            }
-            catch ( IOException iOException )
-            {
-                log( "Error in unnknown method", iOException );
-            }
+            log( "Cannot send file", iOException );
         }
     }
 }
\ No newline at end of file


Reply via email to