<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Wicket: Annotation-based Mounting of Resources</title>
	<atom:link href="http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html/feed" rel="self" type="application/rss+xml" />
	<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wicket-annotation-based-mounting-of-resources</link>
	<description>Molindo Techblog – formerly known as talk-on-tech.blogspot.com</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:48:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Matt</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-684</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 03 Feb 2010 03:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-684</guid>
		<description>Stefan,

I think I am going to stay with my builder-wrapper approach for the time being. Extending your class is hard because if I want to add a new public method signature, I&#039;ll need to override every single public method that returns a &quot;this&quot; reference to return the narrower type.

For example, if I want to add a setCssMedia() method (which as far as I can tell is something that ResourceMount does not currently support), my class will look like this:

public class CssResourceMount extends ResourceMount
{
    ...
    public CssResourceMount setCssMedia(String media)
    {
        ...
    }
}

But now if I try to use this new class like this:

new CssResourceMount()
    .setPath(...)
    .setCssMedia(...)

I&#039;ll get this compilation error:

cannot find symbol
symbol  : method setCssMedia(java.lang.String)
location: class org.wicketstuff.mergedresources.ResourceMount

Because setPath() is returning ResourceMount, not CssResourceMount. I&#039;d have to override and redefine setPath() (and every other public method that returns a &quot;this&quot; reference) to have the CssResourceMount return signature.

So yes, I can subclass and override existing methods, but I can&#039;t subclass to effect the public API without a lot of extra work.


Anyway, I like what I see otherwise in 3.0. Don&#039;t let me hold you up. I&#039;ll add JIRA issues later this week for the CSS media and CSS/JS detection enhancements.</description>
		<content:encoded><![CDATA[<p>Stefan,</p>
<p>I think I am going to stay with my builder-wrapper approach for the time being. Extending your class is hard because if I want to add a new public method signature, I&#8217;ll need to override every single public method that returns a &#8220;this&#8221; reference to return the narrower type.</p>
<p>For example, if I want to add a setCssMedia() method (which as far as I can tell is something that ResourceMount does not currently support), my class will look like this:</p>
<p>public class CssResourceMount extends ResourceMount<br />
{<br />
    &#8230;<br />
    public CssResourceMount setCssMedia(String media)<br />
    {<br />
        &#8230;<br />
    }<br />
}</p>
<p>But now if I try to use this new class like this:</p>
<p>new CssResourceMount()<br />
    .setPath(&#8230;)<br />
    .setCssMedia(&#8230;)</p>
<p>I&#8217;ll get this compilation error:</p>
<p>cannot find symbol<br />
symbol  : method setCssMedia(java.lang.String)<br />
location: class org.wicketstuff.mergedresources.ResourceMount</p>
<p>Because setPath() is returning ResourceMount, not CssResourceMount. I&#8217;d have to override and redefine setPath() (and every other public method that returns a &#8220;this&#8221; reference) to have the CssResourceMount return signature.</p>
<p>So yes, I can subclass and override existing methods, but I can&#8217;t subclass to effect the public API without a lot of extra work.</p>
<p>Anyway, I like what I see otherwise in 3.0. Don&#8217;t let me hold you up. I&#8217;ll add JIRA issues later this week for the CSS media and CSS/JS detection enhancements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Fußenegger</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-683</link>
		<dc:creator>Stefan Fußenegger</dc:creator>
		<pubDate>Tue, 02 Feb 2010 21:01:56 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-683</guid>
		<description>Ok</description>
		<content:encoded><![CDATA[<p>Ok</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-682</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Tue, 02 Feb 2010 21:00:42 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-682</guid>
		<description>Thanks, Stefan. This looks good. I will update my code to use your latest changes and also submit a JIRA issue for the JS/CSS detection.

Give me a couple days to test this out; I&#039;ll let you know later this week if I run into any problems that would need to be considered before the 3.0 release.</description>
		<content:encoded><![CDATA[<p>Thanks, Stefan. This looks good. I will update my code to use your latest changes and also submit a JIRA issue for the JS/CSS detection.</p>
<p>Give me a couple days to test this out; I&#8217;ll let you know later this week if I run into any problems that would need to be considered before the 3.0 release.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Fußenegger</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-681</link>
		<dc:creator>Stefan Fußenegger</dc:creator>
		<pubDate>Tue, 02 Feb 2010 11:34:01 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-681</guid>
		<description>@Brandon version 2.1 should soon be available from maven repository at http://wicketstuff.org/maven/repository/org/wicketstuff/wicketstuff-merged-resources/

@Matt I&#039;ve just committed changes to ResourceMount inspired by your ResourceMountBuilder. Actually, I don&#039;t really see the main benefit of using yet another builder around a builder API. It&#039;s best to simply extend ResourceMount if you want to change it&#039;s default behaviour. There are lots of protected methods you may override in order to change the defaults. Additionally, you may use ResourceMount#clone() to reuse configuration of a single ResourceMount for multiple mounts. However, I&#039;ve added a new constructor (ResourceMount(boolean)) and a new method (ResourceMount#build(WebApplication)). Please have a look and tell me what you think. It&#039;s the last change to get any suggestions into version 3.0. Lastly, I&#039;ve used your ResourceBuilderTest as ResourceMount test. The only thing it doesn&#039;t support like your ResourceBuilder is detection of JS and CSS files being added to the same merged resource. If you&#039;d like to see this feature in 3.1, please crate a JIRA issue.

Cheers, Stefan</description>
		<content:encoded><![CDATA[<p>@Brandon version 2.1 should soon be available from maven repository at <a href="http://wicketstuff.org/maven/repository/org/wicketstuff/wicketstuff-merged-resources/" rel="nofollow">http://wicketstuff.org/maven/repository/org/wicketstuff/wicketstuff-merged-resources/</a></p>
<p>@Matt I&#8217;ve just committed changes to ResourceMount inspired by your ResourceMountBuilder. Actually, I don&#8217;t really see the main benefit of using yet another builder around a builder API. It&#8217;s best to simply extend ResourceMount if you want to change it&#8217;s default behaviour. There are lots of protected methods you may override in order to change the defaults. Additionally, you may use ResourceMount#clone() to reuse configuration of a single ResourceMount for multiple mounts. However, I&#8217;ve added a new constructor (ResourceMount(boolean)) and a new method (ResourceMount#build(WebApplication)). Please have a look and tell me what you think. It&#8217;s the last change to get any suggestions into version 3.0. Lastly, I&#8217;ve used your ResourceBuilderTest as ResourceMount test. The only thing it doesn&#8217;t support like your ResourceBuilder is detection of JS and CSS files being added to the same merged resource. If you&#8217;d like to see this feature in 3.1, please crate a JIRA issue.</p>
<p>Cheers, Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Fußenegger</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-680</link>
		<dc:creator>Stefan Fußenegger</dc:creator>
		<pubDate>Sat, 30 Jan 2010 14:32:22 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-680</guid>
		<description>@Brandon this bug was already fixed in latest snapshot.

@Matt looks interesting, especially the test case. I&#039;ll have a closer look next week.

I&#039;ll release versions 2.1 and 3.0 on Monday.

Have a nice weekend!

Cheers, Stefan</description>
		<content:encoded><![CDATA[<p>@Brandon this bug was already fixed in latest snapshot.</p>
<p>@Matt looks interesting, especially the test case. I&#8217;ll have a closer look next week.</p>
<p>I&#8217;ll release versions 2.1 and 3.0 on Monday.</p>
<p>Have a nice weekend!</p>
<p>Cheers, Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-679</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Sat, 30 Jan 2010 04:27:29 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-679</guid>
		<description>Stefan,

I would appreciate a 3.0 release when you have the chance. I&#039;ve only been using merged-resource on small projects, but it has held up well. I am not, however, using the annotation features, as those didn&#039;t seem to fit my coding style.

On a related note, I wrapped your code with a simple helper class of my own that has been working well for my purposes:

http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/main/java/fiftyfive/wicket/resource/MergedResourceBuilder.java

I also figured out how to unit test the merged-resources functionality:

http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/test/java/fiftyfive/wicket/resource/MergedResourceBuilderTest.java

Thought you might be curious...</description>
		<content:encoded><![CDATA[<p>Stefan,</p>
<p>I would appreciate a 3.0 release when you have the chance. I&#8217;ve only been using merged-resource on small projects, but it has held up well. I am not, however, using the annotation features, as those didn&#8217;t seem to fit my coding style.</p>
<p>On a related note, I wrapped your code with a simple helper class of my own that has been working well for my purposes:</p>
<p><a href="http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/main/java/fiftyfive/wicket/resource/MergedResourceBuilder.java" rel="nofollow">http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/main/java/fiftyfive/wicket/resource/MergedResourceBuilder.java</a></p>
<p>I also figured out how to unit test the merged-resources functionality:</p>
<p><a href="http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/test/java/fiftyfive/wicket/resource/MergedResourceBuilderTest.java" rel="nofollow">http://opensource.55minutes.com/svn/java/trunk/fiftyfive-wicket/src/test/java/fiftyfive/wicket/resource/MergedResourceBuilderTest.java</a></p>
<p>Thought you might be curious&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Fuller</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-678</link>
		<dc:creator>Brandon Fuller</dc:creator>
		<pubDate>Sat, 30 Jan 2010 01:16:57 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-678</guid>
		<description>First off, thanks for this package.  It was exactly what I was looking for!  I have everything working just fine on version 2.0.  However, I keep getting serialization errors for your components.  Here is a log:

8:14:25,909 INFO  [STDOUT] 2010-01-29 18:14:25,909 ERROR [org.apache.wicket.util.lang.Objects] - Error serializing object class com.foo.txbu.directory.markup.html.pages.LoginPage [object=[Page class = com.foo.txbu.directory.markup.html.pages.LoginPage, id = 5, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: org.wicketstuff.mergedresources.ResourceSpec
Field hierarchy is:
  5 [class=com.foo.txbu.directory.markup.html.pages.LoginPage, path=5]
    private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
      protected org.apache.wicket.util.collections.MiniMap org.apache.wicket.markup.html.link.BookmarkablePageLink.parameters[5] [class=com.foo.txbu.directory.markup.html.pages.BasePage$11, path=5:linkLogo]
        private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.image.Image, path=5:linkLogo:logo]
          private final org.apache.wicket.markup.html.image.resource.LocalizedImageResource org.apache.wicket.markup.html.image.Image.localizedImageResource [class=org.apache.wicket.markup.html.image.resource.LocalizedImageResource]
            private org.apache.wicket.Resource org.apache.wicket.markup.html.image.resource.LocalizedImageResource.resource [class=org.wicketstuff.mergedresources.resources.CachedResource]
              private final org.wicketstuff.mergedresources.resources.MergedResourceStream org.wicketstuff.mergedresources.resources.MergedResource._mergedResourceStream [class=org.wicketstuff.mergedresources.resources.MergedResourceStream]
                private final org.wicketstuff.mergedresources.ResourceSpec[] org.wicketstuff.mergedresources.resources.MergedResourceStream._specs [class=[Lorg.wicketstuff.mergedresources.ResourceSpec;]
                  private final org.wicketstuff.mergedresources.ResourceSpec[] org.wicketstuff.mergedresources.resources.MergedResourceStream._specs[0] [class=org.wicketstuff.mergedresources.ResourceSpec] &lt;----- field that is not serializable

Any ideas?</description>
		<content:encoded><![CDATA[<p>First off, thanks for this package.  It was exactly what I was looking for!  I have everything working just fine on version 2.0.  However, I keep getting serialization errors for your components.  Here is a log:</p>
<p>8:14:25,909 INFO  [STDOUT] 2010-01-29 18:14:25,909 ERROR [org.apache.wicket.util.lang.Objects] &#8211; Error serializing object class com.foo.txbu.directory.markup.html.pages.LoginPage [object=[Page class = com.foo.txbu.directory.markup.html.pages.LoginPage, id = 5, version = 0]]<br />
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: org.wicketstuff.mergedresources.ResourceSpec<br />
Field hierarchy is:<br />
  5 [class=com.foo.txbu.directory.markup.html.pages.LoginPage, path=5]<br />
    private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]<br />
      protected org.apache.wicket.util.collections.MiniMap org.apache.wicket.markup.html.link.BookmarkablePageLink.parameters[5] [class=com.foo.txbu.directory.markup.html.pages.BasePage$11, path=5:linkLogo]<br />
        private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.image.Image, path=5:linkLogo:logo]<br />
          private final org.apache.wicket.markup.html.image.resource.LocalizedImageResource org.apache.wicket.markup.html.image.Image.localizedImageResource [class=org.apache.wicket.markup.html.image.resource.LocalizedImageResource]<br />
            private org.apache.wicket.Resource org.apache.wicket.markup.html.image.resource.LocalizedImageResource.resource [class=org.wicketstuff.mergedresources.resources.CachedResource]<br />
              private final org.wicketstuff.mergedresources.resources.MergedResourceStream org.wicketstuff.mergedresources.resources.MergedResource._mergedResourceStream [class=org.wicketstuff.mergedresources.resources.MergedResourceStream]<br />
                private final org.wicketstuff.mergedresources.ResourceSpec[] org.wicketstuff.mergedresources.resources.MergedResourceStream._specs [class=[Lorg.wicketstuff.mergedresources.ResourceSpec;]<br />
                  private final org.wicketstuff.mergedresources.ResourceSpec[] org.wicketstuff.mergedresources.resources.MergedResourceStream._specs[0] [class=org.wicketstuff.mergedresources.ResourceSpec] &lt;&#8212;&#8211; field that is not serializable</p>
<p>Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Fußenegger</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-677</link>
		<dc:creator>Stefan Fußenegger</dc:creator>
		<pubDate>Fri, 29 Jan 2010 11:15:51 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-677</guid>
		<description>Hi Matt,

well, actually I planned to release 3.0 for a while. The only problem is that I&#039;m still using 2.x (as I&#039;m currently stuck on Wicket 1.3). 

However, if you think 3.0 works and is ready for prime time, I would release it. Therefore, my idea would be that you keep developing and testing with 3.0-SNAPSHOT, but as soon as your project is ready for production, I will create a release.

If you&#039;re interested in helping with open issues (currently, there aren&#039;t any though), see http://wicketstuff.org/jira/browse/WMR 

Cheers, Stefan</description>
		<content:encoded><![CDATA[<p>Hi Matt,</p>
<p>well, actually I planned to release 3.0 for a while. The only problem is that I&#8217;m still using 2.x (as I&#8217;m currently stuck on Wicket 1.3). </p>
<p>However, if you think 3.0 works and is ready for prime time, I would release it. Therefore, my idea would be that you keep developing and testing with 3.0-SNAPSHOT, but as soon as your project is ready for production, I will create a release.</p>
<p>If you&#8217;re interested in helping with open issues (currently, there aren&#8217;t any though), see <a href="http://wicketstuff.org/jira/browse/WMR" rel="nofollow">http://wicketstuff.org/jira/browse/WMR</a> </p>
<p>Cheers, Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-676</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Thu, 28 Jan 2010 18:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-676</guid>
		<description>Hi Stefan,

I really like what I see with merged-resources 3.0. However I can&#039;t go to production with my code while merged-resources is still a SNAPSHOT.

Do you plan on tagging a release soon?

If there are outstanding issues that need to be wrapped up prior to a release, I may be able to help by contributing to the project. Feel free to email me.</description>
		<content:encoded><![CDATA[<p>Hi Stefan,</p>
<p>I really like what I see with merged-resources 3.0. However I can&#8217;t go to production with my code while merged-resources is still a SNAPSHOT.</p>
<p>Do you plan on tagging a release soon?</p>
<p>If there are outstanding issues that need to be wrapped up prior to a release, I may be able to help by contributing to the project. Feel free to email me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Fußenegger</title>
		<link>http://techblog.molindo.at/2009/10/wicket-annotation-based-mounting-of-resources.html#comment-675</link>
		<dc:creator>Stefan Fußenegger</dc:creator>
		<pubDate>Wed, 02 Dec 2009 08:14:13 +0000</pubDate>
		<guid isPermaLink="false">http://techblog.molindo.at/?p=128#comment-675</guid>
		<description>Hi Oskar,

once again, please send a quick-start (i.e. a small wicket application) that demonstrates your problem. I&#039;ll have a look at it.

Cheers, Stefan</description>
		<content:encoded><![CDATA[<p>Hi Oskar,</p>
<p>once again, please send a quick-start (i.e. a small wicket application) that demonstrates your problem. I&#8217;ll have a look at it.</p>
<p>Cheers, Stefan</p>
]]></content:encoded>
	</item>
</channel>
</rss>

