You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by at...@apache.org on 2007/09/12 16:57:45 UTC
svn commit: r574981 - in
/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket:
behavior/AbstractAjaxBehavior.java behavior/IActivePageBehaviorListener.java
protocol/http/request/WebRequestCodingStrategy.java
Author: ate
Date: Wed Sep 12 07:57:42 2007
New Revision: 574981
URL: http://svn.apache.org/viewvc?rev=574981&view=rev
Log:
WICKET-649: New Wicket Portlet support: fix appending query parameters
- Fixing AbstractAjaxBehavior.getCallbackUrl(boolean onlyTargetActivePage)
See: https://issues.apache.org/jira/browse/WICKET-649#action_12526813
Added:
wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java (with props)
Modified:
wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java?rev=574981&r1=574980&r2=574981&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/AbstractAjaxBehavior.java Wed Sep 12 07:57:42 2007
@@ -22,8 +22,6 @@
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.IHeaderResponse;
-import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.util.string.AppendingStringBuffer;
/**
* Abstract class for handling Ajax roundtrips. This class serves as a base for
@@ -105,16 +103,16 @@
final RequestListenerInterface rli;
- rli = IBehaviorListener.INTERFACE;
-
- AppendingStringBuffer url = new AppendingStringBuffer(getComponent().urlFor(this, rli));
-
if (onlyTargetActivePage)
{
- url.append(url.indexOf("?") > -1 ? "&" : "?").append(WebRequestCodingStrategy.IGNORE_IF_NOT_ACTIVE_PARAMETER_NAME).append("=true");
+ rli = IActivePageBehaviorListener.INTERFACE;
}
-
- return url;
+ else
+ {
+ rli = IBehaviorListener.INTERFACE;
+ }
+
+ return getComponent().urlFor(this, rli);
}
/**
Added: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java?rev=574981&view=auto
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java (added)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java Wed Sep 12 07:57:42 2007
@@ -0,0 +1,43 @@
+/*
+ * 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.behavior;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.Page;
+import org.apache.wicket.RequestListenerInterface;
+import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.target.component.listener.BehaviorRequestTarget;
+
+/**
+ * An extended {@link IBehaviorListener} which will be ignored if the page is not the last one the user accessed.
+ * @see AbstractAjaxBehavior#getCallbackUrl(boolean)
+ *
+ * @author Ate Douma
+ */
+public interface IActivePageBehaviorListener extends IBehaviorListener
+{
+ public static final RequestListenerInterface INTERFACE = new RequestListenerInterface(
+ IActivePageBehaviorListener.class)
+ {
+ public IRequestTarget newRequestTarget(Page page, Component component,
+ RequestListenerInterface listener, RequestParameters requestParameters)
+ {
+ return new BehaviorRequestTarget(page, component, listener, requestParameters);
+ }
+ };
+}
Propchange: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=574981&r1=574980&r2=574981&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Wed Sep 12 07:57:42 2007
@@ -39,6 +39,7 @@
import org.apache.wicket.RequestListenerInterface;
import org.apache.wicket.Session;
import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.behavior.IActivePageBehaviorListener;
import org.apache.wicket.behavior.IBehaviorListener;
import org.apache.wicket.protocol.http.UnitTestSettings;
import org.apache.wicket.request.IRequestCodingStrategy;
@@ -853,6 +854,10 @@
url.append(params.getUrlDepth());
}
+ if (IActivePageBehaviorListener.INTERFACE.getName().equals(listenerName))
+ {
+ url.append(url.indexOf("?") > -1 ? "&" : "?").append(IGNORE_IF_NOT_ACTIVE_PARAMETER_NAME).append("=true");
+ }
return url;
}