You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2013/02/03 07:45:22 UTC

svn commit: r849204 [15/33] - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/ documentation/subprojects/apache-felix-ipojo/ documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/ documentation/subprojects/apac...

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html Sun Feb  3 06:45:21 2013
@@ -20,9 +20,45 @@
   <head>
     <title>Apache Felix - iPOJO Maven Plug-in</title>
     <link rel="icon" href="/res/favicon.ico">
-    <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
-    <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/site/media.data/site.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/superfish.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/style.css" type="text/css" media="all">
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    
+    <!--
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js"></script>
+    -->
+    
+    <script type="text/javascript" src="/ipojo/site/jquery-1.js"></script>
+    <script type="text/javascript" src="/ipojo/site/hoverIntent.js"></script>
+    <script type="text/javascript" src="/ipojo/site/superfish.js"></script> 
+    <script type="text/javascript" src="/ipojo/site/supersubs.js"></script> 
+    
+    <script type="text/javascript"> 
+     
+        $(document).ready(function(){ 
+            $("ul.sf-menu").supersubs({ 
+                minWidth:    14,   // minimum width of sub-menus in em units 
+                maxWidth:    30,   // maximum width of sub-menus in em units 
+                extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
+                                   // due to slight rounding differences and font-family 
+            }).superfish();  // call supersubs first, then superfish, so that subs are 
+                             // not display:none when measuring. Call before initialising 
+                             // containing tabs for same reason. 
+        }); 
+     
+    </script>
+    
   </head>
   <body>
     <div class="title">
@@ -37,70 +73,161 @@
         </a>
       </div>
     </div>
+  
+    <div class="main">
+    <div class="main">
+    <div class="page-header">
+    <img src="/ipojo/site/header.png" class="header">
+    <a href="http://ipojo.org"><img src="/ipojo/site/ipojo.png" width="225" class="header-logo"></a>
+    <ul class="sf-menu sf-js-enabled sf-shadow" id="ipojo-menu">
+    <li class="current">
+    <!-- Menu Overview -->
+    <a href="#" class="sf-with-ul">Overview<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <li>
+        <a href="">Home</a>                          
+        </li>
+        <li>
+        <a href="">Why choose iPOJO</a>
+        </li>
+        <li>
+        <a href="">Success stories</a>
+        </li>
+        <li>
+        <a href="">Features</a>
+        </li>
+    </ul>
+    </li>   
     
-    <div class="menu"> 
-      <p><a href="/news.html">news</a>  <br />
-<a href="/license.html">license</a>  <br />
-<a href="/downloads.cgi">downloads</a>  <br />
-<a href="/documentation.html">documentation</a>  <br />
-<a href="/mailinglists.html">mailing lists</a>  <br />
-<a href="/documentation/community/contributing.html">contributing</a>  <br />
-<a href="/sitemap.html">site map</a>  <br />
-<a href="http://www.apache.org/">asf</a>  <br />
-<a href="http://www.apache.org/security/">security</a>  <br />
-<a href="http://www.apache.org/foundation/sponsorship.html">sponsorship</a>  <br />
-<a href="http://www.apache.org/foundation/thanks.html">sponsors</a>  <br />
-</p>
-<iframe
-    src="http://www.apache.org/ads/button.html"
-    style="border-width:0; float: left"
-    frameborder="0"
-    scrolling="no"
-    width="135"
-    height="135">
-</iframe>
-    </div>
+    <li class="">           
+    <!-- Menu download -->
+    <li>
+    <a href="/downloads.cgi">Download </a>
+    </li>
     
-    <div class="main">
-      <div class="breadcrump" style="font-size: 80%;">
-        <a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects.html">Apache Felix Subproject Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo.html">Apache Felix iPOJO</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools.html">apache-felix-ipojo-tools</a>
-      </div>
-
+    <li class="">                   
+    <!-- Menu Documentation -->
+    <a href="#" class="sf-with-ul">Documentation<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <!-- sub-menu : getting started -->
+        <li class="">
+        <a href="#" class="sf-with-ul">Getting Started<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+        <ul>
+         <li><a href="">iPOJO in 10 minutes</a></li>
+         <li><a href="">Using Annotations</a></li>
+         <li><a href="">Maven tutorial</a></li>
+         <li><a href="">Advanced tutorial</a></li>
+         <li><a href="">Using Distributed OSGi</a></li>
+         <li><a href="">Application Composition</a></li>
+        </ul>
+        </li> <!-- end of getting started -->
+        <!-- sub menu : Describing Components -->
+         <li class="">
+            <a href="" class="sf-with-ul">Describing components<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">Requiring a service</a></li>
+            <li><a href="">Providing a service</a></li>
+            <li><a href="">Lifecycle management</a></li>
+            <li><a href="">Configuration</a></li>
+            <li><a href="">Introspection</a></li>
+            <li><a href="">Impacting the lifecycle</a></li>
+            <li><a href="">Asynchronous communication</a></li>
+            <li><a href="">JMX management</a></li>
+            <li><a href="">Extender pattern</a></li>
+            <li><a href="">Whiteboard pattern</a></li>
+            <li><a href="">Temporal dependencies</a></li>
+            </ul>
+         </li> <!-- End of describing components -->
+        <!-- sub-menu : User Guide -->
+        <li class="">
+        <a href="" class="sf-with-ul">User Guide<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">iPOJO and config admin</a></li>
+            <li><a href="">Factories and Instances</a></li>
+            <li><a href="">XML Schemas</a></li>
+            <li><a href="">API</a></li>
+            <li><a href="">Testing components</a></li>
+            <li><a href="">Eclipse Integration</a></li>
+            <li><a href="">FAQ</a></li>
+            <li><a href="">Reference Card</a></li>
+            </ul>
+        </li> <!-- end of user guide -->
+        <!-- sub-menu : Dev Guide -->
+        <li> 
+        <a href="#" class="sf-with-ul">Advanced Topics<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+           <ul>
+            <li><a href="http://felix.apache.org/ipojo/api/1.6.0">Javadoc</a></li>
+            <li><a href="">Handler development</a></li>
+            <li><a href="">Manipulation Metadata </a></li>
+            <li><a href="">Dive into the iPOJO Manipulation depths</a></li>
+           </ul>
+        </li> <!-- End of Dev guide -->
+    </ul> 
+    </li> <!-- End of doc -->
+    <!-- Menu 4 : Tools -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Tools<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Ant Task</a></li>
+       <li><a href="">Eclipse Plugin</a></li>
+       <li><a href="">Maven Plugin</a></li>
+       <li><a href="">`arch` shell command</a></li>
+       <li><a href="">Online Manipulator</a></li>
+       <li><a href="">Webconsole plugin</a></li>
+       <li><a href="">Junit4OSGi</a></li>
+    </ul>   
+    </li><!-- End of tools -->  
+    <!-- Menu 5 : Support -->
+    <li>
+    <a href="">Support </a>
+    </li>
+    <!-- End of the menu 5 -->          
+    <!-- Menu 6 : Misc -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Misc<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Supported JVMs</a></li>
+       <li><a href="">Supported OSGi Implementations</a></li>
+       <li><a href="http://ipojo-dark-side.blogspot.com">iPOJO's Dark Side Blog</a></li>
+       <li><a href="">Article & Presentations</a></li>
+       <li><a href="http://www.apache.org/">ASF</a></li>
+       <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+       <li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
+    </ul>
+    </li><!-- End of misc -->
+    </ul> <!-- End of the menu -->
+    </div> <!-- Page header -->
+  
+      <!-- 
       
       <div class="tip">
            This page is a translated version of <a href="/site/ipojo-maven-plug-in.html" target="felix_cwiki">/site/ipojo-maven-plug-in.html</a>. In case of
            doubt you might want to refer to the old page.
       </div>
       
+      -->
       
       <h1>iPOJO Maven Plug-in</h1>
-      <p>{include:apache-felix-ipojo-header}</p>
-<div class="content">
-
-# How to use the iPOJO Maven Plug-in
-
-{div:class=toc}
+      
+      <div class="content">
+        <h1 id="how-to-use-the-ipojo-maven-plug-in">How to use the iPOJO Maven Plug-in</h1>
+<p>{div:class=toc}
 [TOC]
-{div}
-
-## Basic configuration
-
-To use the iPOJO Maven plug-in, edit the following pom.xml (replace all $XXX elements):
+{div}</p>
+<h2 id="basic-configuration">Basic configuration</h2>
+<p>To use the iPOJO Maven plug-in, edit the following pom.xml (replace all $XXX elements):
 {div:class=pom}
 <project>
-&nbsp;<modelVersion>4.0.0</modelVersion>
-
-&nbsp;<packaging>bundle</packaging> <!-- Use the BND Maven plug-in -->
-{color:red}&nbsp;{color} {color:red}<groupId>$YOUR*GROUP*ID</groupId>{color}
-{color:red}&nbsp;{color} {color:red}<artifactId>$YOUR*ARTIFACT*ID</artifactId>{color}
-{color:red}&nbsp;{color} {color:red}<version>$YOUR*ARTIFACT*VERSION</version>{color}
-{color:red}&nbsp;{color} {color:red}<name>$YOUR*PROJECT*NAME</name>{color}
-
-{color:red}&nbsp;{color} {color:red}<dependencies>{color}
-{color:red}&nbsp;&nbsp;&nbsp;{color} {color:red}$YOUR*MAVEN*DEPENDENCIES{color}
-{color:red}&nbsp;{color} {color:red}</dependencies>{color}
-
-&nbsp;<build>
+&nbsp;<modelVersion>4.0.0</modelVersion></p>
+<p>&nbsp;<packaging>bundle</packaging> <!-- Use the BND Maven plug-in -->
+{color:red}&nbsp;{color} {color:red}<groupId>$YOUR<em>GROUP</em>ID</groupId>{color}
+{color:red}&nbsp;{color} {color:red}<artifactId>$YOUR<em>ARTIFACT</em>ID</artifactId>{color}
+{color:red}&nbsp;{color} {color:red}<version>$YOUR<em>ARTIFACT</em>VERSION</version>{color}
+{color:red}&nbsp;{color} {color:red}<name>$YOUR<em>PROJECT</em>NAME</name>{color}</p>
+<p>{color:red}&nbsp;{color} {color:red}<dependencies>{color}
+{color:red}&nbsp;&nbsp;&nbsp;{color} {color:red}$YOUR<em>MAVEN</em>DEPENDENCIES{color}
+{color:red}&nbsp;{color} {color:red}</dependencies>{color}</p>
+<p>&nbsp;<build>
 &nbsp;&nbsp;&nbsp;<plugins>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- BND Maven Plugin Configuration -->
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<plugin>
@@ -109,9 +236,9 @@ To use the iPOJO Maven plug-in, edit the
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <extensions>true</extensions>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <configuration>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <instructions>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <Bundle-SymbolicName>$\{pom.artifactId}</Bundle-SymbolicName>
-{color:red}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color}{color:red}<Private-Package>$YOUR*PRIVATE*PACKAGE</Private-Package>{color}
-{color:red}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color}{color:red}<Export-Package>$YOUR*EXPORTED*PACKAGE</Export-Package>{color}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+{color:red}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color}{color:red}<Private-Package>$YOUR<em>PRIVATE</em>PACKAGE</Private-Package>{color}
+{color:red}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color}{color:red}<Export-Package>$YOUR<em>EXPORTED</em>PACKAGE</Export-Package>{color}
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</instructions>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</configuration>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</plugin>
@@ -132,53 +259,50 @@ To use the iPOJO Maven plug-in, edit the
 &nbsp;</build>
 </project>
 {div}
-The iPOJO Maven Plug-in is generally used with the BND Maven Plug-in (more details here). However the two configurations are completely separated. So, you can use all BND Maven plug-in features. The iPOJO configuration section can be used as previously written without any changes. However it requires that your metadata file is either inside `src/main/ipojo` or inside the `src/main/resources` folder and named "metadata.xml".
-
-## Execution
-
-To manipulate your project, use the "*mvn clean install*" command. The output should be like:
+The iPOJO Maven Plug-in is generally used with the BND Maven Plug-in (more details here). However the two configurations are completely separated. So, you can use all BND Maven plug-in features. The iPOJO configuration section can be used as previously written without any changes. However it requires that your metadata file is either inside <code>src/main/ipojo</code> or inside the <code>src/main/resources</code> folder and named "metadata.xml".</p>
+<h2 id="execution">Execution</h2>
+<p>To manipulate your project, use the "<em>mvn clean install</em>" command. The output should be like:
 {div:class=pom}
-\[INFO\]() Scanning for projects...
-\[INFO\]() \---------------------------------------------------------------------------\-
-\[INFO\]() Building Hello Client
-\[INFO\]()&nbsp;&nbsp;&nbsp;task-segment: \[clean, install\]
-\[INFO\]() \---------------------------------------------------------------------------\-
-\[INFO\]() \[clean:clean\]
-\[INFO\]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target
-\[INFO\]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes
-\[INFO\]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\test-classes
-\[INFO\]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\site
-\[INFO\]() \[resources:resources\]
-\[INFO\]() Using default encoding to copy filtered resources.
-\[INFO\]() Copying 1 resource
-\[INFO\]() \[compiler:compile\]
-\[INFO\]() Compiling 1 source file to D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes
-\[INFO\]() \[resources:testResources\]
-\[INFO\]() Using default encoding to copy filtered resources.
-\[INFO\]() Resource directory does not exist: D:\clement\workspaces\iPOJO-Dev\hello.client\src\test\resources
-\[INFO\]() \[compiler:testCompile\]
-\[INFO\]() No sources to compile
-\[INFO\]() \[surefire:test\]
-\[INFO\]() No tests to run.
-\[INFO\]() \[bundle:bundle\]
-\[INFO\]() \[org.apache.felix.ipojo.:ipojo-bundle \{execution: default}\]
-\[INFO\]() Start bundle manipulation
-\[INFO\]() Metadata File : D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes\metadata.xml
-\[INFO\]() Input Bundle File : D:\clement\workspaces\iPOJO-Dev\hello.client\target\hello.client-0.0.1.jar
-\[INFO\]() Bundle manipulation - SUCCESS
-\[INFO\]() \[install:install\]
-\[INFO\]() Installing D:\clement\workspaces\iPOJO-Dev\hello.client\target\hello.client-0.0.1.jar to D:\Dev\maven-repo\ipojo\example\hello.client\0.0.1\hello.client-0.0.1.jar
-\[INFO\]() \-----------------------------------------------------------------------\-
-\[INFO\]() BUILD SUCCESSFUL
-\[INFO\]() \-----------------------------------------------------------------------\-
-\[INFO\]() Total time: 9 seconds
-\[INFO\]() Finished at: Mon Aug 13 14:04:55 CEST 2007
-\[INFO\]() Final Memory: 6M/13M
-\[INFO\]() \-----------------------------------------------------------------------\-
-{div}
-## Configuration Options
-
-You can configure the localization of the iPOJO metadata file as following:
+[INFO]() Scanning for projects...
+[INFO]() ----------------------------------------------------------------------------
+[INFO]() Building Hello Client
+[INFO]()&nbsp;&nbsp;&nbsp;task-segment: [clean, install]
+[INFO]() ----------------------------------------------------------------------------
+[INFO]() [clean:clean]
+[INFO]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target
+[INFO]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes
+[INFO]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\test-classes
+[INFO]() Deleting directory D:\clement\workspaces\iPOJO-Dev\hello.client\target\site
+[INFO]() [resources:resources]
+[INFO]() Using default encoding to copy filtered resources.
+[INFO]() Copying 1 resource
+[INFO]() [compiler:compile]
+[INFO]() Compiling 1 source file to D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes
+[INFO]() [resources:testResources]
+[INFO]() Using default encoding to copy filtered resources.
+[INFO]() Resource directory does not exist: D:\clement\workspaces\iPOJO-Dev\hello.client\src\test\resources
+[INFO]() [compiler:testCompile]
+[INFO]() No sources to compile
+[INFO]() [surefire:test]
+[INFO]() No tests to run.
+[INFO]() [bundle:bundle]
+[INFO]() [org.apache.felix.ipojo.:ipojo-bundle {execution: default}]
+[INFO]() Start bundle manipulation
+[INFO]() Metadata File : D:\clement\workspaces\iPOJO-Dev\hello.client\target\classes\metadata.xml
+[INFO]() Input Bundle File : D:\clement\workspaces\iPOJO-Dev\hello.client\target\hello.client-0.0.1.jar
+[INFO]() Bundle manipulation - SUCCESS
+[INFO]() [install:install]
+[INFO]() Installing D:\clement\workspaces\iPOJO-Dev\hello.client\target\hello.client-0.0.1.jar to D:\Dev\maven-repo\ipojo\example\hello.client\0.0.1\hello.client-0.0.1.jar
+[INFO]() ------------------------------------------------------------------------
+[INFO]() BUILD SUCCESSFUL
+[INFO]() ------------------------------------------------------------------------
+[INFO]() Total time: 9 seconds
+[INFO]() Finished at: Mon Aug 13 14:04:55 CEST 2007
+[INFO]() Final Memory: 6M/13M
+[INFO]() ------------------------------------------------------------------------
+{div}</p>
+<h2 id="configuration-options">Configuration Options</h2>
+<p>You can configure the localization of the iPOJO metadata file as following:
 {div:class=pom}
 <plugin>
 &nbsp;&nbsp;&nbsp; <groupId>org.apache.felix</groupId>
@@ -196,12 +320,10 @@ You can configure the localization of th
 &nbsp;&nbsp;&nbsp;</executions>
 </plugin>
 {div}
-In the metadata element, you can specify your metadata file or directory. The given file path is relative to the root directory ("./ipojo/meta.xml"). If the specified location is a directory, all contained XML files will be used. By default, the plugin searches metadata files into the `src/main/ipojo` folder. If not found then it searches for `target/classes/metadata.xml` and `./metadata.xml`.
-
-*Note:* The directory support was introduced in the `1.7.0` version. Previously only one metadata file was found.
-*Compatibility:* Before the `1.7.0`, the set location was searched in all resource folders. This is no more supported because it's an anti-pattern.
-
-The second option allows skipping annotations processing, by using the `ignoreAnnotations` element:
+In the metadata element, you can specify your metadata file or directory. The given file path is relative to the root directory ("./ipojo/meta.xml"). If the specified location is a directory, all contained XML files will be used. By default, the plugin searches metadata files into the <code>src/main/ipojo</code> folder. If not found then it searches for <code>target/classes/metadata.xml</code> and <code>./metadata.xml</code>.</p>
+<p><em>Note:</em> The directory support was introduced in the <code>1.7.0</code> version. Previously only one metadata file was found.
+<em>Compatibility:</em> Before the <code>1.7.0</code>, the set location was searched in all resource folders. This is no more supported because it's an anti-pattern.</p>
+<p>The second option allows skipping annotations processing, by using the <code>ignoreAnnotations</code> element:
 {div:class=pom}
 <plugin>
 &nbsp;&nbsp;&nbsp; <groupId>org.apache.felix</groupId>
@@ -218,9 +340,8 @@ The second option allows skipping annota
 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</execution>
 &nbsp;&nbsp;&nbsp;</executions>
 </plugin>
-{div}
-
-You can also ignore embedded XML-Schemas to use external ones. To do so, add the `ignoreEmbeddedSchemas`. If set to `true`, the manipulator doesn't use embedded XML-Schemas:
+{div}</p>
+<p>You can also ignore embedded XML-Schemas to use external ones. To do so, add the <code>ignoreEmbeddedSchemas</code>. If set to <code>true</code>, the manipulator doesn't use embedded XML-Schemas:
 {div:class=pom}
 <plugin>
 &nbsp;&nbsp;&nbsp; <groupId>org.apache.felix</groupId>
@@ -237,33 +358,31 @@ You can also ignore embedded XML-Schemas
 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</execution>
 &nbsp;&nbsp;&nbsp;</executions>
 </plugin>
-{div}
-
-## Generate the skeleton of your iPOJO bundle
-The maven-ipojo-plugin provides a way to generate the skeleton of your project. To generate this structure, just launch the following command:
-
-    mvn org.apache.maven.plugins:maven-archetype-plugin:generate \
-    -DarchetypeArtifactId=maven-ipojo-plugin \
-    -DarchetypeGroupId=org.apache.felix \
-    -DartifactId=ARTIFACT_NAME_OF_YOUR_PROJECT \
-    -DgroupId=GROUP_ID_OF_YOUR_PROJECT \
-    -DarchetypeVersion=VERSION_OF_YOUR_PROJECT \
-    -DpackageName=PACKAGE_NAME
-
-This command generates :
-* a pom file (to update), 
-* the src/main/java and src/main/resources folders, 
-* the structure of your package name.
-
-The generated project uses iPOJO annotation and is ready to be deployed.
-
+{div}</p>
+<h2 id="generate-the-skeleton-of-your-ipojo-bundle">Generate the skeleton of your iPOJO bundle</h2>
+<p>The maven-ipojo-plugin provides a way to generate the skeleton of your project. To generate this structure, just launch the following command:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">maven</span><span class="o">.</span><span class="n">plugins:maven</span><span class="o">-</span><span class="n">archetype</span><span class="o">-</span><span class="n">plugin:generate</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DarchetypeArtifactId</span><span class="o">=</span><span class="n">maven</span><span class="o">-</span><span class="n">ipojo</span><span class="o">-</span><span class="n">plugin</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DarchetypeGroupId</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DartifactId</span><span class="o">=</span><span class="n">ARTIFACT_NAME_OF_YOUR_PROJECT</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DgroupId</span><span class="o">=</span><span class="n">GROUP_ID_OF_YOUR_PROJECT</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DarchetypeVersion</span><span class="o">=</span><span class="n">VERSION_OF_YOUR_PROJECT</span> <span class="o">\</span>
+<span class="o">-</span><span class="n">DpackageName</span><span class="o">=</span><span class="n">PACKAGE_NAME</span>
+</pre></div>
+
+
+<p>This command generates :
+<em> a pom file (to update), 
+</em> the src/main/java and src/main/resources folders, 
+* the structure of your package name.</p>
+<p>The generated project uses iPOJO annotation and is ready to be deployed.</p>
 <div class="info" markdown="1">
 **Maven Archetype**
 The maven-ipojo-plugin archetype generates a pom file using the latest released version of the maven-ipojo-plugin.
 </div>
 
-## Describing iPOJO configuration in the pom file
-It is also possible to describe iPOJO components and instances inside the pom file (avoiding using a externalized file). The configuration can be described in the `metadata` attribute inside a CDATA block.
+<h2 id="describing-ipojo-configuration-in-the-pom-file">Describing iPOJO configuration in the pom file</h2>
+<p>It is also possible to describe iPOJO components and instances inside the pom file (avoiding using a externalized file). The configuration can be described in the <code>metadata</code> attribute inside a CDATA block.
 {div:class=pom}
 <plugin>
 &nbsp;&nbsp;    <groupId>org.apache.felix</groupId>
@@ -277,7 +396,7 @@ It is also possible to describe iPOJO co
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        <configuration>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            <ignoreAnnotations>true</ignoreAnnotations>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            <metadata>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                <![CDATA[
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                &lt;![CDATA[
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                <ipojo
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                 xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
@@ -301,17 +420,19 @@ It is also possible to describe iPOJO co
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                  </properties>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;               </component>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                </ipojo>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;               ]]>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;               ]]&gt;
 &nbsp;&nbsp;&nbsp;          </metadata>
 &nbsp;&nbsp;&nbsp;      </configuration>
 &nbsp;&nbsp;&nbsp;  </execution>
 &nbsp;&nbsp;    </executions>
 </plugin>
-{div}
+{div}</p>
+      </div>
+      
+      <img src="http://felix.apache.org/ipojo/site/footer.png" class="footer">
 
-{include:apache-felix-ipojo-footer}
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
@@ -319,5 +440,18 @@ It is also possible to describe iPOJO co
         may be trademarks or registered trademarks of their respective owners.
       </div>
     </div>
+    </div>
+    
+    <script type="text/javascript">
+    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script>
+    <script type="text/javascript">
+    try{
+    var pageTracker = _gat._getTracker("UA-1518442-4");
+    pageTracker._trackPageview();
+    } catch(err) {}
+    </script>
+
   </body>
 </html>

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-webconsole-plugin.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-webconsole-plugin.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-webconsole-plugin.html Sun Feb  3 06:45:21 2013
@@ -20,9 +20,45 @@
   <head>
     <title>Apache Felix - iPOJO Webconsole Plugin</title>
     <link rel="icon" href="/res/favicon.ico">
-    <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
-    <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/site/media.data/site.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/superfish.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/style.css" type="text/css" media="all">
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    
+    <!--
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js"></script>
+    -->
+    
+    <script type="text/javascript" src="/ipojo/site/jquery-1.js"></script>
+    <script type="text/javascript" src="/ipojo/site/hoverIntent.js"></script>
+    <script type="text/javascript" src="/ipojo/site/superfish.js"></script> 
+    <script type="text/javascript" src="/ipojo/site/supersubs.js"></script> 
+    
+    <script type="text/javascript"> 
+     
+        $(document).ready(function(){ 
+            $("ul.sf-menu").supersubs({ 
+                minWidth:    14,   // minimum width of sub-menus in em units 
+                maxWidth:    30,   // maximum width of sub-menus in em units 
+                extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
+                                   // due to slight rounding differences and font-family 
+            }).superfish();  // call supersubs first, then superfish, so that subs are 
+                             // not display:none when measuring. Call before initialising 
+                             // containing tabs for same reason. 
+        }); 
+     
+    </script>
+    
   </head>
   <body>
     <div class="title">
@@ -37,87 +73,182 @@
         </a>
       </div>
     </div>
+  
+    <div class="main">
+    <div class="main">
+    <div class="page-header">
+    <img src="/ipojo/site/header.png" class="header">
+    <a href="http://ipojo.org"><img src="/ipojo/site/ipojo.png" width="225" class="header-logo"></a>
+    <ul class="sf-menu sf-js-enabled sf-shadow" id="ipojo-menu">
+    <li class="current">
+    <!-- Menu Overview -->
+    <a href="#" class="sf-with-ul">Overview<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <li>
+        <a href="">Home</a>                          
+        </li>
+        <li>
+        <a href="">Why choose iPOJO</a>
+        </li>
+        <li>
+        <a href="">Success stories</a>
+        </li>
+        <li>
+        <a href="">Features</a>
+        </li>
+    </ul>
+    </li>   
     
-    <div class="menu"> 
-      <p><a href="/news.html">news</a>  <br />
-<a href="/license.html">license</a>  <br />
-<a href="/downloads.cgi">downloads</a>  <br />
-<a href="/documentation.html">documentation</a>  <br />
-<a href="/mailinglists.html">mailing lists</a>  <br />
-<a href="/documentation/community/contributing.html">contributing</a>  <br />
-<a href="/sitemap.html">site map</a>  <br />
-<a href="http://www.apache.org/">asf</a>  <br />
-<a href="http://www.apache.org/security/">security</a>  <br />
-<a href="http://www.apache.org/foundation/sponsorship.html">sponsorship</a>  <br />
-<a href="http://www.apache.org/foundation/thanks.html">sponsors</a>  <br />
-</p>
-<iframe
-    src="http://www.apache.org/ads/button.html"
-    style="border-width:0; float: left"
-    frameborder="0"
-    scrolling="no"
-    width="135"
-    height="135">
-</iframe>
-    </div>
+    <li class="">           
+    <!-- Menu download -->
+    <li>
+    <a href="/downloads.cgi">Download </a>
+    </li>
     
-    <div class="main">
-      <div class="breadcrump" style="font-size: 80%;">
-        <a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects.html">Apache Felix Subproject Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo.html">Apache Felix iPOJO</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools.html">apache-felix-ipojo-tools</a>
-      </div>
-
+    <li class="">                   
+    <!-- Menu Documentation -->
+    <a href="#" class="sf-with-ul">Documentation<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <!-- sub-menu : getting started -->
+        <li class="">
+        <a href="#" class="sf-with-ul">Getting Started<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+        <ul>
+         <li><a href="">iPOJO in 10 minutes</a></li>
+         <li><a href="">Using Annotations</a></li>
+         <li><a href="">Maven tutorial</a></li>
+         <li><a href="">Advanced tutorial</a></li>
+         <li><a href="">Using Distributed OSGi</a></li>
+         <li><a href="">Application Composition</a></li>
+        </ul>
+        </li> <!-- end of getting started -->
+        <!-- sub menu : Describing Components -->
+         <li class="">
+            <a href="" class="sf-with-ul">Describing components<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">Requiring a service</a></li>
+            <li><a href="">Providing a service</a></li>
+            <li><a href="">Lifecycle management</a></li>
+            <li><a href="">Configuration</a></li>
+            <li><a href="">Introspection</a></li>
+            <li><a href="">Impacting the lifecycle</a></li>
+            <li><a href="">Asynchronous communication</a></li>
+            <li><a href="">JMX management</a></li>
+            <li><a href="">Extender pattern</a></li>
+            <li><a href="">Whiteboard pattern</a></li>
+            <li><a href="">Temporal dependencies</a></li>
+            </ul>
+         </li> <!-- End of describing components -->
+        <!-- sub-menu : User Guide -->
+        <li class="">
+        <a href="" class="sf-with-ul">User Guide<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">iPOJO and config admin</a></li>
+            <li><a href="">Factories and Instances</a></li>
+            <li><a href="">XML Schemas</a></li>
+            <li><a href="">API</a></li>
+            <li><a href="">Testing components</a></li>
+            <li><a href="">Eclipse Integration</a></li>
+            <li><a href="">FAQ</a></li>
+            <li><a href="">Reference Card</a></li>
+            </ul>
+        </li> <!-- end of user guide -->
+        <!-- sub-menu : Dev Guide -->
+        <li> 
+        <a href="#" class="sf-with-ul">Advanced Topics<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+           <ul>
+            <li><a href="http://felix.apache.org/ipojo/api/1.6.0">Javadoc</a></li>
+            <li><a href="">Handler development</a></li>
+            <li><a href="">Manipulation Metadata </a></li>
+            <li><a href="">Dive into the iPOJO Manipulation depths</a></li>
+           </ul>
+        </li> <!-- End of Dev guide -->
+    </ul> 
+    </li> <!-- End of doc -->
+    <!-- Menu 4 : Tools -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Tools<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Ant Task</a></li>
+       <li><a href="">Eclipse Plugin</a></li>
+       <li><a href="">Maven Plugin</a></li>
+       <li><a href="">`arch` shell command</a></li>
+       <li><a href="">Online Manipulator</a></li>
+       <li><a href="">Webconsole plugin</a></li>
+       <li><a href="">Junit4OSGi</a></li>
+    </ul>   
+    </li><!-- End of tools -->  
+    <!-- Menu 5 : Support -->
+    <li>
+    <a href="">Support </a>
+    </li>
+    <!-- End of the menu 5 -->          
+    <!-- Menu 6 : Misc -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Misc<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Supported JVMs</a></li>
+       <li><a href="">Supported OSGi Implementations</a></li>
+       <li><a href="http://ipojo-dark-side.blogspot.com">iPOJO's Dark Side Blog</a></li>
+       <li><a href="">Article & Presentations</a></li>
+       <li><a href="http://www.apache.org/">ASF</a></li>
+       <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+       <li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
+    </ul>
+    </li><!-- End of misc -->
+    </ul> <!-- End of the menu -->
+    </div> <!-- Page header -->
+  
+      <!-- 
       
       <div class="tip">
            This page is a translated version of <a href="/site/ipojo-webconsole-plugin.html" target="felix_cwiki">/site/ipojo-webconsole-plugin.html</a>. In case of
            doubt you might want to refer to the old page.
       </div>
       
+      -->
       
       <h1>iPOJO Webconsole Plugin</h1>
-      <p>{include:apache-felix-ipojo-header}</p>
-<div class="content">
-
-# iPOJO Webconsole Plugin
-
-*If you like the [Apache Felix Web Console](/documentation/subprojects/apache-felix-web-console.html), you will be interested by the iPOJO plugin. This plugin gives you all the information about iPOJO instances, factories and handlers deployed on the framework.*
-
-{div:class=toc}
+      
+      <div class="content">
+        <h1 id="ipojo-webconsole-plugin">iPOJO Webconsole Plugin</h1>
+<p><em>If you like the <a href="/documentation/subprojects/apache-felix-web-console.html">Apache Felix Web Console</a>, you will be interested by the iPOJO plugin. This plugin gives you all the information about iPOJO instances, factories and handlers deployed on the framework.</em></p>
+<p>{div:class=toc}
 [TOC]
-{div}
-
-## Features
-* Lists created instances
-* Gives details about instances (state, factory, required services, provided services, used instances, and raw architecture)
-* Lists available factories
-* Gives details about factories (state, created instances, required handlers, missing handlers, raw architecture, properties...)
-* List available handlers
-* Instance and Factories are `navigable`, so you can easily understand the system architecture
-
-In other words, it replace the [`arch`](/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-arch-command.html) command.
-
-## Using the plugin
-To use the plugin you need an OSGi platform with:
-* an HTTP Service ([Download]())
-* The Apache Felix Webconsole
-* iPOJO 
-* The iPOJO Plugin (compiled with iPOJO)
-
-To start the web console, please refer to the [Apache Felix web console documentation](/documentation/subprojects/apache-felix-web-console.html).
-
-You can also use OBR to deploy the web console and the plugin:
+{div}</p>
+<h2 id="features">Features</h2>
+<ul>
+<li>Lists created instances</li>
+<li>Gives details about instances (state, factory, required services, provided services, used instances, and raw architecture)</li>
+<li>Lists available factories</li>
+<li>Gives details about factories (state, created instances, required handlers, missing handlers, raw architecture, properties...)</li>
+<li>List available handlers</li>
+<li>Instance and Factories are <code>navigable</code>, so you can easily understand the system architecture</li>
+</ul>
+<p>In other words, it replace the <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-arch-command.html"><code>arch</code></a> command.</p>
+<h2 id="using-the-plugin">Using the plugin</h2>
+<p>To use the plugin you need an OSGi platform with:
+<em> an HTTP Service (<a href="">Download</a>)
+</em> The Apache Felix Webconsole
+<em> iPOJO 
+</em> The iPOJO Plugin (compiled with iPOJO)</p>
+<p>To start the web console, please refer to the <a href="/documentation/subprojects/apache-felix-web-console.html">Apache Felix web console documentation</a>.</p>
+<p>You can also use OBR to deploy the web console and the plugin:
 {code:none}
-obr start "Apache Felix Web Management Console"
+obr start "Apache Felix Web Management Console"</p>
+<div class="codehilite"><pre><span class="n">This</span> <span class="n">command</span> <span class="n">deploys</span> <span class="n">an</span> <span class="n">HTTP</span> <span class="n">Service</span><span class="p">,</span> <span class="n">the</span> <span class="n">web</span> <span class="n">console</span><span class="p">,</span> <span class="n">iPOJO</span> <span class="p">(</span><span class="n">core</span><span class="p">)</span> <span class="ow">and</span> <span class="n">the</span> <span class="n">plugin</span><span class="o">.</span>
 
-    This command deploys an HTTP Service, the web console, iPOJO (core) and the plugin.
+<span class="n">h2</span><span class="o">.</span> <span class="n">Screenshots</span>
+<span class="o">!</span><span class="n">Picture</span> <span class="mi">5</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span> <span class="o">!</span><span class="n">Picture</span> <span class="mi">6</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span> <span class="o">!</span><span class="n">Picture</span> <span class="mi">7</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span>
+<span class="o">!</span><span class="n">Picture</span> <span class="mi">8</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span> <span class="o">!</span><span class="n">Picture</span> <span class="mi">9</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span> <span class="o">!</span><span class="n">Picture</span> <span class="mi">10</span><span class="o">.</span><span class="n">png</span><span class="o">|</span><span class="n">thumbnail</span><span class="o">!</span>
+<span class="o">\\</span>
+<span class="o">\\</span>
+</pre></div>
+      </div>
+      
+      <img src="http://felix.apache.org/ipojo/site/footer.png" class="footer">
 
-    h2. Screenshots
-    !Picture 5.png|thumbnail! !Picture 6.png|thumbnail! !Picture 7.png|thumbnail!
-    !Picture 8.png|thumbnail! !Picture 9.png|thumbnail! !Picture 10.png|thumbnail!
-    \\
-    \\
-    {include:apache-felix-ipojo-footer}
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
@@ -125,5 +256,18 @@ obr start "Apache Felix Web Management C
         may be trademarks or registered trademarks of their respective owners.
       </div>
     </div>
+    </div>
+    
+    <script type="text/javascript">
+    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script>
+    <script type="text/javascript">
+    try{
+    var pageTracker = _gat._getTracker("UA-1518442-4");
+    pageTracker._trackPageview();
+    } catch(err) {}
+    </script>
+
   </body>
 </html>

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 Sun Feb  3 06:45:21 2013
@@ -20,9 +20,45 @@
   <head>
     <title>Apache Felix - Junit4OSGi</title>
     <link rel="icon" href="/res/favicon.ico">
-    <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
-    <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/site/media.data/site.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/superfish.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/ipojo/site/style.css" type="text/css" media="all">
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    
+    <!--
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js"></script>
+    <script class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js"></script>
+    -->
+    
+    <script type="text/javascript" src="/ipojo/site/jquery-1.js"></script>
+    <script type="text/javascript" src="/ipojo/site/hoverIntent.js"></script>
+    <script type="text/javascript" src="/ipojo/site/superfish.js"></script> 
+    <script type="text/javascript" src="/ipojo/site/supersubs.js"></script> 
+    
+    <script type="text/javascript"> 
+     
+        $(document).ready(function(){ 
+            $("ul.sf-menu").supersubs({ 
+                minWidth:    14,   // minimum width of sub-menus in em units 
+                maxWidth:    30,   // maximum width of sub-menus in em units 
+                extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
+                                   // due to slight rounding differences and font-family 
+            }).superfish();  // call supersubs first, then superfish, so that subs are 
+                             // not display:none when measuring. Call before initialising 
+                             // containing tabs for same reason. 
+        }); 
+     
+    </script>
+    
   </head>
   <body>
     <div class="title">
@@ -37,231 +73,332 @@
         </a>
       </div>
     </div>
+  
+    <div class="main">
+    <div class="main">
+    <div class="page-header">
+    <img src="/ipojo/site/header.png" class="header">
+    <a href="http://ipojo.org"><img src="/ipojo/site/ipojo.png" width="225" class="header-logo"></a>
+    <ul class="sf-menu sf-js-enabled sf-shadow" id="ipojo-menu">
+    <li class="current">
+    <!-- Menu Overview -->
+    <a href="#" class="sf-with-ul">Overview<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <li>
+        <a href="">Home</a>                          
+        </li>
+        <li>
+        <a href="">Why choose iPOJO</a>
+        </li>
+        <li>
+        <a href="">Success stories</a>
+        </li>
+        <li>
+        <a href="">Features</a>
+        </li>
+    </ul>
+    </li>   
     
-    <div class="menu"> 
-      <p><a href="/news.html">news</a>  <br />
-<a href="/license.html">license</a>  <br />
-<a href="/downloads.cgi">downloads</a>  <br />
-<a href="/documentation.html">documentation</a>  <br />
-<a href="/mailinglists.html">mailing lists</a>  <br />
-<a href="/documentation/community/contributing.html">contributing</a>  <br />
-<a href="/sitemap.html">site map</a>  <br />
-<a href="http://www.apache.org/">asf</a>  <br />
-<a href="http://www.apache.org/security/">security</a>  <br />
-<a href="http://www.apache.org/foundation/sponsorship.html">sponsorship</a>  <br />
-<a href="http://www.apache.org/foundation/thanks.html">sponsors</a>  <br />
-</p>
-<iframe
-    src="http://www.apache.org/ads/button.html"
-    style="border-width:0; float: left"
-    frameborder="0"
-    scrolling="no"
-    width="135"
-    height="135">
-</iframe>
-    </div>
+    <li class="">           
+    <!-- Menu download -->
+    <li>
+    <a href="/downloads.cgi">Download </a>
+    </li>
     
-    <div class="main">
-      <div class="breadcrump" style="font-size: 80%;">
-        <a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects.html">Apache Felix Subproject Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo.html">Apache Felix iPOJO</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools.html">apache-felix-ipojo-tools</a>
-      </div>
-
+    <li class="">                   
+    <!-- Menu Documentation -->
+    <a href="#" class="sf-with-ul">Documentation<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+        <!-- sub-menu : getting started -->
+        <li class="">
+        <a href="#" class="sf-with-ul">Getting Started<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+        <ul>
+         <li><a href="">iPOJO in 10 minutes</a></li>
+         <li><a href="">Using Annotations</a></li>
+         <li><a href="">Maven tutorial</a></li>
+         <li><a href="">Advanced tutorial</a></li>
+         <li><a href="">Using Distributed OSGi</a></li>
+         <li><a href="">Application Composition</a></li>
+        </ul>
+        </li> <!-- end of getting started -->
+        <!-- sub menu : Describing Components -->
+         <li class="">
+            <a href="" class="sf-with-ul">Describing components<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">Requiring a service</a></li>
+            <li><a href="">Providing a service</a></li>
+            <li><a href="">Lifecycle management</a></li>
+            <li><a href="">Configuration</a></li>
+            <li><a href="">Introspection</a></li>
+            <li><a href="">Impacting the lifecycle</a></li>
+            <li><a href="">Asynchronous communication</a></li>
+            <li><a href="">JMX management</a></li>
+            <li><a href="">Extender pattern</a></li>
+            <li><a href="">Whiteboard pattern</a></li>
+            <li><a href="">Temporal dependencies</a></li>
+            </ul>
+         </li> <!-- End of describing components -->
+        <!-- sub-menu : User Guide -->
+        <li class="">
+        <a href="" class="sf-with-ul">User Guide<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+            <ul>
+            <li><a href="">iPOJO and config admin</a></li>
+            <li><a href="">Factories and Instances</a></li>
+            <li><a href="">XML Schemas</a></li>
+            <li><a href="">API</a></li>
+            <li><a href="">Testing components</a></li>
+            <li><a href="">Eclipse Integration</a></li>
+            <li><a href="">FAQ</a></li>
+            <li><a href="">Reference Card</a></li>
+            </ul>
+        </li> <!-- end of user guide -->
+        <!-- sub-menu : Dev Guide -->
+        <li> 
+        <a href="#" class="sf-with-ul">Advanced Topics<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+           <ul>
+            <li><a href="http://felix.apache.org/ipojo/api/1.6.0">Javadoc</a></li>
+            <li><a href="">Handler development</a></li>
+            <li><a href="">Manipulation Metadata </a></li>
+            <li><a href="">Dive into the iPOJO Manipulation depths</a></li>
+           </ul>
+        </li> <!-- End of Dev guide -->
+    </ul> 
+    </li> <!-- End of doc -->
+    <!-- Menu 4 : Tools -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Tools<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Ant Task</a></li>
+       <li><a href="">Eclipse Plugin</a></li>
+       <li><a href="">Maven Plugin</a></li>
+       <li><a href="">`arch` shell command</a></li>
+       <li><a href="">Online Manipulator</a></li>
+       <li><a href="">Webconsole plugin</a></li>
+       <li><a href="">Junit4OSGi</a></li>
+    </ul>   
+    </li><!-- End of tools -->  
+    <!-- Menu 5 : Support -->
+    <li>
+    <a href="">Support </a>
+    </li>
+    <!-- End of the menu 5 -->          
+    <!-- Menu 6 : Misc -->
+    <li class="">
+    <a href="#" class="sf-with-ul">Misc<span class="sf-sub-indicator"> »</span><span class="sf-sub-indicator"> »</span></a>
+    <ul>
+       <li><a href="">Supported JVMs</a></li>
+       <li><a href="">Supported OSGi Implementations</a></li>
+       <li><a href="http://ipojo-dark-side.blogspot.com">iPOJO's Dark Side Blog</a></li>
+       <li><a href="">Article & Presentations</a></li>
+       <li><a href="http://www.apache.org/">ASF</a></li>
+       <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+       <li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
+    </ul>
+    </li><!-- End of misc -->
+    </ul> <!-- End of the menu -->
+    </div> <!-- Page header -->
+  
+      <!-- 
       
       <div class="tip">
            This page is a translated version of <a href="/site/junit4osgi.html" target="felix_cwiki">/site/junit4osgi.html</a>. In case of
            doubt you might want to refer to the old page.
       </div>
       
+      -->
       
       <h1>Junit4OSGi</h1>
-      <p>{include:apache-felix-ipojo-header}</p>
-<div class="content">
-
-# JUnit4OSGi : Executing Unitary and Integration Test on OSGi
-
-This page is *deprecated*
-
-----
-## Goals
-Executing tests on OSGi became a stringent requirement as several aspects need to be tested. Indeed, modularity, services (and the inherent dynamism) and the business logic need to be tested.  The goal of JUnit4OSGi is to provide an execution gateway in order to test bundles and services.  Instead of injecting mock objects, as provided by regular test frameworks to hide the underlying Executing environment, tests are directly executed on OSGi and so have access to all the features provided by the OSGi framework. This allows developers checking modularity aspect and service dynamism in addition to the business logic.
-
-## Principles
-Junit4OSGi is split in several pieces. First the core bundle (Junit4OSGi) contains an extended version of Junit (3.8.1). On the top of this framework, several runners are implemented:
-* Immediate runner : launch every available test suite
-* Command line runner : Felix command line allowing to choose the test suite(s) to launch
-* Swing Runner : a very simple Swing runner
-* Maven runner: a maven plug-in allowing to automate tests during the project build process
-
-The different runners give a great flexibility to the framework that can be used during the build process or to test an application in a special environment (such as J2ME).
-Test suites and test cases are package inside bundles. Junit4OSGi extend Junit to support OSGi test suite and OSGi test case. These two kinds of test classes are able to use the bundle context of the bundle and so are able to deal with the underlying OSGi framework.
-
-## Installing the framework
-Except if you use the maven front end (automating the launch a an OSGi framework (Felix) and deploying required bundles), to launch the Junit framework you need to deploy and start
-* [iPOJO 0.8.0-SNASPHOT](http://people.apache.org/~clement/ipojo/binaries/org.apache.felix.ipojo-0.8.0-SNAPSHOT.jar)
-* [iPOJO Extender Pattern Handler 0.8.0-SNAPSHOT](http://people.apache.org/~clement/ipojo/binaries/org.apache.felix.ipojo.handler.extender.pattern-0.8.0-SNAPSHOT.jar)
-* [The Junit4OSGi bundle](http://people.apache.org/~clement/ipojo/junit4osgi/org.apache.felix.ipojo.junit4osgi-0.8.0-SNAPSHOT.jar)
-* One runner such as the [Felix command](http://people.apache.org/~clement/ipojo/junit4osgi/org.apache.felix.ipojo.junit4osgi.felix-command-0.8.0-SNAPSHOT.jar) one
-
-The archive available [here](http://people.apache.org/~clement/ipojo/junit4osgi/junit4osgi.tutorial.zip) contains a pre-configured version of Felix with the previously mentionned bundles.
-
-## Writing Junit Test Case and Test Suite
-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 [http://www.junit.org/](http://www.junit.org/).
-
-The Money class was introduced in the Junit tutorial and was implemented as the following:
-
-    package junit.money;
-
-    public class Money {
-        private int fAmount;
-        private String fCurrency;
-
-        public Money(int amount, String currency) {
-            fAmount= amount;
-            fCurrency= currency;
-        }
-
-        public int amount() {
-            return fAmount;
-        }
-
-        public String currency() {
-            return fCurrency;
-        }
-
-        public Money add(Money m) {
-            return new Money(amount()+m.amount(), currency());
-        }
-
-        public boolean equals(Object anObject) {
-            if (anObject instanceof Money) {
-                Money aMoney= (Money)anObject;
-                return aMoney.currency().equals(currency())
-                    && amount() == aMoney.amount();
-            }
-            return false;
-        }
-
-So, to test this implementation, we decide to write a simple class testing the equals and add methods. This class can be implemented as the following:
-
-    public class SimpleTestCase extends TestCase {    
-        private Money f12CHF;
-        private Money f14CHF;   
-        public void setUp() {
-            f12CHF= new Money(12, "CHF");
-            f14CHF= new Money(14, "CHF");
-        }
-         public void testEquals() {
-            assertTrue(!f12CHF.equals(null));
-            assertEquals(f12CHF, f12CHF);
-            assertEquals(f12CHF, new Money(12, "CHF"));
-            assertTrue(!f12CHF.equals(f14CHF));
-        }
-        public void testSimpleAdd() {
-            Money expected= new Money(26, "CHF");
-            Money result= f12CHF.add(f14CHF);
-            assertTrue(expected.equals(result));
-        }
-    }
-
-Moreover, in order to launch these tests, we create a test suite (declaring the list of test to execute):
-
-    public class SimpleTestSuite {
-
-        public static Test suite() {
-            TestSuite suite = new TestSuite("Money Simple Test Suite");
-            suite.addTestSuite(SimpleTestCase.class);
-            return suite;
-        }
-    }
-
-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:
+      
+      <div class="content">
+        <h1 id="junit4osgi-executing-unitary-and-integration-test-on-osgi">JUnit4OSGi : Executing Unitary and Integration Test on OSGi</h1>
+<p>This page is <em>deprecated</em></p>
+<hr />
+<h2 id="goals">Goals</h2>
+<p>Executing tests on OSGi became a stringent requirement as several aspects need to be tested. Indeed, modularity, services (and the inherent dynamism) and the business logic need to be tested.  The goal of JUnit4OSGi is to provide an execution gateway in order to test bundles and services.  Instead of injecting mock objects, as provided by regular test frameworks to hide the underlying Executing environment, tests are directly executed on OSGi and so have access to all the features provided by the OSGi framework. This allows developers checking modularity aspect and service dynamism in addition to the business logic.</p>
+<h2 id="principles">Principles</h2>
+<p>Junit4OSGi is split in several pieces. First the core bundle (Junit4OSGi) contains an extended version of Junit (3.8.1). On the top of this framework, several runners are implemented:
+<em> Immediate runner : launch every available test suite
+</em> Command line runner : Felix command line allowing to choose the test suite(s) to launch
+<em> Swing Runner : a very simple Swing runner
+</em> Maven runner: a maven plug-in allowing to automate tests during the project build process</p>
+<p>The different runners give a great flexibility to the framework that can be used during the build process or to test an application in a special environment (such as J2ME).
+Test suites and test cases are package inside bundles. Junit4OSGi extend Junit to support OSGi test suite and OSGi test case. These two kinds of test classes are able to use the bundle context of the bundle and so are able to deal with the underlying OSGi framework.</p>
+<h2 id="installing-the-framework">Installing the framework</h2>
+<p>Except if you use the maven front end (automating the launch a an OSGi framework (Felix) and deploying required bundles), to launch the Junit framework you need to deploy and start
+<em> <a href="http://people.apache.org/~clement/ipojo/binaries/org.apache.felix.ipojo-0.8.0-SNAPSHOT.jar">iPOJO 0.8.0-SNASPHOT</a>
+</em> <a href="http://people.apache.org/~clement/ipojo/binaries/org.apache.felix.ipojo.handler.extender.pattern-0.8.0-SNAPSHOT.jar">iPOJO Extender Pattern Handler 0.8.0-SNAPSHOT</a>
+<em> <a href="http://people.apache.org/~clement/ipojo/junit4osgi/org.apache.felix.ipojo.junit4osgi-0.8.0-SNAPSHOT.jar">The Junit4OSGi bundle</a>
+</em> One runner such as the <a href="http://people.apache.org/~clement/ipojo/junit4osgi/org.apache.felix.ipojo.junit4osgi.felix-command-0.8.0-SNAPSHOT.jar">Felix command</a> one</p>
+<p>The archive available <a href="http://people.apache.org/~clement/ipojo/junit4osgi/junit4osgi.tutorial.zip">here</a> contains a pre-configured version of Felix with the previously mentionned bundles.</p>
+<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>
+
+<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">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="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="k">return</span> <span class="n">fAmount</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="n">public</span> <span class="n">String</span> <span class="n">currency</span><span class="p">()</span> <span class="p">{</span>
+        <span class="k">return</span> <span class="n">fCurrency</span><span class="p">;</span>
+    <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="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">&amp;&amp;</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="p">}</span>
+        <span class="k">return</span> <span class="n">false</span><span class="p">;</span>
+    <span class="p">}</span>
+</pre></div>
+
+
+<p>So, to test this implementation, we decide to write a simple class testing the equals and add methods. This class can be implemented as the following:</p>
+<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">TestCase</span> <span class="p">{</span>    
+    <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">&quot;CHF&quot;</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">&quot;CHF&quot;</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">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">&quot;CHF&quot;</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="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">&quot;CHF&quot;</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="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>Moreover, in order to launch these tests, we create a test suite (declaring the list of test to execute):</p>
+<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">&quot;Money Simple Test Suite&quot;</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="k">return</span> <span class="n">suite</span><span class="p">;</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<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>
+</pre></div>
 
-    Test-Suite: junit.example.SimpleTestSuite
 
-This header lists the test suite contained in the bundle. 
+<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:
+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>
+</pre></div>
 
-    java -jar bin/felix.jar
 
-Then deploy the created bundle:
+<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>
+</pre></div>
 
-    start file:../junit-example/output/junit-example.jar
 
-Finally, run the test with the junit command
+<p>Finally, run the test with the junit command</p>
+<div class="codehilite"><pre><span class="n">junit</span> <span class="mi">8</span>
+</pre></div>
 
-    junit 8
 
-The argument indicates the bundle containing the test suite to execute. The "all" special argument runs every available test suites.
+<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">-&gt;</span> <span class="n">junit</span> <span class="mi">8</span>
+<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>
 
-    -> junit 8
-    Executing [Money Simple Test Suite]
-    ..
-    Time: 0,001
+<span class="n">OK</span> <span class="p">(</span><span class="mi">2</span> <span class="n">tests</span><span class="p">)</span>
+</pre></div>
 
-    OK (2 tests)
 
-## Writing Junit Test Case and Test Suite specialized for OSGi
-The previous example has illustrated how creating thest cases and test suites by using the regular Junit framework. However, junit4osgi has the particularity to support specialized test for OSGi.  For example, imagine the very simple Hello Service implemented by the following class:
+<h2 id="writing-junit-test-case-and-test-suite-specialized-for-osgi">Writing Junit Test Case and Test Suite specialized for OSGi</h2>
+<p>The previous example has illustrated how creating thest cases and test suites by using the regular Junit framework. However, junit4osgi has the particularity to support specialized test for OSGi.  For example, imagine the very simple Hello Service implemented by the following class:</p>
+<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>
 
-    public class HelloProvider implements HelloService {
+    <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">&quot;hello&quot;</span><span class="p">;</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
 
-        public String getHelloMessage() {
-            return "hello";
-        }
-    }
 
-The bundle containing this implementation should register it. So you can decide to check this and to check the returned hello message.
-Instead of extending TestCase, this test case will extend OSGiTestCase (provided by the Junit4OSGi framework):
+<p>The bundle containing this implementation should register it. So you can decide to check this and to check the returned hello message.
+Instead of extending TestCase, this test case will extend OSGiTestCase (provided by the Junit4OSGi framework):</p>
+<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>
 
-    public class SimpleTestCase extends OSGiTestCase {
+    <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">&quot;Assert Availability&quot;</span><span class="p">,</span> <span class="nb">ref</span><span class="p">);</span>
+    <span class="p">}</span>
 
-        public void testHelloAvailability() {
-            ServiceReference ref = context.getServiceReference(HelloService.class.getName());
-            assertNotNull("Assert Availability", ref);
-        }
+    <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">&quot;Assert Availability&quot;</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">&quot;Check the message existence&quot;</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">&quot;Check the message&quot;</span><span class="p">,</span> <span class="s">&quot;hello&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+    <span class="p">}</span>
 
-        public void testHelloMessage() {
-            ServiceReference ref = 
-                 context.getServiceReference(HelloService.class.getName());
-            assertNotNull("Assert Availability", ref);
-            HelloService hs = (HelloService) context.getService(ref);
-            String message = hs.getHelloMessage();
-            assertNotNull("Check the message existence", message);
-            assertEquals("Check the message", "hello", message);
-        }   
+<span class="p">}</span>
+</pre></div>
 
-    }
 
-First, note that this class follows the same rules than regular test cases. All methods with a name starting with *test* will be executed. However, this class can access to the bundle context of its bundle by using the *context* field. By using this field, the class can check the availability of services ...
-OSGi test cases are gathered in OSGi test suite such as:
+<p>First, note that this class follows the same rules than regular test cases. All methods with a name starting with <em>test</em> will be executed. However, this class can access to the bundle context of its bundle by using the <em>context</em> field. By using this field, the class can check the availability of services ...
+OSGi test cases are gathered in OSGi test suite such as:</p>
+<div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">SimpleTestSuite</span> <span class="p">{</span>
 
-    public class SimpleTestSuite {
+    <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">&quot;Hello Service Test Suite&quot;</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="k">return</span> <span class="n">suite</span><span class="p">;</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
 
-        public static Test suite(BundleContext context) {
-      OSGiTestSuite suite = new OSGiTestSuite(
-    "Hello Service Test Suite",             
-    context
-      );
-            suite.addTestSuite(SimpleTestCase.class);
-            return suite;
-        }
-    }
 
-Note that the suite method receives the bundle context allowing the creation of an OSGi Test Suite object.
+<p>Note that the suite method receives the bundle context allowing the creation of an OSGi Test Suite object.
 The execution of these tests follows the same steps than the previous example:
-* Compile the tests and create the bundle by launching ant from the junit-osgi-example directory
-* Start Felix
-* Deploy the bundle with the following command: `start file:../junit-osgi-example/output/junit-osgi-example.jar`
-* Execute the test by using the junit command
-
-## Maven front end: automating tests in your build process
- *Coming soon*
+<em> Compile the tests and create the bundle by launching ant from the junit-osgi-example directory
+</em> Start Felix
+<em> Deploy the bundle with the following command: <code>start file:../junit-osgi-example/output/junit-osgi-example.jar</code>
+</em> Execute the test by using the junit command</p>
+<h2 id="maven-front-end-automating-tests-in-your-build-process">Maven front end: automating tests in your build process</h2>
+<p><em>Coming soon</em></p>
+      </div>
+      
+      <img src="http://felix.apache.org/ipojo/site/footer.png" class="footer">
 
-{include:apache-felix-ipojo-footer}
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
@@ -269,5 +406,18 @@ The execution of these tests follows the
         may be trademarks or registered trademarks of their respective owners.
       </div>
     </div>
+    </div>
+    
+    <script type="text/javascript">
+    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script>
+    <script type="text/javascript">
+    try{
+    var pageTracker = _gat._getTracker("UA-1518442-4");
+    pageTracker._trackPageview();
+    } catch(err) {}
+    </script>
+
   </body>
 </html>