You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2007/09/20 05:06:13 UTC
svn commit: r577520 - in
/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components:
ServletSource.java ServletSourceFactory.java
Author: vgritsenko
Date: Wed Sep 19 20:06:12 2007
New Revision: 577520
URL: http://svn.apache.org/viewvc?rev=577520&view=rev
Log:
fix javadoc error
Modified:
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSourceFactory.java
Modified: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java?rev=577520&r1=577519&r2=577520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java Wed Sep 19 20:06:12 2007
@@ -44,20 +44,19 @@
private transient Log logger = LogFactory.getLog(getClass());
- private ServletConnection servletConnection;
- private String location;
-
/**
* The store is used to store values of Last-Modified header (if it exists).
* This store is required because in {@link #getValidity()} we need value
* of Last-Modified header of previous response in order to perform conditional
* GET.
*
- * @see Broken caching of servlet: source in some cases thread
- * (http://news.gmane.org/find-root.php?group=gmane.text.xml.cocoon.devel&article=72801)
+ * <strong>NOTE:</strong> Caching of servlet: source is broken in some cases. See thread
+ * http://news.gmane.org/find-root.php?group=gmane.text.xml.cocoon.devel&article=72801
*/
private Store store;
+ private String location;
+ private ServletConnection servletConnection;
private boolean connected;
@@ -69,14 +68,11 @@
setSystemId(location);
this.location = location;
this.servletConnection = new ServletConnection(location);
- connected = false;
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.excalibur.source.impl.AbstractSource#getInputStream()
- */
+ /* (non-Javadoc)
+ * @see org.apache.excalibur.source.impl.AbstractSource#getInputStream()
+ */
public InputStream getInputStream() throws IOException, SourceException {
try {
connect();
@@ -94,17 +90,16 @@
servletConnection = new ServletConnection(location);
servletConnection.connect();
}
+
return this.servletConnection.getInputStream();
} catch (ServletException e) {
throw new CascadingIOException(e.getMessage(), e);
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.excalibur.source.impl.AbstractSource#getValidity()
- */
+ /* (non-Javadoc)
+ * @see org.apache.excalibur.source.impl.AbstractSource#getValidity()
+ */
public SourceValidity getValidity() {
try {
connect();
@@ -116,11 +111,9 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.excalibur.source.impl.AbstractSource#getLastModified()
- */
+ /* (non-Javadoc)
+ * @see org.apache.excalibur.source.impl.AbstractSource#getLastModified()
+ */
public long getLastModified() {
try {
connect();
@@ -173,6 +166,7 @@
servletConnection.connect();
connected = true;
+
// If header is present, Last-Modified value will be stored for further
// use in conditional gets
setStoredLastModified(servletConnection.getLastModified());
@@ -198,9 +192,11 @@
*/
private void setStoredLastModified(long lastModified) throws IOException {
String key = calculateInternalKey();
- store.remove(key);
- if (lastModified > 0)
+ if (lastModified > 0) {
store.store(key, new Long(lastModified));
+ } else {
+ store.remove(key);
+ }
}
/**
@@ -209,6 +205,7 @@
private String calculateInternalKey() {
return ServletSource.class.getName() + "$" + getURI();
}
+
private static final class ServletValidity implements SourceValidity {
Modified: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSourceFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSourceFactory.java?rev=577520&r1=577519&r2=577520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSourceFactory.java (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-components/src/main/java/org/apache/cocoon/servletservice/components/ServletSourceFactory.java Wed Sep 19 20:06:12 2007
@@ -29,13 +29,12 @@
import org.apache.excalibur.store.Store;
/**
- * This class implements the servlet: protocol.
- *
+ * This class implements the <code>servlet:</code> protocol.
*
* @version $Id$
*/
public final class ServletSourceFactory implements SourceFactory,
- URIAbsolutizer {
+ URIAbsolutizer {
/** By default we use the logger for this class. */
private Log logger = LogFactory.getLog(getClass());
@@ -49,6 +48,14 @@
return this.logger;
}
+ public Store getStore() {
+ return store;
+ }
+
+ public void setStore(Store store) {
+ this.store = store;
+ }
+
/*
* (non-Javadoc)
*
@@ -56,7 +63,7 @@
* java.util.Map)
*/
public Source getSource(String location, Map parameters)
- throws MalformedURLException, IOException {
+ throws MalformedURLException, IOException {
if (getLogger().isDebugEnabled()) {
getLogger().debug("Creating source object for " + location);
}
@@ -70,9 +77,9 @@
* @see org.apache.excalibur.source.SourceFactory#release(org.apache.excalibur.source.Source)
*/
public void release(Source source) {
- if (null != source) {
- if (this.getLogger().isDebugEnabled()) {
- this.getLogger().debug("Releasing source " + source.getURI());
+ if (source != null) {
+ if (getLogger().isDebugEnabled()) {
+ getLogger().debug("Releasing source " + source.getURI());
}
}
}
@@ -86,13 +93,4 @@
public String absolutize(String baseURI, String location) {
return SourceUtil.absolutize(baseURI, location, true);
}
-
- public Store getStore() {
- return store;
- }
-
- public void setStore(Store store) {
- this.store = store;
- }
-
}