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();


Reply via email to