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