summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-atom-abdera
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2008-08-27 14:24:14 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2008-08-27 14:24:14 +0000
commitbfa022e51868d981c7219eb7e67b65d94b7c8623 (patch)
treed8893b137f0ad1e4c22b1c5332be458f41d89eea /java/sca/modules/binding-atom-abdera
parent2c189e0a7d056a9d76b2244f5dcc1a2804b7d9aa (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.xml6
-rw-r--r--java/sca/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java39
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;
- }
-
}