can you make a test case for this and attach it to an issue in your jira?

I did fix something in RC1 but i don't know if your case is fixed

The problem is that when you get or generate an url from a ResourceReference
first bind() should be called. If that is then a PackageResource then the
ResourceReference
should get the locale of the PackageResource but i see that there could be
some issues with that.

But what doesn't happen is that the headerresponse doesn't call bind() for
us when you add a resource reference
that should also be fixed

johan

On Nov 9, 2007 5:54 PM, German Morales <[EMAIL PROTECTED]> wrote:

> 1.3.0 beta 4
>
> It seems that Johan Compagner wrote:
> > I think i asked this before, but what version of wicket??
> >
> > Normally (in the current wicket 1.3 buids) a ResourceReference to a
> > PackageResource will fallback to the real locale the PackageResource is
> > loaded
> > from after the ResourceReference is binded.
> >
> > johan
> >
> > On Nov 9, 2007 3:34 PM, German Morales <[EMAIL PROTECTED]>
> > wrote:
> >
> >> Yes, at least that's what i see when i ask Firefox to show me the
> source
> >> of the page.
> >>
> >> It seems that Johan Compagner wrote:
> >> > But even with bind() it still shows you the locale in the url?
> >> >
> >> > On Nov 9, 2007 3:22 PM, German Morales <[EMAIL PROTECTED]>
> >> > wrote:
> >> >
> >> >> Hi again,
> >> >>
> >> >> With your solution, the generated HTML now looks this way:
> >> >>
> >> >> <link rel="stylesheet" type="text/css"
> >> >> href="resources/path.to.mypage.MyPage/style_mystyle_mylocale.css" />
> >> >>
> >> >> i don't have style_mystyle_mylocale.css, but only style_mystyle.css
> >> >>
> >> >> But it works!
> >> >>
> >> >> So it seems that wicket later (when the browser asks for the css)
> >> makes
> >> >> the corresponding look up.
> >> >>
> >> >> Thanks a lot!
> >> >>
> >> >> German
> >> >>
> >> >> PS: just for the record (if someone reads this later), there was a
> >> easy
> >> >> typo in the code below. It should be Application.get() and not
> >> >> Application.bind().
> >> >>
> >> >> It seems that Johan Compagner wrote:
> >> >> > no as i said before
> >> >> > you have to create the resourcereference with the locale and the
> >> >> style.
> >> >> > Those are not automatically picked up from the session. If you
> >> don't
> >> >> give
> >> >> > them in the constructor
> >> >> > then both are just null
> >> >> >
> >> >> > What you could do is this:
> >> >> >
> >> >> > ResourceReference reference = new ResourceReference(MyPage.class,
> >> >> > "style.css",
> >> >> > locale,style);
> >> >> > reference.bind(Application.bind());
> >> >> > cResponse.getHeaderResponse().renderCSSReference(reference);
> >> >> > johan
> >> >> >
> >> >> >
> >> >> >
> >> >> > On Nov 9, 2007 1:55 PM, German Morales
> >> <[EMAIL PROTECTED]>
> >> >> > wrote:
> >> >> >
> >> >> >> version 1.3.0-beta4.
> >> >> >>
> >> >> >> I insist that the problem must be something different, perhaps in
> >> the
> >> >> >> way
> >> >> >> i pretend it to work. I know about the ResourceStreamLocator, and
> >> as
> >> >> i
> >> >> >> tell it works perfectly for the HTML. The difference is that from
> >> my
> >> >> >> class
> >> >> >> the framework looks automatically for the corresponding HTML, but
> >> how
> >> >> >> should it work for the CSS?
> >> >> >>
> >> >> >> Should i declare it in the code?
> >> >> >>
> >> >> >>   // on renderHead
> >> >> >>   cResponse.getHeaderResponse().renderCSSReference(new
> >> >> >> ResourceReference(MyPage.class, "style.css"));
> >> >> >>
> >> >> >> or how?
> >> >> >>
> >> >> >> What i'm doing is very simple... i'm forcing (for testing) a call
> >> to
> >> >> >> Session.setStyle("whatever"), then i have MyPage.html and
> >> >> >> MyPage_whatever.html (which works fine) and then style.css and
> >> >> >> style_whatever.css (which i expect to be used thanks to the code
> >> >> above).
> >> >> >>
> >> >> >> But when i see the generated html, it comes with the content of
> >> >> >> MyPage_whatever.html, but the header is generated this way:
> >> >> >>
> >> >> >> <link rel="stylesheet" type="text/css"
> >> >> >> href="resources/path.to.mypage.MyPage/style.css" />
> >> >> >>
> >> >> >> that is, not pointint to style_whatever.css as i expect.
> >> >> >>
> >> >> >> Thanks for the support,
> >> >> >>
> >> >> >> German
> >> >> >>
> >> >> >>
> >> >> >> It seems that Johan Compagner wrote:
> >> >> >> > it should fallback just fine..
> >> >> >> > what version of wicket are you using?
> >> >> >> >
> >> >> >> > Because in the ResourceStreamLocator we do now this:
> >> >> >> >
> >> >> >> > public IResourceStream locate(final Class clazz, String path,
> >> final
> >> >> >> String
> >> >> >> > style,
> >> >> >> >    final Locale locale, final String extension)
> >> >> >> >  {
> >> >> >> >   // Try the various combinations of style, locale and
> extension
> >> to
> >> >> >> find
> >> >> >> >   // the resource.
> >> >> >> >   ResourceNameIterator iter = new ResourceNameIterator(path,
> >> style,
> >> >> >> > locale,
> >> >> >> > extension);
> >> >> >> >   while (iter.hasNext())
> >> >> >> >   {
> >> >> >> >    String newPath = (String)iter.next();
> >> >> >> >    IResourceStream stream = locate(clazz, newPath);
> >> >> >> >    if (stream != null)
> >> >> >> >    {
> >> >> >> >     stream.setLocale(iter.getLocale());
> >> >> >> >     return stream;
> >> >> >> >    }
> >> >> >> >   }
> >> >> >> >   return null;
> >> >> >> >  }
> >> >> >> >
> >> >> >> > johan
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > On Nov 9, 2007 1:11 PM, German Morales
> >> >> <[EMAIL PROTECTED]>
> >> >> >> > wrote:
> >> >> >> >
> >> >> >> >> Hi again,
> >> >> >> >>
> >> >> >> >> Also, the problem is not giving the parameters to the
> >> >> >> >> ResourceReferences,
> >> >> >> >> if i call the full constructor then the ResourceReference
> >> works,
> >> >> but
> >> >> >> the
> >> >> >> >> problem is that it does not make a look up to see what's
> >> >> available,
> >> >> >> it
> >> >> >> >> just goes for the full thing. So, if i call the constructor
> >> with
> >> >> the
> >> >> >> >> session locale and style, what it does is search for the file
> >> >> >> >> style_mystyle_mylocale.css. This is not my intention, what i
> >> want
> >> >> it
> >> >> >> >> that
> >> >> >> >> that the framework searches for the
> style_mystyle_mylocale.css,
> >> >> then
> >> >> >> if
> >> >> >> >> not found fall back to style_mystyle.css, style_mylocale.css,
> >> >> >> style.css
> >> >> >> >> and so on (i'm not sure of the exact order of look up). So,
> >> >> modifying
> >> >> >> >> the
> >> >> >> >> constructor or passing the full parameters is not the
> solution,
> >> i
> >> >> >> think.
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> Regards,
> >> >> >> >>
> >> >> >> >> German
> >> >> >> >>
> >> >> >> >> It seems that Johan Compagner wrote:
> >> >> >> >>  > if you are creating your own ResourceReferences then you
> >> have
> >> >> to
> >> >> >> give
> >> >> >> >> the
> >> >> >> >> > style and locale to them
> >> >> >> >> > We could enhance the constructors that it does
> >> >> >> >> Session.get().getLocale()
> >> >> >> >> > and
> >> >> >> >> > Session.get().getStyle()
> >> >> >> >> > if you dont give them..
> >> >> >> >> >
> >> >> >> >> > johan
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > On Nov 9, 2007 10:27 AM, German Morales
> >> >> >> <[EMAIL PROTECTED]>
> >> >> >> >> > wrote:
> >> >> >> >> >
> >> >> >> >> >> Hi,
> >> >> >> >> >>
> >> >> >> >> >> I was thinking (as a last hope) that if this works for the
> >> >> HTMLs,
> >> >> >> i
> >> >> >> >> >> could
> >> >> >> >> >> provide different HTMLs that point internally to different
> >> >> CSSs,
> >> >> >> and
> >> >> >> >> it
> >> >> >> >> >> should work. But that would be duplicating the HTML just to
> >> >> have
> >> >> >> the
> >> >> >> >> CSS
> >> >> >> >> >> changed, and then it's not a good idea.
> >> >> >> >> >>
> >> >> >> >> >> Perhaps someone can tell me an official way to have
> >> localized
> >> >> and
> >> >> >> >> styled
> >> >> >> >> >> CSSs, the wicket way?
> >> >> >> >> >>
> >> >> >> >> >> Thanks again,
> >> >> >> >> >>
> >> >> >> >> >> German
> >> >> >> >> >>
> >> >> >> >> >> It seems that German Morales wrote:
> >> >> >> >> >> > Hi,
> >> >> >> >> >> >
> >> >> >> >> >> > I use it inside a page.
> >> >> >> >> >> >
> >> >> >> >> >> > I've tried...
> >> >> >> >> >> >
> >> >> >> >> >> >    // inside the page constructor
> >> >> >> >> >> >    add(HeaderContributor.forCss(new
> >> >> >> ResourceReference(MyPage.class
> >> >> >> ,
> >> >> >> >> >> > "style.css")));
> >> >> >> >> >> >
> >> >> >> >> >> > and
> >> >> >> >> >> >
> >> >> >> >> >> >    // inside renderHead
> >> >> >> >> >> >    cResponse.getHeaderResponse().renderCSSReference(new
> >> >> >> >> >> > ResourceReference(MyPage.class, "style.css"));
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> > And I don't want to set the style and locale explicitely.
> >> >> What
> >> >> i
> >> >> >> >> want
> >> >> >> >> >> is
> >> >> >> >> >> > to deliver the application to a customer, and, if he
> >> wants,
> >> >> he
> >> >> >> adds
> >> >> >> >> >> the
> >> >> >> >> >> > customized page for a locale or style by itself (he could
> >> set
> >> >> >> the
> >> >> >> >> >> style
> >> >> >> >> >> > with a parameter or whatever). And as far as i understand
> >> the
> >> >> >> >> wicket
> >> >> >> >> >> > approach, that's how it should work automatically. In
> fact
> >> it
> >> >> >> works
> >> >> >> >> >> > perfecly when i do it for the html of the same page. The
> >> >> >> difference
> >> >> >> >> is
> >> >> >> >> >> > that the html is handled in other way (the framework does
> >> it)
> >> >> >> and
> >> >> >> >> when
> >> >> >> >> >> i
> >> >> >> >> >> > try to do it for the CSS of the page i do it (and it
> >> doesn't
> >> >> >> work).
> >> >> >> >> So
> >> >> >> >> >> > there must be something i'm not doing properly.
> >> >> >> >> >> >
> >> >> >> >> >> > Or, how should be the way to provide styled CSSs, there
> is
> >> >> >> another
> >> >> >> >> >> > aproach?
> >> >> >> >> >> >
> >> >> >> >> >> > thanks and bye,
> >> >> >> >> >> >
> >> >> >> >> >> > German
> >> >> >> >> >> >
> >> >> >> >> >> > It seems that Eelco Hillenius wrote:
> >> >> >> >> >> >>> The problem is that the file is there... just that it
> >> >> doesn't
> >> >> >> >> seem
> >> >> >> >> >> to
> >> >> >> >> >> >>> be
> >> >> >> >> >> >>> looking for it.
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> If i force the full constructor:
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> new ResourceReference(MyPage.class, "style.css",
> >> >> getLocale(),
> >> >> >> >> >> >>> getStyle())
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> all works, so the file is correcly found and the name
> is
> >> >> >> correct.
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> The problem is when i don't set the locale and style
> >> >> >> explicitely
> >> >> >> >> (as
> >> >> >> >> >> it
> >> >> >> >> >> >>> is
> >> >> >> >> >> >>> supposed to be done):
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> new ResourceReference(MyPage.class, "style.css")
> >> >> >> >> >> >>>
> >> >> >> >> >> >>> then it doesn't find the file. Actually i think it
> >> doesn't
> >> >> >> even
> >> >> >> >> try
> >> >> >> >> >> to
> >> >> >> >> >> >>> find it, since as i mention i put a breakpoint in
> >> >> >> >> >> >>> ResourceReference#setStyle() and nobody is calling it.
> >> So
> >> >> >> later
> >> >> >> >> >> >>> internal
> >> >> >> >> >> >>> code to load the resource uses style and locale with
> >> null
> >> >> >> values.
> >> >> >> >> >> >>
> >> >> >> >> >> >> How do you use the resource reference? I think the class
> >> was
> >> >> >> >> designed
> >> >> >> >> >> >> in such a way that the components that use it (Image for
> >> >> >> instance)
> >> >> >> >> >> are
> >> >> >> >> >> >> responsible for setting the appropriate locale/ style
> >> 'just
> >> >> in
> >> >> >> >> time',
> >> >> >> >> >> >> so that switching locales etc works.
> >> >> >> >> >> >>
> >> >> >> >> >> >> Eelco
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> >> >> >> >> To unsubscribe, e-mail:
> >> [EMAIL PROTECTED]
> >> >> >> >> >> >> For additional commands, e-mail:
> >> >> [EMAIL PROTECTED]
> >> >> >> >> >> >>
> >> >> >> >> >> >>
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >>
> >> ---------------------------------------------------------------------
> >> >> >> >> >> > To unsubscribe, e-mail:
> >> [EMAIL PROTECTED]
> >> >> >> >> >> > For additional commands, e-mail:
> >> [EMAIL PROTECTED]
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >>
> >> ---------------------------------------------------------------------
> >> >> >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> >> >> >> For additional commands, e-mail:
> >> [EMAIL PROTECTED]
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> >> >>  To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >> >> >>
> >> >> >> >>
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> ---------------------------------------------------------------------
> >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >> >>
> >> >> >>
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >>
> >> >
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >>  To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to