Author: almaw
Date: Thu Dec 21 06:30:37 2006
New Revision: 489370
URL: http://svn.apache.org/viewvc?view=rev&rev=489370
Log:
Provide overridable getWorkDir() : File
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/FilePageStore.java?view=diff&rev=489370&r1=489369&r2=489370
==============================================================================
---
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
(original)
+++
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
Thu Dec 21 06:30:37 2006
@@ -31,23 +31,29 @@
import wicket.util.lang.Objects;
/**
+ * Stores pages on disk.
+ * <p>
+ * Override [EMAIL PROTECTED] #getWorkDir()} to change the default directory
+ * for pages, which is configured from the javax.servlet.context.tempdir
+ * attribute in the servlet context.
+ *
* @author jcompagner
*/
public class FilePageStore implements IPageStore
{
/** log. */
- protected static Log log = LogFactory.getLog(FilePageStore.class);
-
- private File workDir;
-
- /**
- * Construct.
- */
- public FilePageStore()
- {
- workDir =
(File)((WebApplication)Application.get()).getServletContext().getAttribute(
- "javax.servlet.context.tempdir");
- }
+ protected static Log log = LogFactory.getLog(FilePageStore.class);
+
+ /**
+ * Returns the working directory for this disk-based PageStore.
+ * Override this to configure a different location. The default
+ * is javax.servlet.context.tempdir from the servlet context.
+ *
+ * @return Working directory
+ */
+ protected File getWorkDir() {
+ return
(File)((WebApplication)Application.get()).getServletContext().getAttribute("javax.servlet.context.tempdir");
+ }
/**
* @see
wicket.protocol.http.SecondLevelCacheSessionStore.IPageStore#getPage(java.lang.String,
@@ -55,7 +61,7 @@
*/
public Page getPage(String sessionId, int id, int versionNumber)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File pageFile = getPageFile(id, versionNumber,
sessionDir);
@@ -124,7 +130,7 @@
*/
public void removePage(String sessionId, Page page)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File pageFile = getPageFile(page.getNumericId(),
page.getCurrentVersionNumber(),
@@ -142,7 +148,7 @@
*/
public void storePage(String sessionId, Page page)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
sessionDir.mkdirs();
File pageFile = getPageFile(page.getNumericId(),
page.getCurrentVersionNumber(), sessionDir);
// TODO check can this be called everytime at this place?
Putting should
@@ -184,7 +190,7 @@
*/
public void unbind(String sessionId)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File[] files = sessionDir.listFiles();
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/FilePageStore.java?view=diff&rev=489370&r1=489369&r2=489370
==============================================================================
---
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
(original)
+++
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/FilePageStore.java
Thu Dec 21 06:30:37 2006
@@ -30,7 +30,13 @@
import wicket.protocol.http.SecondLevelCacheSessionStore.IPageStore;
import wicket.util.lang.Objects;
-/**
+/**
+ * Stores pages on disk.
+ * <p>
+ * Override [EMAIL PROTECTED] #getWorkDir()} to change the default directory
+ * for pages, which is configured from the javax.servlet.context.tempdir
+ * attribute in the servlet context.
+ *
* @author jcompagner
*/
public class FilePageStore implements IPageStore
@@ -38,16 +44,16 @@
/** log. */
protected static Log log = LogFactory.getLog(FilePageStore.class);
- private File workDir;
-
- /**
- * Construct.
- */
- public FilePageStore()
- {
- workDir =
(File)((WebApplication)Application.get()).getServletContext().getAttribute(
- "javax.servlet.context.tempdir");
- }
+ /**
+ * Returns the working directory for this disk-based PageStore.
+ * Override this to configure a different location. The default
+ * is javax.servlet.context.tempdir from the servlet context.
+ *
+ * @return Working directory
+ */
+ protected File getWorkDir() {
+ return
(File)((WebApplication)Application.get()).getServletContext().getAttribute("javax.servlet.context.tempdir");
+ }
/**
* @see
wicket.protocol.http.SecondLevelCacheSessionStore.IPageStore#getPage(java.lang.String,
@@ -55,7 +61,7 @@
*/
public Page getPage(String sessionId, int id, int versionNumber)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File pageFile = getPageFile(id, versionNumber,
sessionDir);
@@ -124,7 +130,7 @@
*/
public void removePage(String sessionId, Page page)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File pageFile = getPageFile(page.getNumericId(),
page.getCurrentVersionNumber(),
@@ -142,7 +148,7 @@
*/
public void storePage(String sessionId, Page page)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
sessionDir.mkdirs();
File pageFile = getPageFile(page.getNumericId(),
page.getCurrentVersionNumber(), sessionDir);
// TODO check can this be called everytime at this place?
Putting should
@@ -184,7 +190,7 @@
*/
public void unbind(String sessionId)
{
- File sessionDir = new File(workDir, sessionId);
+ File sessionDir = new File(getWorkDir(), sessionId);
if (sessionDir.exists())
{
File[] files = sessionDir.listFiles();