Author: ivaynberg
Date: Thu Jan 25 18:06:22 2007
New Revision: 500096
URL: http://svn.apache.org/viewvc?view=rev&rev=500096
Log:
bugfix for building urls
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/request/compound/AbstractRequestTargetResolverStrategy.java
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/request/compound/AbstractRequestTargetResolverStrategy.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/request/compound/AbstractRequestTargetResolverStrategy.java?view=diff&rev=500096&r1=500095&r2=500096
==============================================================================
---
incubator/wicket/trunk/wicket/src/main/java/wicket/request/compound/AbstractRequestTargetResolverStrategy.java
(original)
+++
incubator/wicket/trunk/wicket/src/main/java/wicket/request/compound/AbstractRequestTargetResolverStrategy.java
Thu Jan 25 18:06:22 2007
@@ -46,18 +46,22 @@
import wicket.util.string.Strings;
/**
- * Base class for target resolver strategies [EMAIL PROTECTED]
DefaultRequestTargetResolverStrategy}
- * and [EMAIL PROTECTED] PortletRequestTargetResolverStrategy}
+ * Base class for target resolver strategies
+ * [EMAIL PROTECTED] DefaultRequestTargetResolverStrategy} and
+ * [EMAIL PROTECTED] PortletRequestTargetResolverStrategy}
*
* @author Eelco Hillenius
* @author Igor Vaynberg
* @author Jonathan Locke
*/
-public abstract class AbstractRequestTargetResolverStrategy implements
IRequestTargetResolverStrategy
+public abstract class AbstractRequestTargetResolverStrategy
+ implements
+ IRequestTargetResolverStrategy
{
/** log. */
- private static final Logger log =
LoggerFactory.getLogger(AbstractRequestTargetResolverStrategy.class);
+ private static final Logger log = LoggerFactory
+ .getLogger(AbstractRequestTargetResolverStrategy.class);
/**
* Resolves to a page target that was previously rendered. Optionally
@@ -149,17 +153,20 @@
// Get component
final String pageRelativeComponentPath =
Strings.afterFirstPathComponent(componentPath,
Component.PATH_SEPARATOR);
+
+ Component component = null;
if (Strings.isEmpty(pageRelativeComponentPath))
{
- // We have an interface that is not a redirect,
but no
- // component... that must be wrong
- throw new WicketRuntimeException("When trying
to call " + listener
- + ", a component must be
provided");
+ component = page;
+ }
+ else
+ {
+ component = page.get(pageRelativeComponentPath);
}
- final Component component =
page.get(pageRelativeComponentPath);
if (component == null || !component.isEnabled() ||
!component.isVisibleInHierarchy())
{
- log.info("component not enabled or visible,
redirecting to calling page, component: "
+ log
+ .info("component not enabled or
visible, redirecting to calling page, component: "
+ component);
return new RedirectPageRequestTarget(page);
}
@@ -173,7 +180,7 @@
return listener.newRequestTarget(page, component,
listener, requestParameters);
}
}
-
+
/**
* Resolves to a bookmarkable page target.
*
@@ -207,10 +214,10 @@
&& requestParameters.getInterfaceName()
!= null)
{
final String componentPath =
requestParameters.getComponentPath();
- final Page page =
session.getPage(requestParameters.getPageMapName(), componentPath,
-
requestParameters.getVersionNumber());
-
- if(page != null && page.getClass() == pageClass)
+ final Page page =
session.getPage(requestParameters.getPageMapName(),
+ componentPath,
requestParameters.getVersionNumber());
+
+ if (page != null && page.getClass() ==
pageClass)
{
return
resolveListenerInterfaceTarget(requestCycle, page, componentPath,
requestParameters.getInterfaceName(), requestParameters);
@@ -218,8 +225,8 @@
else
{
return new
BookmarkableListenerInterfaceRequestTarget(requestParameters
- .getPageMapName(),
pageClass, params, requestParameters.getComponentPath(),
-
requestParameters.getInterfaceName());
+ .getPageMapName(),
pageClass, params, requestParameters
+ .getComponentPath(),
requestParameters.getInterfaceName());
}
}
else
@@ -233,8 +240,7 @@
throw new WicketRuntimeException("Unable to instantiate
Page class: "
+ bookmarkablePageClass + ". See below
for details.", e);
}
- }
-
+ }
/**
@@ -286,5 +292,5 @@
{
throw new WicketRuntimeException("Could not create home
page", e);
}
- }
+ }
}