You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by da...@apache.org on 2007/12/02 22:19:26 UTC
svn commit: r600375 - in /wicket/trunk/jdk-1.4/wicket/src:
main/java/org/apache/wicket/request/target/coding/
test/java/org/apache/wicket/request/target/coding/
Author: dashorst
Date: Sun Dec 2 13:19:25 2007
New Revision: 600375
URL: http://svn.apache.org/viewvc?rev=600375&view=rev
Log:
WICKET-1198
Added:
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest$TestPage.html (with props)
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java (with props)
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?rev=600375&r1=600374&r2=600375&view=diff
==============================================================================
--- 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 Sun Dec 2 13:19:25 2007
@@ -152,8 +152,8 @@
Integer pageId = pageInfo != null ? pageInfo.getPageId() : null;
// decode parameters
- PageParameters parameters = new PageParameters(decodeParameters(extraction
- .getUrlAfterExtraction(), requestParameters.getParameters()));
+ PageParameters parameters = new PageParameters(decodeParameters(
+ extraction.getUrlAfterExtraction(), requestParameters.getParameters()));
if (requestParameters.getPageMapName() == null)
{
@@ -167,13 +167,11 @@
// do some extra work for checking whether this is a normal request to a
// bookmarkable page, or a request to a stateless page (in which case a
// wicket:interface parameter should be available
- final String interfaceParameter = (String)parameters
- .remove(WebRequestCodingStrategy.INTERFACE_PARAMETER_NAME);
+ final String interfaceParameter = (String)parameters.remove(WebRequestCodingStrategy.INTERFACE_PARAMETER_NAME);
// we need to remember the amount of trailing slashes after the redirect
// (otherwise we'll break relative urls)
- int originalUrlTrailingSlashesCount = getTrailingSlashesCount(extraction
- .getUrlAfterExtraction());
+ int originalUrlTrailingSlashesCount = getTrailingSlashesCount(extraction.getUrlAfterExtraction());
boolean redirect = isRedirectOnBookmarkableRequest();
if (Strings.isEmpty(pageMapName) != true && alwaysRedirectWhenPageMapIsSpecified())
@@ -185,9 +183,9 @@
{
// stateless listener interface
WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter, requestParameters);
- return new BookmarkableListenerInterfaceRequestTarget(pageMapName, (Class)pageClassRef
- .get(), parameters, requestParameters.getComponentPath(), requestParameters
- .getInterfaceName(), requestParameters.getVersionNumber());
+ return new BookmarkableListenerInterfaceRequestTarget(pageMapName,
+ (Class)pageClassRef.get(), parameters, requestParameters.getComponentPath(),
+ requestParameters.getInterfaceName(), requestParameters.getVersionNumber());
}
else if (pageId == null)
{
@@ -223,8 +221,9 @@
{
// we didn't find the page, act as bookmarkable page request -
// create new instance
- return new HybridBookmarkablePageRequestTarget(pageMapName, (Class)pageClassRef
- .get(), parameters, originalUrlTrailingSlashesCount, redirect);
+ return new HybridBookmarkablePageRequestTarget(pageMapName,
+ (Class)pageClassRef.get(), parameters, originalUrlTrailingSlashesCount,
+ redirect);
}
}
@@ -297,8 +296,8 @@
{
ListenerInterfaceRequestTarget target = (ListenerInterfaceRequestTarget)requestTarget;
Page page = target.getPage();
- return new PageInfo(new Integer(page.getNumericId()), new Integer(page
- .getCurrentVersionNumber()), page.getPageMapName());
+ return new PageInfo(new Integer(page.getNumericId()), new Integer(
+ page.getCurrentVersionNumber()), page.getPageMapName());
}
else
{
@@ -406,7 +405,12 @@
final AppendingStringBuffer url = new AppendingStringBuffer(40);
url.append(getMountPath());
- appendParameters(url, parameters);
+
+ // there are cases where the parameters are null
+ if (parameters != null)
+ {
+ appendParameters(url, parameters);
+ }
// check whether we know if the initial URL ended with slash
Integer trailingSlashesCount = getOriginalOriginalTrailingSlashesCount(requestTarget);
Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest$TestPage.html
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest%24TestPage.html?rev=600375&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest$TestPage.html (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest$TestPage.html Sun Dec 2 13:19:25 2007
@@ -0,0 +1,6 @@
+<html>
+<body>
+<a href="#" wicket:id="ajax">ajax</a>
+<a href="#" wicket:id="link">link</a>
+</body>
+</html>
Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest$TestPage.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java?rev=600375&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java Sun Dec 2 13:19:25 2007
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.request.target.coding;
+
+import junit.framework.TestCase;
+
+import org.apache.wicket.IRedirectListener;
+import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget;
+import org.apache.wicket.util.tester.WicketTester;
+
+/**
+ *
+ */
+public class IndexedHybridUrlCodingStrategyTest extends TestCase
+{
+ /**
+ *
+ */
+ public static class TestPage extends WebPage
+ {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Construct.
+ *
+ * @param pars
+ */
+ public TestPage(PageParameters pars)
+ {
+ add(new AjaxLink("ajax")
+ {
+ private static final long serialVersionUID = 1L;
+
+ public void onClick(AjaxRequestTarget target)
+ {
+ getSession().bind();
+ target.addComponent(this);
+ }
+ }.setOutputMarkupId(true));
+ add(new Link("link")
+ {
+ private static final long serialVersionUID = 1L;
+
+ public void onClick()
+ {
+ getSession().invalidate();
+ }
+ });
+ }
+ }
+
+ /**
+ * Test for a NPE in a page mounted through a {@link IndexedHybridUrlCodingStrategy}.
+ */
+ public void testJiraXXXX()
+ {
+ IRequestTargetUrlCodingStrategy strategy = new IndexedHybridUrlCodingStrategy("/foo",
+ TestPage.class);
+
+ WicketTester tester = new WicketTester();
+ tester.setupRequestAndResponse();
+ TestPage page = new TestPage(null);
+ IRequestTarget requestTarget = new ListenerInterfaceRequestTarget(page, page,
+ IRedirectListener.INTERFACE);
+ strategy.encode(requestTarget);
+ }
+}
Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategyTest.java
------------------------------------------------------------------------------
svn:eol-style = native