yes you should also do the caching then. But that is the response ability of the subclass. if you want caching support for removing the cache. Then we could make an invalidate() method on DynamicImageResource
that you can implement if you want.

Gili wrote:

This isn't enough. You want to cache the resulting data because it is expensive to generate. All in all, the StreamedImageResource I sent consists of as many lines of code as either BufferedImageResource or RenderedImageResource and it has a decent use-case. I'm pretty sure that anyone who stores their dynamic images outside of memory will want to use this.

Gili

Johan Compagner wrote:
just subclass DynamicImageResource
and implement getImageData() (where you acccess the db to get the byte[])



Gili wrote:


    On a related topic...

I'm retrieving DynamicImageResources (images) from the DB and I want to render them... now, I can't use BufferedDynamicImageResource because I wish for the images to be lazily initialized (they're large) and I can't use RenderedDynamicImageResource because I don't know their dimensions ahead of time (again, I don't want to poll the DB until I have to).

A while back I asked Jon to add a DynamicImageResource that would allow me to do something like this and I guess back then I didn't have a good use-case but now I think I do. If I create a new type of DynamicImageResource to meet these requirements, would you consider adding it to core?

It would basically be a DynamicImageResource whose getImageData() must be overriden (to render the image lazily) but it caches the resulting data so it doesn't need to be re-rendered on future hits. This is a hybrid of the two preexisting DynamicImageResources. What do you think?

Gili

Gili wrote:


    You are right. Thank you for clarifying :)

Gili

Johan Compagner wrote:

because rendered can be re rendered when the image data is null
Buffered can't that just holds the array. And flushing or making it transient doesn't make any sense
Because it can never generate it again..

johan


Gili wrote:

Hi,

Why is RenderedDynamicImageResource's data transient but BufferedDynamicImageResource's data not?

Gili





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to