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/04/12 15:43:21 UTC

svn commit: r858231 [4/5] - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/ documentation/subprojects/apache-felix-ipojo/ documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/ documentation/subprojects/apache...

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html Fri Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>
@@ -154,253 +157,265 @@
         <div class="content">
             <h1 id="introspecting-instances">Introspecting instances</h1>
 <p><em>iPOJO provides mechanisms to introspect and reconfigure instances. Those features are available from the instance description. Currently, only the reconfiguration of primitive instances is supported.</em></p>
+<div class="toc">
+<ul>
+<li><a href="#introspecting-instances">Introspecting instances</a><ul>
+<li><a href="#getting-instance-descriptions">Getting instance descriptions</a></li>
+<li><a href="#introspecting-primitive-instances">Introspecting primitive instances</a></li>
+<li><a href="#manipulating-dependencies">Manipulating dependencies</a></li>
+<li><a href="#manipulating-provided-services">Manipulating provided services</a></li>
+<li><a href="#manipulating-configuration-properties">Manipulating configuration properties</a></li>
+</ul>
+</li>
+</ul>
+</div>
 <h2 id="getting-instance-descriptions">Getting instance descriptions</h2>
 <p>There is two way to get the instance description:
 <em> By using the <code>architecture</code> service exposed by an instance providing introspection support.
-</em> By calling the getInstanceDescription() method on a ComponentInstance object (that you create thanks to a Factory)</p>
-<p>{code:java|Getting the instance description from the ComponentInstance object}
-    /*<em>
-     * Returns the instance description.
-     * @return the instance description of the current instance
-     </em>/
-    InstanceDescription getInstanceDescription();</p>
-<div class="codehilite"><pre><span class="n">h2</span><span class="o">.</span> <span class="n">Introspecting</span> <span class="n">primitive</span> <span class="n">instances</span>
-
-<span class="n">Once</span> <span class="n">you</span> <span class="n">get</span> <span class="n">the</span>  <span class="n">object</span><span class="p">,</span> <span class="n">cast</span> <span class="n">it</span> <span class="n">in</span>  <span class="p">(</span><span class="n">be</span> <span class="n">sure</span> <span class="n">that</span> <span class="n">it</span> <span class="n">is</span> <span class="n">really</span> <span class="n">a</span> <span class="n">primitive</span> <span class="n">instance</span><span class="p">)</span><span class="o">.</span>
-<span class="n">Then</span><span class="p">,</span> <span class="n">you</span> <span class="n">have</span> <span class="n">access</span> <span class="n">to</span> <span class="n">every</span> <span class="n">primitive</span> <span class="n">instance</span> <span class="n">aspects:</span>
-<span class="n">service</span> <span class="n">dependencies</span>
-<span class="n">provided</span> <span class="n">services</span>
-<span class="n">configuration</span> <span class="n">properties</span>
-<span class="n">get</span> <span class="n">created</span> <span class="n">implementation</span> <span class="n">objects</span>
-
-<span class="p">{</span><span class="n">code:java</span><span class="o">|</span><span class="n">title</span><span class="o">=</span><span class="n">Primitive</span> <span class="n">Instance</span> <span class="n">Description</span> <span class="n">methods</span><span class="p">}</span>
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">list</span> <span class="n">of</span> <span class="n">object</span> <span class="n">created</span> <span class="n">by</span> <span class="n">the</span> <span class="n">described</span> <span class="n">instance</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">created</span> <span class="n">objects</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">String</span><span class="o">[]</span> <span class="n">getCreatedObjects</span><span class="p">()</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">instance</span> <span class="n">service</span> <span class="n">dependencies</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">set</span> <span class="n">of</span> <span class="n">dependency</span> <span class="n">description</span> <span class="ow">or</span> <span class="n">an</span> <span class="n">empty</span> <span class="n">array</span> <span class="k">if</span>
-     <span class="o">*</span> <span class="nb">no</span> <span class="n">dependencies</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">DependencyDescription</span><span class="o">[]</span> <span class="n">getDependencies</span><span class="p">()</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">instance</span> <span class="n">service</span> <span class="n">dependency</span> <span class="n">matching</span> <span class="n">with</span> <span class="n">the</span> <span class="n">given</span> <span class="n">service</span> <span class="n">specification</span> <span class="ow">or</span> <span class="n">id</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@param</span> <span class="n">specification</span> <span class="n">the</span> <span class="n">service</span> <span class="n">specification</span> <span class="n">of</span> <span class="n">the</span> <span class="n">looked</span> <span class="n">specification</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">dependency</span> <span class="n">description</span> <span class="n">matching</span> <span class="n">with</span> <span class="n">the</span> <span class="n">given</span> <span class="n">service</span> <span class="n">specification</span> <span class="ow">or</span> <span class="n">id</span><span class="o">.</span>
-     <span class="o">*</span> <span class="sr">&lt;code&gt;</span><span class="n">null</span><span class="sr">&lt;/code&gt;</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">found</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nb">no</span> <span class="n">dependencies</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">DependencyDescription</span> <span class="n">getDependency</span><span class="p">(</span><span class="n">String</span> <span class="n">specification</span><span class="p">)</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">instance</span> <span class="n">provided</span> <span class="n">service</span> <span class="n">matching</span> <span class="n">with</span> <span class="n">the</span> <span class="n">given</span> <span class="n">service</span> <span class="n">specification</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@param</span> <span class="n">specification</span> <span class="n">the</span> <span class="n">provided</span> <span class="n">specification</span> <span class="n">of</span> <span class="n">the</span> <span class="n">looked</span> <span class="n">provided</span> <span class="n">service</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">provided</span> <span class="n">service</span> <span class="n">description</span> <span class="n">matching</span> <span class="n">with</span> <span class="n">the</span> <span class="n">given</span> <span class="n">service</span> <span class="n">specification</span><span class="o">.</span>
-     <span class="o">*</span> <span class="sr">&lt;code&gt;</span><span class="n">null</span><span class="sr">&lt;/code&gt;</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">found</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">ProvidedServiceDescription</span> <span class="n">getProvidedService</span><span class="p">(</span><span class="n">String</span> <span class="n">specification</span><span class="p">)</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">instance</span> <span class="n">provided</span> <span class="n">service</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">set</span> <span class="n">of</span> <span class="n">provided</span> <span class="n">service</span> <span class="n">description</span> <span class="ow">or</span> <span class="n">an</span> <span class="n">empty</span> <span class="n">array</span> <span class="k">if</span>
-     <span class="o">*</span> <span class="nb">no</span> <span class="n">provided</span> <span class="n">services</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">ProvidedServiceDescription</span><span class="o">[]</span> <span class="n">getProvidedServices</span><span class="p">()</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Gets</span> <span class="n">the</span> <span class="n">instance</span> <span class="n">properties</span><span class="o">.</span>
-     <span class="o">*</span> <span class="nv">@return</span> <span class="n">the</span> <span class="n">set</span> <span class="n">of</span> <span class="n">property</span> <span class="n">descriptions</span> <span class="ow">or</span> <span class="n">an</span> <span class="n">empty</span> <span class="n">array</span> <span class="k">if</span>
-     <span class="o">*</span> <span class="nb">no</span> <span class="n">properties</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">PropertyDescription</span><span class="o">[]</span> <span class="n">getProperties</span><span class="p">()</span> <span class="p">{</span>
-        <span class="o">...</span>
-    <span class="p">}</span>
+</em> By calling the <code>getInstanceDescription()</code> method on a ComponentInstance object (that you create thanks to a Factory)</p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * Returns the instance description.</span>
+<span class="cm"> * @return the instance description of the current instance</span>
+<span class="cm"> */</span>
+<span class="n">InstanceDescription</span> <span class="nf">getInstanceDescription</span><span class="o">();</span>
+</pre></div>
+
+
+<h2 id="introspecting-primitive-instances">Introspecting primitive instances</h2>
+<p>Once you get the  object, cast it in  (be sure that it is really a primitive instance).
+Then, you have access to every primitive instance aspects:</p>
+<ul>
+<li>service dependencies</li>
+<li>provided services</li>
+<li>configuration properties</li>
+<li>get created implementation objects</li>
+</ul>
+<p>&nbsp;</p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * Gets the list of object created by the described instance.</span>
+<span class="cm"> * @return the created objects.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span><span class="o">[]</span> <span class="nf">getCreatedObjects</span><span class="o">()</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the instance service dependencies.</span>
+<span class="cm"> * @return the set of dependency description or an empty array if</span>
+<span class="cm"> * no dependencies.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">DependencyDescription</span><span class="o">[]</span> <span class="nf">getDependencies</span><span class="o">()</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the instance service dependency matching with the given service specification or id.</span>
+<span class="cm"> * @param specification the service specification of the looked specification.</span>
+<span class="cm"> * @return the dependency description matching with the given service specification or id.</span>
+<span class="cm"> * &lt;code&gt;null&lt;/code&gt; is not found.</span>
+<span class="cm"> * no dependencies.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">DependencyDescription</span> <span class="nf">getDependency</span><span class="o">(</span><span class="n">String</span> <span class="n">specification</span><span class="o">)</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the instance provided service matching with the given service specification.</span>
+<span class="cm"> * @param specification the provided specification of the looked provided service.</span>
+<span class="cm"> * @return the provided service description matching with the given service specification.</span>
+<span class="cm"> * &lt;code&gt;null&lt;/code&gt; is not found.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">ProvidedServiceDescription</span> <span class="nf">getProvidedService</span><span class="o">(</span><span class="n">String</span> <span class="n">specification</span><span class="o">)</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the instance provided service.</span>
+<span class="cm"> * @return the set of provided service description or an empty array if</span>
+<span class="cm"> * no provided services.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">ProvidedServiceDescription</span><span class="o">[]</span> <span class="nf">getProvidedServices</span><span class="o">()</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the instance properties.</span>
+<span class="cm"> * @return the set of property descriptions or an empty array if</span>
+<span class="cm"> * no properties.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">PropertyDescription</span><span class="o">[]</span> <span class="nf">getProperties</span><span class="o">()</span> <span class="o">{</span>
+    <span class="o">...</span>
+<span class="o">}</span>
 </pre></div>
 
 
 <h2 id="manipulating-dependencies">Manipulating dependencies</h2>
-<p class=".. ">You can get service dependencies from the <code>PrimitiveInstanceDescription</code>. Once you get the dependency (<code>DependencyDescription</code> object that you want to manipulate you can call one of those method on it:
-{code:java}
-    public boolean isMultiple()</p>
-<div class="codehilite"><pre>public boolean isOptional() { ... }
-
-public String getFilter() { ... }
-
-public String getInterface() { ... }
-
-public int getState() { ... }
-
-public String getId() { ... }
-
-public boolean supportsNullable() { ... }
-
-public String getDefaultImplementation() { ... }
-
-public int getPolicy() { ... }
-
-public String getComparator() { ... }
-
-public boolean isFrozen() { ... }
-
-/**
- * Gets the service reference list.
- * @return the list of matching service reference,
- * <span class="nt">&lt;code&gt;</span>null<span class="nt">&lt;/code&gt;</span> if no service reference.
- */
-public List getServiceReferences() { ... }
-
-/**
- * Gets the service reference if only one service reference is used.
- * @return the ServiceReference (only if the cardinality could be 1),
- * or <span class="nt">&lt;code&gt;</span>null<span class="nt">&lt;/code&gt;</span> if no service reference.
- */
-public ServiceReference getServiceReference() { ... }
-
-/**
- * Gets the used service set.
- * @return the list [service reference]() containing the used services,
- * <span class="nt">&lt;code&gt;</span>null<span class="nt">&lt;/code&gt;</span> if no providers are used
- */
-public List getUsedServices() { ... }
-
-/**
- * Sets the dependency comparator.
- * The reference set will be sort at the next usage.
- * @param cmp the comparator
- */
-public void setComparator(Comparator cmp) { ... }
-
-/**
- * Sets the dependency filter.
- * @param filter the new LDAP filter
- */
-public void setFilter(Filter filter) { ... }
-
-/**
- * Sets the dependency cardinality.
- * @param isAgg if <span class="nt">&lt;code&gt;</span>true<span class="nt">&lt;/code&gt;</span> sets the dependency to aggregate,
- * if <span class="nt">&lt;code&gt;</span>false<span class="nt">&lt;/code&gt;</span> sets the dependency to scalar.
- */
-public void setAggregate(boolean isAgg) { ... }
-
-/**
- * Sets the dependency optionality.
- * @param isOpt if <span class="nt">&lt;code&gt;</span>true<span class="nt">&lt;/code&gt;</span> sets the dependency to optional,
- * if <span class="nt">&lt;code&gt;</span>false<span class="nt">&lt;/code&gt;</span> sets the dependency to mandatory.
- */
-public void setOptional(boolean isOpt) { ... }
-
-/**
- * Gets the required service specification name.
- * @return the required service specification class name.
- */
-public String getSpecification() { ... }
-
-These methods allows getting the dependency state as well as reconfiguring the dependency by setting a new filter...
-
-There is a slightly difference between the  methods and the  method. The first ones returns the list of matching provider. The second one returns the list of currently used providers.
-
-h2. Manipulating provided services
-You also can manipulate provided services . 
-{code:java}
-/**
-     * Gets the list of provided service specifications.
-     * @return the provided contract name.
-     */
-    public String[] getServiceSpecifications() { ... }
-
-    /**
-     * Gets the list of properties.
-     * A copy of the actual property set is returned.
-     * @return the properties.
-     */
-    public Properties getProperties() { ... }
-
-    /**
-     * Adds and Updates service properties.
-     * Existing properties are updated. 
-     * New ones are added.
-     * @param props the new properties
-     */
-    public void addProperties(Dictionary props) { ... }
-
-    /**
-     * Removes service properties.
-     * @param props the properties to remove
-     */
-    public void removeProperties(Dictionary props) { ...  }
-
-    /**
-     * Gets provided service state.
-     * @return the state of the provided service (UNREGISTERED | REGISTRED).
-     */
-    public int getState() { ... }
-
-    /**
-     * Gets the service reference.
-     * @return the service reference (null if the service is unregistered).
-     */
-    public ServiceReference getServiceReference() { ... }
-
-    /**
-     * Gets the &#39;main&#39; service object.
-     * @return the &#39;main&#39; service object or <span class="nt">&lt;code&gt;</span>null<span class="nt">&lt;/code&gt;</span>
-     * if no service object are created.
-     */
-    public Object getService() { ... }
+<p>You can get service dependencies from the <code>PrimitiveInstanceDescription</code>. Once you get the dependency (<code>DependencyDescription</code> object that you want to manipulate you can call one of those method on it:</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isMultiple</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isOptional</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getFilter</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getInterface</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
 
-    public Object[] getServices() { ... }
+<span class="kd">public</span> <span class="kt">int</span> <span class="nf">getState</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getId</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">supportsNullable</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getDefaultImplementation</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="kt">int</span> <span class="nf">getPolicy</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getComparator</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isFrozen</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the service reference list.</span>
+<span class="cm"> * @return the list of matching service reference,</span>
+<span class="cm"> * &lt;code&gt;null&lt;/code&gt; if no service reference.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">List</span> <span class="nf">getServiceReferences</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the service reference if only one service reference is used.</span>
+<span class="cm"> * @return the ServiceReference (only if the cardinality could be 1),</span>
+<span class="cm"> * or &lt;code&gt;null&lt;/code&gt; if no service reference.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">ServiceReference</span> <span class="nf">getServiceReference</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the used service set.</span>
+<span class="cm"> * @return the list [service reference]() containing the used services,</span>
+<span class="cm"> * &lt;code&gt;null&lt;/code&gt; if no providers are used</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">List</span> <span class="nf">getUsedServices</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Sets the dependency comparator.</span>
+<span class="cm"> * The reference set will be sort at the next usage.</span>
+<span class="cm"> * @param cmp the comparator</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setComparator</span><span class="o">(</span><span class="n">Comparator</span> <span class="n">cmp</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Sets the dependency filter.</span>
+<span class="cm"> * @param filter the new LDAP filter</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFilter</span><span class="o">(</span><span class="n">Filter</span> <span class="n">filter</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Sets the dependency cardinality.</span>
+<span class="cm"> * @param isAgg if &lt;code&gt;true&lt;/code&gt; sets the dependency to aggregate,</span>
+<span class="cm"> * if &lt;code&gt;false&lt;/code&gt; sets the dependency to scalar.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setAggregate</span><span class="o">(</span><span class="kt">boolean</span> <span class="n">isAgg</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Sets the dependency optionality.</span>
+<span class="cm"> * @param isOpt if &lt;code&gt;true&lt;/code&gt; sets the dependency to optional,</span>
+<span class="cm"> * if &lt;code&gt;false&lt;/code&gt; sets the dependency to mandatory.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setOptional</span><span class="o">(</span><span class="kt">boolean</span> <span class="n">isOpt</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the required service specification name.</span>
+<span class="cm"> * @return the required service specification class name.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getSpecification</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
 </pre></div>
 
 
-<p class=".. ">Thanks to these method, you can get service objects, get the registered services, and manipulate service properties.
-H2. Manipulating configuration properties
-The last think that you can do from the <code>PrimitiveInstanceDescription</code> is to get configuration properties (<code>PropertyDescription</code>). 
-{code:java}
- /*<em>
-     * Gets the current property name.
-     * @return the property name.
-     </em>/
-    public String getName()</p>
-<div class="codehilite"><pre>/**
- * Gets the current property type.
- * @return the property type.
- */
-public String getType() { ... }
-
-/**
- * Gets the current property value.
- * @return the default value for the property,
- * <span class="nt">&lt;code&gt;</span>null<span class="nt">&lt;/code&gt;</span> if the property hasn&#39;t a value..
- */
-public String getValue() { ... }
-
-/**
- * Sets the property value.
- * This method can only be called on &#39;living&#39; property
- * (properties with a {@link Property} object).
- * @param value the new value.
- */
-public void setValue(Object value) { ... }
-
-With these methods you can get a property object and update its value dynamically. 
-\\
-\\
+<p>These methods allows getting the dependency state as well as reconfiguring the dependency by setting a new filter... </p>
+<p>There is a slightly difference between the <code>getServiceReference(s)</code> methods and the <code>getUsedServices</code> method. The first ones returns the list of matching provider. The second one returns the list of currently used providers. </p>
+<h2 id="manipulating-provided-services">Manipulating provided services</h2>
+<p>You also can manipulate provided services . </p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * Gets the list of provided service specifications.</span>
+<span class="cm"> * @return the provided contract name.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span><span class="o">[]</span> <span class="nf">getServiceSpecifications</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the list of properties.</span>
+<span class="cm"> * A copy of the actual property set is returned.</span>
+<span class="cm"> * @return the properties.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">Properties</span> <span class="nf">getProperties</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Adds and Updates service properties.</span>
+<span class="cm"> * Existing properties are updated. </span>
+<span class="cm"> * New ones are added.</span>
+<span class="cm"> * @param props the new properties</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">addProperties</span><span class="o">(</span><span class="n">Dictionary</span> <span class="n">props</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Removes service properties.</span>
+<span class="cm"> * @param props the properties to remove</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">removeProperties</span><span class="o">(</span><span class="n">Dictionary</span> <span class="n">props</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span>  <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets provided service state.</span>
+<span class="cm"> * @return the state of the provided service (UNREGISTERED | REGISTRED).</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">int</span> <span class="nf">getState</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the service reference.</span>
+<span class="cm"> * @return the service reference (null if the service is unregistered).</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">ServiceReference</span> <span class="nf">getServiceReference</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the &#39;main&#39; service object.</span>
+<span class="cm"> * @return the &#39;main&#39; service object or &lt;code&gt;null&lt;/code&gt;</span>
+<span class="cm"> * if no service object are created.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">Object</span> <span class="nf">getService</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="kd">public</span> <span class="n">Object</span><span class="o">[]</span> <span class="nf">getServices</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+</pre></div>
+
+
+<p>Thanks to these method, you can get service objects, get the registered services, and manipulate service properties.</p>
+<h2 id="manipulating-configuration-properties">Manipulating configuration properties</h2>
+<p>The last think that you can do from the <code>PrimitiveInstanceDescription</code> is to get configuration properties (<code>PropertyDescription</code>). </p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * Gets the current property name.</span>
+<span class="cm"> * @return the property name.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the current property type.</span>
+<span class="cm"> * @return the property type.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getType</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Gets the current property value.</span>
+<span class="cm"> * @return the default value for the property,</span>
+<span class="cm"> * &lt;code&gt;null&lt;/code&gt; if the property hasn&#39;t a value..</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="n">String</span> <span class="nf">getValue</span><span class="o">()</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+
+<span class="cm">/**</span>
+<span class="cm"> * Sets the property value.</span>
+<span class="cm"> * This method can only be called on &#39;living&#39; property</span>
+<span class="cm"> * (properties with a {@link Property} object).</span>
+<span class="cm"> * @param value the new value.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setValue</span><span class="o">(</span><span class="n">Object</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
 </pre></div>
+
+
+<p>With these methods you can get a property object and update its value dynamically. </p>
         </div>
     </div>
 
@@ -415,7 +430,7 @@ With these methods you can get a propert
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
+                Rev. 1467268 by clement on Fri, 12 Apr 2013 13:42:34 +0000
                 </div>
             </div>
         </footer>           

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 Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html Fri Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>
@@ -154,49 +157,42 @@
         <div class="content">
             <h1 id="using-xml-schemas">Using XML Schemas</h1>
 <p><em>iPOJO provides XML schemas to check iPOJO descriptors (i.e. metadata.xml).  Several schemas are provided in order to describe the core syntax, compositions and external handlers.</em></p>
-<table>
-<thead>
-<tr>
-<th>Schema</th>
-<th>URL</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>iPOJO Core</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd</a></td>
-</tr>
-<tr>
-<td>iPOJO Composite</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd</a></td>
-</tr>
-<tr>
-<td>Temporal Dependency Handler</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd</a></td>
-</tr>
-<tr>
-<td>Whiteboard pattern handler</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd</a></td>
-</tr>
-<tr>
-<td>Extender pattern handler</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd</a></td>
-</tr>
-<tr>
-<td>Event Admin handlers</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd</a></td>
-</tr>
-<tr>
-<td>JMX handler</td>
-<td><a href="http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd">http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd</a></td>
-</tr>
-<tr>
-<td>&nbsp;</td>
-<td></td>
-</tr>
-</tbody>
-</table>
-<p><em>Note:</em> the schemas are also provided inside implicated bundles.</p>
+<table class="table"><tbody>
+    <tr>
+        <th> Schema </th>
+        <th> URL </th>
+    </tr>
+    <tr>
+        <td> iPOJO Core </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> iPOJO Composite </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> Temporal Dependency Handler </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> Whiteboard pattern handler </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> Extender pattern handler </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> Event Admin handlers </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd</a> </td>
+    </tr>
+    <tr>
+        <td> JMX handler </td>
+        <td> <a href="http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd" class="external-link" rel="nofollow">http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd</a> </td>
+    </tr>
+</tbody></table>
+
+<p><em>Note:</em> the schemas are also provided inside the iPOJO bundles.</p>
 <p><em>Note:</em> to use the 'dev' schemas, replace <code>CURRENT</code> by <code>SNAPSHOT</code> in the URL.
 To use those schemas you have to declares those schemas in your metadata.xml file such as in the next snippet using the iPOJO core XML-schema:</p>
 <div class="codehilite"><pre><span class="nt">&lt;ipojo</span> 
@@ -233,7 +229,7 @@ You can also use several schemas in the 
 <p>The only difference is contained in the 'schemaLocation' attribute, which contains several pairs. You also need to declare the namespace of the used external handler.</p>
 <p>If you declare schemas, the iPOJO manipulator automatically checks the validity of the descriptor against the declared schemas. Moreover, if you use 'advanced' XML Editor supporting schemas, editing iPOJO descriptors should be eased with auto-completion features.</p>
 <h2 id="avoid-downloading-xml-schemas-during-the-build-process">Avoid downloading XML Schemas during the build process</h2>
-<p>The manipulator embeds the iPOJO XML Schemas to avoid using a network connection to download them during the validation process. Keep the same url, the manipulator will just resolve the URL differently to use embedded schemas. You can also skipped this shortcut thanks the the <code>ignoreEmbeddedSchemas</code> parameter (refer to the <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-ant-task.html">ant task guide</a> and to the <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html">maven plugin guide</a> for further information about configuration).</p>
+<p>The manipulator embeds the iPOJO XML Schemas to avoid using a network connection to download them during the validation process. Keep the same url, the manipulator will just resolve the URL differently to use embedded schemas. You can also skipped this shortcut thanks the the <code>ignoreEmbeddedSchemas</code> parameter (refer to the <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-ant-task.html">Ant Task</a>) and to the <a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html">Maven Plugin</a> for further information about configuration).</p>
         </div>
     </div>
 
@@ -248,7 +244,7 @@ You can also use several schemas in the 
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1445514 by clement on Wed, 13 Feb 2013 09:20:49 +0000
+                Rev. 1467268 by clement on Fri, 12 Apr 2013 13:42:34 +0000
                 </div>
             </div>
         </footer>           

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-why-choose-ipojo.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-why-choose-ipojo.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-why-choose-ipojo.html Fri Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html Fri Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>
@@ -152,7 +155,18 @@
 
     <div class="container">
         <div class="content">
-            
+            <h1 id="presentations">Presentations</h1>
+<ul>
+<li>"iPOJO : This Simple Life", OSGi Community Event 2008, Berlin, Germany. <a href="http://felix.apache.org/site/presentations.data/ipojo-berlin-20080611.pdf">Download</a></li>
+<li>"iPOJO : A flexible service-oriented component model for dynamic systems", PHD Defense, December 2008, Grenoble, France.</li>
+</ul>
+<h1 id="articles-on-ipojo-core-features">Articles on iPOJO Core features</h1>
+<ul>
+<li>Clement Escoffier, Richard S. Hall and Philippe Lalanda, iPOJO An extensible service-oriented component framework IEEE Service Computing Conference 2007 (SCC 2007) July 2007, Salt Lake City, Utah (USA)</li>
+<li>Clement Escoffier and Richard S. Hall, Dynamically Adaptable Applications with iPOJO Service Components (<a href="http://www-adele.imag.fr/Les.Publications/intConferences/SC2007Esc.pdf">pdf</a>) 6th International Symposium on Software Composition (SC 2007) March 2007, Braga, Portugal</li>
+</ul>
+<h1 id="articles-using-ipojo">Articles using iPOJO</h1>
+<p>Check the list of academic papers using iPOJO on <a href="http://scholar.google.com/scholar?hl=en&amp;q=ipojo&amp;btnG=&amp;as_sdt=1%2C5&amp;as_sdtp=">Google scholar</a></p>
         </div>
     </div>
 
@@ -167,7 +181,7 @@
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1443051 by clement on Wed, 6 Feb 2013 16:33:33 +0000
+                Rev. 1467268 by clement on Fri, 12 Apr 2013 13:42:34 +0000
                 </div>
             </div>
         </footer>           

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html Fri Apr 12 13:43:19 2013
@@ -96,11 +96,13 @@
                                     <a tabindex="-1" href="#">Advanced topics</a>
                                     <ul class="dropdown-menu">
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
-                                        <li><a href="">Factories and Instances</a></li>
-                                        <li><a href="">XML Schemas</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
-                                        <li><a href="">Testing components</a></li>
-                                        <li><a href="">Eclipse Integration</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
+                                        <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
                                         <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
                                         <li><a href="">Reference Card</a></li>
                                         <li class="divider"></li>
@@ -138,7 +140,8 @@
                             <ul class="dropdown-menu" id="swatch-menu">
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
                                 <li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
-                                <li><a href="">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
+                                <li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
                             </ul>
                         </li>
                     </ul>
@@ -153,80 +156,81 @@
     <div class="container">
         <div class="content">
             <h1 id="developing-camel-mediators-with-ipojo">Developing Camel mediators with iPOJO</h1>
-<p><em>The <a href="">Camel OSGi tutorial </a> provides a very simple and neat overview of Camel. This article mentions the usage of iPOJO to implement the mediator. This document provides this implementation.</em></p>
+<p><em>The <a href="http://http://camel.apache.org/tutorial-osgi-camel-part1.html">Camel OSGi tutorial </a> provides a very simple and neat overview of Camel. This article mentions the usage of iPOJO to implement the mediator. This document provides this implementation.</em></p>
 <h2 id="step-1-initial-project-setup">Step 1 : Initial project setup</h2>
 <p>Instead of using the 'spring-osgi-bundle-archetype' maven archetype, we will use the iPOJO one to create the iPOJO bundle.
 To create the simple iPOJO service project, execute the following command in your Unix/Dos console.</p>
-<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">archetype:create</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="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="n">DarchetypeVersion</span><span class="o">=</span><span class="mf">1.0.0</span> <span class="o">-</span><span class="n">DgroupId</span><span class="o">=</span><span class="n">demo</span> <span class="o">-</span><span class="n">DartifactId</span><span class="o">=</span><span class="n">demo</span><span class="o">.</span><span class="n">service</span><span class="o">-</span><span class="n">ipojo</span><span cl
 ass="o">-</span><span class="n">bundle</span> <span class="o">-</span><span class="n">Dversion</span><span class="o">=</span><span class="mf">0.1</span>
+<div class="codehilite"><pre>mvn archetype:create -DarchetypeGroupId<span class="o">=</span>org.apache.felix -DarchetypeArtifactId<span class="o">=</span>maven-ipojo-plugin -DarchetypeVersion<span class="o">=</span>1.0.0 -DgroupId<span class="o">=</span>demo -DartifactId<span class="o">=</span>demo.service-ipojo-bundle -Dversion<span class="o">=</span>0.1
 </pre></div>
 
 
 <h2 id="step-2-develop-the-interface">Step 2 : Develop the interface</h2>
-<p>So now, it is time to create the interface that we will use in the project. Create a new folder "service" in <code>src/main/java/demo</code> tree. Add the interface <code>TransformService.java</code> and copy paste the code below:
-{code:java|title=TransformService.java}
-package demo.service;
-public interface TransformService {
-    public Object transform(Object obj);
-}</p>
-<div class="codehilite"><pre><span class="n">h2</span><span class="o">.</span> <span class="n">Step</span> <span class="mi">3</span> <span class="p">:</span> <span class="n">Create</span> <span class="n">the</span> <span class="n">class</span> <span class="n">implementing</span> <span class="n">the</span> <span class="n">interface</span>
-<span class="n">Next</span><span class="p">,</span> <span class="n">we</span> <span class="n">will</span> <span class="n">create</span> <span class="n">the</span> <span class="n">class</span>  <span class="n">implementing</span> <span class="n">the</span> <span class="n">interface</span> <span class="o">.</span>
-<span class="n">Create</span> <span class="n">the</span> <span class="n">class</span>  <span class="n">in</span> <span class="n">the</span> <span class="n">folder</span> 
-<span class="p">{</span><span class="n">code:java</span><span class="o">|</span><span class="n">title</span><span class="o">=</span><span class="n">TransformServiceImpl</span><span class="o">.</span><span class="n">java</span><span class="p">}</span>
-<span class="nb">package</span> <span class="n">demo</span><span class="o">.</span><span class="n">service</span><span class="p">;</span>
-
-<span class="nb">import</span> <span class="n">java</span><span class="o">.</span><span class="n">util</span><span class="o">.</span><span class="n">Date</span><span class="p">;</span>
-
-<span class="nb">import</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">commons</span><span class="o">.</span><span class="n">logging</span><span class="o">.</span><span class="n">Log</span><span class="p">;</span>
-<span class="nb">import</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">commons</span><span class="o">.</span><span class="n">logging</span><span class="o">.</span><span class="n">LogFactory</span><span class="p">;</span>
-
-<span class="n">public</span> <span class="n">class</span> <span class="n">TransformServiceImpl</span> <span class="n">implements</span> <span class="n">TransformService</span> <span class="p">{</span>
-    <span class="n">private</span> <span class="n">static</span> <span class="n">final</span> <span class="n">transient</span> <span class="n">Log</span> <span class="n">LOG</span> <span class="o">=</span> <span class="n">LogFactory</span><span class="o">.</span><span class="n">getLog</span><span class="p">(</span><span class="n">TransformServiceImpl</span><span class="o">.</span><span class="n">class</span><span class="p">);</span>
-    <span class="n">private</span> <span class="n">boolean</span> <span class="n">verbose</span> <span class="o">=</span> <span class="n">true</span><span class="p">;</span>
-    <span class="n">private</span> <span class="n">String</span> <span class="n">prefix</span> <span class="o">=</span> <span class="s">&quot;MyTransform&quot;</span><span class="p">;</span>
-
-    <span class="n">public</span> <span class="n">Object</span> <span class="n">transform</span><span class="p">(</span><span class="n">Object</span> <span class="n">body</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">String</span> <span class="n">answer</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s">&quot; set body:  &quot;</span> <span class="o">+</span> <span class="k">new</span> <span class="n">Date</span><span class="p">();</span>
-        <span class="k">if</span> <span class="p">(</span><span class="n">verbose</span><span class="p">)</span> <span class="p">{</span>
-            <span class="n">System</span><span class="o">.</span><span class="n">out</span><span class="o">.</span><span class="n">println</span><span class="p">(</span><span class="s">&quot;&gt;&gt; call &gt;&gt; &quot;</span> <span class="o">+</span> <span class="n">answer</span><span class="p">);</span>
-        <span class="p">}</span>
-        <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&quot;&gt;&gt; call &gt;&gt;&quot;</span> <span class="o">+</span> <span class="n">answer</span><span class="p">);</span>
-        <span class="k">return</span> <span class="n">answer</span><span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="n">public</span> <span class="n">boolean</span> <span class="n">isVerbose</span><span class="p">()</span> <span class="p">{</span>
-        <span class="k">return</span> <span class="n">verbose</span><span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="n">public</span> <span class="n">void</span> <span class="n">setVerbose</span><span class="p">(</span><span class="n">boolean</span> <span class="n">verbose</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">this</span><span class="o">.</span><span class="n">verbose</span> <span class="o">=</span> <span class="n">verbose</span><span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="n">public</span> <span class="n">String</span> <span class="n">getPrefix</span><span class="p">()</span> <span class="p">{</span>
-        <span class="k">return</span> <span class="n">prefix</span><span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="n">public</span> <span class="n">void</span> <span class="n">setPrefix</span><span class="p">(</span><span class="n">String</span> <span class="n">prefix</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">this</span><span class="o">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="n">prefix</span><span class="p">;</span>
-    <span class="p">}</span>
-<span class="p">}</span>
+<p>So now, it is time to create the interface that we will use in the project. Create a new folder "service" in <code>src/main/java/demo</code> tree. Add the interface <code>TransformService.java</code> and copy paste the code below:</p>
+<div class="codehilite"><pre><span class="kn">package</span> <span class="n">demo</span><span class="o">.</span><span class="na">service</span><span class="o">;</span>
+<span class="kd">public</span> <span class="kd">interface</span> <span class="nc">TransformService</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="n">Object</span> <span class="nf">transform</span><span class="o">(</span><span class="n">Object</span> <span class="n">obj</span><span class="o">);</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<h2 id="step-3-create-the-class-implementing-the-interface">Step 3 : Create the class implementing the interface</h2>
+<p>Next, we will create the class <code>TransformServiceImpl</code> implementing the interface <code>TransformService</code>. Create the class <code>TransformServiceImpl.java</code> in the folder <code>src/main/java/demo/service/</code></p>
+<div class="codehilite"><pre><span class="kn">package</span> <span class="n">demo</span><span class="o">.</span><span class="na">service</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">java.util.Date</span><span class="o">;</span>
+
+<span class="kn">import</span> <span class="nn">org.apache.commons.logging.Log</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.commons.logging.LogFactory</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">TransformServiceImpl</span> <span class="kd">implements</span> <span class="n">TransformService</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">transient</span> <span class="n">Log</span> <span class="n">LOG</span> <span class="o">=</span> <span class="n">LogFactory</span><span class="o">.</span><span class="na">getLog</span><span class="o">(</span><span class="n">TransformServiceImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+    <span class="kd">private</span> <span class="kt">boolean</span> <span class="n">verbose</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
+    <span class="kd">private</span> <span class="n">String</span> <span class="n">prefix</span> <span class="o">=</span> <span class="s">&quot;MyTransform&quot;</span><span class="o">;</span>
+
+    <span class="kd">public</span> <span class="n">Object</span> <span class="nf">transform</span><span class="o">(</span><span class="n">Object</span> <span class="n">body</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">String</span> <span class="n">answer</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s">&quot; set body:  &quot;</span> <span class="o">+</span> <span class="k">new</span> <span class="n">Date</span><span class="o">();</span>
+        <span class="k">if</span> <span class="o">(</span><span class="n">verbose</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">&quot;&gt;&gt; call &gt;&gt; &quot;</span> <span class="o">+</span> <span class="n">answer</span><span class="o">);</span>
+        <span class="o">}</span>
+        <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">&quot;&gt;&gt; call &gt;&gt;&quot;</span> <span class="o">+</span> <span class="n">answer</span><span class="o">);</span>
+        <span class="k">return</span> <span class="n">answer</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isVerbose</span><span class="o">()</span> <span class="o">{</span>
+        <span class="k">return</span> <span class="n">verbose</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setVerbose</span><span class="o">(</span><span class="kt">boolean</span> <span class="n">verbose</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">this</span><span class="o">.</span><span class="na">verbose</span> <span class="o">=</span> <span class="n">verbose</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="n">String</span> <span class="nf">getPrefix</span><span class="o">()</span> <span class="o">{</span>
+        <span class="k">return</span> <span class="n">prefix</span><span class="o">;</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setPrefix</span><span class="o">(</span><span class="n">String</span> <span class="n">prefix</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">this</span><span class="o">.</span><span class="na">prefix</span> <span class="o">=</span> <span class="n">prefix</span><span class="o">;</span>
+    <span class="o">}</span>
+<span class="o">}</span>
 </pre></div>
 
 
 <h2 id="step-4-create-the-ipojo-configuration-files">Step 4 : Create the iPOJO configuration files</h2>
 <p>The next step concerns the creation of the iPOJO configuration file who will allow the registration of the <code>TranformService</code> as an OSGi service.
-Create or edit the file metadata.xml in the folder src/main/resources/
-{code:xml|title=metadata.xml}
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-<ipojo>
-    <component classname="demo.service.TransformServiceImpl" name="my-ipojo-transformer">
-        <provides/>
-    </component>
-    <instance component="my-ipojo-transformer"/>
-</ipojo></p>
-<div class="codehilite"><pre>h2. Step 5 : Generate the bundle
-Before generating the bundle, we need to edit the  file to describe our bundle.
-{code:xml|title=pom.xml}
-<span class="nt">&lt;project&gt;</span>
+Create or edit the file <code>metadata.xml</code> in the folder <code>src/main/resources/</code></p>
+<div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
+<span class="nt">&lt;ipojo&gt;</span>
+    <span class="nt">&lt;component</span> <span class="na">classname=</span><span class="s">&quot;demo.service.TransformServiceImpl&quot;</span> <span class="na">name=</span><span class="s">&quot;my-ipojo-transformer&quot;</span><span class="nt">&gt;</span>
+        <span class="nt">&lt;provides/&gt;</span>
+    <span class="nt">&lt;/component&gt;</span>
+    <span class="nt">&lt;instance</span> <span class="na">component=</span><span class="s">&quot;my-ipojo-transformer&quot;</span><span class="nt">/&gt;</span>
+<span class="nt">&lt;/ipojo&gt;</span>
+</pre></div>
+
+
+<h2 id="step-5-generate-the-bundle">Step 5 : Generate the bundle</h2>
+<p>Before generating the bundle, we need to edit the  file to describe our bundle.</p>
+<div class="codehilite"><pre><span class="nt">&lt;project&gt;</span>
   <span class="nt">&lt;modelVersion&gt;</span>4.0.0<span class="nt">&lt;/modelVersion&gt;</span>
   <span class="nt">&lt;packaging&gt;</span>bundle<span class="nt">&lt;/packaging&gt;</span>
   <span class="nt">&lt;groupId&gt;</span>demo<span class="nt">&lt;/groupId&gt;</span>
@@ -243,9 +247,9 @@ Before generating the bundle, we need to
         <span class="nt">&lt;extensions&gt;</span>true<span class="nt">&lt;/extensions&gt;</span>
         <span class="nt">&lt;configuration&gt;</span>
           <span class="nt">&lt;instructions&gt;</span>
-            <span class="nt">&lt;Bundle</span><span class="err">-SymbolicName</span><span class="nt">&gt;</span><span class="cp">${</span><span class="n">pom</span><span class="o">.</span><span class="n">artifactId</span><span class="cp">}</span><span class="nt">&lt;/Bundle-SymbolicName&gt;</span>
-            <span class="nt">&lt;Import</span><span class="err">-Package</span><span class="nt">&gt;</span>*<span class="nt">&lt;/Import-Package&gt;</span>
-            <span class="nt">&lt;Export</span><span class="err">-Package</span><span class="nt">&gt;</span>*<span class="nt">&lt;/Export-Package&gt;</span>
+            <span class="nt">&lt;Bundle-SymbolicName&gt;</span>${pom.artifactId}<span class="nt">&lt;/Bundle-SymbolicName&gt;</span>
+            <span class="nt">&lt;Import-Package&gt;</span>*<span class="nt">&lt;/Import-Package&gt;</span>
+            <span class="nt">&lt;Export-Package&gt;</span>*<span class="nt">&lt;/Export-Package&gt;</span>
           <span class="nt">&lt;/instructions&gt;</span>
         <span class="nt">&lt;/configuration&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
@@ -298,33 +302,7 @@ Before generating the bundle, we need to
 
 
 <h2 id="step-6-7-create-the-camel-context-file-and-the-bundle">Step 6 &amp; 7: Create the Camel context file and the bundle</h2>
-<p>These steps are exactly the same as into the OSGi Camel Tutorial. So refer to the step 6 and 7 of the <a href="http://activemq.apache.org/camel/tutorial-osgi-camel-part1.html">article</a>.</p>
-<h2 id="step-8-deploy-the-bundles">Step 8: Deploy the bundles</h2>
-<p>We will see how to execute the Canel route on ServiceMix Kernel.
-As mentioned in the documentation, <a href="">Apache ServiceMix Kernel</a> is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed. Moreover, the server provides administration, security, logging and provisioning features that will help you during the deployment and administration steps.
-If this is not yet done, download ServiceMix Kernel 1.0.0 server and install it. Launch the server by executing the command in the bin folder:</p>
-<div class="codehilite"><pre><span class="sr">/Users/c</span><span class="n">lement</span><span class="sr">/apache-servicemix-kernel-1.0.0/</span><span class="n">bin</span><span class="o">&gt;</span><span class="n">servicemix</span>
-</pre></div>
-
-
-<p>If this is the first time Servicemix is started, then you will see that a new data folder is created. Notes that this application requires Java 6.
-In order to allow our bundles to work with Camel, execute the following commands to download and install the 'Camel and iPOJO bundles':</p>
-<div class="codehilite"><pre><span class="n">servicemix</span><span class="o">&gt;</span> <span class="n">osgi</span> <span class="n">install</span> <span class="o">-</span><span class="n">s</span> <span class="n">mvn:org</span><span class="o">.</span><span class="n">springframework</span><span class="sr">/spring-tx/</span><span class="mf">2.5.5</span>
-<span class="n">servicemix</span><span class="o">&gt;</span> <span class="n">osgi</span> <span class="n">install</span> <span class="o">-</span><span class="n">s</span> <span class="n">mvn:org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">camel</span><span class="sr">/camel-core/</span><span class="mf">1.5.0</span>
-<span class="n">servicemix</span><span class="o">&gt;</span> <span class="n">osgi</span> <span class="n">install</span> <span class="o">-</span><span class="n">s</span> <span class="n">mvn:org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">camel</span><span class="sr">/camel-spring/</span><span class="mf">1.5.0</span>
-<span class="n">servicemix</span><span class="o">&gt;</span> <span class="n">osgi</span> <span class="n">install</span> <span class="o">-</span><span class="n">s</span> <span class="n">mvn:org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">camel</span><span class="sr">/camel-osgi/</span><span class="mf">1.5.0</span>
-<span class="n">servicemix</span><span class="o">&gt;</span> <span class="n">osgi</span> <span class="n">install</span> <span class="o">-</span><span class="n">s</span> <span class="n">mvn:org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">felix</span><span class="sr">/org.apache.felix.ipojo/</span><span class="mf">1.0.0</span>
-</pre></div>
-
-
-<p>Next, copy the two jar files into the deploy folder, first the iPOJO service and next the Camel bundle. After a few seconds, you should see on the Servicemix log console the following text:</p>
-<div class="codehilite"><pre><span class="n">servicemix</span><span class="o">&gt;</span> <span class="o">&gt;&gt;</span> <span class="n">call</span> <span class="o">&gt;&gt;</span> <span class="n">MyTransform</span> <span class="n">set</span> <span class="n">body:</span>  <span class="n">Sat</span> <span class="n">Dec</span> <span class="mi">27</span> <span class="mi">19</span><span class="p">:</span><span class="mi">29</span><span class="p">:</span><span class="mi">16</span> <span class="n">CET</span> <span class="mi">2008</span>
-</pre></div>
-
-
-<p>Remarks :
-    * In case of trouble, use the command: osgi list to see if all the deployed bundles are installed correctly and have their status equals to active
-    * To see the log of ServiceMix, use the command: log d</p>
+<p>These steps are exactly the same as into the OSGi Camel Tutorial. So refer to the step 6 and 7 of the <a href="http://activemq.apache.org/camel/tutorial-osgi-camel-part1.html">article</a>. That's it. Deploy and enjoy.</p>
         </div>
     </div>
 
@@ -339,7 +317,7 @@ In order to allow our bundles to work wi
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1441864 by fmeschbe on Sun, 3 Feb 2013 06:44:40 +0000
+                Rev. 1467268 by clement on Fri, 12 Apr 2013 13:42:34 +0000
                 </div>
             </div>
         </footer>