Author: ehillenius
Date: Sat Feb 10 00:26:19 2007
New Revision: 505655

URL: http://svn.apache.org/viewvc?view=rev&rev=505655
Log:
check the actual value rather than the reference. Still doesn't work though; 
turns out be a bit naive. 
Investigate using ObjectStreamClass and friends to more closely resemble actual 
serialization. Also, though
the cycle check works fine for simply detecting which class offends, it is 
probably to simplistic currently.
I opened up WICKET-265 to work on this some more.

Modified:
    
incubator/wicket/branches/wicket-1.x/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=505655&r1=505654&r2=505655
==============================================================================
--- 
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
 Sat Feb 10 00:26:19 2007
@@ -90,7 +90,7 @@
         */
        public Page getPage(String sessionId, int id, int versionNumber, int 
ajaxVersionNumber)
        {
-               testMap(sessionId, id, versionNumber,ajaxVersionNumber);
+               testMap(sessionId, id, versionNumber, ajaxVersionNumber);
                File sessionDir = new File(getWorkDir(), sessionId);
                if (sessionDir.exists())
                {
@@ -188,7 +188,8 @@
         */
        public void pageAccessed(String sessionId, Page page)
        {
-               testMap(sessionId, page.getNumericId(), 
page.getCurrentVersionNumber(), page.getAjaxVersionNumber());
+               testMap(sessionId, page.getNumericId(), 
page.getCurrentVersionNumber(), page
+                               .getAjaxVersionNumber());
        }
 
 
@@ -202,7 +203,8 @@
 
        private void testMap(String sessionId, int id, int versionNumber, int 
ajaxVersionNumber)
        {
-               SessionPageKey curentKey = new SessionPageKey(sessionId, id, 
versionNumber,ajaxVersionNumber);
+               SessionPageKey curentKey = new SessionPageKey(sessionId, id, 
versionNumber,
+                               ajaxVersionNumber);
                Object key = storePageMap.get(curentKey);
                while (key != null)
                {
@@ -260,13 +262,14 @@
        /**
         * @param id
         * @param versionNumber
-        * @param ajaxVersionNumber 
+        * @param ajaxVersionNumber
         * @param sessionDir
         * @return The file pointing to the page
         */
        private File getPageFile(int id, int versionNumber, int 
ajaxVersionNumber, File sessionDir)
        {
-               return new File(sessionDir, appName + "-page-" + id + 
"-version-" + versionNumber + "-ajax-" + ajaxVersionNumber);
+               return new File(sessionDir, appName + "-page-" + id + 
"-version-" + versionNumber
+                               + "-ajax-" + ajaxVersionNumber);
        }
 
        private class SessionPageKey
@@ -282,7 +285,8 @@
                        this(sessionId, id, versionNumber, ajaxVersionNumber, 
false);
                }
 
-               SessionPageKey(String sessionId, int id, int versionNumber, int 
ajaxVersionNumber, boolean remove)
+               SessionPageKey(String sessionId, int id, int versionNumber, int 
ajaxVersionNumber,
+                               boolean remove)
                {
                        this.sessionId = sessionId;
                        this.id = id;
@@ -466,8 +470,8 @@
                {
                        File sessionDir = new File(getWorkDir(), sessionId);
                        sessionDir.mkdirs();
-                       File pageFile = getPageFile(page.getNumericId(), 
page.getCurrentVersionNumber(),
-                                       page.getAjaxVersionNumber(), 
sessionDir);
+                       File pageFile = getPageFile(page.getNumericId(), 
page.getCurrentVersionNumber(), page
+                                       .getAjaxVersionNumber(), sessionDir);
 
                        FileOutputStream fos = null;
                        long t1 = System.currentTimeMillis();
@@ -493,18 +497,23 @@
                        }
                        catch (Exception e)
                        {
+                               // TODO as long as our extended info isn't 
accurate, at least
+                               // print the stack trace
+                               log.error(e.getMessage(), e);
+                               
+                               // TODO doesn't work yet.
                                // trigger serialization again, but this time 
gather some more
                                // info
-                               try
-                               {
-                                       Objects.checkSerializable(page);
-                               }
-                               catch (Exception e1)
-                               {
-                                       log.error("Error saving page " + 
page.getClass() + "[" + page.getId() + ","
-                                                       + 
page.getCurrentVersionNumber() + "] for the sessionid " + sessionId
-                                                       + ": " + 
e1.getMessage(), e1);
-                               }
+//                             try
+//                             {
+//                                     Objects.checkSerializable(page);
+//                             }
+//                             catch (Exception e1)
+//                             {
+//                                     log.error("Error saving page " + 
page.getClass() + "[" + page.getId() + ","
+//                                                     + 
page.getCurrentVersionNumber() + "] for the sessionid " + sessionId
+//                                                     + ": " + 
e1.getMessage(), e1);
+//                             }
                        }
                        finally
                        {


Reply via email to