Re: Can i catch urls like http://localhost:8080/ShowThemePage-ti325-Twilight.html by IRequestTargetUrlCodingStrategy?

2011-01-27 Thread Igor Vaynberg
instead of mounting it set in the settings. mounting is for
intercepting path segments.

also set a breakpoint and see if its being hit.

-igor


On Thu, Jan 27, 2011 at 2:56 AM, Mike Mander wicket-m...@gmx.de wrote:
 Hi,

 urls in my shop look like this
 code
 http://localhost:8080/ShowThemePage-ti325-Twilight.html
 /code
 ShowThemePage should be mapped to my ThemePage.class
 The ti325 and Twilight Tokens should be indexed parameters
 and the .html is for ornament.

 Until now i mounted my own Strategy in my application.init
 code
            mount(new ThemeUrlCodingStrategy());
 /code

 The strategy looks like
 code
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.request.RequestParameters;
 import
 org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;
 import
 org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import
 org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
 import org.apache.wicket.util.string.AppendingStringBuffer;

 import de.shop.shopping.ThemePage;

 public class ThemeUrlCodingStrategy extends
 AbstractRequestTargetUrlCodingStrategy {

    public ThemeUrlCodingStrategy() {
        super(ShowThemePage);
    }

    @Override
    public CharSequence encode(IRequestTarget requestTarget) {
        AppendingStringBuffer url = new
 AppendingStringBuffer(ShowThemePage-ti);
        IBookmarkablePageRequestTarget target =
 (IBookmarkablePageRequestTarget) requestTarget;
        PageParameters parameters = target.getPageParameters();

  url.append(urlEncodePathComponent(String.valueOf(parameters.get(ti.append(-).append(urlEncodePathComponent(escape(String.valueOf(parameters.get(name);
        return url.append(.html);
    }

    private String escape(String value) {
        return value == null ? null : value.replaceAll( , _);
    }

    @Override
    public IRequestTarget decode(RequestParameters requestParameters) {
        return new BookmarkablePageRequestTarget(ThemePage.class, new
 PageParameters(ti=99, name=Hello_kitty)); // for testing use constant
 parameters
    }

    @Override
    public boolean matches(IRequestTarget requestTarget) {
        if (requestTarget instanceof IBookmarkablePageRequestTarget) {
            IBookmarkablePageRequestTarget target =
 (IBookmarkablePageRequestTarget) requestTarget;
            return ThemePage.class.isAssignableFrom(target.getPageClass());
        }
        return false;
    }
 }
 /code

 But all i get is a 404 for page not found. Do i have to implement something
 else?

 Thanks for help
 Mike

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Can i catch urls like http://localhost:8080/ShowThemePage-ti325-Twilight.html by IRequestTargetUrlCodingStrategy?

2011-01-27 Thread wicket-mike
Thanks Igor,

i checked the settings but couldn't find anything what i could use to solve my 
problem.
Can you please push me a bit further and tell me what i can do to map the url 
to a page with appropriate parameters.

Thanks again
Mike

 Original-Nachricht 
 Datum: Thu, 27 Jan 2011 08:04:53 -0800
 Von: Igor Vaynberg igor.vaynb...@gmail.com
 An: users@wicket.apache.org
 Betreff: Re: Can i catch urls like 
 http://localhost:8080/ShowThemePage-ti325-Twilight.html; by 
 IRequestTargetUrlCodingStrategy?

 instead of mounting it set in the settings. mounting is for
 intercepting path segments.
 
 also set a breakpoint and see if its being hit.
 
 -igor
 
 
 On Thu, Jan 27, 2011 at 2:56 AM, Mike Mander wicket-m...@gmx.de wrote:
  Hi,
 
  urls in my shop look like this
  code
  http://localhost:8080/ShowThemePage-ti325-Twilight.html
  /code
  ShowThemePage should be mapped to my ThemePage.class
  The ti325 and Twilight Tokens should be indexed parameters
  and the .html is for ornament.
 
  Until now i mounted my own Strategy in my application.init
  code
             mount(new ThemeUrlCodingStrategy());
  /code
 
  The strategy looks like
  code
  import org.apache.wicket.IRequestTarget;
  import org.apache.wicket.PageParameters;
  import org.apache.wicket.request.RequestParameters;
  import
 
 org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;
  import
 
 org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
  import
 
 org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
  import org.apache.wicket.util.string.AppendingStringBuffer;
 
  import de.shop.shopping.ThemePage;
 
  public class ThemeUrlCodingStrategy extends
  AbstractRequestTargetUrlCodingStrategy {
 
     public ThemeUrlCodingStrategy() {
         super(ShowThemePage);
     }
 
     @Override
     public CharSequence encode(IRequestTarget requestTarget) {
         AppendingStringBuffer url = new
  AppendingStringBuffer(ShowThemePage-ti);
         IBookmarkablePageRequestTarget target =
  (IBookmarkablePageRequestTarget) requestTarget;
         PageParameters parameters = target.getPageParameters();
 
 
  url.append(urlEncodePathComponent(String.valueOf(parameters.get(ti.append(-).append(urlEncodePathComponent(escape(String.valueOf(parameters.get(name);
         return url.append(.html);
     }
 
     private String escape(String value) {
         return value == null ? null : value.replaceAll( , _);
     }
 
     @Override
     public IRequestTarget decode(RequestParameters requestParameters) {
         return new BookmarkablePageRequestTarget(ThemePage.class, new
  PageParameters(ti=99, name=Hello_kitty)); // for testing use constant
  parameters
     }
 
     @Override
     public boolean matches(IRequestTarget requestTarget) {
         if (requestTarget instanceof IBookmarkablePageRequestTarget)
 {
             IBookmarkablePageRequestTarget target =
  (IBookmarkablePageRequestTarget) requestTarget;
             return
 ThemePage.class.isAssignableFrom(target.getPageClass());
         }
         return false;
     }
  }
  /code
 
  But all i get is a 404 for page not found. Do i have to implement
 something
  else?
 
  Thanks for help
  Mike
 
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Can i catch urls like http://localhost:8080/ShowThemePage-ti325-Twilight.html by IRequestTargetUrlCodingStrategy?

2011-01-27 Thread Igor Vaynberg
webapplication {
protected IRequestCycleProcessor newRequestCycleProcessor()
 {
return new WebRequestCycleProcessor() {
   protected IRequestCodingStrategy newRequestCodingStrategy() {
  return new MyStrategy();===

also make yours either extend WebRequestCodingStrategy or chain to it.

-igor


On Thu, Jan 27, 2011 at 11:00 AM,  wicket-m...@gmx.de wrote:
 Thanks Igor,

 i checked the settings but couldn't find anything what i could use to solve 
 my problem.
 Can you please push me a bit further and tell me what i can do to map the url 
 to a page with appropriate parameters.

 Thanks again
 Mike

  Original-Nachricht 
 Datum: Thu, 27 Jan 2011 08:04:53 -0800
 Von: Igor Vaynberg igor.vaynb...@gmail.com
 An: users@wicket.apache.org
 Betreff: Re: Can i catch urls like 
 http://localhost:8080/ShowThemePage-ti325-Twilight.html; by 
 IRequestTargetUrlCodingStrategy?

 instead of mounting it set in the settings. mounting is for
 intercepting path segments.

 also set a breakpoint and see if its being hit.

 -igor


 On Thu, Jan 27, 2011 at 2:56 AM, Mike Mander wicket-m...@gmx.de wrote:
  Hi,
 
  urls in my shop look like this
  code
  http://localhost:8080/ShowThemePage-ti325-Twilight.html
  /code
  ShowThemePage should be mapped to my ThemePage.class
  The ti325 and Twilight Tokens should be indexed parameters
  and the .html is for ornament.
 
  Until now i mounted my own Strategy in my application.init
  code
             mount(new ThemeUrlCodingStrategy());
  /code
 
  The strategy looks like
  code
  import org.apache.wicket.IRequestTarget;
  import org.apache.wicket.PageParameters;
  import org.apache.wicket.request.RequestParameters;
  import
 
 org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;
  import
 
 org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
  import
 
 org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
  import org.apache.wicket.util.string.AppendingStringBuffer;
 
  import de.shop.shopping.ThemePage;
 
  public class ThemeUrlCodingStrategy extends
  AbstractRequestTargetUrlCodingStrategy {
 
     public ThemeUrlCodingStrategy() {
         super(ShowThemePage);
     }
 
     @Override
     public CharSequence encode(IRequestTarget requestTarget) {
         AppendingStringBuffer url = new
  AppendingStringBuffer(ShowThemePage-ti);
         IBookmarkablePageRequestTarget target =
  (IBookmarkablePageRequestTarget) requestTarget;
         PageParameters parameters = target.getPageParameters();
 
 
  url.append(urlEncodePathComponent(String.valueOf(parameters.get(ti.append(-).append(urlEncodePathComponent(escape(String.valueOf(parameters.get(name);
         return url.append(.html);
     }
 
     private String escape(String value) {
         return value == null ? null : value.replaceAll( , _);
     }
 
     @Override
     public IRequestTarget decode(RequestParameters requestParameters) {
         return new BookmarkablePageRequestTarget(ThemePage.class, new
  PageParameters(ti=99, name=Hello_kitty)); // for testing use constant
  parameters
     }
 
     @Override
     public boolean matches(IRequestTarget requestTarget) {
         if (requestTarget instanceof IBookmarkablePageRequestTarget)
 {
             IBookmarkablePageRequestTarget target =
  (IBookmarkablePageRequestTarget) requestTarget;
             return
 ThemePage.class.isAssignableFrom(target.getPageClass());
         }
         return false;
     }
  }
  /code
 
  But all i get is a 404 for page not found. Do i have to implement
 something
  else?
 
  Thanks for help
  Mike
 
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 
 

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org


 --
 Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
 belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org