Author: knopp
Date: Fri Apr 10 22:28:06 2009
New Revision: 764088
URL: http://svn.apache.org/viewvc?rev=764088&view=rev
Log: (empty)
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractBookmarkableEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractBookmarkableEncoder.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractBookmarkableEncoder.java?rev=764088&r1=764087&r2=764088&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractBookmarkableEncoder.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractBookmarkableEncoder.java
Fri Apr 10 22:28:06 2009
@@ -20,6 +20,7 @@
import org.apache.wicket.PageParameters;
import org.apache.wicket.RequestListenerInterface;
import org.apache.wicket.request.RequestHandler;
+import org.apache.wicket.request.RequestHandlerEncoder;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.encoder.info.ComponentInfo;
import org.apache.wicket.request.encoder.info.PageComponentInfo;
@@ -49,44 +50,6 @@
{
}
- private RequestHandler processBookmarkable(Class<? extends IPage>
pageClass, PageParameters pageParameters)
- {
- PageProvider provider = new PageProvider(getContext(),
pageClass, pageParameters);
- return new RenderPageRequestHandler(provider);
- }
-
- private RequestHandler processHybrid(PageInfo pageInfo, Class<? extends
IPage> pageClass,
- PageParameters pageParameters, Integer renderCount)
- {
- PageProvider provider = new PageProvider(getContext(),
pageInfo.getPageId(), pageClass, pageParameters,
- renderCount);
- return new RenderPageRequestHandler(provider);
- }
-
- private RequestHandler processListener(PageComponentInfo
pageComponentInfo, Class<? extends IPage> pageClass,
- PageParameters pageParameters)
- {
- PageInfo pageInfo = pageComponentInfo.getPageInfo();
- ComponentInfo componentInfo =
pageComponentInfo.getComponentInfo();
- Integer renderCount = componentInfo != null ?
componentInfo.getRenderCount() : null;
-
- RequestListenerInterface listenerInterface =
requestListenerInterfaceFromString(componentInfo
- .getListenerInterface());
-
- if (listenerInterface != null)
- {
- PageComponentProvider provider = new
PageComponentProvider(getContext(), pageInfo.getPageId(), pageClass,
- pageParameters, renderCount,
componentInfo.getComponentPath());
-
- return new ListenerInterfaceRequestHandler(provider,
listenerInterface, componentInfo.getBehaviorIndex());
- }
- else
- {
- logger.warn("Unknown listener interface '" +
componentInfo.getListenerInterface() + "'");
- return null;
- }
- }
-
/**
* Represents information stored in URL.
*
@@ -160,6 +123,61 @@
*/
protected abstract Url buildUrl(UrlInfo info);
+ /**
+ * Indicates whether hybrid {...@link RenderPageRequestHandler} URL for
page will be generated only
+ * if page has been created with bookmarkable URL.
+ * <p>
+ * Generic bookmarkable encoders this method should return
<code>true</code>. For explicit
+ * (mounted) encoders this method should return <code>false</code>
+ *
+ * @return <code>true</code> if hybrid URL requires page created
bookmarkable,
+ * <code>false</code> otherwise.
+ */
+ protected abstract boolean pageMustHaveBeenCreatedBookmarkable();
+
+ /**
+ * @see RequestHandlerEncoder#getMachingSegmentsCount(Request)
+ */
+ public abstract int getMachingSegmentsCount(Request request);
+
+ private RequestHandler processBookmarkable(Class<? extends IPage>
pageClass, PageParameters pageParameters)
+ {
+ PageProvider provider = new PageProvider(getContext(),
pageClass, pageParameters);
+ return new RenderPageRequestHandler(provider);
+ }
+
+ private RequestHandler processHybrid(PageInfo pageInfo, Class<? extends
IPage> pageClass,
+ PageParameters pageParameters, Integer renderCount)
+ {
+ PageProvider provider = new PageProvider(getContext(),
pageInfo.getPageId(), pageClass, pageParameters,
+ renderCount);
+ return new RenderPageRequestHandler(provider);
+ }
+
+ private RequestHandler processListener(PageComponentInfo
pageComponentInfo, Class<? extends IPage> pageClass,
+ PageParameters pageParameters)
+ {
+ PageInfo pageInfo = pageComponentInfo.getPageInfo();
+ ComponentInfo componentInfo =
pageComponentInfo.getComponentInfo();
+ Integer renderCount = componentInfo != null ?
componentInfo.getRenderCount() : null;
+
+ RequestListenerInterface listenerInterface =
requestListenerInterfaceFromString(componentInfo
+ .getListenerInterface());
+
+ if (listenerInterface != null)
+ {
+ PageComponentProvider provider = new
PageComponentProvider(getContext(), pageInfo.getPageId(), pageClass,
+ pageParameters, renderCount,
componentInfo.getComponentPath());
+
+ return new ListenerInterfaceRequestHandler(provider,
listenerInterface, componentInfo.getBehaviorIndex());
+ }
+ else
+ {
+ logger.warn("Unknown listener interface '" +
componentInfo.getListenerInterface() + "'");
+ return null;
+ }
+ }
+
public RequestHandler decode(Request request)
{
UrlInfo urlInfo = parseRequest(request);
@@ -192,19 +210,7 @@
}
return null;
}
-
- /**
- * Indicates whether hybrid {...@link RenderPageRequestHandler} URL for
page will be generated only
- * if page has been created with bookmarkable URL.
- * <p>
- * Generic bookmarkable encoders this method should return
<code>true</code>. For explicit
- * (mounted) encoders this method should return <code>false</code>
- *
- * @return <code>true</code> if hybrid URL requires page created
bookmarkable,
- * <code>false</code> otherwise.
- */
- protected abstract boolean pageMustHaveBeenCreatedBookmarkable();
-
+
protected boolean checkPageClass(Class<? extends IPage> pageClass)
{
return true;
@@ -281,9 +287,7 @@
}
return null;
- }
-
- public abstract int getMachingSegmentsCount(Request request);
+ }
/**
* Convenience method for representing mountPath as array of segments
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java?rev=764088&r1=764087&r2=764088&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
Fri Apr 10 22:28:06 2009
@@ -68,6 +68,13 @@
return
getContext().requestListenerInterfaceFromString(interfaceName);
}
+ /**
+ * If the string is in a placeholder format ${key} this method returns
the
+ * key.
+ *
+ * @param s
+ * @return placeholder key or <code>null</code> if string is not in
right format
+ */
protected static String getPlaceholder(String s)
{
if (s == null || s.length() < 4 || !s.startsWith("${") ||
!s.endsWith("}"))