Package org.wicketstuff.mergedresources.util

Source Code of org.wicketstuff.mergedresources.util.RedirectStrategy

/**
* Copyright 2010 Molindo GmbH
*
* Licensed 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.wicketstuff.mergedresources.util;

import org.apache.wicket.IRequestTarget;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebRequest;
import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy;

public class RedirectStrategy extends BookmarkablePageRequestTargetUrlCodingStrategy {
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(RedirectStrategy.class);

  private final String _redirectPath;

  public RedirectStrategy(final String mountPath, final String pageMapName, final String redirectPath) {
    super(mountPath, WebPage.class, pageMapName);
    _redirectPath = redirectPath;
  }

  public RedirectStrategy(String mountPath, String redirectPath) {
    this(mountPath, null, redirectPath);
  }

  @Override
  public IRequestTarget decode(final RequestParameters requestParameters) {
    if (log.isDebugEnabled()) {
      final WebRequest r = (WebRequest) RequestCycle.get().getRequest();
      final String ref = r.getHttpServletRequest().getHeader("Referer");
      final String requested = r.getURL();
      log.debug("redirecting request coming from " + ref + " to " + requested + " to " + _redirectPath);
    }

    return new RedirectRequestTarget(_redirectPath);
  }

}
TOP

Related Classes of org.wicketstuff.mergedresources.util.RedirectStrategy

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.