Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletRequestCodingStrategy.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletRequestCodingStrategy.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletRequestCodingStrategy.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletRequestCodingStrategy.java Sat Nov 25 13:51:56 2006 @@ -26,6 +26,7 @@ import wicket.Application; import wicket.Component; +import wicket.IPageMap; import wicket.IRedirectListener; import wicket.IRequestTarget; import wicket.IResourceListener; @@ -57,8 +58,7 @@ * @author Janne Hietamäki */ -//TODO: this should not really implement IRequestTargetMounter - +// TODO: this should not really implement IRequestTargetMounter public final class PortletRequestCodingStrategy extends AbstractWebRequestCodingStrategy { @@ -150,12 +150,12 @@ final String pageMapName = request.getParameter(PAGEMAP); parameters.setPageMapName(pageMapName != null && pageMapName.length() > 0 ? PageMap.DEFAULT_NAME - : pageMapName); + : pageMapName); final String interfaceName = request.getParameter(INTERFACE_PARAMETER_NAME); parameters.setInterfaceName(interfaceName != null && interfaceName.length() != 0 ? interfaceName - : IRedirectListener.INTERFACE.getName()); + : IRedirectListener.INTERFACE.getName()); final String versionNumberString = request.getParameter(VERSION_PARAMETER_NAME); final int versionNumber = Strings.isEmpty(versionNumberString) ? 0 : Integer @@ -270,16 +270,16 @@ return null; } - if(IResourceListener.class.isAssignableFrom(rli.getMethod().getDeclaringClass())) + if (IResourceListener.class.isAssignableFrom(rli.getMethod().getDeclaringClass())) { - return encodeServletRequest(requestCycle,requestTarget); + return encodeServletRequest(requestCycle, requestTarget); } // Get component and page for request target final Component component = requestTarget.getTarget(); final Page page = component.getPage(); // Add pagemap - final PageMap pageMap = page.getPageMap(); + final IPageMap pageMap = page.getPageMap(); if (!pageMap.isDefault()) { url.setParameter(PAGEMAP, pageMap.getName()); @@ -335,7 +335,7 @@ final Page page = component.getPage(); // Add pagemap - final PageMap pageMap = page.getPageMap(); + final IPageMap pageMap = page.getPageMap(); if (!pageMap.isDefault()) { url.append(pageMap.getName()); @@ -420,7 +420,7 @@ final RequestParameters parameters) { final String requestString = request - .getParameter(WebRequestCodingStrategy.BOOKMARKABLE_PAGE_PARAMETER_NAME); + .getParameter(WebRequestCodingStrategy.BOOKMARKABLE_PAGE_PARAMETER_NAME); if (requestString != null) { parameters.setBookmarkablePageClass(requestString); @@ -506,7 +506,7 @@ final Page page = component.getPage(); // Add pagemap - final PageMap pageMap = page.getPageMap(); + final IPageMap pageMap = page.getPageMap(); if (!pageMap.isDefault()) { response.setRenderParameter(PAGEMAP, pageMap.getName()); @@ -519,7 +519,7 @@ if (!rli.getRecordsPageVersion()) { response - .setRenderParameter(VERSION_PARAMETER_NAME, String.valueOf(Page.LATEST_VERSION)); + .setRenderParameter(VERSION_PARAMETER_NAME, String.valueOf(Page.LATEST_VERSION)); } else if (versionNumber > 0) { @@ -551,7 +551,7 @@ requestCycle.getSession().touch(page); // Add pagemap - final PageMap pageMap = page.getPageMap(); + final IPageMap pageMap = page.getPageMap(); if (!pageMap.isDefault()) { @@ -564,7 +564,7 @@ final int versionNumber = page.getCurrentVersionNumber(); response.setRenderParameter(VERSION_PARAMETER_NAME, String.valueOf(versionNumber)); response - .setRenderParameter(INTERFACE_PARAMETER_NAME, IRedirectListener.INTERFACE.getName()); + .setRenderParameter(INTERFACE_PARAMETER_NAME, IRedirectListener.INTERFACE.getName()); } /** @@ -670,13 +670,15 @@ if (urlPrefix == null) { final AppendingStringBuffer buffer = new AppendingStringBuffer(); - final WicketPortletRequest request = ((PortletRenderRequestCycle)requestCycle).getPortletRequest(); + final WicketPortletRequest request = ((PortletRenderRequestCycle)requestCycle) + .getPortletRequest(); if (request != null) { String contextPath = Application.get().getApplicationSettings().getContextPath(); if (contextPath == null) { - contextPath = ((PortletRenderRequestCycle)RequestCycle.get()).getPortletRequest().getPortletRequest().getContextPath(); + contextPath = ((PortletRenderRequestCycle)RequestCycle.get()) + .getPortletRequest().getPortletRequest().getContextPath(); if (contextPath == null) { contextPath = "";
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletSessionStore.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletSessionStore.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletSessionStore.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/portlet/PortletSessionStore.java Sat Nov 25 13:51:56 2006 @@ -29,7 +29,7 @@ import wicket.AccessStackPageMap; import wicket.Application; -import wicket.PageMap; +import wicket.IPageMap; import wicket.Request; import wicket.Session; import wicket.WicketRuntimeException; @@ -331,7 +331,7 @@ * @see wicket.session.ISessionStore#createPageMap(java.lang.String, * wicket.Session) */ - public PageMap createPageMap(String name, Session session) + public IPageMap createPageMap(String name, Session session) { return new AccessStackPageMap(name, session); } Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/AbstractWebRequestCodingStrategy.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/AbstractWebRequestCodingStrategy.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/AbstractWebRequestCodingStrategy.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/AbstractWebRequestCodingStrategy.java Sat Nov 25 13:51:56 2006 @@ -26,6 +26,7 @@ import wicket.Application; import wicket.Component; +import wicket.IPageMap; import wicket.IRedirectListener; import wicket.IRequestTarget; import wicket.Page; @@ -308,7 +309,7 @@ if (currentTarget instanceof IPageRequestTarget) { Page currentPage = ((IPageRequestTarget)currentTarget).getPage(); - final PageMap pageMap = currentPage.getPageMap(); + final IPageMap pageMap = currentPage.getPageMap(); if (pageMap.isDefault()) { pageMapName = ""; @@ -502,7 +503,7 @@ final Page page = component.getPage(); // Add pagemap - final PageMap pageMap = page.getPageMap(); + final IPageMap pageMap = page.getPageMap(); if (!pageMap.isDefault()) { url.append(pageMap.getName()); Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/urlcompressing/WebURLCompressingCodingStrategy.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/urlcompressing/WebURLCompressingCodingStrategy.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/urlcompressing/WebURLCompressingCodingStrategy.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/protocol/http/request/urlcompressing/WebURLCompressingCodingStrategy.java Sat Nov 25 13:51:56 2006 @@ -14,114 +14,114 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package wicket.protocol.http.request.urlcompressing; - -import wicket.Component; -import wicket.IRedirectListener; -import wicket.Page; -import wicket.PageMap; -import wicket.RequestCycle; -import wicket.RequestListenerInterface; -import wicket.markup.html.WebPage; -import wicket.protocol.http.WebApplication; -import wicket.protocol.http.request.WebRequestCodingStrategy; -import wicket.request.target.component.listener.IListenerInterfaceRequestTarget; -import wicket.util.string.AppendingStringBuffer; - - -/** - * Use this CodingStategy with the - * [EMAIL PROTECTED] WebURLCompressingTargetResolverStrategy} to minimize the - * wicket:interface urls. The component path and the interface name will be - * removed from the url and only an uid will be inserted into the url. - * - * To use this url compressing behaviour you must override the - * [EMAIL PROTECTED] WebApplication}'s newRequestCycleProcessor() method. To make a - * request cycle processor with this CodingStrategy and the - * [EMAIL PROTECTED] WebURLCompressingTargetResolverStrategy} - * - * <pre> - * protected IRequestCycleProcessor newRequestCycleProcessor() - * { - * return new CompoundRequestCycleProcessor(new WebURLCompressingCodingStrategy(), - * new WebURLCompressingTargetResolverStrategy(), null, null, null); - * } - * </pre> - * - * @author jcompagner - * - * @since 1.2 - */ -public class WebURLCompressingCodingStrategy extends WebRequestCodingStrategy -{ - /** - * Encode a listener interface target. - * - * @param requestCycle - * the current request cycle - * @param requestTarget - * the target to encode - * @return the encoded url - */ - @Override - protected CharSequence encode(RequestCycle requestCycle, - IListenerInterfaceRequestTarget requestTarget) - { - final RequestListenerInterface rli = requestTarget.getRequestListenerInterface(); - - // Start string buffer for url - final AppendingStringBuffer url = new AppendingStringBuffer(64); - url.append(urlPrefix(requestCycle)); - url.append('?'); - url.append(INTERFACE_PARAMETER_NAME); - url.append('='); - - // Get component and page for request target - final Component component = requestTarget.getTarget(); - final Page page = component.getPage(); - - // Add pagemap - final PageMap pageMap = page.getPageMap(); - if (!pageMap.isDefault()) - { - url.append(pageMap.getName()); - } - url.append(Component.PATH_SEPARATOR); - - String listenerName = rli.getName(); - // Add path to component - if (page instanceof WebPage && !"IResourceListener".equals(listenerName)) - { - url.append(page.getId()); - url.append(Component.PATH_SEPARATOR); - url.append(((WebPage)page).getUrlCompressor().getUIDForComponentAndInterface(component, - listenerName)); - listenerName = null; - } - else - { - url.append(component.getPath()); - } - url.append(Component.PATH_SEPARATOR); - - // Add version - final int versionNumber = component.getPage().getCurrentVersionNumber(); - if (!rli.getRecordsPageVersion()) - { - url.append(Page.LATEST_VERSION); - } - else if (versionNumber > 0) - { - url.append(versionNumber); - } - url.append(Component.PATH_SEPARATOR); - - // Add listener interface - if (listenerName != null && !IRedirectListener.INTERFACE.getName().equals(listenerName)) - { - url.append(listenerName); - } - - return requestCycle.getOriginalResponse().encodeURL(url); - } -} +package wicket.protocol.http.request.urlcompressing; + +import wicket.Component; +import wicket.IPageMap; +import wicket.IRedirectListener; +import wicket.Page; +import wicket.RequestCycle; +import wicket.RequestListenerInterface; +import wicket.markup.html.WebPage; +import wicket.protocol.http.WebApplication; +import wicket.protocol.http.request.WebRequestCodingStrategy; +import wicket.request.target.component.listener.IListenerInterfaceRequestTarget; +import wicket.util.string.AppendingStringBuffer; + + +/** + * Use this CodingStategy with the + * [EMAIL PROTECTED] WebURLCompressingTargetResolverStrategy} to minimize the + * wicket:interface urls. The component path and the interface name will be + * removed from the url and only an uid will be inserted into the url. + * + * To use this url compressing behaviour you must override the + * [EMAIL PROTECTED] WebApplication}'s newRequestCycleProcessor() method. To make a + * request cycle processor with this CodingStrategy and the + * [EMAIL PROTECTED] WebURLCompressingTargetResolverStrategy} + * + * <pre> + * protected IRequestCycleProcessor newRequestCycleProcessor() + * { + * return new CompoundRequestCycleProcessor(new WebURLCompressingCodingStrategy(), + * new WebURLCompressingTargetResolverStrategy(), null, null, null); + * } + * </pre> + * + * @author jcompagner + * + * @since 1.2 + */ +public class WebURLCompressingCodingStrategy extends WebRequestCodingStrategy +{ + /** + * Encode a listener interface target. + * + * @param requestCycle + * the current request cycle + * @param requestTarget + * the target to encode + * @return the encoded url + */ + @Override + protected CharSequence encode(RequestCycle requestCycle, + IListenerInterfaceRequestTarget requestTarget) + { + final RequestListenerInterface rli = requestTarget.getRequestListenerInterface(); + + // Start string buffer for url + final AppendingStringBuffer url = new AppendingStringBuffer(64); + url.append(urlPrefix(requestCycle)); + url.append('?'); + url.append(INTERFACE_PARAMETER_NAME); + url.append('='); + + // Get component and page for request target + final Component component = requestTarget.getTarget(); + final Page page = component.getPage(); + + // Add pagemap + final IPageMap pageMap = page.getPageMap(); + if (!pageMap.isDefault()) + { + url.append(pageMap.getName()); + } + url.append(Component.PATH_SEPARATOR); + + String listenerName = rli.getName(); + // Add path to component + if (page instanceof WebPage && !"IResourceListener".equals(listenerName)) + { + url.append(page.getId()); + url.append(Component.PATH_SEPARATOR); + url.append(((WebPage)page).getUrlCompressor().getUIDForComponentAndInterface(component, + listenerName)); + listenerName = null; + } + else + { + url.append(component.getPath()); + } + url.append(Component.PATH_SEPARATOR); + + // Add version + final int versionNumber = component.getPage().getCurrentVersionNumber(); + if (!rli.getRecordsPageVersion()) + { + url.append(Page.LATEST_VERSION); + } + else if (versionNumber > 0) + { + url.append(versionNumber); + } + url.append(Component.PATH_SEPARATOR); + + // Add listener interface + if (listenerName != null && !IRedirectListener.INTERFACE.getName().equals(listenerName)) + { + url.append(listenerName); + } + + return requestCycle.getOriginalResponse().encodeURL(url); + } +} Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/session/ISessionStore.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/session/ISessionStore.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/session/ISessionStore.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/session/ISessionStore.java Sat Nov 25 13:51:56 2006 @@ -14,145 +14,145 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package wicket.session; - -import java.util.List; - -import javax.servlet.http.HttpSession; - -import wicket.PageMap; -import wicket.Request; -import wicket.Session; - -/** - * The actual store that is used by [EMAIL PROTECTED] wicket.Session} to store its - * attributes. - * - * @author Eelco Hillenius - * @author Johan Compagner - */ -public interface ISessionStore -{ - /** - * Gets the attribute value with the given name - * - * @param request - * the current request - * @param name - * The name of the attribute to store - * @return The value of the attribute - */ - Object getAttribute(Request request, final String name); - - /** - * @param request - * the current request - * - * @return List of attributes for this session - */ - List<String> getAttributeNames(Request request); - - - /** - * Invalidates the session. - * - * @param request - * the current request - */ - void invalidate(Request request); - - /** - * Removes the attribute with the given name. - * - * @param request - * the current request - * @param name - * the name of the attribute to remove - */ - void removeAttribute(Request request, String name); - - /** - * Adds or replaces the attribute with the given name and value. - * - * @param request - * the current request - * @param name - * the name of the attribute - * @param value - * the value of the attribute - */ - void setAttribute(Request request, String name, Object value); - - /** - * Get the session id for the provided request. It create is false and the - * creation of the actual session is deferred, this method should return - * null to reflect it doesn't have one. - * - * @param request - * The request - * @param create - * Whether to create an actual session (typically an instance of - * [EMAIL PROTECTED] HttpSession}) when not already done so - * @return The session id for the provided request, possibly null if create - * is false and the creation of the actual session was deferred - */ - String getSessionId(Request request, boolean create); - - /** - * Retrieves the session for the provided request from this facade. - * <p> - * This method should return null if it is not bound yet, so that Wicket can - * recognize that it should create a session and call - * [EMAIL PROTECTED] #bind(Request, Session)} right after that. - * </p> - * - * @param request - * The current request - * @return The session for the provided request or null if the session was - * not bound - */ - Session lookup(Request request); - - /** - * Adds the provided new session to this facade using the provided request. - * - * @param request - * The request that triggered making a new sesion - * @param newSession - * The new session - */ - void bind(Request request, Session newSession); - - /** - * Adds the provided new session to this facade using the provided request. - * - * @param sessionId - * The SessionId that must be unbinded. - */ - void unbind(String sessionId); - - /** - * Called at the start of a request. It can be used for example to rebuild - * server state from the client request. - * - * @param request - * The request object - */ - void onBeginRequest(Request request); - - /** - * Called at the end of a request. It can be used for instance to release - * temporary server state when using client state saving. - * - * @param request - * The request - */ - void onEndRequest(Request request); - - /** - * @param name - * @param session - * @return The pagemap instances for the session - */ - PageMap createPageMap(String name, Session session); -} +package wicket.session; + +import java.util.List; + +import javax.servlet.http.HttpSession; + +import wicket.IPageMap; +import wicket.Request; +import wicket.Session; + +/** + * The actual store that is used by [EMAIL PROTECTED] wicket.Session} to store its + * attributes. + * + * @author Eelco Hillenius + * @author Johan Compagner + */ +public interface ISessionStore +{ + /** + * Gets the attribute value with the given name + * + * @param request + * the current request + * @param name + * The name of the attribute to store + * @return The value of the attribute + */ + Object getAttribute(Request request, final String name); + + /** + * @param request + * the current request + * + * @return List of attributes for this session + */ + List<String> getAttributeNames(Request request); + + + /** + * Invalidates the session. + * + * @param request + * the current request + */ + void invalidate(Request request); + + /** + * Removes the attribute with the given name. + * + * @param request + * the current request + * @param name + * the name of the attribute to remove + */ + void removeAttribute(Request request, String name); + + /** + * Adds or replaces the attribute with the given name and value. + * + * @param request + * the current request + * @param name + * the name of the attribute + * @param value + * the value of the attribute + */ + void setAttribute(Request request, String name, Object value); + + /** + * Get the session id for the provided request. It create is false and the + * creation of the actual session is deferred, this method should return + * null to reflect it doesn't have one. + * + * @param request + * The request + * @param create + * Whether to create an actual session (typically an instance of + * [EMAIL PROTECTED] HttpSession}) when not already done so + * @return The session id for the provided request, possibly null if create + * is false and the creation of the actual session was deferred + */ + String getSessionId(Request request, boolean create); + + /** + * Retrieves the session for the provided request from this facade. + * <p> + * This method should return null if it is not bound yet, so that Wicket can + * recognize that it should create a session and call + * [EMAIL PROTECTED] #bind(Request, Session)} right after that. + * </p> + * + * @param request + * The current request + * @return The session for the provided request or null if the session was + * not bound + */ + Session lookup(Request request); + + /** + * Adds the provided new session to this facade using the provided request. + * + * @param request + * The request that triggered making a new sesion + * @param newSession + * The new session + */ + void bind(Request request, Session newSession); + + /** + * Adds the provided new session to this facade using the provided request. + * + * @param sessionId + * The SessionId that must be unbinded. + */ + void unbind(String sessionId); + + /** + * Called at the start of a request. It can be used for example to rebuild + * server state from the client request. + * + * @param request + * The request object + */ + void onBeginRequest(Request request); + + /** + * Called at the end of a request. It can be used for instance to release + * temporary server state when using client state saving. + * + * @param request + * The request + */ + void onEndRequest(Request request); + + /** + * @param name + * @param session + * @return The pagemap instances for the session + */ + IPageMap createPageMap(String name, Session session); +} Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/IPageMapEvictionStrategy.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/IPageMapEvictionStrategy.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/IPageMapEvictionStrategy.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/IPageMapEvictionStrategy.java Sat Nov 25 13:51:56 2006 @@ -18,7 +18,7 @@ import java.io.Serializable; -import wicket.PageMap; +import wicket.IPageMap; /** * Given a page map, evicts zero or more entries from the map according to some @@ -32,5 +32,5 @@ * @param pageMap * The page map to evict from */ - void evict(PageMap pageMap); + void evict(IPageMap pageMap); } Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/LeastRecentlyAccessedEvictionStrategy.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/LeastRecentlyAccessedEvictionStrategy.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/LeastRecentlyAccessedEvictionStrategy.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/session/pagemap/LeastRecentlyAccessedEvictionStrategy.java Sat Nov 25 13:51:56 2006 @@ -17,8 +17,8 @@ package wicket.session.pagemap; import wicket.AccessStackPageMap; +import wicket.IPageMap; import wicket.Page; -import wicket.PageMap; import wicket.Session; /** @@ -52,7 +52,7 @@ /** * @see wicket.session.pagemap.IPageMapEvictionStrategy#evict(wicket.PageMap) */ - public void evict(final PageMap pageMap) + public void evict(final IPageMap pageMap) { if (pageMap instanceof AccessStackPageMap) { Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/util/tester/WicketTester.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/util/tester/WicketTester.java?view=diff&rev=479206&r1=479205&r2=479206 ============================================================================== --- incubator/wicket/trunk/wicket/src/main/java/wicket/util/tester/WicketTester.java (original) +++ incubator/wicket/trunk/wicket/src/main/java/wicket/util/tester/WicketTester.java Sat Nov 25 13:51:56 2006 @@ -976,7 +976,7 @@ * TODO Post 1.2: General: This test is no longer valid because it depends * on an implementation detail that just changed! * - * public void assertExpirePreviousPage() { PageMap pageMap = + * public void assertExpirePreviousPage() { IPageMap pageMap = * getWicketSession().getPageMap(null); Field internalMapCacheField; try { * internalMapCacheField = pageMap.getClass().getDeclaredField("pages"); * internalMapCacheField.setAccessible(true); MostRecentlyUsedMap mru =
