Author: knopp
Date: Mon Jul 30 02:32:01 2007
New Revision: 560902

URL: http://svn.apache.org/viewvc?view=rev&rev=560902
Log:
WICKET-30 Minor improvements

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?view=diff&rev=560902&r1=560901&r2=560902
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
 Mon Jul 30 02:32:01 2007
@@ -60,17 +60,35 @@
        /** bookmarkable page class. */
        protected final WeakReference/* <Class> */pageClassRef;
 
+       private final boolean redirectOnBookmarkableRequest;
 
        /**
         * Construct.
         * 
         * @param mountPath
         * @param pageClass
+        * @param redirectOnBookmarkableRequest
+        *            whether after hitting the page with URL in bookmarkable 
form
+        *            it should be redirected to hybrid URL - needed for ajax to
+        *            work properly after page refresh
         */
-       public HybridUrlCodingStrategy(String mountPath, Class pageClass)
+       public HybridUrlCodingStrategy(String mountPath, Class pageClass,
+                       boolean redirectOnBookmarkableRequest)
        {
                super(mountPath);
                pageClassRef = new WeakReference(pageClass);
+               this.redirectOnBookmarkableRequest = 
redirectOnBookmarkableRequest;
+       }
+
+       /**
+        * Construct.
+        * 
+        * @param mountPath
+        * @param pageClass
+        */
+       public HybridUrlCodingStrategy(String mountPath, Class pageClass)
+       {
+               this(mountPath, pageClass, true);
        }
 
        /**
@@ -104,7 +122,7 @@
         */
        protected boolean isRedirectOnBookmarkableRequest()
        {
-               return true;
+               return redirectOnBookmarkableRequest;
        }
 
        /**
@@ -178,7 +196,8 @@
                                // we didn't find the page, act as bookmarkable 
page request -
                                // create new instance
                                return new 
HybridBookmarkablePageRequestTarget(pageMapName, (Class)pageClassRef
-                                               .get(), parameters, 
originalUrlTrailingSlashesCount, isRedirectOnBookmarkableRequest());
+                                               .get(), parameters, 
originalUrlTrailingSlashesCount,
+                                               
isRedirectOnBookmarkableRequest());
                        }
                }
 
@@ -219,7 +238,7 @@
                {
                        ListenerInterfaceRequestTarget target = 
(ListenerInterfaceRequestTarget)requestTarget;
                        Page page = target.getPage();
-                       return 
(PageParameters)page.getMetaData(PAGE_PARAMETERS_META_DATA_KEY);
+                       return getInitialPagePageParameters(page);
                }
                else
                {
@@ -260,6 +279,26 @@
                }
        }
 
+       /**
+        * Sets the initial page parameters for page instance. Use this only if 
you
+        * know what you are doing.
+        * 
+        * @param page
+        * @param pageParameters
+        */
+       public static void setInitialPageParameters(Page page, PageParameters 
pageParameters)
+       {
+               setInitialPageParameters(page, pageParameters);
+       }
+       
+       /**
+        * @param page
+        * @return
+        */
+       public static PageParameters getInitialPagePageParameters(Page page)
+       {
+               return 
(PageParameters)page.getMetaData(PAGE_PARAMETERS_META_DATA_KEY);
+       }
 
        // meta data key to store PageParameters in page instance. This is used 
to
        // save the PageParameters that were


Reply via email to