Author: jcompagner
Date: Tue Mar 24 19:10:00 2009
New Revision: 757961
URL: http://svn.apache.org/viewvc?rev=757961&view=rev
Log:
Refactored PageId to PageReference
PageId should be removed before the final of 1.4
Added:
wicket/trunk/wicket/src/main/java/org/apache/wicket/PageReference.java
- copied, changed from r755192,
wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageReferenceRequestTarget.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageIdRequestTarget.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java?rev=757961&r1=757960&r2=757961&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java Tue Mar 24
19:10:00 2009
@@ -688,7 +688,7 @@
try
{
- if (getClass().getConstructor(new Class[] {})
!= null)
+ if (getClass().getConstructor(new Class[] { })
!= null)
{
bookmarkable = Boolean.TRUE;
}
@@ -1666,14 +1666,28 @@
}
/**
- * Gets page instance's unique identifier
+ * This method will be removed before the final of 1.4
*
* @return instance unique identifier
+ *
+ * @depricated This method will be removed before the final of 1.4
*/
+ @Deprecated
public PageId getPageId()
{
setStatelessHint(false);
return new PageId(pageMapName, numericId,
getCurrentVersionNumber());
+ }
+
+ /**
+ * Gets page instance's unique identifier
+ *
+ * @return instance unique identifier
+ */
+ public PageReference getPageReference()
+ {
+ setStatelessHint(false);
+ return new PageReference(pageMapName, numericId,
getCurrentVersionNumber());
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java?rev=757961&r1=757960&r2=757961&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java Tue Mar 24
19:10:00 2009
@@ -21,15 +21,14 @@
* Unique identifier of a page instance
*
* @author igor.vaynberg
+ *
+ * @depricated will be removed
*/
-public final class PageId implements IClusterable
+...@deprecated
+public final class PageId extends PageReference
{
private static final long serialVersionUID = 1L;
- private final String pageMapName;
- private final int number;
- private final int version;
-
/**
* Constructor
*
@@ -37,86 +36,9 @@
* @param number
* @param version
*/
+ @Deprecated
PageId(String pageMapName, int number, int version)
{
- this.pageMapName = pageMapName;
- this.number = number;
- this.version = version;
- }
-
- /**
- * Gets pageMapName.
- *
- * @return pageMapName
- */
- public String getPageMapName()
- {
- return pageMapName;
- }
-
-
- /**
- * Gets pageId.
- *
- * @return pageId
- */
- public int getPageNumber()
- {
- return number;
+ super(pageMapName, number, version);
}
-
-
- /**
- * Gets pageVersion.
- *
- * @return pageVersion
- */
- public int getPageVersion()
- {
- return version;
- }
-
-
- /**
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + number;
- result = prime * result + ((pageMapName == null) ? 0 :
pageMapName.hashCode());
- result = prime * result + version;
- return result;
- }
-
- /**
- * @see java.lang.Object#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object obj)
- {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- PageId other = (PageId)obj;
- if (number != other.number)
- return false;
- if (pageMapName == null)
- {
- if (other.pageMapName != null)
- return false;
- }
- else if (!pageMapName.equals(other.pageMapName))
- return false;
- if (version != other.version)
- return false;
- return true;
- }
-
-
}
Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/PageReference.java
(from r755192, wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java)
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/PageReference.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/PageReference.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java&r1=755192&r2=757961&rev=757961&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/PageId.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/PageReference.java Tue
Mar 24 19:10:00 2009
@@ -22,7 +22,7 @@
*
* @author igor.vaynberg
*/
-public final class PageId implements IClusterable
+public class PageReference implements IClusterable
{
private static final long serialVersionUID = 1L;
@@ -37,7 +37,7 @@
* @param number
* @param version
*/
- PageId(String pageMapName, int number, int version)
+ PageReference(String pageMapName, int number, int version)
{
this.pageMapName = pageMapName;
this.number = number;
@@ -45,6 +45,14 @@
}
/**
+ * @return The page that the this PageReference references
+ */
+ public Page getPage()
+ {
+ return Session.get().getPage(pageMapName,
Integer.toString(number), version);
+ }
+
+ /**
* Gets pageMapName.
*
* @return pageMapName
@@ -103,7 +111,7 @@
return false;
if (getClass() != obj.getClass())
return false;
- PageId other = (PageId)obj;
+ PageReference other = (PageReference)obj;
if (number != other.number)
return false;
if (pageMapName == null)
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java?rev=757961&r1=757960&r2=757961&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java Tue
Mar 24 19:10:00 2009
@@ -1033,7 +1033,7 @@
* page id
* @return url pointing to the page
*/
- public final CharSequence urlFor(final PageId id)
+ public final CharSequence urlFor(final PageReference id)
{
return urlFor(new PageIdRequestTarget(id));
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=757961&r1=757960&r2=757961&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
Tue Mar 24 19:10:00 2009
@@ -31,9 +31,9 @@
import org.apache.wicket.IRequestTarget;
import org.apache.wicket.IResourceListener;
import org.apache.wicket.Page;
-import org.apache.wicket.PageId;
import org.apache.wicket.PageMap;
import org.apache.wicket.PageParameters;
+import org.apache.wicket.PageReference;
import org.apache.wicket.Request;
import org.apache.wicket.RequestContext;
import org.apache.wicket.RequestCycle;
@@ -56,6 +56,7 @@
import
org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
import org.apache.wicket.request.target.component.IPageRequestTarget;
import org.apache.wicket.request.target.component.PageIdRequestTarget;
+import org.apache.wicket.request.target.component.PageReferenceRequestTarget;
import
org.apache.wicket.request.target.component.listener.IListenerInterfaceRequestTarget;
import org.apache.wicket.request.target.resource.ISharedResourceRequestTarget;
import org.apache.wicket.util.lang.Objects;
@@ -272,7 +273,7 @@
}
else if (requestTarget instanceof PageIdRequestTarget)
{
- url = encode(requestCycle,
(PageIdRequestTarget)requestTarget);
+ url = encode(requestCycle, requestTarget);
}
else if (requestTarget instanceof
IListenerInterfaceRequestTarget)
{
@@ -862,9 +863,10 @@
* the target to encode
* @return the encoded url
*/
- protected CharSequence encode(RequestCycle requestCycle,
PageIdRequestTarget requestTarget)
+ protected CharSequence encode(RequestCycle requestCycle,
+ PageReferenceRequestTarget requestTarget)
{
- final PageId id = requestTarget.getPageId();
+ final PageReference id = requestTarget.getPageReference();
// Start string buffer for url
final AppendingStringBuffer url = new AppendingStringBuffer(64);
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageIdRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageIdRequestTarget.java?rev=757961&r1=757960&r2=757961&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageIdRequestTarget.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageIdRequestTarget.java
Tue Mar 24 19:10:00 2009
@@ -16,86 +16,31 @@
*/
package org.apache.wicket.request.target.component;
-import org.apache.wicket.IRequestTarget;
import org.apache.wicket.Page;
-import org.apache.wicket.PageId;
-import org.apache.wicket.RequestCycle;
+import org.apache.wicket.PageReference;
/**
* Target that navigates to a page pointed to by its id. The great benefit of
this target over the
* PageRequestTarget is that no reference to the actual page is needed, which
greatly facilitates
* navigational usecases where a list or a stack of page references is needed
(ie breadcrumbs).
*
- * @see PageId
+ * @see PageReference
*
* @author igor.vaynberg
+ * @depricated will be removed before 1.5
*/
-public class PageIdRequestTarget implements IRequestTarget
+...@deprecated
+public class PageIdRequestTarget extends PageReferenceRequestTarget
{
- private final PageId id;
-
- /**
- * Constructor
- *
- * Even though a page is passed in, only a reference to its {...@link
PageId} is kept
- *
- * @param page
- */
+ @Deprecated
public PageIdRequestTarget(Page page)
{
- if (page == null)
- {
- throw new IllegalArgumentException("Argument `page`
cannot be null");
- }
- id = page.getPageId();
- }
-
- /**
- * Constructor
- *
- * @param pageId
- */
- public PageIdRequestTarget(PageId pageId)
- {
- if (pageId == null)
- {
- throw new IllegalArgumentException("Argument `pageId`
cannot be null");
- }
-
- id = pageId;
- }
-
-
- /**
- * @return id page id
- */
- public final PageId getPageId()
- {
- return id;
+ super(page);
}
- /** {...@inheritdoc} */
- public void respond(RequestCycle requestCycle)
+ @Deprecated
+ public PageIdRequestTarget(PageReference reference)
{
- Page page =
requestCycle.getSession().getPage(id.getPageMapName(), "" + id.getPageNumber(),
- id.getPageVersion());
-
- // Should page be redirected to?
- if (requestCycle.isRedirect())
- {
- // Redirect to the page
- requestCycle.redirectTo(page);
- }
- else
- {
- // Let page render itself
- page.renderPage();
- }
+ super(reference);
}
-
- /** {...@inheritdoc} */
- public void detach(RequestCycle requestCycle)
- {
- }
-
}
Added:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageReferenceRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageReferenceRequestTarget.java?rev=757961&view=auto
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageReferenceRequestTarget.java
(added)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/PageReferenceRequestTarget.java
Tue Mar 24 19:10:00 2009
@@ -0,0 +1,101 @@
+/*
+ * 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.component;
+
+import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.Page;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.RequestCycle;
+
+/**
+ * Target that navigates to a page pointed to by its id. The great benefit of
this target over the
+ * PageRequestTarget is that no reference to the actual page is needed, which
greatly facilitates
+ * navigational usecases where a list or a stack of page references is needed
(ie breadcrumbs).
+ *
+ * @see PageReference
+ *
+ * @author igor.vaynberg
+ */
+public class PageReferenceRequestTarget implements IRequestTarget
+{
+ private final PageReference reference;
+
+ /**
+ * Constructor
+ *
+ * Even though a page is passed in, only a reference to its {...@link
PageReference} is kept
+ *
+ * @param page
+ */
+ public PageReferenceRequestTarget(Page page)
+ {
+ if (page == null)
+ {
+ throw new IllegalArgumentException("Argument `page`
cannot be null");
+ }
+ reference = page.getPageReference();
+ }
+
+ /**
+ * Constructor
+ *
+ * @param pageReference
+ */
+ public PageReferenceRequestTarget(PageReference pageReference)
+ {
+ if (pageReference == null)
+ {
+ throw new IllegalArgumentException("Argument `pageId`
cannot be null");
+ }
+
+ reference = pageReference;
+ }
+
+
+ /**
+ * @return id page id
+ */
+ public final PageReference getPageReference()
+ {
+ return reference;
+ }
+
+ /** {...@inheritdoc} */
+ public void respond(RequestCycle requestCycle)
+ {
+ Page page = reference.getPage();
+
+ // Should page be redirected to?
+ if (requestCycle.isRedirect())
+ {
+ // Redirect to the page
+ requestCycle.redirectTo(page);
+ }
+ else
+ {
+ // Let page render itself
+ page.renderPage();
+ }
+ }
+
+ /** {...@inheritdoc} */
+ public void detach(RequestCycle requestCycle)
+ {
+ reference.getPage().detach();
+ }
+
+}