You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2014/03/30 20:06:19 UTC

svn commit: r1583171 [3/3] - in /wicket/common/site/trunk/_site/guide: ./ gapi/DefaultPackage/ gapi/spring/ guide/ guide/grails-app/conf/ guide/pages/ guide/src/docs/guide/resources/

Modified: wicket/common/site/trunk/_site/guide/guide/pages/urls_7.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/urls_7.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/urls_7.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/urls_7.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>10.7 Summary - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_1.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>8.1 Stateful pages vs stateless - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_2.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>8.2 Stateful pages - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_3.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>8.3 Stateless pages - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/versioningCaching_4.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>8.4 Summary - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_1.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>3.1 We all like spaghetti :-) ... - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_2.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>3.2 Component oriented frameworks - an overview - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_3.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>3.3 Benefits of component oriented frameworks for web development - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/whyLearn_4.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>3.4 Wicket vs the other component oriented frameworks - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_1.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_1.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_1.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_1.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.1 What is project WicketStuff - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_2.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_2.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_2.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_2.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.2 Module tinymce - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_3.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_3.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_3.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_3.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.3 Module wicketstuff-gmap3 - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_4.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_4.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_4.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_4.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.4 Module wicketstuff-googlecharts - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_5.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_5.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_5.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_5.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.5 Module wicketstuff-inmethod-grid - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_6.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_6.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_6.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/pages/wicketstuff_6.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26.6 Module wicketstuff-rest-annotations - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/redirects.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/redirects.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/redirects.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/redirects.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>27 Lost In Redirection With Apache Wicket (Appendix) - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/repeaters.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/repeaters.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/repeaters.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/repeaters.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>13 Displaying multiple items with repeaters - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/requestProcessing.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/requestProcessing.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/requestProcessing.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/requestProcessing.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>9 Under the hood of the request processing - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/resources.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/resources.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/resources.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/resources.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>15 Resource management with Wicket - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 
@@ -339,11 +339,28 @@ Starting from version 6.15.0 we can spec
 
 
 <h2 id="resources_9">15.9 Custom resources</h2>
-<p class="paragraph"/>Starting from version 6.15.0 we can specify where header contributors must be rendered inside &#60;head&#62; tag using the placeholder tag <code>&#60;wicket:header-items/&#62;</code>:<p class="paragraph"/><div class="code"><pre>&#60;head&#62;
-  &#60;meta chartset=<span class="java&#45;quote">"UTF&#45;8"</span>/&#62;
-  &#60;wicket:header&#45;items/&#62;
-  &#60;script src=<span class="java&#45;quote">"my&#45;monkey&#45;patch&#45;of&#45;wicket&#45;ajax.js"</span>&#62;&#60;/script&#62;
-&#60;/head&#62;</pre></div><p class="paragraph"/>With the code above all header contributions done by using IHeaderResponse in your Java code or the special <code>&#60;wicket:head&#62;</code> tag will be put between the &#60;meta&#62; and &#60;script&#62; elements, i.e. in the place of <code>&#60;wicket:header-items/&#62;</code>.<p class="paragraph"/>This way you can make sure that some header item is always before or after the header items managed by Wicket.<p class="paragraph"/><code>&#60;wicket:header-items/&#62;</code> can be used only in the page's &#60;head&#62; element and there could be at most one instance of it.
+<p class="paragraph"/>In Wicket the best way to add dynamic functionalities to our application (such as csv export, a pdf generated on the fly, etc...) is implementing a custom resource. In this paragraph as example of custom resource we will build a basic RSS feeds generator which can be used to publish feeds on our site (project CustomResourceMounting). Instead of generating a RSS feed by hand we will use Rome framework and its utility classes.<p class="paragraph"/>As hinted above in paragraph 13.1, class <code>AbstractResource</code> can be used as base class to implement new resources. This class defines abstract method <code>newResourceResponse</code> which is invoked when the resource is requested. The following is the code of our RSS feeds generator:<p class="paragraph"/><div class="code"><pre><span class="java&#45;keyword">public</span> class RSSProducerResource <span class="java&#45;keyword">extends</span> AbstractResource &#123;<p class="paragraph"/>  @Override
+  <span class="java&#45;keyword">protected</span> ResourceResponse newResourceResponse(Attributes attributes) &#123;
+    ResourceResponse resourceResponse = <span class="java&#45;keyword">new</span> ResourceResponse();
+    resourceResponse.setContentType(<span class="java&#45;quote">"text/xml"</span>);
+    resourceResponse.setTextEncoding(<span class="java&#45;quote">"utf&#45;8"</span>);<p class="paragraph"/>    resourceResponse.setWriteCallback(<span class="java&#45;keyword">new</span> WriteCallback()
+    &#123;
+      @Override
+      <span class="java&#45;keyword">public</span> void writeData(Attributes attributes) <span class="java&#45;keyword">throws</span> IOException
+      &#123;
+        OutputStream outputStream = attributes.getResponse().getOutputStream();
+        Writer writer = <span class="java&#45;keyword">new</span> OutputStreamWriter(outputStream);
+        SyndFeedOutput output = <span class="java&#45;keyword">new</span> SyndFeedOutput();
+            <span class="java&#45;keyword">try</span> &#123;
+          output.output(getFeed(), writer);
+        &#125; <span class="java&#45;keyword">catch</span> (FeedException e) &#123;
+          <span class="java&#45;keyword">throw</span> <span class="java&#45;keyword">new</span> WicketRuntimeException(<span class="java&#45;quote">"Problems writing feed to response..."</span>);
+        &#125;
+      &#125;      
+    &#125;);<p class="paragraph"/>    <span class="java&#45;keyword">return</span> resourceResponse;
+  &#125;
+  // method getFeed()&#8230;
+&#125;</pre></div><p class="paragraph"/>Method <code>newResourceResponse</code> returns an instance of <code>ResourceResponse</code> representing the response generated by the custom resource. Since RSS feeds are based on XML, in the code above we have set the type of the response to text/xml and the text encoding to utf-8.<p class="paragraph"/>To specify the content that will be returned by our resource we must also provide an implementation of inner class <code>WriteCallback</code> which is responsible for writing content data to response's output stream. In our project we used class SyndFeedOutput from Rome framework to write our feed to response. Method <code>getFeed()</code> is just an utility method that generates a sample RSS feed (which is an instance of interface <code>com.sun.syndication.feed.synd.SyndFeed</code>).<p class="paragraph"/>Now that we have our custom resource in place, we can use it in the home page of the project. The easiest way to make a resource available 
 to users is to expose it with link component <code>ResourceLink</code>:<p class="paragraph"/><div class="code"><pre>add(<span class="java&#45;keyword">new</span> ResourceLink(<span class="java&#45;quote">"rssLink"</span>, <span class="java&#45;keyword">new</span> RSSProducerResource()));</pre></div><p class="paragraph"/>In the next paragraphs we will see how to register a resource at application-level and how to mount it to an arbitrary URL.
 
 
 <h2 id="resources_10">15.10 Mounting resources</h2>

Modified: wicket/common/site/trunk/_site/guide/guide/security.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/security.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/security.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/security.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>21 Security with Wicket - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/single.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/single.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/single.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/single.html Sun Mar 30 18:06:15 2014
@@ -109,7 +109,7 @@ function addJsClass(el) {
 
                         <div class="project">
                             <h1>Apache Wicket User Guide - Reference Documentation</h1>
-                            <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                            <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
                             <p><strong>Version:</strong> 6.x</p>
                             
                         </div>
@@ -2636,11 +2636,28 @@ Starting from version 6.15.0 we can spec
 
 
 <h2 id="resources_9">15.9 Custom resources</h2>
-<p class="paragraph"/>Starting from version 6.15.0 we can specify where header contributors must be rendered inside &#60;head&#62; tag using the placeholder tag <code>&#60;wicket:header-items/&#62;</code>:<p class="paragraph"/><div class="code"><pre>&#60;head&#62;
-  &#60;meta chartset=<span class="java&#45;quote">"UTF&#45;8"</span>/&#62;
-  &#60;wicket:header&#45;items/&#62;
-  &#60;script src=<span class="java&#45;quote">"my&#45;monkey&#45;patch&#45;of&#45;wicket&#45;ajax.js"</span>&#62;&#60;/script&#62;
-&#60;/head&#62;</pre></div><p class="paragraph"/>With the code above all header contributions done by using IHeaderResponse in your Java code or the special <code>&#60;wicket:head&#62;</code> tag will be put between the &#60;meta&#62; and &#60;script&#62; elements, i.e. in the place of <code>&#60;wicket:header-items/&#62;</code>.<p class="paragraph"/>This way you can make sure that some header item is always before or after the header items managed by Wicket.<p class="paragraph"/><code>&#60;wicket:header-items/&#62;</code> can be used only in the page's &#60;head&#62; element and there could be at most one instance of it.
+<p class="paragraph"/>In Wicket the best way to add dynamic functionalities to our application (such as csv export, a pdf generated on the fly, etc...) is implementing a custom resource. In this paragraph as example of custom resource we will build a basic RSS feeds generator which can be used to publish feeds on our site (project CustomResourceMounting). Instead of generating a RSS feed by hand we will use Rome framework and its utility classes.<p class="paragraph"/>As hinted above in paragraph 13.1, class <code>AbstractResource</code> can be used as base class to implement new resources. This class defines abstract method <code>newResourceResponse</code> which is invoked when the resource is requested. The following is the code of our RSS feeds generator:<p class="paragraph"/><div class="code"><pre><span class="java&#45;keyword">public</span> class RSSProducerResource <span class="java&#45;keyword">extends</span> AbstractResource &#123;<p class="paragraph"/>  @Override
+  <span class="java&#45;keyword">protected</span> ResourceResponse newResourceResponse(Attributes attributes) &#123;
+    ResourceResponse resourceResponse = <span class="java&#45;keyword">new</span> ResourceResponse();
+    resourceResponse.setContentType(<span class="java&#45;quote">"text/xml"</span>);
+    resourceResponse.setTextEncoding(<span class="java&#45;quote">"utf&#45;8"</span>);<p class="paragraph"/>    resourceResponse.setWriteCallback(<span class="java&#45;keyword">new</span> WriteCallback()
+    &#123;
+      @Override
+      <span class="java&#45;keyword">public</span> void writeData(Attributes attributes) <span class="java&#45;keyword">throws</span> IOException
+      &#123;
+        OutputStream outputStream = attributes.getResponse().getOutputStream();
+        Writer writer = <span class="java&#45;keyword">new</span> OutputStreamWriter(outputStream);
+        SyndFeedOutput output = <span class="java&#45;keyword">new</span> SyndFeedOutput();
+            <span class="java&#45;keyword">try</span> &#123;
+          output.output(getFeed(), writer);
+        &#125; <span class="java&#45;keyword">catch</span> (FeedException e) &#123;
+          <span class="java&#45;keyword">throw</span> <span class="java&#45;keyword">new</span> WicketRuntimeException(<span class="java&#45;quote">"Problems writing feed to response..."</span>);
+        &#125;
+      &#125;      
+    &#125;);<p class="paragraph"/>    <span class="java&#45;keyword">return</span> resourceResponse;
+  &#125;
+  // method getFeed()&#8230;
+&#125;</pre></div><p class="paragraph"/>Method <code>newResourceResponse</code> returns an instance of <code>ResourceResponse</code> representing the response generated by the custom resource. Since RSS feeds are based on XML, in the code above we have set the type of the response to text/xml and the text encoding to utf-8.<p class="paragraph"/>To specify the content that will be returned by our resource we must also provide an implementation of inner class <code>WriteCallback</code> which is responsible for writing content data to response's output stream. In our project we used class SyndFeedOutput from Rome framework to write our feed to response. Method <code>getFeed()</code> is just an utility method that generates a sample RSS feed (which is an instance of interface <code>com.sun.syndication.feed.synd.SyndFeed</code>).<p class="paragraph"/>Now that we have our custom resource in place, we can use it in the home page of the project. The easiest way to make a resource available 
 to users is to expose it with link component <code>ResourceLink</code>:<p class="paragraph"/><div class="code"><pre>add(<span class="java&#45;keyword">new</span> ResourceLink(<span class="java&#45;quote">"rssLink"</span>, <span class="java&#45;keyword">new</span> RSSProducerResource()));</pre></div><p class="paragraph"/>In the next paragraphs we will see how to register a resource at application-level and how to mount it to an arbitrary URL.
 
 
 <h2 id="resources_10">15.10 Mounting resources</h2>

Modified: wicket/common/site/trunk/_site/guide/guide/single.pdf
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/single.pdf?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
Binary files - no diff available.

Modified: wicket/common/site/trunk/_site/guide/guide/src/docs/guide/resources/resources_9.gdoc
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/src/docs/guide/resources/resources_9.gdoc?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/src/docs/guide/resources/resources_9.gdoc (original)
+++ wicket/common/site/trunk/_site/guide/guide/src/docs/guide/resources/resources_9.gdoc Sun Mar 30 18:06:15 2014
@@ -1,17 +1,48 @@
 
 
-Starting from version 6.15.0 we can specify where header contributors must be rendered inside <head> tag using the placeholder tag @<wicket:header-items/>@: 
+In Wicket the best way to add dynamic functionalities to our application (such as csv export, a pdf generated on the fly, etc...) is implementing a custom resource. In this paragraph as example of custom resource we will build a basic RSS feeds generator which can be used to publish feeds on our site (project CustomResourceMounting). Instead of generating a RSS feed by hand we will use Rome framework and its utility classes. 
 
-{code:html}
-<head>
-  <meta chartset="UTF-8"/>
-  <wicket:header-items/>
-  <script src="my-monkey-patch-of-wicket-ajax.js"></script>
-</head>
+As hinted above in paragraph 13.1, class @AbstractResource@ can be used as base class to implement new resources. This class defines abstract method @newResourceResponse@ which is invoked when the resource is requested. The following is the code of our RSS feeds generator:
+
+{code}
+public class RSSProducerResource extends AbstractResource {
+
+  @Override
+  protected ResourceResponse newResourceResponse(Attributes attributes) {
+    ResourceResponse resourceResponse = new ResourceResponse();
+    resourceResponse.setContentType("text/xml");
+    resourceResponse.setTextEncoding("utf-8");
+    
+    resourceResponse.setWriteCallback(new WriteCallback()
+    {
+      @Override
+      public void writeData(Attributes attributes) throws IOException
+      {
+        OutputStream outputStream = attributes.getResponse().getOutputStream();
+        Writer writer = new OutputStreamWriter(outputStream);
+        SyndFeedOutput output = new SyndFeedOutput();
+            try {
+          output.output(getFeed(), writer);
+        } catch (FeedException e) {
+          throw new WicketRuntimeException("Problems writing feed to response...");
+        }
+      }      
+    });
+    
+    return resourceResponse;
+  }
+  // method getFeed()...
+}
 {code}
 
-With the code above all header contributions done by using IHeaderResponse in your Java code or the special @<wicket:head>@ tag will be put between the <meta> and <script> elements, i.e. in the place of @<wicket:header-items/>@.
+Method @newResourceResponse@ returns an instance of @ResourceResponse@ representing the response generated by the custom resource. Since RSS feeds are based on XML, in the code above we have set the type of the response to text/xml and the text encoding to utf-8.
+
+To specify the content that will be returned by our resource we must also provide an implementation of inner class @WriteCallback@ which is responsible for writing content data to response's output stream. In our project we used class SyndFeedOutput from Rome framework to write our feed to response. Method @getFeed()@ is just an utility method that generates a sample RSS feed (which is an instance of interface @com.sun.syndication.feed.synd.SyndFeed@).
 
-This way you can make sure that some header item is always before or after the header items managed by Wicket.
+Now that we have our custom resource in place, we can use it in the home page of the project. The easiest way to make a resource available to users is to expose it with link component @ResourceLink@: 
+
+{code}
+add(new ResourceLink("rssLink", new RSSProducerResource()));
+{code}
 
-@<wicket:header-items/>@ can be used only in the page's <head> element and there could be at most one instance of it.
\ No newline at end of file
+In the next paragraphs we will see how to register a resource at application-level and how to mount it to an arbitrary URL.
\ No newline at end of file

Modified: wicket/common/site/trunk/_site/guide/guide/testing.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/testing.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/testing.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/testing.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>22 Test Driven Development with Wicket - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/testingspring.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/testingspring.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/testingspring.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/testingspring.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>23 Test Driven Development with Wicket and Spring - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/urls.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/urls.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/urls.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/urls.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>10 Wicket Links and URL generation - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/versioningCaching.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/versioningCaching.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/versioningCaching.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/versioningCaching.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>8 Page versioning and caching - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/whyLearn.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/whyLearn.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/whyLearn.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/whyLearn.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>3 Why should I learn Wicket? - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/guide/wicketstuff.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/wicketstuff.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/wicketstuff.html (original)
+++ wicket/common/site/trunk/_site/guide/guide/wicketstuff.html Sun Mar 30 18:06:15 2014
@@ -148,7 +148,7 @@ function addJsClass() {
                 <div class="project">
                     <h1>26 Project WicketStuff (Appendix) - Reference Documentation</h1>
 
-                    <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                    <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
 
                     <p><strong>Version:</strong> 6.x</p>
 

Modified: wicket/common/site/trunk/_site/guide/index.html
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/index.html?rev=1583171&r1=1583170&r2=1583171&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/index.html (original)
+++ wicket/common/site/trunk/_site/guide/index.html Sun Mar 30 18:06:15 2014
@@ -109,7 +109,7 @@ function addJsClass(el) {
 
                         <div class="project">
                             <h1>Apache Wicket User Guide - Reference Documentation</h1>
-                            <p><strong>Authors:</strong> Andrea Del Bene, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
+                            <p><strong>Authors:</strong> Andrea Del Bene, Martin Grigorov, Carsten Hufe, Christian Kroemer, Daniel Bartl, Paul Borș</p>
                             <p><strong>Version:</strong> 6.x</p>
                             
                         </div>