if you do not want the markup to be cached you have to also implement IMarkupCacheKeyProvider. returning null from getcachekey will prevent wicket from caching the markup.
-igor On Wed, May 14, 2008 at 5:42 AM, Eyal Golan <[EMAIL PROTECTED]> wrote: > Hi, > I tried implementing the IMarkupResourceStreamProvider in my web page: > public IResourceStream getMarkupResourceStream(MarkupContainer > container, > Class containerClass) { > if (html != null) { > StringResourceStream myhtml = new StringResourceStream(new > StringBuilder(html)); > MarkupResourceStream m = new MarkupResourceStream(myhtml); > return m; > } else { > final DefaultMarkupResourceStreamProvider > markupResourceStreamProvider = > new DefaultMarkupResourceStreamProvider(); > return > markupResourceStreamProvider.getMarkupResourceStream(container, > containerClass); > } > } > > (html is a class member that may or may not be available) > > It did not work: > 1. The Cache keeps the last html markup, so if I open this page once WITH > html != null I get what I want (but with the same problem. look at next > note). If then I open the page and the html IS null, the cache returns the > earlier page. So this approach is no good. > > 2. In any case, HeaderContributers that are on components that in the page > are not added to the output markup. > > Are the 2 lines: > StringResourceStream myhtml = new StringResourceStream(new > StringBuilder(html)); > MarkupResourceStream m = new MarkupResourceStream(myhtml); > The problem ? > > Thanks > > On Thu, May 8, 2008 at 6:41 AM, Igor Vaynberg <[EMAIL PROTECTED]> > wrote: > >> you shouldnt be overriding that method, try implementing >> IMarkupResourceStreamProvider instead. >> >> -igor >> >> >> On Tue, May 6, 2008 at 11:20 PM, Eyal Golan <[EMAIL PROTECTED]> wrote: >> > ok, maybe I wasn't clear enough. >> > The simple question is, why the add(HeaderContributor.forCss...)); >> > is not added to the output markup when I override >> getAssociatedMarkupStream? >> > >> > Thanks >> > >> > >> > >> > On Tue, May 6, 2008 at 4:08 PM, Eyal Golan <[EMAIL PROTECTED]> wrote: >> > >> > > Hi all, >> > > We have this method: >> > > @Override >> > > public MarkupStream getAssociatedMarkupStream(final boolean >> > > throwException) >> > > { >> > > if(html != null) { >> > > return GUIUtis.getMarkupStream(this, html); >> > > } >> > > return super.getAssociatedMarkupStream(throwException); >> > > } >> > > >> > > and: >> > > static public MarkupStream getMarkupStream(Page page,String >> htmlText){ >> > > try >> > > { >> > > StringResourceStream myhtml = new StringResourceStream(new >> > > StringBuilder(htmlText)); >> > > MarkupResourceStream m = new MarkupResourceStream(myhtml); >> > > Markup myMarkup = >> > > >> page.getApplication().getMarkupSettings().getMarkupParserFactory().newMarkupParser(m).parse(); >> > > MarkupStream markupStream = new MarkupStream(myMarkup); >> > > return markupStream; >> > > } >> > > catch (Exception ex) >> > > { >> > > throw new RuntimeException("Fail to parse >> > > markup:\n"+htmlText); >> > > } >> > > } >> > > >> > > The problem: >> > > When the html is not null (and we enter GUIUtis.getMarkupStream), >> > > css that where added using HeaderContributer are not added to the >> output >> > > HTML markup. >> > > I have something like this in a component: >> > > add(HeaderContributor.forCss(EurekifyButton.class, >> "EurekifyButton.css")); >> > > The css is missing. >> > > >> > > I can't change the usage of getAssociatedMarkupStream to use variation >> or >> > > something like this. >> > > >> > > any thought? >> > > -- >> > > Eyal Golan >> > > [EMAIL PROTECTED] >> > > >> > > Visit: http://jvdrums.sourceforge.net/ >> > >> > >> > >> > >> > -- >> > Eyal Golan >> > [EMAIL PROTECTED] >> > >> > Visit: http://jvdrums.sourceforge.net/ >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Eyal Golan > [EMAIL PROTECTED] > > Visit: http://jvdrums.sourceforge.net/ > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]