You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Peter Ertl (JIRA)" <ji...@apache.org> on 2007/09/14 12:27:32 UTC
[jira] Updated: (WICKET-974) Image#getResource always returns null
even if there is a resource
[ https://issues.apache.org/jira/browse/WICKET-974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Ertl updated WICKET-974:
------------------------------
Attachment: image.patch
> Image#getResource always returns null even if there is a resource
> -----------------------------------------------------------------
>
> Key: WICKET-974
> URL: https://issues.apache.org/jira/browse/WICKET-974
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Reporter: Peter Ertl
> Attachments: image.patch
>
>
> When trying to implement a subclass of org.apache.wicket.markup.html.image that automatically shows/hides (using isVisible) depending on if there is image data to show I stumbled upon the following:
> /**
> * @return Resource returned from subclass
> */
> protected Resource getImageResource()
> {
> return null;
> }
> the same for
> /**
> * @return ResourceReference returned from subclass
> */
> protected ResourceReference getImageResourceReference()
> {
> return null;
> }
> this is confusing and the javadoc should be more verbose on the intention that caused this design.
> due to the fact that
>
> private final LocalizedImageResource localizedImageResource = new LocalizedImageResource(this);
> is private and not protected there is no way except overriding all the setters
> public void setImageResource(final Resource imageResource)
> public void setImageResourceReference(final ResourceReference resourceReference)
> public void setImageResourceReference(final ResourceReference resourceReference, final ValueMap parameters)
> public Component setModel(IModel model)
> to detect if the image is 'blank' (having no src attribute) or has some data.
> I think it would make sense to add
> protected final LocalizedImageResource getLocalizedImageResource()
> {
> return this.localizedImageResource;
> }
> So it's easy to implement something like this:
> Image imageTag = new Image("test")
> {
> public boolean isVisible()
> {
> return getLocalizedImageResource() != null;
> }
> };
> add(imageTag);
> if(database.has.image.for.product)
> {
> imageTag.setImageResource(......);
> }
> // if product has no image the image tag is not rendered
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.