diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2008-08-27 14:24:14 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2008-08-27 14:24:14 +0000 |
commit | bfa022e51868d981c7219eb7e67b65d94b7c8623 (patch) | |
tree | d8893b137f0ad1e4c22b1c5332be458f41d89eea /java/sca/modules/binding-atom-abdera | |
parent | 2c189e0a7d056a9d76b2244f5dcc1a2804b7d9aa (diff) |
TUSCANY-2516: Apply pacth from Dan Becker for HTTP binding should support etag and if-modified headers
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@689492 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/binding-atom-abdera')
-rw-r--r-- | java/sca/modules/binding-atom-abdera/pom.xml | 6 | ||||
-rw-r--r-- | java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java | 39 |
2 files changed, 8 insertions, 37 deletions
diff --git a/java/sca/modules/binding-atom-abdera/pom.xml b/java/sca/modules/binding-atom-abdera/pom.xml index cfd2e60849..f10497c9c5 100644 --- a/java/sca/modules/binding-atom-abdera/pom.xml +++ b/java/sca/modules/binding-atom-abdera/pom.xml @@ -73,6 +73,12 @@ </dependency> <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-http</artifactId> + <version>1.4-SNAPSHOT</version> + </dependency> + + <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.0.1</version> diff --git a/java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java b/java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java index bcd0d6a9bf..d31247d3ae 100644 --- a/java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java +++ b/java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java @@ -53,7 +53,7 @@ import org.apache.abdera.parser.Parser; import org.apache.abdera.writer.WriterFactory; import org.apache.commons.codec.binary.Base64; -import org.apache.tuscany.sca.binding.atom.CacheContext; +import org.apache.tuscany.sca.binding.http.CacheContext; import org.apache.tuscany.sca.data.collection.Entry; import org.apache.tuscany.sca.databinding.Mediator; import org.apache.tuscany.sca.interfacedef.DataType; @@ -163,7 +163,7 @@ class AtomBindingListenerServlet extends HttpServlet { // Test for any cache info in the request CacheContext cacheContext = null; try { - cacheContext = getCacheContextFromRequest( request ); + cacheContext = CacheContext.getCacheContextFromRequest( request ); } catch ( java.text.ParseException e ) { } // System.out.println( "AtomBindingListener.doGet cache context=" + cacheContext ); @@ -843,39 +843,4 @@ class AtomBindingListenerServlet extends HttpServlet { return "application/atom+xml"; } - /** - * Gets the cache context information (ETag, LastModified, predicates) from the Http request. - * @param request - * @return - */ - public CacheContext getCacheContextFromRequest( HttpServletRequest request ) throws java.text.ParseException { - CacheContext context = new CacheContext(); - List<String> predicates = new ArrayList<String>(); - - String eTag = request.getHeader( "If-Match" ); - if ( eTag != null ) { - context.setETag( eTag ); - predicates.add( "If-Match" ); - } - eTag = request.getHeader( "If-None-Match" ); - if ( eTag != null ) { - context.setETag( eTag ); - predicates.add( "If-None-Match" ); - } - String lastModifiedString = request.getHeader( "If-Modified-Since" ); - if ( lastModifiedString != null ) { - context.setLastModified( lastModifiedString ); - predicates.add( "If-Modified-Since" ); - } - lastModifiedString = request.getHeader( "If-Unmodified-Since" ); - if ( lastModifiedString != null ) { - context.setLastModified( lastModifiedString ); - predicates.add( "If-Unmodified-Since" ); - } - if ( predicates.size() > 0 ) { - context.setPredicates( predicates.toArray( new String[ 0 ] ) ); - } - return context; - } - } |