-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13000/
-----------------------------------------------------------

Review request for oodt, Chris Mattmann and Rishi Verma.


Bugs: OODT-651
    https://issues.apache.org/jira/browse/OODT-651


Repository: oodt


Description
-------

Summary
-------

The aim of this patch is to make some improvements to the JAX-RS service in the 
CAS-Product web application.  I've moved some initialization of various 
parameters from the resource classes into a servlet class, so that it doesn't 
happen every time a call is made to the RESTful service.  I've also added some 
extra logging, along with an example (Tomcat) logging.properties file.  I've 
tidied up some of the code, e.g. reducing some duplication.  I've updated the 
comments and improved the Javadocs.


Details
-------

- I moved all of the context parameter definitions from web.xml to context.xml 
so that they're all in one place and possibly easier to keep track of.

- I created a new class CasProductJaxrsServlet that extends 
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.  This new class is now 
our entry point to the JAX-RS service (configured in the web.xml file).

- The new servlet class is used to initialize and validate certain parameters, 
such as the file manager's working directory and file manager client, based on 
context parameters (now all defined in context.xml).  Previously these were 
initialized in the resource classes each time an HTTP request was made.  After 
they have been initialized and validated, the working directory and file 
manager client instance are stored as servlet context attributes, using 
context.setAttribute(String name, Object value).

- I abstracted some of the duplicated code in each resource class into a new 
abstract class called 'Resource'.  This class is used to inject the servlet 
context and retrieve some of the initialized fields (i.e. the file manager 
working directory and client) using context.getAttribute(String name).

- I added some extra logging in the resource and responder classes.  I also 
added an example logging.properties file for a basic default setup when the web 
application is deployed.

- I corrected and updated some of the comments and Javadocs.


Diffs
-----

  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/resources/DatasetResource.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/resources/ProductResource.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/resources/ReferenceResource.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/resources/Resource.java
 PRE-CREATION 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/resources/TransferResource.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/responders/FileResponder.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/responders/ZipResponder.java
 1513410 
  
trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/service/servlets/CasProductJaxrsServlet.java
 PRE-CREATION 
  trunk/webapp/fmprod/src/main/resources/logging.properties PRE-CREATION 
  trunk/webapp/fmprod/src/main/webapp/META-INF/context.xml 1513410 
  trunk/webapp/fmprod/src/main/webapp/WEB-INF/web.xml 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/resources/DatasetResourceTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/resources/ProductResourceTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/resources/ReferenceResourceTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/resources/ResourceTestBase.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/responders/FileResponderTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/responders/NullResponderTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/responders/ResponderFactoryTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/responders/UnrecognizedFormatResponderTest.java
 1513410 
  
trunk/webapp/fmprod/src/test/java/org/apache/oodt/cas/product/service/responders/ZipResponderTest.java
 1513410 
  trunk/webapp/fmprod/src/test/resources/filemgr/policy/core/product-types.xml 
1513410 
  trunk/webapp/fmprod/src/test/resources/test.logging.properties 1513410 

Diff: https://reviews.apache.org/r/13000/diff/


Testing
-------

I updated several of the JUnit tests for the resources and responders to take 
account of the code changes.  All unit tests pass on my local machine (Mac OSX 
10.8).


Thanks,

Ross Laidlaw

Reply via email to