You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ro...@apache.org on 2006/12/23 04:06:20 UTC
svn commit: r489843 - in /labs/speedyfeed/servlet/trunk/src:
main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java
main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java
test/java/org/apache/speedyfeed/test/BasicTest.java
Author: rooneg
Date: Fri Dec 22 19:06:19 2006
New Revision: 489843
URL: http://svn.apache.org/viewvc?view=rev&rev=489843
Log:
Add an actual test of the filtering functionality, and make it actually work.
* src/test/java/org/apache/speedyfeed/test/BasicTest.java
(BasicServlet.doGet): Remember to close the stream.
(testBasics): Actually make a request with an If-Modified-Since header,
and confirm that the entry is really dropped.
* src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java
(checkContentType, close): Get a stream from the underlying wrapped
response, to avoid recursion.
* src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java
(getWrapped): New method.
Modified:
labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java
labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java
labs/speedyfeed/servlet/trunk/src/test/java/org/apache/speedyfeed/test/BasicTest.java
Modified: labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java
URL: http://svn.apache.org/viewvc/labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java?view=diff&rev=489843&r1=489842&r2=489843
==============================================================================
--- labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java (original)
+++ labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseStream.java Fri Dec 22 19:06:19 2006
@@ -58,7 +58,7 @@
isAtomContent = response.isAtomContent();
if (! isAtomContent) {
- outputStream = response.createOutputStream();
+ outputStream = response.getWrapped().getOutputStream();
} else {
outputStream = new ByteArrayOutputStream();
}
@@ -115,7 +115,7 @@
// At this point we're done with buffered data, so just create the
// final output stream so we can write either our modified version
// or the original to it.
- outputStream = response.createOutputStream();
+ outputStream = response.getWrapped().getOutputStream();
try {
Document<Feed> doc = p.parse(is); // XXX calculate and pass base href
Modified: labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java
URL: http://svn.apache.org/viewvc/labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java?view=diff&rev=489843&r1=489842&r2=489843
==============================================================================
--- labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java (original)
+++ labs/speedyfeed/servlet/trunk/src/main/java/org/apache/speedyfeed/SpeedyfeedResponseWrapper.java Fri Dec 22 19:06:19 2006
@@ -47,6 +47,8 @@
wrapped.setContentType(contentType);
}
+ HttpServletResponse getWrapped() { return wrapped; }
+
boolean isAtomContent()
{
return "application/atom+xml".equals(contentType);
@@ -57,7 +59,7 @@
return AtomDate.parse(ifModifiedSince);
}
- public ServletOutputStream createOutputStream()
+ public ServletOutputStream getOutputStream()
throws IOException
{
return new SpeedyfeedResponseStream(this);
Modified: labs/speedyfeed/servlet/trunk/src/test/java/org/apache/speedyfeed/test/BasicTest.java
URL: http://svn.apache.org/viewvc/labs/speedyfeed/servlet/trunk/src/test/java/org/apache/speedyfeed/test/BasicTest.java?view=diff&rev=489843&r1=489842&r2=489843
==============================================================================
--- labs/speedyfeed/servlet/trunk/src/test/java/org/apache/speedyfeed/test/BasicTest.java (original)
+++ labs/speedyfeed/servlet/trunk/src/test/java/org/apache/speedyfeed/test/BasicTest.java Fri Dec 22 19:06:19 2006
@@ -34,6 +34,8 @@
import org.apache.abdera.Abdera;
import org.apache.abdera.model.Feed;
import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Document;
+import org.apache.abdera.parser.Parser;
import org.apache.speedyfeed.SpeedyfeedFilter;
@@ -57,8 +59,12 @@
byte buffer[] = new byte[1024];
int len;
- while ((len = in.read(buffer)) != -1) {
- out.write(buffer, 0, len);
+ try {
+ while ((len = in.read(buffer)) != -1) {
+ out.write(buffer, 0, len);
+ }
+ } finally {
+ out.close();
}
}
}
@@ -67,12 +73,26 @@
{
HttpClient client = new HttpClient();
- HttpMethod method = new GetMethod("http://localhost:8080/basic");
+ HttpMethod method = new GetMethod(getBase() + "/basic");
method.setRequestHeader("Connection", "close");
try {
client.executeMethod(method);
+
+ Parser parser = Abdera.getNewParser();
+
+ Document<Feed> feed = parser.parse(method.getResponseBodyAsStream());
+
+ assertEquals(1, feed.getRoot().getEntries().size());
+
+ method.setRequestHeader("If-Modified-Since", "2003-12-14T18:30:02Z");
+
+ client.executeMethod(method);
+
+ feed = parser.parse(method.getResponseBodyAsStream());
+
+ assertEquals(0, feed.getRoot().getEntries().size());
} finally {
method.releaseConnection();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org