fine with me

Eelco

On 5/8/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
thats pretty much what i was thinking. i was also considering adding the
checkMountPath to IRequestTargetUrlCodingStrategy so that it is a bit more
explicit.

what do other devels think?


-Igor


 On 5/8/06, Bruno Borges <[EMAIL PROTECTED]> wrote:
>
> So, I did the changes.
>
> IRequestTargetUrlCodingStrategy
>
> void checkMountPath(String path);
>
> AbstractRequestTargetUrlCodingStrategy
>
>     public void checkMountPath(String path)
>     {
>         if (path == null)
>         {
>             throw new IllegalArgumentException("Argument
path must be not-null");
>
>         }
>         if (path.equals("/"))
>         {
>             throw new IllegalArgumentException(
>                     "The mount path '/' is reserved for the application
home page");
>         }
>     }
>
>
> PackageRequestTargetUrlCodingStrategy
>
>     public void checkMountPath(String path)
>     {
>         if (path == null)
>         {
>             throw new IllegalArgumentException("Argument
path must be not-null");
>         }
>
>         // NOT NEEDED FOR PACKAGE TARGET
>         /*
>
>         if (path.equals("/"))
>         {
>             throw new IllegalArgumentException(
>                     "The mount path '/' is reserved for the application
home page");
>         }
>
>         */
>     }
>
> WebRequestCodingStrategy
>
>
>     public final void mount(String path, IRequestTargetUrlCodingStrategy
encoder)
>     {
>
>         if (encoder == null)
>         {
>             throw new IllegalArgumentException("Argument
encoder must be not-null");
>         }
>
>         encoder.checkMountPath(path);
>
>         .....
> }
>
> It worked just fine.
>
> And I've looked into the code, and I couldn't find any other place that
should call checkMountPath from the codingStrategy.
>
>
> Regards,
>
>
> On 5/8/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote:
> >
> > yeah, this wasnt going to be a quicky like i thought.
> >
> > one way to do this is to let the coding strategy be responsible for
checking the mount path. we can have a default method in the abstract to
help.
> >
> > the problem is that creators of strategies must now know that they need
to do the check. usually its us core devels so we know, but ...
> >
> > maybe others can weigh in and discuss some options.
> >
> >
> > -Igor
> >
> >
> > On 5/8/06, Bruno Borges <[EMAIL PROTECTED] > wrote:
> > >
> > > Where are you going to remove an "if check" ? Because I think that
might be a problem if you remove the complete
> > >
> > > public final void mount(String path, IRequestTargetUrlCodingStrategy
encoder) {
> > >         ...
> > >         if (path.equals("/"))
> > >         {
> > >             throw new IllegalArgumentException(
> > >                     "The mount path '/' is reserved for the
application home page");
> > >         }
> > >         ...
> > > }
> > >
> > > from the WebRequestCodingStrategy.
> > >
> > > the patch is to check if the relying IRequestTargetUrlCodingStrategy
encoder is of type PackageRequestTargetUrlCodingStrategy.
If so, leave it do the mount.
> > >
> > >
> > >
> > >
> > > On 5/8/06, Igor Vaynberg <[EMAIL PROTECTED] > wrote:
> > > >
> > > > ok, just wanted to make sure the functionality for routing packages
mounted on / was still working. i think jonathan added that if check because
he was unaware of this usecase. i will clean it up.
> > > >
> > > >
> > > > -Igor
> > > >
> > > >
> > > >
> > > > On 5/8/06, Bruno Borges <[EMAIL PROTECTED] > wrote:
> > > > >
> > > > > Movin to the correct list...
> > > > >
> > > > > I did a change in the line
> > > > >
> > > > >
wicket.protocol.http.request.WebRequestCodingStrategy:258
> > > > >
> > > > > if (path.equals("/") && encoder instanceof
PackageRequestTargetUrlCodingStrategy == false)
> > > > >
> > > > > Looks like everything went fine.
> > > > >
> > > > > But this was a first shot on how to fix the problem. Maybe theres
a better solution.
> > > > >
> > > > >
> > > > >
> > > > > On 5/8/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > can you remove that if statement and see if it works?
> > > > > >
> > > > > >
> > > > > > -Igor
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 5/8/06, Bruno Borges <[EMAIL PROTECTED] > wrote:
> > > > > > >
> > > > > > > And is exactly that. it throws an exception saying that the
path can't be "/". I saw the source and there's an If statement checking for
this.
> > > > > > >
> > > > > > > :)
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 5/8/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > > > > > > >
> > > > > > > > if you are talking about mounting a package on / then you
should be able to do that with something like mount("/",
PackageName.for(Index.class));
> > > > > > > >
> > > > > > > > then if you have an Index.class page in that package it
should be accessible from /site/Index
> > > > > > > >
> > > > > > > > at least i remember i wrote this functionality in because it
was requested before. maybe it got lost with some of the refactorings we
did. if so, then we should fix it.
> > > > > > > >
> > > > > > > >
> > > > > > > > -Igor
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On 5/8/06, Bruno Borges <[EMAIL PROTECTED]> wrote:
> > > > > > > > >
> > > > > > > > > Yeah, it's /site/*, I just cutted off the unnecessary
info. Sorry... :D
> > > > > > > > > So, how about something like:
> > > > > > > > >
> > > > > > > > > mountByClassName(String underPath, PackageName pkg);
> > > > > > > > >
> > > > > > > > > this would be the same as loop through all classes located
under the pkg and create a mounted path with the same name as the class.
> > > > > > > > >
> > > > > > > > > I know this can be done outside Wicket's core API. Just
calling some of the already built-in methods. But it would be nice to have a
shortcut.
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On 5/8/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote:
> > > > > > > > > >
> > > > > > > > > > you cannot mount onto / because that is reserved for the
homepage, so in a way homepage is always mounted on /
> > > > > > > > > >
> > > > > > > > > > if you want to mount something onto /site/index then you
need to mount on /index not /
> > > > > > > > > > mount("/index", Index.class);
> > > > > > > > > >
> > > > > > > > > > btw, your url mapping should be /site/* not just /site
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > -Igor
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On 5/8/06, Bruno Borges < [EMAIL PROTECTED]> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Why can't I mount my pages so they all can be
bookmarkable from "/" ?
> > > > > > > > > > >
> > > > > > > > > > > Just a note: the WicketServlet is under url-pattern =
/site, so my pages would be bookmarkable like "/site/Index".
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > > > Bruno Borges
> > > > > > > > > > > [EMAIL PROTECTED]
> > > > > > > > > > > Sun Certified Java Programmer for 1.4
> > > > > > > > > > > Sun Certified Web Component Developer for 1.4
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Bruno Borges
> > > > > > > > > [EMAIL PROTECTED]
> > > > > > > > > Sun Certified Java Programmer for 1.4
> > > > > > > > > Sun Certified Web Component Developer for 1.4
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Bruno Borges
> > > > > > > [EMAIL PROTECTED]
> > > > > > > Sun Certified Java Programmer for 1.4
> > > > > > > Sun Certified Web Component Developer for 1.4
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Bruno Borges
> > > > > [EMAIL PROTECTED]
> > > > > Sun Certified Java Programmer for 1.4
> > > > > Sun Certified Web Component Developer for 1.4
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Bruno Borges
> > > [EMAIL PROTECTED]
> > > Sun Certified Java Programmer for 1.4
> > > Sun Certified Web Component Developer for 1.4
> >
> >
>
>
>
> --
> Bruno Borges
> [EMAIL PROTECTED]
> Sun Certified Java Programmer for 1.4
> Sun Certified Web Component Developer for 1.4




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to