Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/junit4osgi.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/junit4osgi.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/junit4osgi.html Fri Jun 14 14:11:44 2013 @@ -183,18 +183,18 @@ Test suites and test cases are package i <h2 id="writing-junit-test-case-and-test-suite">Writing Junit Test Case and Test Suite</h2> <p>This section describes briefly how to write test cases and test suites and how they are used by the Junit4OSGi framework. More details are available on the Junit web site <a href="http://www.junit.org/">http://www.junit.org/</a>.</p> <p>The Money class was introduced in the Junit tutorial and was implemented as the following:</p> -<div class="codehilite"><pre><span class="nb">package</span> <span class="n">junit</span><span class="o">.</span><span class="n">money</span><span class="p">;</span> +<div class="codehilite"><pre><span class="n">package</span> <span class="n">junit</span><span class="p">.</span><span class="n">money</span><span class="p">;</span> <span class="n">public</span> <span class="n">class</span> <span class="n">Money</span> <span class="p">{</span> - <span class="n">private</span> <span class="nb">int</span> <span class="n">fAmount</span><span class="p">;</span> + <span class="n">private</span> <span class="n">int</span> <span class="n">fAmount</span><span class="p">;</span> <span class="n">private</span> <span class="n">String</span> <span class="n">fCurrency</span><span class="p">;</span> - <span class="n">public</span> <span class="n">Money</span><span class="p">(</span><span class="nb">int</span> <span class="n">amount</span><span class="p">,</span> <span class="n">String</span> <span class="n">currency</span><span class="p">)</span> <span class="p">{</span> - <span class="n">fAmount</span><span class="o">=</span> <span class="n">amount</span><span class="p">;</span> - <span class="n">fCurrency</span><span class="o">=</span> <span class="n">currency</span><span class="p">;</span> + <span class="n">public</span> <span class="n">Money</span><span class="p">(</span><span class="n">int</span> <span class="n">amount</span><span class="p">,</span> <span class="n">String</span> <span class="n">currency</span><span class="p">)</span> <span class="p">{</span> + <span class="n">fAmount</span><span class="p">=</span> <span class="n">amount</span><span class="p">;</span> + <span class="n">fCurrency</span><span class="p">=</span> <span class="n">currency</span><span class="p">;</span> <span class="p">}</span> - <span class="n">public</span> <span class="nb">int</span> <span class="n">amount</span><span class="p">()</span> <span class="p">{</span> + <span class="n">public</span> <span class="n">int</span> <span class="n">amount</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="n">fAmount</span><span class="p">;</span> <span class="p">}</span> @@ -203,14 +203,14 @@ Test suites and test cases are package i <span class="p">}</span> <span class="n">public</span> <span class="n">Money</span> <span class="n">add</span><span class="p">(</span><span class="n">Money</span> <span class="n">m</span><span class="p">)</span> <span class="p">{</span> - <span class="k">return</span> <span class="k">new</span> <span class="n">Money</span><span class="p">(</span><span class="n">amount</span><span class="p">()</span><span class="o">+</span><span class="n">m</span><span class="o">.</span><span class="n">amount</span><span class="p">(),</span> <span class="n">currency</span><span class="p">());</span> + <span class="k">return</span> <span class="n">new</span> <span class="n">Money</span><span class="p">(</span><span class="n">amount</span><span class="p">()</span><span class="o">+</span><span class="n">m</span><span class="p">.</span><span class="n">amount</span><span class="p">(),</span> <span class="n">currency</span><span class="p">());</span> <span class="p">}</span> <span class="n">public</span> <span class="n">boolean</span> <span class="n">equals</span><span class="p">(</span><span class="n">Object</span> <span class="n">anObject</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="n">anObject</span> <span class="n">instanceof</span> <span class="n">Money</span><span class="p">)</span> <span class="p">{</span> - <span class="n">Money</span> <span class="n">aMoney</span><span class="o">=</span> <span class="p">(</span><span class="n">Money</span><span class="p">)</span><span class="n">anObject</span><span class="p">;</span> - <span class="k">return</span> <span class="n">aMoney</span><span class="o">.</span><span class="n">currency</span><span class="p">()</span><span class="o">.</span><span class="n">equals</span><span class="p">(</span><span class="n">currency</span><span class="p">())</span> - <span class="o">&&</span> <span class="n">amount</span><span class="p">()</span> <span class="o">==</span> <span class="n">aMoney</span><span class="o">.</span><span class="n">amount</span><span class="p">();</span> + <span class="n">Money</span> <span class="n">aMoney</span><span class="p">=</span> <span class="p">(</span><span class="n">Money</span><span class="p">)</span><span class="n">anObject</span><span class="p">;</span> + <span class="k">return</span> <span class="n">aMoney</span><span class="p">.</span><span class="n">currency</span><span class="p">().</span><span class="n">equals</span><span class="p">(</span><span class="n">currency</span><span class="p">())</span> + <span class="o">&&</span> <span class="n">amount</span><span class="p">()</span> <span class="o">==</span> <span class="n">aMoney</span><span class="p">.</span><span class="n">amount</span><span class="p">();</span> <span class="p">}</span> <span class="k">return</span> <span class="n">false</span><span class="p">;</span> <span class="p">}</span> @@ -222,19 +222,19 @@ Test suites and test cases are package i <span class="n">private</span> <span class="n">Money</span> <span class="n">f12CHF</span><span class="p">;</span> <span class="n">private</span> <span class="n">Money</span> <span class="n">f14CHF</span><span class="p">;</span> <span class="n">public</span> <span class="n">void</span> <span class="n">setUp</span><span class="p">()</span> <span class="p">{</span> - <span class="n">f12CHF</span><span class="o">=</span> <span class="k">new</span> <span class="n">Money</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="s">"CHF"</span><span class="p">);</span> - <span class="n">f14CHF</span><span class="o">=</span> <span class="k">new</span> <span class="n">Money</span><span class="p">(</span><span class="mi">14</span><span class="p">,</span> <span class="s">"CHF"</span><span class="p">);</span> + <span class="n">f12CHF</span><span class="p">=</span> <span class="n">new</span> <span class="n">Money</span><span class="p">(</span>12<span class="p">,</span> "<span class="n">CHF</span>"<span class="p">);</span> + <span class="n">f14CHF</span><span class="p">=</span> <span class="n">new</span> <span class="n">Money</span><span class="p">(</span>14<span class="p">,</span> "<span class="n">CHF</span>"<span class="p">);</span> <span class="p">}</span> <span class="n">public</span> <span class="n">void</span> <span class="n">testEquals</span><span class="p">()</span> <span class="p">{</span> - <span class="n">assertTrue</span><span class="p">(</span><span class="o">!</span><span class="n">f12CHF</span><span class="o">.</span><span class="n">equals</span><span class="p">(</span><span class="n">null</span><span class="p">));</span> + <span class="n">assertTrue</span><span class="p">(</span>!<span class="n">f12CHF</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">null</span><span class="p">));</span> <span class="n">assertEquals</span><span class="p">(</span><span class="n">f12CHF</span><span class="p">,</span> <span class="n">f12CHF</span><span class="p">);</span> - <span class="n">assertEquals</span><span class="p">(</span><span class="n">f12CHF</span><span class="p">,</span> <span class="k">new</span> <span class="n">Money</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="s">"CHF"</span><span class="p">));</span> - <span class="n">assertTrue</span><span class="p">(</span><span class="o">!</span><span class="n">f12CHF</span><span class="o">.</span><span class="n">equals</span><span class="p">(</span><span class="n">f14CHF</span><span class="p">));</span> + <span class="n">assertEquals</span><span class="p">(</span><span class="n">f12CHF</span><span class="p">,</span> <span class="n">new</span> <span class="n">Money</span><span class="p">(</span>12<span class="p">,</span> "<span class="n">CHF</span>"<span class="p">));</span> + <span class="n">assertTrue</span><span class="p">(</span>!<span class="n">f12CHF</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">f14CHF</span><span class="p">));</span> <span class="p">}</span> <span class="n">public</span> <span class="n">void</span> <span class="n">testSimpleAdd</span><span class="p">()</span> <span class="p">{</span> - <span class="n">Money</span> <span class="n">expected</span><span class="o">=</span> <span class="k">new</span> <span class="n">Money</span><span class="p">(</span><span class="mi">26</span><span class="p">,</span> <span class="s">"CHF"</span><span class="p">);</span> - <span class="n">Money</span> <span class="n">result</span><span class="o">=</span> <span class="n">f12CHF</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">f14CHF</span><span class="p">);</span> - <span class="n">assertTrue</span><span class="p">(</span><span class="n">expected</span><span class="o">.</span><span class="n">equals</span><span class="p">(</span><span class="n">result</span><span class="p">));</span> + <span class="n">Money</span> <span class="n">expected</span><span class="p">=</span> <span class="n">new</span> <span class="n">Money</span><span class="p">(</span>26<span class="p">,</span> "<span class="n">CHF</span>"<span class="p">);</span> + <span class="n">Money</span> <span class="n">result</span><span class="p">=</span> <span class="n">f12CHF</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">f14CHF</span><span class="p">);</span> + <span class="n">assertTrue</span><span class="p">(</span><span class="n">expected</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">result</span><span class="p">));</span> <span class="p">}</span> <span class="p">}</span> </pre></div> @@ -244,8 +244,8 @@ Test suites and test cases are package i <div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">SimpleTestSuite</span> <span class="p">{</span> <span class="n">public</span> <span class="n">static</span> <span class="n">Test</span> <span class="n">suite</span><span class="p">()</span> <span class="p">{</span> - <span class="n">TestSuite</span> <span class="n">suite</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TestSuite</span><span class="p">(</span><span class="s">"Money Simple Test Suite"</span><span class="p">);</span> - <span class="n">suite</span><span class="o">.</span><span class="n">addTestSuite</span><span class="p">(</span><span class="n">SimpleTestCase</span><span class="o">.</span><span class="n">class</span><span class="p">);</span> + <span class="n">TestSuite</span> <span class="n">suite</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TestSuite</span><span class="p">(</span>"<span class="n">Money</span> <span class="n">Simple</span> <span class="n">Test</span> <span class="n">Suite</span>"<span class="p">);</span> + <span class="n">suite</span><span class="p">.</span><span class="n">addTestSuite</span><span class="p">(</span><span class="n">SimpleTestCase</span><span class="p">.</span><span class="n">class</span><span class="p">);</span> <span class="k">return</span> <span class="n">suite</span><span class="p">;</span> <span class="p">}</span> <span class="p">}</span> @@ -254,34 +254,34 @@ Test suites and test cases are package i <p>Now, we have to package our tests and the Money class inside a bundle. Of course, it should be packaged in two different bundles but to keep simple we choose to create just one. To create the bundle, launch "ant" at the root of the junit-example directory. The resulting bundle contains our three classes. These tests are connected to the junit4osgi framework by specifying a special header in the manifest:</p> -<div class="codehilite"><pre><span class="n">Test</span><span class="o">-</span><span class="n">Suite:</span> <span class="n">junit</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">SimpleTestSuite</span> +<div class="codehilite"><pre><span class="n">Test</span><span class="o">-</span><span class="n">Suite</span><span class="p">:</span> <span class="n">junit</span><span class="p">.</span><span class="n">example</span><span class="p">.</span><span class="n">SimpleTestSuite</span> </pre></div> <p>This header lists the test suite contained in the bundle. Once packaged, we can launch our tests. Start the pre-configured Felix with the following command launched from the Felix directory:</p> -<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">bin</span><span class="o">/</span><span class="n">felix</span><span class="o">.</span><span class="n">jar</span> +<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">bin</span><span class="o">/</span><span class="n">felix</span><span class="p">.</span><span class="n">jar</span> </pre></div> <p>Then deploy the created bundle:</p> -<div class="codehilite"><pre><span class="n">start</span> <span class="n">file:</span><span class="o">..</span><span class="sr">/junit-example/o</span><span class="n">utput</span><span class="o">/</span><span class="n">junit</span><span class="o">-</span><span class="n">example</span><span class="o">.</span><span class="n">jar</span> +<div class="codehilite"><pre><span class="n">start</span> <span class="n">file</span><span class="p">:.</span><span class="o">./</span><span class="n">junit</span><span class="o">-</span><span class="n">example</span><span class="o">/</span><span class="n">output</span><span class="o">/</span><span class="n">junit</span><span class="o">-</span><span class="n">example</span><span class="p">.</span><span class="n">jar</span> </pre></div> <p>Finally, run the test with the junit command</p> -<div class="codehilite"><pre><span class="n">junit</span> <span class="mi">8</span> +<div class="codehilite"><pre><span class="n">junit</span> 8 </pre></div> <p>The argument indicates the bundle containing the test suite to execute. The "all" special argument runs every available test suites.</p> -<div class="codehilite"><pre><span class="o">-></span> <span class="n">junit</span> <span class="mi">8</span> +<div class="codehilite"><pre><span class="o">-></span> <span class="n">junit</span> 8 <span class="n">Executing</span> <span class="p">[</span><span class="n">Money</span> <span class="n">Simple</span> <span class="n">Test</span> <span class="n">Suite</span><span class="p">]</span> -<span class="o">..</span> -<span class="n">Time:</span> <span class="mi">0</span><span class="p">,</span><span class="mo">001</span> +<span class="p">..</span> +<span class="n">Time</span><span class="p">:</span> 0<span class="p">,</span>001 -<span class="n">OK</span> <span class="p">(</span><span class="mi">2</span> <span class="n">tests</span><span class="p">)</span> +<span class="n">OK</span> <span class="p">(</span>2 <span class="n">tests</span><span class="p">)</span> </pre></div> @@ -290,7 +290,7 @@ Start the pre-configured Felix with the <div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">HelloProvider</span> <span class="n">implements</span> <span class="n">HelloService</span> <span class="p">{</span> <span class="n">public</span> <span class="n">String</span> <span class="n">getHelloMessage</span><span class="p">()</span> <span class="p">{</span> - <span class="k">return</span> <span class="s">"hello"</span><span class="p">;</span> + <span class="k">return</span> "<span class="n">hello</span>"<span class="p">;</span> <span class="p">}</span> <span class="p">}</span> </pre></div> @@ -301,18 +301,18 @@ Instead of extending TestCase, this test <div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">SimpleTestCase</span> <span class="n">extends</span> <span class="n">OSGiTestCase</span> <span class="p">{</span> <span class="n">public</span> <span class="n">void</span> <span class="n">testHelloAvailability</span><span class="p">()</span> <span class="p">{</span> - <span class="n">ServiceReference</span> <span class="nb">ref</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">getServiceReference</span><span class="p">(</span><span class="n">HelloService</span><span class="o">.</span><span class="n">class</span><span class="o">.</span><span class="n">getName</span><span class="p">());</span> - <span class="n">assertNotNull</span><span class="p">(</span><span class="s">"Assert Availability"</span><span class="p">,</span> <span class="nb">ref</span><span class="p">);</span> + <span class="n">ServiceReference</span> <span class="n">ref</span> <span class="p">=</span> <span class="n">context</span><span class="p">.</span><span class="n">getServiceReference</span><span class="p">(</span><span class="n">HelloService</span><span class="p">.</span><span class="n">class</span><span class="p">.</span><span class="n">getName</span><span class="p">());</span> + <span class="n">assertNotNull</span><span class="p">(</span>"<span class="n">Assert</span> <span class="n">Availability</span>"<span class="p">,</span> <span class="n">ref</span><span class="p">);</span> <span class="p">}</span> <span class="n">public</span> <span class="n">void</span> <span class="n">testHelloMessage</span><span class="p">()</span> <span class="p">{</span> - <span class="n">ServiceReference</span> <span class="nb">ref</span> <span class="o">=</span> - <span class="n">context</span><span class="o">.</span><span class="n">getServiceReference</span><span class="p">(</span><span class="n">HelloService</span><span class="o">.</span><span class="n">class</span><span class="o">.</span><span class="n">getName</span><span class="p">());</span> - <span class="n">assertNotNull</span><span class="p">(</span><span class="s">"Assert Availability"</span><span class="p">,</span> <span class="nb">ref</span><span class="p">);</span> - <span class="n">HelloService</span> <span class="n">hs</span> <span class="o">=</span> <span class="p">(</span><span class="n">HelloService</span><span class="p">)</span> <span class="n">context</span><span class="o">.</span><span class="n">getService</span><span class="p">(</span><span class="nb">ref</span><span class="p">);</span> - <span class="n">String</span> <span class="n">message</span> <span class="o">=</span> <span class="n">hs</span><span class="o">.</span><span class="n">getHelloMessage</span><span class="p">();</span> - <span class="n">assertNotNull</span><span class="p">(</span><span class="s">"Check the message existence"</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span> - <span class="n">assertEquals</span><span class="p">(</span><span class="s">"Check the message"</span><span class="p">,</span> <span class="s">"hello"</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span> + <span class="n">ServiceReference</span> <span class="n">ref</span> <span class="p">=</span> + <span class="n">context</span><span class="p">.</span><span class="n">getServiceReference</span><span class="p">(</span><span class="n">HelloService</span><span class="p">.</span><span class="n">class</span><span class="p">.</span><span class="n">getName</span><span class="p">());</span> + <span class="n">assertNotNull</span><span class="p">(</span>"<span class="n">Assert</span> <span class="n">Availability</span>"<span class="p">,</span> <span class="n">ref</span><span class="p">);</span> + <span class="n">HelloService</span> <span class="n">hs</span> <span class="p">=</span> <span class="p">(</span><span class="n">HelloService</span><span class="p">)</span> <span class="n">context</span><span class="p">.</span><span class="n">getService</span><span class="p">(</span><span class="n">ref</span><span class="p">);</span> + <span class="n">String</span> <span class="n">message</span> <span class="p">=</span> <span class="n">hs</span><span class="p">.</span><span class="n">getHelloMessage</span><span class="p">();</span> + <span class="n">assertNotNull</span><span class="p">(</span>"<span class="n">Check</span> <span class="n">the</span> <span class="n">message</span> <span class="n">existence</span>"<span class="p">,</span> <span class="n">message</span><span class="p">);</span> + <span class="n">assertEquals</span><span class="p">(</span>"<span class="n">Check</span> <span class="n">the</span> <span class="n">message</span>"<span class="p">,</span> "<span class="n">hello</span>"<span class="p">,</span> <span class="n">message</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</span> @@ -324,11 +324,11 @@ OSGi test cases are gathered in OSGi tes <div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">SimpleTestSuite</span> <span class="p">{</span> <span class="n">public</span> <span class="n">static</span> <span class="n">Test</span> <span class="n">suite</span><span class="p">(</span><span class="n">BundleContext</span> <span class="n">context</span><span class="p">)</span> <span class="p">{</span> - <span class="n">OSGiTestSuite</span> <span class="n">suite</span> <span class="o">=</span> <span class="k">new</span> <span class="n">OSGiTestSuite</span><span class="p">(</span> -<span class="s">"Hello Service Test Suite"</span><span class="p">,</span> + <span class="n">OSGiTestSuite</span> <span class="n">suite</span> <span class="p">=</span> <span class="n">new</span> <span class="n">OSGiTestSuite</span><span class="p">(</span> +"<span class="n">Hello</span> <span class="n">Service</span> <span class="n">Test</span> <span class="n">Suite</span>"<span class="p">,</span> <span class="n">context</span> <span class="p">);</span> - <span class="n">suite</span><span class="o">.</span><span class="n">addTestSuite</span><span class="p">(</span><span class="n">SimpleTestCase</span><span class="o">.</span><span class="n">class</span><span class="p">);</span> + <span class="n">suite</span><span class="p">.</span><span class="n">addTestSuite</span><span class="p">(</span><span class="n">SimpleTestCase</span><span class="p">.</span><span class="n">class</span><span class="p">);</span> <span class="k">return</span> <span class="n">suite</span><span class="p">;</span> <span class="p">}</span> <span class="p">}</span>
Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html Fri Jun 14 14:11:44 2013 @@ -180,7 +180,7 @@ <li><a href="#singleton-component-type">Singleton Component Type</a></li> <li><a href="#using-external-handlers">Using external handlers</a></li> <li><a href="#creating-compositions-with-the-api">Creating compositions with the API</a><ul> -<li><a href="#creating-instances-inside-a-composite">Creating instances inside a composite:</a><ul> +<li><a href="#creating-instances-inside-a-composite">Creating instances inside a composite:</a></li> <li><a href="#importing-a-service">Importing a service</a></li> <li><a href="#instantiating-a-service">Instantiating a service</a></li> <li><a href="#exporting-a-service">Exporting a service</a></li> @@ -189,8 +189,6 @@ </ul> </li> </ul> -</li> -</ul> </div> <h2 id="a-simple-example">A simple example</h2> <p>Let's imagine a simple component providing a service Foo. The following code is the implementation class of our component:</p> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-instances.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-instances.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-instances.html Fri Jun 14 14:11:44 2013 @@ -255,6 +255,7 @@ <div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.felix.ipojo.configuration.Configuration</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.apache.felix.ipojo.configuration.Instance</span><span class="o">;</span> + <span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">felix</span><span class="o">.</span><span class="na">ipojo</span><span class="o">.</span><span class="na">configuration</span><span class="o">.</span><span class="na">Instance</span><span class="o">.</span><span class="na">instance</span><span class="o">;</span> <span class="nd">@Configuration</span> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ConfigureOneInstance</span> <span class="o">{</span> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/event-admin-handlers.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/event-admin-handlers.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/event-admin-handlers.html Fri Jun 14 14:11:44 2013 @@ -440,6 +440,7 @@ <span class="kn">import</span> <span class="nn">org.apache.felix.ipojo.handlers.event.publisher.Publisher</span><span class="o">;</span> <span class="kn">import</span> <span class="nn">org.osgi.service.event.Event</span><span class="o">;</span> + <span class="nd">@Component</span> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">PubSub</span> <span class="o">{</span> <span class="nd">@Publishes</span><span class="o">(</span><span class="n">name</span><span class="o">=</span><span class="s">"p1"</span><span class="o">,</span> <span class="n">synchronous</span><span class="o">=</span><span class="kc">true</span><span class="o">)</span> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/temporal-service-dependency.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/temporal-service-dependency.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/temporal-service-dependency.html Fri Jun 14 14:11:44 2013 @@ -227,10 +227,10 @@ Using the field in your code will try to <iPOJO xmlns:temporal="org.apache.felix.ipojo.handler.temporal"> <component className="org.apache.felix.ipojo.example.Temporal"></p> -<div class="codehilite"><pre><span class="o"><!--</span> <span class="n">Temporal</span> <span class="n">dependency</span> <span class="n">configuration</span> <span class="o">--></span> -<span class="o"><</span><span class="n">temporal:requires</span> <span class="n">field</span><span class="o">=</span><span class="s">"fs"</span> <span class="n">timeout</span><span class="o">=</span><span class="s">"300"</span> <span class="n">ontimeout</span><span class="o">=</span><span class="s">"nullable"</span><span class="o">/></span> +<div class="codehilite"><pre><span class="o"><</span>!<span class="o">--</span> <span class="n">Temporal</span> <span class="n">dependency</span> <span class="n">configuration</span> <span class="o">--></span> +<span class="o"><</span><span class="n">temporal</span><span class="p">:</span><span class="n">requires</span> <span class="n">field</span><span class="p">=</span>"<span class="n">fs</span>" <span class="n">timeout</span><span class="p">=</span>"300" <span class="n">ontimeout</span><span class="p">=</span>"<span class="n">nullable</span>"<span class="o">/></span> -<span class="sr"><provides/></span> +<span class="o"><</span><span class="n">provides</span><span class="o">/></span> </pre></div> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-hierarchical-composition-overview.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-hierarchical-composition-overview.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-hierarchical-composition-overview.html Fri Jun 14 14:11:44 2013 @@ -194,7 +194,7 @@ The composite provides the HelloDispatch <div class="codehilite"><pre><span class="n">public</span> <span class="n">interface</span> <span class="n">HelloDispatcher</span> <span class="p">{</span> <span class="n">public</span> <span class="n">void</span> <span class="n">dispatch</span><span class="p">();</span> <span class="n">public</span> <span class="n">String</span> <span class="n">getLanguage</span><span class="p">();</span> - <span class="n">public</span> <span class="n">List</span><span class="sr"><Person></span> <span class="n">getPersons</span><span class="p">();</span> + <span class="n">public</span> <span class="n">List</span><span class="o"><</span><span class="n">Person</span><span class="o">></span> <span class="n">getPersons</span><span class="p">();</span> <span class="p">}</span> </pre></div> @@ -216,7 +216,7 @@ The following code snippet shows the Hel <p>The following code snippet shows the Directory service interface:</p> <div class="codehilite"><pre><span class="n">public</span> <span class="n">interface</span> <span class="n">Directory</span> <span class="p">{</span> <span class="n">public</span> <span class="n">Person</span> <span class="n">getPerson</span><span class="p">(</span><span class="n">String</span> <span class="n">name</span><span class="p">);</span> - <span class="n">public</span> <span class="n">List</span><span class="sr"><Person></span> <span class="n">getPersons</span><span class="p">();</span> + <span class="n">public</span> <span class="n">List</span><span class="o"><</span><span class="n">Person</span><span class="o">></span> <span class="n">getPersons</span><span class="p">();</span> <span class="n">public</span> <span class="n">void</span> <span class="n">addPerson</span><span class="p">(</span><span class="n">String</span> <span class="n">name</span><span class="p">,</span> <span class="n">String</span> <span class="n">address</span><span class="p">);</span> <span class="n">public</span> <span class="n">void</span> <span class="n">removePerson</span><span class="p">(</span><span class="n">String</span> <span class="n">name</span><span class="p">);</span> <span class="p">}</span> @@ -271,7 +271,7 @@ The delegation of HelloDispatcher servic <p><a href="">Coming soon...</a></p> <h2 id="packaging">Packaging</h2> <p>A composite component type is described in the metadata.xml file of an iPOJO bundle which means that iPOJO creates a factory service for the composite, like all iPOJO components. Also like all iPOJO components, it is possible to create an instance of the composite in the metadata file by declaring an instance, such as:</p> -<div class="codehilite"><pre><span class="o"><</span><span class="n">instance</span> <span class="n">component</span><span class="o">=</span><span class="s">"HelloComposition"</span> <span class="n">name</span><span class="o">=</span><span class="s">"hello-composition"</span><span class="o">/></span> +<div class="codehilite"><pre><span class="o"><</span><span class="n">instance</span> <span class="n">component</span><span class="p">=</span>"<span class="n">HelloComposition</span>" <span class="n">name</span><span class="p">=</span>"<span class="n">hello</span><span class="o">-</span><span class="n">composition</span>"<span class="o">/></span> </pre></div> @@ -295,8 +295,8 @@ The delegation of HelloDispatcher servic <em> Cardinality: Indicates whether a single provider instance is imported or an aggregated set of the available providers instances is imported. </em> Optionality: Indicates whether the imported sub-service is optional or mandatory. * Filtering: Indicates how the services available in the parent composite can be further filtered using an LDAP expression evaluated over their service properties.</p> -<div class="codehilite"><pre><span class="o"><</span><span class="n">requires</span> <span class="n">specification</span><span class="o">=</span><span class="s">"org.apache.felix.ipojo.test.scenarios.service.Hello"</span> - <span class="n">optional</span><span class="o">=</span><span class="s">"true"</span> <span class="n">aggregate</span><span class="o">=</span><span class="s">"true"</span> <span class="n">filter</span><span class="o">=</span><span class="s">"(language=en)"</span><span class="o">/></span> +<div class="codehilite"><pre><span class="o"><</span><span class="n">requires</span> <span class="n">specification</span><span class="p">=</span>"<span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">scenarios</span><span class="p">.</span><span class="n">service</span><span class="p">.</span><span class="n">Hello</span>" + <span class="n">optional</span><span class="p">=</span>"<span class="n">true</span>" <span class="n">aggregate</span><span class="p">=</span>"<span class="n">true</span>" <span class="n">filter</span><span class="p">=</span>"<span class="p">(</span><span class="n">language</span><span class="p">=</span><span class="n">en</span><span class="p">)</span>"<span class="o">/></span> </pre></div> @@ -304,7 +304,7 @@ The delegation of HelloDispatcher servic <p>The composite can provide services to its parent composite. Each provided service is described by a <code><provides></code> element in the composite description. A provide service must specify provided service specification.</p> <p>Service provision is realized by delegating method invocations on the service interface to methods on the sub-service instances contained in the composition. A delegation mapping is automatically created by matching method names and arguments types. If a delegation mapping cannot be determined, the composition is invalidated.</p> <p>Service specifications can also declare certain methods as optional in the service interface; this is done by declaring that a method throws an <code>UnsupportedOperationException</code>. Optional methods need not have a mapping for delegation purposes. If a non-optional service method does not have a mapping for delegation, then a warning message is issued.</p> -<div class="codehilite"><pre><span class="o"><</span><span class="n">provides</span> <span class="n">specification</span><span class="o">=</span><span class="s">"org.apache.felix.ipojo.composition.ex1.service.HelloDispatcher"</span><span class="o">/></span> +<div class="codehilite"><pre><span class="o"><</span><span class="n">provides</span> <span class="n">specification</span><span class="p">=</span>"<span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">composition</span><span class="p">.</span><span class="n">ex1</span><span class="p">.</span><span class="n">service</span><span class="p">.</span><span class="n">HelloDispatcher</span>"<span class="o">/></span> </pre></div> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html Fri Jun 14 14:11:44 2013 @@ -256,6 +256,7 @@ <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"3 Set prop "</span> <span class="o">+</span> <span class="n">v</span><span class="o">);</span> <span class="o">}</span> + <span class="nd">@Validate</span> <span class="kd">public</span> <span class="kt">void</span> <span class="nf">validate</span><span class="o">()</span> <span class="o">{</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"4 Validate"</span><span class="o">);</span> @@ -275,6 +276,7 @@ <span class="c1">// Remaining of the flow</span> + <span class="nd">@PostUnregistration</span> <span class="kd">public</span> <span class="kt">void</span> <span class="nf">unregistered</span><span class="o">(</span><span class="n">ServiceReference</span> <span class="n">ref</span><span class="o">)</span> <span class="o">{</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"7 Unregistered"</span><span class="o">);</span> Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/download.html ============================================================================== --- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/download.html (original) +++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/download.html Fri Jun 14 14:11:44 2013 @@ -250,8 +250,8 @@ <p>iPOJO Sources are available on the Apache Felix Project source trunk. To download iPOJO sources, use the following command: {code:html} svn checkout https://svn.apache.org/repos/asf/felix/trunk/ipojo</p> -<div class="codehilite"><pre><span class="n">Once</span> <span class="n">downloaded</span><span class="p">,</span> <span class="n">you</span> <span class="n">can</span> <span class="n">compile</span> <span class="n">iPOJO</span> <span class="n">with:</span> -<span class="p">{</span><span class="n">code:html</span><span class="p">}</span> +<div class="codehilite"><pre><span class="n">Once</span> <span class="n">downloaded</span><span class="p">,</span> <span class="n">you</span> <span class="n">can</span> <span class="n">compile</span> <span class="n">iPOJO</span> <span class="n">with</span><span class="p">:</span> +<span class="p">{</span><span class="n">code</span><span class="p">:</span><span class="n">html</span><span class="p">}</span> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> </pre></div> @@ -259,8 +259,8 @@ svn checkout https://svn.apache.org/repo <p>To compile iPOJO examples, use the following command: {code:html} mvn clean install -Pexamples</p> -<div class="codehilite"><pre><span class="n">To</span> <span class="n">compile</span> <span class="n">iPOJO</span> <span class="n">tests</span><span class="p">,</span> <span class="k">use</span> <span class="n">the</span> <span class="n">following</span> <span class="n">command:</span> -<span class="p">{</span><span class="n">code:html</span><span class="p">}</span> +<div class="codehilite"><pre><span class="n">To</span> <span class="n">compile</span> <span class="n">iPOJO</span> <span class="n">tests</span><span class="p">,</span> <span class="n">use</span> <span class="n">the</span> <span class="n">following</span> <span class="n">command</span><span class="p">:</span> +<span class="p">{</span><span class="n">code</span><span class="p">:</span><span class="n">html</span><span class="p">}</span> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Ptests</span><span class="p">,</span><span class="n">integration</span><span class="o">-</span><span class="n">tests</span> </pre></div>