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