true if the request should be handled.
+ * @return {@code true} if the request should be handled.
*/
private boolean beginRequest() {
synchronized (runningThreadsLock) {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/TimingFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/TimingFilter.java
index 30277ae3..23a79a5e 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/TimingFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/TimingFilter.java
@@ -40,7 +40,7 @@ import java.io.IOException;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/TimingFilter.java#1 $
+ * @version $Id: TimingFilter.java#1 $
*/
public class TimingFilter extends GenericFilter {
@@ -102,8 +102,7 @@ public class TimingFilter extends GenericFilter {
}
long delta = end - start;
- log("Request processing time for resource \"" + resourceURI + "\": " +
- (delta - usage) + " ms (accumulated: " + delta + " ms).");
+ log(String.format("Request processing time for resource \"%s\": %d ms (accumulated: %d ms).", resourceURI, (delta - usage), delta));
// Store total usage
total += delta;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/TrimWhiteSpaceFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/TrimWhiteSpaceFilter.java
index fcc82cfd..9005136e 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/TrimWhiteSpaceFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/TrimWhiteSpaceFilter.java
@@ -109,7 +109,7 @@ import java.io.FilterOutputStream;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/TrimWhiteSpaceFilter.java#2 $
+ * @version $Id: TrimWhiteSpaceFilter.java#2 $
*/
public class TrimWhiteSpaceFilter extends GenericFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheRequest.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheRequest.java
index 0ed17896..523c2f2d 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheRequest.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheRequest.java
@@ -9,7 +9,7 @@ import java.net.URI;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheRequest.java#1 $
+ * @version $Id: AbstractCacheRequest.java#1 $
*/
public abstract class AbstractCacheRequest implements CacheRequest {
private final URI requestURI;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheResponse.java
index f09c9ce6..98d10356 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheResponse.java
@@ -7,7 +7,7 @@ import java.util.*;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/AbstractCacheResponse.java#1 $
+ * @version $Id: AbstractCacheResponse.java#1 $
*/
public abstract class AbstractCacheResponse implements CacheResponse {
private int status;
@@ -32,10 +32,12 @@ public abstract class AbstractCacheResponse implements CacheResponse {
private void setHeader(String pHeaderName, String pHeaderValue, boolean pAdd) {
List values = pAdd ? headers.get(pHeaderName) : null;
+
if (values == null) {
values = new ArrayList();
headers.put(pHeaderName, values);
}
+
values.add(pHeaderValue);
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheException.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheException.java
index fb9be851..bc7ca17c 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheException.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheException.java
@@ -5,7 +5,7 @@ package com.twelvemonkeys.servlet.cache;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheException.java#1 $
+ * @version $Id: CacheException.java#1 $
*/
public class CacheException extends Exception {
public CacheException(Throwable pCause) {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheFilter.java
index 573d48a1..1996060f 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheFilter.java
@@ -52,7 +52,7 @@ import java.util.logging.Logger;
* @author Jayson Falkner
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheFilter.java#4 $
+ * @version $Id: CacheFilter.java#4 $
*
*/
public class CacheFilter extends GenericFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheRequest.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheRequest.java
index 93ddde33..486dca11 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheRequest.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheRequest.java
@@ -9,7 +9,7 @@ import java.util.Map;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheRequest.java#1 $
+ * @version $Id: CacheRequest.java#1 $
*/
public interface CacheRequest {
URI getRequestURI();
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponse.java
index 94328669..2e94b4c8 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponse.java
@@ -10,7 +10,7 @@ import java.util.Map;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponse.java#1 $
+ * @version $Id: CacheResponse.java#1 $
*/
public interface CacheResponse {
OutputStream getOutputStream() throws IOException;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponseWrapper.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponseWrapper.java
index f94d9ac2..ee567d8e 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponseWrapper.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponseWrapper.java
@@ -49,7 +49,7 @@ import java.io.PrintWriter;
* @author Jayson Falkner
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CacheResponseWrapper.java#3 $
+ * @version $Id: CacheResponseWrapper.java#3 $
*/
class CacheResponseWrapper extends HttpServletResponseWrapper {
private ServletResponseStreamDelegate streamDelegate;
@@ -58,7 +58,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
private CachedEntity cached;
private WritableCachedResponse cachedResponse;
- private Boolean cachable;
+ private Boolean cacheable;
private int status;
public CacheResponseWrapper(final ServletCacheResponse pResponse, final CachedEntity pCached) {
@@ -75,14 +75,14 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
methods below.
*/
private void init() {
- cachable = null;
+ cacheable = null;
status = SC_OK;
cachedResponse = cached.createCachedResponse();
streamDelegate = new ServletResponseStreamDelegate(this) {
protected OutputStream createOutputStream() throws IOException {
// Test if this request is really cacheable, otherwise,
// just write through to underlying response, and don't cache
- if (isCachable()) {
+ if (isCacheable()) {
return cachedResponse.getOutputStream();
}
else {
@@ -98,16 +98,16 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
return cachedResponse.getCachedResponse();
}
- public boolean isCachable() {
+ public boolean isCacheable() {
// NOTE: Intentionally not synchronized
- if (cachable == null) {
- cachable = isCachableImpl();
+ if (cacheable == null) {
+ cacheable = isCacheableImpl();
}
- return cachable;
+ return cacheable;
}
- private boolean isCachableImpl() {
+ private boolean isCacheableImpl() {
if (status != SC_OK) {
return false;
}
@@ -157,10 +157,10 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
}
public void reset() {
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.reset();
}
- // No else, might be cachable after all..
+ // No else, might be cacheable after all..
init();
}
@@ -177,13 +177,13 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
}
public void sendError(int pStatusCode, String msg) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = pStatusCode;
super.sendError(pStatusCode, msg);
}
public void sendError(int pStatusCode) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = pStatusCode;
super.sendError(pStatusCode);
}
@@ -194,7 +194,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
}
public void setStatus(int pStatusCode) {
- // NOT cachable unless pStatusCode == 200 (or a FEW others?)
+ // NOT cacheable unless pStatusCode == 200 (or a FEW others?)
if (pStatusCode != SC_OK) {
status = pStatusCode;
super.setStatus(pStatusCode);
@@ -202,14 +202,14 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
}
public void sendRedirect(String pLocation) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = SC_MOVED_TEMPORARILY;
super.sendRedirect(pLocation);
}
public void setDateHeader(String pName, long pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setDateHeader(pName, pValue);
}
cachedResponse.setHeader(pName, NetUtil.formatHTTPDate(pValue));
@@ -217,7 +217,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
public void addDateHeader(String pName, long pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addDateHeader(pName, pValue);
}
cachedResponse.addHeader(pName, NetUtil.formatHTTPDate(pValue));
@@ -225,7 +225,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
public void setHeader(String pName, String pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setHeader(pName, pValue);
}
cachedResponse.setHeader(pName, pValue);
@@ -233,7 +233,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
public void addHeader(String pName, String pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addHeader(pName, pValue);
}
cachedResponse.addHeader(pName, pValue);
@@ -241,7 +241,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
public void setIntHeader(String pName, int pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setIntHeader(pName, pValue);
}
cachedResponse.setHeader(pName, String.valueOf(pValue));
@@ -249,7 +249,7 @@ class CacheResponseWrapper extends HttpServletResponseWrapper {
public void addIntHeader(String pName, int pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addIntHeader(pName, pValue);
}
cachedResponse.addHeader(pName, String.valueOf(pValue));
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntity.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntity.java
index 7e29bdc2..e82e5d82 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntity.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntity.java
@@ -34,7 +34,7 @@ import java.io.IOException;
* CachedEntity
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntity.java#3 $
+ * @version $Id: CachedEntity.java#3 $
*/
interface CachedEntity {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntityImpl.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntityImpl.java
index 6626a8ac..f612bca5 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntityImpl.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntityImpl.java
@@ -38,7 +38,7 @@ import java.util.List;
* CachedEntity
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedEntityImpl.java#3 $
+ * @version $Id: CachedEntityImpl.java#3 $
*/
class CachedEntityImpl implements CachedEntity {
private String cacheURI;
@@ -131,7 +131,7 @@ class CachedEntityImpl implements CachedEntity {
//
// CacheResponseWrapper response = (CacheResponseWrapper) pResponse;
-// if (response.isCachable()) {
+// if (response.isCacheable()) {
cache.registerContent(
cacheURI,
pRequest,
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponse.java
index 14ba1626..4696f284 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponse.java
@@ -35,7 +35,7 @@ import java.io.OutputStream;
* CachedResponse
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponse.java#3 $
+ * @version $Id: CachedResponse.java#3 $
*/
interface CachedResponse {
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponseImpl.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponseImpl.java
index eb955d01..4fd870aa 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponseImpl.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponseImpl.java
@@ -30,7 +30,6 @@ package com.twelvemonkeys.servlet.cache;
import com.twelvemonkeys.io.FastByteArrayOutputStream;
import com.twelvemonkeys.lang.Validate;
-import com.twelvemonkeys.util.LinkedMap;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -41,7 +40,7 @@ import java.util.*;
* CachedResponseImpl
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/CachedResponseImpl.java#4 $
+ * @version $Id: CachedResponseImpl.java#4 $
*/
class CachedResponseImpl implements CachedResponse {
final protected Map> headers;
@@ -54,7 +53,7 @@ class CachedResponseImpl implements CachedResponse {
}
// For use by HTTPCache, when recreating CachedResponses from disk cache
- CachedResponseImpl(final int pStatus, final LinkedMap> pHeaders, final int pHeaderSize, final byte[] pContent) {
+ CachedResponseImpl(final int pStatus, final LinkedHashMap> pHeaders, final int pHeaderSize, final byte[] pContent) {
status = pStatus;
headers = Validate.notNull(pHeaders, "headers");
headersSize = pHeaderSize;
@@ -85,6 +84,7 @@ class CachedResponseImpl implements CachedResponse {
for (int i = 0; i < headerValues.length; i++) {
String headerValue = headerValues[i];
+
if (i == 0) {
pResponse.setHeader(header, headerValue);
}
@@ -116,6 +116,7 @@ class CachedResponseImpl implements CachedResponse {
*/
public String[] getHeaderNames() {
Set headers = this.headers.keySet();
+
return headers.toArray(new String[headers.size()]);
}
@@ -130,12 +131,7 @@ class CachedResponseImpl implements CachedResponse {
public String[] getHeaderValues(final String pHeaderName) {
List values = headers.get(pHeaderName);
- if (values == null) {
- return null;
- }
- else {
- return values.toArray(new String[values.size()]);
- }
+ return values == null ? null : values.toArray(new String[values.size()]);
}
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheRequest.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheRequest.java
index 2d0f4816..80b02f00 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheRequest.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheRequest.java
@@ -10,7 +10,7 @@ import java.util.Map;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheRequest.java#1 $
+ * @version $Id: ClientCacheRequest.java#1 $
*/
public final class ClientCacheRequest extends AbstractCacheRequest {
private Map> parameters;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheResponse.java
index 36e71345..795e3180 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheResponse.java
@@ -9,7 +9,7 @@ import java.io.OutputStream;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ClientCacheResponse.java#2 $
+ * @version $Id: ClientCacheResponse.java#2 $
*/
public final class ClientCacheResponse extends AbstractCacheResponse {
// It's quite useless to cache the data either on disk or in memory, as it already is cached in the client's cache...
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/HTTPCache.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/HTTPCache.java
index 402a2664..16ac0894 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/HTTPCache.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/HTTPCache.java
@@ -34,10 +34,10 @@ import com.twelvemonkeys.lang.Validate;
import com.twelvemonkeys.net.MIMEUtil;
import com.twelvemonkeys.net.NetUtil;
import com.twelvemonkeys.util.LRUHashMap;
-import com.twelvemonkeys.util.LinkedMap;
import com.twelvemonkeys.util.NullMap;
import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
import java.util.logging.Level;
@@ -48,7 +48,7 @@ import java.util.logging.Logger;
*
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/HTTPCache.java#4 $
+ * @version $Id: HTTPCache.java#4 $
* @todo OMPTIMIZE: Cache parsed vary-info objects, not the properties-files
* @todo BUG: Better filename handling, as some filenames become too long..
* - Use a mix of parameters and hashcode + lenght with fixed (max) lenght?
@@ -149,8 +149,6 @@ public class HTTPCache {
*/
protected static final String FILE_EXT_VARY = ".vary";
- protected static final int STATUS_OK = 200;
-
/**
* The directory used for the disk-based cache
*/
@@ -446,7 +444,7 @@ public class HTTPCache {
}
private boolean isCachable(final CacheResponse pResponse) {
- if (pResponse.getStatus() != STATUS_OK) {
+ if (pResponse.getStatus() != HttpServletResponse.SC_OK) {
return false;
}
@@ -898,7 +896,7 @@ public class HTTPCache {
int headerSize = (int) headers.length();
BufferedReader reader = new BufferedReader(new FileReader(headers));
- LinkedMap> headerMap = new LinkedMap>();
+ LinkedHashMap> headerMap = new LinkedHashMap>();
String line;
while ((line = reader.readLine()) != null) {
int colIdx = line.indexOf(':');
@@ -916,7 +914,7 @@ public class HTTPCache {
headerMap.put(name, Arrays.asList(StringUtil.toStringArray(value, "\\")));
}
- response = new CachedResponseImpl(STATUS_OK, headerMap, headerSize, contents);
+ response = new CachedResponseImpl(HttpServletResponse.SC_OK, headerMap, headerSize, contents);
contentCache.put(pCacheURI + '.' + FileUtil.getExtension(content), response);
}
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ResponseResolver.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ResponseResolver.java
index a92a6801..6e513928 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ResponseResolver.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ResponseResolver.java
@@ -7,7 +7,7 @@ import java.io.IOException;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ResponseResolver.java#2 $
+ * @version $Id: ResponseResolver.java#2 $
*/
public interface ResponseResolver {
void resolve(CacheRequest pRequest, CacheResponse pResponse) throws IOException, CacheException;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/SerlvetCacheResponseWrapper.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/SerlvetCacheResponseWrapper.java
index 5bc5c2bb..e88123f4 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/SerlvetCacheResponseWrapper.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/SerlvetCacheResponseWrapper.java
@@ -52,14 +52,14 @@ import java.util.Map;
* @author Jayson Falkner
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/SerlvetCacheResponseWrapper.java#2 $
+ * @version $Id: SerlvetCacheResponseWrapper.java#2 $
*/
class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
private ServletResponseStreamDelegate streamDelegate;
private CacheResponse cacheResponse;
- private Boolean cachable;
+ private Boolean cacheable;
private int status;
public SerlvetCacheResponseWrapper(final HttpServletResponse pServletResponse, final CacheResponse pResponse) {
@@ -70,19 +70,19 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
/*
- NOTE: This class defers determining if a response is cachable until the
+ NOTE: This class defers determining if a response is cacheable until the
output stream is needed.
This it the reason for the somewhat complicated logic in the add/setHeader
methods below.
*/
private void init() {
- cachable = null;
+ cacheable = null;
status = SC_OK;
streamDelegate = new ServletResponseStreamDelegate(this) {
protected OutputStream createOutputStream() throws IOException {
- // Test if this request is really cachable, otherwise,
+ // Test if this request is really cacheable, otherwise,
// just write through to underlying response, and don't cache
- if (isCachable()) {
+ if (isCacheable()) {
return cacheResponse.getOutputStream();
}
else {
@@ -109,16 +109,16 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
}
}
- public boolean isCachable() {
+ public boolean isCacheable() {
// NOTE: Intentionally not synchronized
- if (cachable == null) {
- cachable = isCachableImpl();
+ if (cacheable == null) {
+ cacheable = isCacheableImpl();
}
- return cachable;
+ return cacheable;
}
- private boolean isCachableImpl() {
+ private boolean isCacheableImpl() {
// TODO: This code is duped in the cache...
if (status != SC_OK) {
return false;
@@ -169,10 +169,10 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
}
public void reset() {
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.reset();
}
- // No else, might be cachable after all..
+ // No else, might be cacheable after all..
init();
}
@@ -189,13 +189,13 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
}
public void sendError(int pStatusCode, String msg) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = pStatusCode;
super.sendError(pStatusCode, msg);
}
public void sendError(int pStatusCode) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = pStatusCode;
super.sendError(pStatusCode);
}
@@ -206,7 +206,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
}
public void setStatus(int pStatusCode) {
- // NOT cachable unless pStatusCode == 200 (or a FEW others?)
+ // NOT cacheable unless pStatusCode == 200 (or a FEW others?)
if (pStatusCode != SC_OK) {
status = pStatusCode;
super.setStatus(pStatusCode);
@@ -214,14 +214,14 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
}
public void sendRedirect(String pLocation) throws IOException {
- // NOT cachable
+ // NOT cacheable
status = SC_MOVED_TEMPORARILY;
super.sendRedirect(pLocation);
}
public void setDateHeader(String pName, long pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setDateHeader(pName, pValue);
}
cacheResponse.setHeader(pName, NetUtil.formatHTTPDate(pValue));
@@ -229,7 +229,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
public void addDateHeader(String pName, long pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addDateHeader(pName, pValue);
}
cacheResponse.addHeader(pName, NetUtil.formatHTTPDate(pValue));
@@ -237,7 +237,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
public void setHeader(String pName, String pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setHeader(pName, pValue);
}
cacheResponse.setHeader(pName, pValue);
@@ -245,7 +245,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
public void addHeader(String pName, String pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addHeader(pName, pValue);
}
cacheResponse.addHeader(pName, pValue);
@@ -253,7 +253,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
public void setIntHeader(String pName, int pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.setIntHeader(pName, pValue);
}
cacheResponse.setHeader(pName, String.valueOf(pValue));
@@ -261,7 +261,7 @@ class SerlvetCacheResponseWrapper extends HttpServletResponseWrapper {
public void addIntHeader(String pName, int pValue) {
// If in write-trough-mode, set headers directly
- if (Boolean.FALSE.equals(cachable)) {
+ if (Boolean.FALSE.equals(cacheable)) {
super.addIntHeader(pName, pValue);
}
cacheResponse.addHeader(pName, String.valueOf(pValue));
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheRequest.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheRequest.java
index d3b5b66d..1f88a02f 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheRequest.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheRequest.java
@@ -12,7 +12,7 @@ import java.util.Map;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheRequest.java#1 $
+ * @version $Id: ServletCacheRequest.java#1 $
*/
public final class ServletCacheRequest extends AbstractCacheRequest {
private final HttpServletRequest request;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheResponse.java
index 7ffebc95..855f6655 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheResponse.java
@@ -9,38 +9,38 @@ import java.io.OutputStream;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletCacheResponse.java#2 $
+ * @version $Id: ServletCacheResponse.java#2 $
*/
public final class ServletCacheResponse extends AbstractCacheResponse {
- private HttpServletResponse mResponse;
+ private HttpServletResponse response;
public ServletCacheResponse(HttpServletResponse pResponse) {
- mResponse = pResponse;
+ response = pResponse;
}
public OutputStream getOutputStream() throws IOException {
- return mResponse.getOutputStream();
+ return response.getOutputStream();
}
@Override
public void setStatus(int pStatusCode) {
- mResponse.setStatus(pStatusCode);
+ response.setStatus(pStatusCode);
super.setStatus(pStatusCode);
}
@Override
public void addHeader(String pHeaderName, String pHeaderValue) {
- mResponse.addHeader(pHeaderName, pHeaderValue);
+ response.addHeader(pHeaderName, pHeaderValue);
super.addHeader(pHeaderName, pHeaderValue);
}
@Override
public void setHeader(String pHeaderName, String pHeaderValue) {
- mResponse.setHeader(pHeaderName, pHeaderValue);
+ response.setHeader(pHeaderName, pHeaderValue);
super.setHeader(pHeaderName, pHeaderValue);
}
HttpServletResponse getResponse() {
- return mResponse;
+ return response;
}
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletResponseResolver.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletResponseResolver.java
index 352a9b06..314dd69a 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletResponseResolver.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletResponseResolver.java
@@ -10,7 +10,7 @@ import java.io.IOException;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/ServletResponseResolver.java#2 $
+ * @version $Id: ServletResponseResolver.java#2 $
*/
final class ServletResponseResolver implements ResponseResolver {
final private ServletCacheRequest request;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponse.java
index c6ce7e6a..ded04f68 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponse.java
@@ -34,7 +34,7 @@ import java.io.OutputStream;
* WritableCachedResponse
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponse.java#2 $
+ * @version $Id: WritableCachedResponse.java#2 $
*/
public interface WritableCachedResponse extends CachedResponse, CacheResponse {
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponseImpl.java b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponseImpl.java
index 8c9299d1..fd39747c 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponseImpl.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponseImpl.java
@@ -42,7 +42,7 @@ import java.util.Map;
* WritableCachedResponseImpl
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/cache/WritableCachedResponseImpl.java#3 $
+ * @version $Id: WritableCachedResponseImpl.java#3 $
*/
class WritableCachedResponseImpl implements WritableCachedResponse {
private final CachedResponseImpl cachedResponse;
@@ -81,10 +81,7 @@ class WritableCachedResponseImpl implements WritableCachedResponse {
private void setHeader(String pName, String pValue, boolean pAdd) {
// System.out.println(" ++ CachedResponse ++ " + (pAdd ? "addHeader(" : "setHeader(") + pName + ", " + pValue + ")");
// If adding, get list and append, otherwise replace list
- List values = null;
- if (pAdd) {
- values = cachedResponse.headers.get(pName);
- }
+ List values = pAdd ? cachedResponse.headers.get(pName) : null;
if (values == null) {
values = new ArrayList();
@@ -96,6 +93,7 @@ class WritableCachedResponseImpl implements WritableCachedResponse {
else {
// Remove length of potential replaced old values + pName
String[] oldValues = getHeaderValues(pName);
+
if (oldValues != null) {
for (String oldValue : oldValues) {
cachedResponse.headersSize -= oldValue.length();
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileSizeExceededException.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileSizeExceededException.java
index c55090cc..ca5642ab 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileSizeExceededException.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileSizeExceededException.java
@@ -33,7 +33,7 @@ package com.twelvemonkeys.servlet.fileupload;
*
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileSizeExceededException.java#1 $
+ * @version $Id: FileSizeExceededException.java#1 $
*/
public class FileSizeExceededException extends FileUploadException {
public FileSizeExceededException(Throwable pCause) {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadException.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadException.java
index fd8175e8..57dc89e3 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadException.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadException.java
@@ -35,7 +35,7 @@ import javax.servlet.ServletException;
*
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadException.java#1 $
+ * @version $Id: FileUploadException.java#1 $
*/
public class FileUploadException extends ServletException {
public FileUploadException(String pMessage) {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadFilter.java
index 316e3862..a891ac63 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadFilter.java
@@ -51,7 +51,7 @@ import java.net.MalformedURLException;
* @see HttpFileUploadRequest
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/FileUploadFilter.java#1 $
+ * @version $Id: FileUploadFilter.java#1 $
*/
public class FileUploadFilter extends GenericFilter {
private File uploadDir;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequest.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequest.java
index 92a3e990..32d58cbd 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequest.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequest.java
@@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletRequest;
* Form-based File Upload in HTML (RFC1867).
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequest.java#1 $
+ * @version $Id: HttpFileUploadRequest.java#1 $
*/
public interface HttpFileUploadRequest extends HttpServletRequest {
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequestWrapper.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequestWrapper.java
index c3ed82b4..60080507 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequestWrapper.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequestWrapper.java
@@ -43,7 +43,7 @@ import java.util.*;
* Jakarta Commons FileUpload.
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/HttpFileUploadRequestWrapper.java#1 $
+ * @version $Id: HttpFileUploadRequestWrapper.java#1 $
*/
class HttpFileUploadRequestWrapper extends HttpServletRequestWrapper implements HttpFileUploadRequest {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFile.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFile.java
index f4c1e6df..508f12f2 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFile.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFile.java
@@ -36,7 +36,7 @@ import java.io.IOException;
* This class represents an uploaded file.
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFile.java#1 $
+ * @version $Id: UploadedFile.java#1 $
*/
public interface UploadedFile {
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFileImpl.java b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFileImpl.java
index 194c90a2..e2d66267 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFileImpl.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFileImpl.java
@@ -40,7 +40,7 @@ import java.io.File;
* Jakarta Commons FileUpload.
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/fileupload/UploadedFileImpl.java#1 $
+ * @version $Id: UploadedFileImpl.java#1 $
*/
class UploadedFileImpl implements UploadedFile {
private final FileItem item;
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPFilter.java
index f40a92df..f30d9c6a 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPFilter.java
@@ -104,7 +104,7 @@ import java.io.IOException;
* @author Jayson Falkner
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPFilter.java#1 $
+ * @version $Id: GZIPFilter.java#1 $
*/
public class GZIPFilter extends GenericFilter {
@@ -120,22 +120,23 @@ public class GZIPFilter extends GenericFilter {
// If GZIP is supported, use compression
String accept = request.getHeader("Accept-Encoding");
- if (accept != null && accept.indexOf("gzip") != -1) {
+ if (accept != null && accept.contains("gzip")) {
//System.out.println("GZIP supported, compressing.");
// TODO: Set Vary: Accept-Encoding ?!
-
GZIPResponseWrapper wrapped = new GZIPResponseWrapper(response);
+
try {
pChain.doFilter(pRequest, wrapped);
}
finally {
wrapped.flushResponse();
}
+
return;
}
}
- // Else, contiue chain
+ // Else, continue chain
pChain.doFilter(pRequest, pResponse);
}
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPResponseWrapper.java b/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPResponseWrapper.java
index 7d1c4669..b6e4fd55 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPResponseWrapper.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPResponseWrapper.java
@@ -48,7 +48,7 @@ import java.util.zip.GZIPOutputStream;
* @author Jayson Falkner
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/gzip/GZIPResponseWrapper.java#1 $
+ * @version $Id: GZIPResponseWrapper.java#1 $
*/
public class GZIPResponseWrapper extends HttpServletResponseWrapper {
protected ServletOutputStream out;
@@ -121,7 +121,8 @@ public class GZIPResponseWrapper extends HttpServletResponseWrapper {
if (out == null) {
out = createOutputStream();
}
- return (out);
+
+ return out;
}
public PrintWriter getWriter() throws IOException {
@@ -134,9 +135,11 @@ public class GZIPResponseWrapper extends HttpServletResponseWrapper {
}
out = createOutputStream();
- // TODO: This is wrong. Should use getCharacterEncoding() or "ISO-8859-1" if gCE returns null.
+
+ // TODO: This is wrong. Should use getCharacterEncoding() or "ISO-8859-1" if getCE returns null.
writer = new PrintWriter(new OutputStreamWriter(out, "UTF-8"));
- return (writer);
+
+ return writer;
}
public void setContentLength(int pLength) {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/AWTImageFilterAdapter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/AWTImageFilterAdapter.java
index 39388de5..11d231c1 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/AWTImageFilterAdapter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/AWTImageFilterAdapter.java
@@ -38,8 +38,8 @@ import java.awt.image.RenderedImage;
/**
* AWTImageFilterAdapter
*
- * @author $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/AWTImageFilterAdapter.java#1 $
+ * @author Harald Kuhr
+ * @version $Id: AWTImageFilterAdapter.java#1 $
*
*/
public class AWTImageFilterAdapter extends ImageFilter {
@@ -67,6 +67,6 @@ public class AWTImageFilterAdapter extends ImageFilter {
Image img = ImageUtil.filter(pImage, imageFilter);
// Create BufferedImage & return
- return ImageUtil.toBuffered(img, BufferedImage.TYPE_INT_RGB); // TODO: This is for JPEG only...
+ return ImageUtil.toBuffered(img, BufferedImage.TYPE_INT_RGB); // TODO: This is ok for JPEG only...
}
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/BufferedImageOpAdapter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/BufferedImageOpAdapter.java
index 33e25256..cc0b52f9 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/BufferedImageOpAdapter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/BufferedImageOpAdapter.java
@@ -36,8 +36,8 @@ import java.awt.image.RenderedImage;
/**
* BufferedImageOpAdapter
*
- * @author $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/BufferedImageOpAdapter.java#1 $
+ * @author Harald Kuhr
+ * @version $Id: BufferedImageOpAdapter.java#1 $
*
*/
public class BufferedImageOpAdapter extends ImageFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ColorServlet.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ColorServlet.java
index f0b5081a..47ae42dd 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ColorServlet.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ColorServlet.java
@@ -47,7 +47,7 @@ import java.util.zip.CRC32;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ColorServlet.java#2 $
+ * @version $Id: ColorServlet.java#2 $
*/
public class ColorServlet extends GenericServlet {
private final static String RGB_PARAME = "color";
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ComposeFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ComposeFilter.java
index 0952c366..7fa3f02c 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ComposeFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ComposeFilter.java
@@ -38,7 +38,7 @@ import java.io.IOException;
*
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ComposeFilter.java#1 $
+ * @version $Id: ComposeFilter.java#1 $
*/
public class ComposeFilter extends ImageFilter {
protected RenderedImage doFilter(BufferedImage pImage, ServletRequest pRequest, ImageServletResponse pResponse) throws IOException {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ContentNegotiationFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ContentNegotiationFilter.java
index 68fb125c..b0d33327 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ContentNegotiationFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ContentNegotiationFilter.java
@@ -54,6 +54,9 @@ import java.util.*;
* unneccessary conversion (as IE supports PNG, the latests FireFox supports
* JPEG and GIF, etc. even though they both don't explicitly list these formats
* in their Accept headers).
+ *
+ * @author Harald Kuhr
+ * @version $Id: ContentNegotiationFilter.java#1 $
*/
public class ContentNegotiationFilter extends ImageFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/CropFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/CropFilter.java
index e3a7bdbf..d761c5c4 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/CropFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/CropFilter.java
@@ -91,7 +91,7 @@ import java.awt.image.RenderedImage;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/CropFilter.java#1 $
+ * @version $Id: CropFilter.java#1 $
*/
public class CropFilter extends ScaleFilter {
/** {@code cropX}*/
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageFilter.java
index a4615ad7..68970fb4 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageFilter.java
@@ -45,7 +45,7 @@ import java.io.IOException;
* @see #doFilter(java.awt.image.BufferedImage,javax.servlet.ServletRequest,ImageServletResponse)
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageFilter.java#2 $
+ * @version $Id: ImageFilter.java#2 $
*
*/
public abstract class ImageFilter extends GenericFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletException.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletException.java
index 6e4de253..93143ffb 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletException.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletException.java
@@ -31,13 +31,13 @@ package com.twelvemonkeys.servlet.image;
import javax.servlet.*;
/**
- * This excpetion is a subclass of ServletException, and acts just as a marker
- * for excpetions thrown by the ImageServlet API.
+ * This exception is a subclass of ServletException, and acts just as a marker
+ * for exceptions thrown by the ImageServlet API.
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
*
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletException.java#2 $
+ * @version $Id: ImageServletException.java#2 $
*/
public class ImageServletException extends ServletException {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponse.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponse.java
index 772bd548..25fdf89e 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponse.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponse.java
@@ -41,7 +41,7 @@ import java.awt.image.BufferedImage;
* {@link #getImage()} to have any effect.
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponse.java#4 $
+ * @version $Id: ImageServletResponse.java#4 $
*/
public interface ImageServletResponse extends ServletResponse {
/**
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponseImpl.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponseImpl.java
index 9f79f4a7..afa50257 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponseImpl.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponseImpl.java
@@ -65,7 +65,7 @@ import java.util.Iterator;
*
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ImageServletResponseImpl.java#10 $
+ * @version $Id: ImageServletResponseImpl.java#10 $
*
*/
// TODO: Refactor out HTTP specifics (if possible).
@@ -178,6 +178,20 @@ class ImageServletResponseImpl extends HttpServletResponseWrapper implements Ima
originalContentLength = pLength;
}
+ @Override
+ public void setHeader(String name, String value) {
+ // NOTE: Clients could also specify content type/content length using the setHeader method, special handling
+ if (name != null && name.equals("Content-Length")) {
+ setContentLength(Integer.valueOf(value)); // Value might be too large, but we don't support that anyway
+ }
+ else if (name != null && name.equals("Content-Type")) {
+ setContentType(value);
+ }
+ else {
+ super.setHeader(name, value);
+ }
+ }
+
/**
* Writes the image to the original {@code ServletOutputStream}.
* If no format is set in this response, the image is encoded in the same
@@ -211,14 +225,56 @@ class ImageServletResponseImpl extends HttpServletResponseWrapper implements Ima
Float requestQuality = (Float) originalRequest.getAttribute(ImageServletResponse.ATTRIB_OUTPUT_QUALITY);
- // The default JPEG quality is not good enough, so always apply compression
+ // The default JPEG quality is not good enough, so always adjust compression/quality
if ((requestQuality != null || "jpeg".equalsIgnoreCase(getFormatNameSafe(writer))) && param.canWriteCompressed()) {
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
+
+ // WORKAROUND: Known bug in GIFImageWriter in certain JDK versions, compression type is not set
+ if (param.getCompressionTypes() != null && param.getCompressionType() == null) {
+ param.setCompressionType(param.getCompressionTypes()[0]); // Just choose any, to keep param happy
+ }
+
param.setCompressionQuality(requestQuality != null ? requestQuality : 0.8f);
}
+
+ if ("gif".equalsIgnoreCase(getFormatNameSafe(writer)) && !(image.getColorModel() instanceof IndexColorModel)
+ && image.getColorModel().getTransparency() != Transparency.OPAQUE) {
+ // WORKAROUND: Bug in GIFImageWriter may throw NPE if transparent pixels
+ // http://bugs.sun.com/view_bug.do?bug_id=6287936
+ image = ImageUtil.createIndexed(ImageUtil.toBuffered(image), 256, null, ImageUtil.TRANSPARENCY_BITMASK);
+ }
//////////////////
ImageOutputStream stream = ImageIO.createImageOutputStream(out);
+ /*
+ try {
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ JScrollPane scroll = new JScrollPane(new JLabel(new BufferedImageIcon(ImageUtil.toBuffered(image))) {
+ {
+ setOpaque(true);
+ setBackground(Color.ORANGE);
+ }
+ });
+ scroll.setBorder(BorderFactory.createEmptyBorder());
+ JOptionPane.showMessageDialog(null, scroll);
+ }
+ });
+ }
+ catch (InterruptedException ignore) {
+ }
+ catch (InvocationTargetException ignore) {
+ }
+
+ image = ImageUtil.createIndexed(ImageUtil.toBuffered(image));
+ // */
+
+ // Bug in GIF writer, if pixel at 0,0 is transparent.. :-P
+// BufferedImage bufferedImage = ImageUtil.toBuffered(image);
+// bufferedImage.setRGB(0, 0, bufferedImage.getRGB(0, 0) | 0xFF000000);
+// image = bufferedImage;
+
+
writer.setOutput(stream);
try {
writer.write(null, new IIOImage(image, null, null), param);
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/NullImageFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/NullImageFilter.java
index aa6e570d..107a1a3f 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/NullImageFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/NullImageFilter.java
@@ -35,8 +35,8 @@ import java.awt.image.RenderedImage;
/**
* An {@code ImageFilter} that does nothing. Useful for debugging purposes.
*
- * @author $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/NullImageFilter.java#2 $
+ * @author Harald Kuhr
+ * @version $Id: NullImageFilter.java $
*
*/
public final class NullImageFilter extends ImageFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/RotateFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/RotateFilter.java
index 49cfc89b..a4dfce38 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/RotateFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/RotateFilter.java
@@ -78,7 +78,7 @@ import java.awt.image.RenderedImage;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/RotateFilter.java#1 $
+ * @version $Id: RotateFilter.java#1 $
*/
public class RotateFilter extends ImageFilter {
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ScaleFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ScaleFilter.java
index 583ab494..0451cd34 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/ScaleFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/ScaleFilter.java
@@ -69,7 +69,7 @@ import java.lang.reflect.Field;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/ScaleFilter.java#1 $
+ * @version $Id: ScaleFilter.java#1 $
*
* @example <IMG src="/scale/test.jpg?scaleX=500&scaleUniform=false">
* @example <IMG src="/scale/test.png?scaleY=50&scaleUnits=PERCENT">
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/SourceRenderFilter.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/SourceRenderFilter.java
index bc518d68..b93f9826 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/SourceRenderFilter.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/SourceRenderFilter.java
@@ -21,69 +21,69 @@ import java.io.IOException;
* @see ImageServletResponse#ATTRIB_AOI
*
* @author Harald Kuhr
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/SourceRenderFilter.java#1 $
+ * @version $Id: SourceRenderFilter.java#1 $
*/
public class SourceRenderFilter extends ImageFilter {
- private String mSizeWidthParam = "size.w";
- private String mSizeHeightParam = "size.h";
- private String mSizePercentParam = "size.percent";
- private String mSizeUniformParam = "size.uniform";
+ private String sizeWidthParam = "size.w";
+ private String sizeHeightParam = "size.h";
+ private String sizePercentParam = "size.percent";
+ private String sizeUniformParam = "size.uniform";
- private String mRegionWidthParam = "aoi.w";
- private String mRegionHeightParam = "aoi.h";
- private String mRegionLeftParam = "aoi.x";
- private String mRegionTopParam = "aoi.y";
- private String mRegionPercentParam = "aoi.percent";
- private String mRegionUniformParam = "aoi.uniform";
+ private String regionWidthParam = "aoi.w";
+ private String regionHeightParam = "aoi.h";
+ private String regionLeftParam = "aoi.x";
+ private String regionTopParam = "aoi.y";
+ private String regionPercentParam = "aoi.percent";
+ private String regionUniformParam = "aoi.uniform";
public void setRegionHeightParam(String pRegionHeightParam) {
- mRegionHeightParam = pRegionHeightParam;
+ regionHeightParam = pRegionHeightParam;
}
public void setRegionWidthParam(String pRegionWidthParam) {
- mRegionWidthParam = pRegionWidthParam;
+ regionWidthParam = pRegionWidthParam;
}
public void setRegionLeftParam(String pRegionLeftParam) {
- mRegionLeftParam = pRegionLeftParam;
+ regionLeftParam = pRegionLeftParam;
}
public void setRegionTopParam(String pRegionTopParam) {
- mRegionTopParam = pRegionTopParam;
+ regionTopParam = pRegionTopParam;
}
public void setSizeHeightParam(String pSizeHeightParam) {
- mSizeHeightParam = pSizeHeightParam;
+ sizeHeightParam = pSizeHeightParam;
}
public void setSizeWidthParam(String pSizeWidthParam) {
- mSizeWidthParam = pSizeWidthParam;
+ sizeWidthParam = pSizeWidthParam;
}
public void setRegionPercentParam(String pRegionPercentParam) {
- mRegionPercentParam = pRegionPercentParam;
+ regionPercentParam = pRegionPercentParam;
}
public void setRegionUniformParam(String pRegionUniformParam) {
- mRegionUniformParam = pRegionUniformParam;
+ regionUniformParam = pRegionUniformParam;
}
public void setSizePercentParam(String pSizePercentParam) {
- mSizePercentParam = pSizePercentParam;
+ sizePercentParam = pSizePercentParam;
}
public void setSizeUniformParam(String pSizeUniformParam) {
- mSizeUniformParam = pSizeUniformParam;
+ sizeUniformParam = pSizeUniformParam;
}
public void init() throws ServletException {
if (triggerParams == null) {
// Add all params as triggers
- triggerParams = new String[]{mSizeWidthParam, mSizeHeightParam,
- mSizeUniformParam, mSizePercentParam,
- mRegionLeftParam, mRegionTopParam,
- mRegionWidthParam, mRegionHeightParam,
- mRegionUniformParam, mRegionPercentParam};
+ triggerParams = new String[]{sizeWidthParam, sizeHeightParam,
+ sizeUniformParam, sizePercentParam,
+ regionLeftParam, regionTopParam,
+ regionWidthParam, regionHeightParam,
+ regionUniformParam, regionPercentParam};
}
}
@@ -101,37 +101,37 @@ public class SourceRenderFilter extends ImageFilter {
// TODO: Max size configuration, to avoid DOS attacks? OutOfMemory
// Size parameters
- int width = ServletUtil.getIntParameter(pRequest, mSizeWidthParam, -1);
- int height = ServletUtil.getIntParameter(pRequest, mSizeHeightParam, -1);
+ int width = ServletUtil.getIntParameter(pRequest, sizeWidthParam, -1);
+ int height = ServletUtil.getIntParameter(pRequest, sizeHeightParam, -1);
if (width > 0 || height > 0) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_SIZE, new Dimension(width, height));
}
// Size uniform/percent
- boolean uniform = ServletUtil.getBooleanParameter(pRequest, mSizeUniformParam, true);
+ boolean uniform = ServletUtil.getBooleanParameter(pRequest, sizeUniformParam, true);
if (!uniform) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_SIZE_UNIFORM, Boolean.FALSE);
}
- boolean percent = ServletUtil.getBooleanParameter(pRequest, mSizePercentParam, false);
+ boolean percent = ServletUtil.getBooleanParameter(pRequest, sizePercentParam, false);
if (percent) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_SIZE_PERCENT, Boolean.TRUE);
}
// Area of interest parameters
- int x = ServletUtil.getIntParameter(pRequest, mRegionLeftParam, -1); // Default is center
- int y = ServletUtil.getIntParameter(pRequest, mRegionTopParam, -1); // Default is center
- width = ServletUtil.getIntParameter(pRequest, mRegionWidthParam, -1);
- height = ServletUtil.getIntParameter(pRequest, mRegionHeightParam, -1);
+ int x = ServletUtil.getIntParameter(pRequest, regionLeftParam, -1); // Default is center
+ int y = ServletUtil.getIntParameter(pRequest, regionTopParam, -1); // Default is center
+ width = ServletUtil.getIntParameter(pRequest, regionWidthParam, -1);
+ height = ServletUtil.getIntParameter(pRequest, regionHeightParam, -1);
if (width > 0 || height > 0) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_AOI, new Rectangle(x, y, width, height));
}
// AOI uniform/percent
- uniform = ServletUtil.getBooleanParameter(pRequest, mRegionUniformParam, false);
+ uniform = ServletUtil.getBooleanParameter(pRequest, regionUniformParam, false);
if (uniform) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_SIZE_UNIFORM, Boolean.TRUE);
}
- percent = ServletUtil.getBooleanParameter(pRequest, mRegionPercentParam, false);
+ percent = ServletUtil.getBooleanParameter(pRequest, regionPercentParam, false);
if (percent) {
pRequest.setAttribute(ImageServletResponse.ATTRIB_SIZE_PERCENT, Boolean.TRUE);
}
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/TextRenderer.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/TextRenderer.java
index b4380bf3..521eb171 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/TextRenderer.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/TextRenderer.java
@@ -144,7 +144,7 @@ import java.awt.geom.Rectangle2D;
*
* @author Harald Kuhr
* @author last modified by $Author: haku $
- * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-servlet/src/main/java/com/twelvemonkeys/servlet/image/TextRenderer.java#2 $
+ * @version $Id: TextRenderer.java#2 $
*/
class TextRenderer /*extends ImageServlet implements ImagePainterServlet*/ {
@@ -342,7 +342,4 @@ class TextRenderer /*extends ImageServlet implements ImagePainterServlet*/ {
return angle;
}
-
-}
-
-
+}
\ No newline at end of file
diff --git a/servlet/src/main/java/com/twelvemonkeys/servlet/image/package_info.java b/servlet/src/main/java/com/twelvemonkeys/servlet/image/package_info.java
index 006395c7..d18e9deb 100755
--- a/servlet/src/main/java/com/twelvemonkeys/servlet/image/package_info.java
+++ b/servlet/src/main/java/com/twelvemonkeys/servlet/image/package_info.java
@@ -1,7 +1,6 @@
/**
- * Contains various image-outputting servlets, that should run under any servlet engine. To create your own image servlet, simply subclass the servlet
- * {@code ImageServlet}. Optionally implement the interface
- * {@code ImagePainterServlet}, if you want to do painting.
+ * Contains various image-outputting filters, that should run under any
+ * servlet engine.
*
* Some of these methods may require use of the native graphics libraries
* supported by the JVM, like the X libraries on Unix systems, and should be
@@ -13,8 +12,8 @@
* AWT Enhancements and bugtraq report
* 4281163 for more information on this issue.
*
- * If you cannot use JRE 1.4 for any reason, or do not want to use the X
- * libraries, a possibilty is to use the
+ * If you cannot use JRE 1.4 or later, or do not want to use the X
+ * libraries, one possibility is to use the
* PJA package (com.eteks.pja),
* and start the JVM with the following options:
*