Author: jcompagner
Date: Thu Jan 18 15:03:53 2007
New Revision: 497625

URL: http://svn.apache.org/viewvc?view=rev&rev=497625
Log:
cleanup dirs that are created by testing.
generate an id that is a valid dir

Modified:
    
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockHttpSession.java
    
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockServletContext.java
    
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockWebApplication.java

Modified: 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockHttpSession.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockHttpSession.java?view=diff&rev=497625&r1=497624&r2=497625
==============================================================================
--- 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockHttpSession.java
 (original)
+++ 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockHttpSession.java
 Thu Jan 18 15:03:53 2007
@@ -42,7 +42,7 @@
 
        private final long creationTime = System.currentTimeMillis();
 
-       private final String id = (new UID()).toString();
+       private final String id = (new UID()).toString().replace(":", "_");
 
        private long lastAccessedTime = 0;
 

Modified: 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockServletContext.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockServletContext.java?view=diff&rev=497625&r1=497624&r2=497625
==============================================================================
--- 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockServletContext.java
 (original)
+++ 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockServletContext.java
 Thu Jan 18 15:03:53 2007
@@ -114,9 +114,10 @@
                try
                {
                        File tmpDir = File.createTempFile("wicket", null);
+                       File dir = new 
File(tmpDir.getParentFile(),tmpDir.getName() + "p");
+                       dir.mkdir();
+                       setAttribute("javax.servlet.context.tempdir", dir);
                        tmpDir.delete();
-                       tmpDir.mkdir();
-                       setAttribute("javax.servlet.context.tempdir", tmpDir);
                }
                catch (IOException e)
                {

Modified: 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockWebApplication.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockWebApplication.java?view=diff&rev=497625&r1=497624&r2=497625
==============================================================================
--- 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockWebApplication.java
 (original)
+++ 
incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/MockWebApplication.java
 Thu Jan 18 15:03:53 2007
@@ -16,6 +16,7 @@
  */
 package wicket.protocol.http;
 
+import java.io.File;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -123,6 +124,10 @@
        /** The tester object */
        private final WebApplication application;
 
+       private ServletContext context;
+
+       private WicketFilter filter;
+
        /**
         * Create the mock http tester that can be used for testing.
         * 
@@ -137,8 +142,8 @@
        {
                this.application = application;
 
-               final ServletContext context = newServletContext(path);
-               WicketFilter filter = new WicketFilter()
+               context = newServletContext(path);
+               filter = new WicketFilter()
                {
                        @Override
                        protected IWebApplicationFactory getApplicationFactory()
@@ -516,5 +521,38 @@
        public void setParametersForNextRequest(Map<String, Object> 
parametersForNextRequest)
        {
                this.parametersForNextRequest = parametersForNextRequest;
+       }
+       
+       /**
+        * clears this mock application
+        */
+       public void destroy()
+       {
+               filter.destroy();
+               File dir = 
(File)context.getAttribute("javax.servlet.context.tempdir");
+               deleteDir(dir);
+       }
+       
+       private void deleteDir(File dir)
+       {
+               if(dir != null && dir.isDirectory())
+               {
+                       File[] files = dir.listFiles();
+                       if (files != null)
+                       {
+                               for (File element : files)
+                               {
+                                       if(element.isDirectory())
+                                       {
+                                               deleteDir(element);
+                                       }
+                                       else
+                                       {
+                                               element.delete();
+                                       }
+                               }
+                       }
+                       dir.delete();
+               }
        }
 }


Reply via email to