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]

Reply via email to