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