You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cl...@apache.org on 2013/04/12 15:42:35 UTC

svn commit: r1467268 - in /felix/site/trunk: content/documentation/subprojects/apache-felix-ipojo/ content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipoj...

Author: clement
Date: Fri Apr 12 13:42:34 2013
New Revision: 1467268

URL: http://svn.apache.org/r1467268
Log:
migrate pages to new CMS

Added:
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/MyiPOJOBundle-1.4.2.zip   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 1.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 10.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 2.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 3.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 4.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 5.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 6.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 8.png   (with props)
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 9.png   (with props)
Removed:
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-issuestracker.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-menu.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-pagemenu.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/article-presentations.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/future-ideas.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/handlers-proposition.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/ipojo-test-page.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/menu2.mdtext
Modified:
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.mdtext
    felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.mdtext
    felix/site/trunk/templates/ipojo.html

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/MyiPOJOBundle-1.4.2.zip
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/MyiPOJOBundle-1.4.2.zip?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/MyiPOJOBundle-1.4.2.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 1.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%201.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 1.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 10.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%2010.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 10.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 2.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%202.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 3.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%203.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 3.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 4.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%204.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 5.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%205.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 5.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 6.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%206.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 6.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 8.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%208.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 8.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 9.png
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture%209.png?rev=1467268&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/Picture 9.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.mdtext Fri Apr 12 13:42:34 2013
@@ -1,64 +1,61 @@
 translation_pending: true
 Title: apache-felix-ipojo-eclipse-integration
 
-
-
-
 # Building and Running iPOJO bundles from Eclipse
 *This page explains how to build and run iPOJO bundles without exiting Eclipse and breaking the compile-run cycle. Bundles are executed inside Equinox.*
 
-{div:class=toc}
 [TOC]
-{div}
 
 ## 1) Import the iPOJO Bundle project
-Download the [project archive]({{ refs.-myipojobundle-zip.path }}) (1.4.2 version is available [here|^MyiPOJOBundle-1.4.2.zip]), and import it as an *`Existing Project into the Workspace`*
-!Picture 1.png!!Picture 2.png!!Picture 3.png! 
-Then click on *`finish`*
+
+Download the [project archive](MyiPOJOBundle-1.4.2.zip), and import it as an *Existing Project into the Workspace*
+
+<img src="Picture 1.png">
+<img src="Picture 2.png">
+<img src="Picture 3.png">
+
+Then click on *finish*
 
 ## 2) Configure the target platform
 
-!Picture 4.png|align=left!
-!Picture 5.png|align=right!
+<img src="Picture 4.png">
+<img src="Picture 5.png">
+
 The resulting project, you looks like the left picture.
   
-  
-
-
 ## 3) Develop you bundle
 The imported project contains a very simple component using annotations. But, obviously you can delete/change it. For XML-metadata, use `metadata.xml` file is in the project root.
-{code:java}
-@Component
-public class MyComponentImpl {
-    
-    @Validate
-    public void start() {
-        System.out.println("I'm started !!!");
+
+    :::java
+    @Component
+    public class MyComponentImpl {
+        
+        @Validate
+        public void start() {
+            System.out.println("I'm started !!!");
+        }
+        
+        @Invalidate
+        public void stop() {
+            System.out.println("I'm leaving :-(...");
+        }
+
     }
+
+Once you're done, you are able to run your bundle !
     
-    @Invalidate
-    public void stop() {
-        System.out.println("I'm leaving :-(...");
-    }
+## 4) Run your bundle
 
-}
+<img src="Picture 6.png">
 
-    Once you're done, you are able to run your bundle !
-    
-    h2. 4) Run your bundle
-    !Picture 6.png|align=left!
-    Right-click on the *{{.launch}}* file and then go on *{{Run-As -> MyiPOJOBundle}}*. Equinox will be started and your iPOJO bundle deployed and started:
-    Once run for the first time, you can re-run it from the {{run}} icon. In the console view, you get your Equinox shell, and you see your application result. If you don't edit the given development, the output is as:
-    !Picture 8.png|align=center!
-    \\
-    
-    h2. Iterate :-)
-    Then, go back to the step 3, change your components, and see the new result...
-    That's it !
-    
-    h2. Changes in the 1.4.0
+Right-click on the *.launch* file and then go on *Run-As -> MyiPOJOBundle*. Equinox will be started and your iPOJO bundle deployed and started:
+Once run for the first time, you can re-run it from the {{run}} icon. In the console view, you get your Equinox shell, and you see your application result. If you don't edit the given development, the output is as:
+
+<img src="Picture 8.png">
+
+## Iterate :-)
+Then, go back to the step 3, change your components, and see the new result... That's it !
     
-    The 1.4.0+ iPOJO manipulator allows manipulating classes from a directory ([FELIX-943|http://cwiki.apache.org/jira/browse/FELIX-943]). This feature is very convenient for the Eclipse integration because it avoids creating the Jar and unzipping it inside the Eclipse build directory. Moreover, it allows reusing the Java Eclipse builder (compiling classes).
+## Changes in the 1.4.0
     
-    \\
-    \\
+The 1.4.0+ iPOJO manipulator allows manipulating classes from a directory ([FELIX-943|http://cwiki.apache.org/jira/browse/FELIX-943]). This feature is very convenient for the Eclipse integration because it avoids creating the Jar and unzipping it inside the Eclipse build directory. Moreover, it allows reusing the Java Eclipse builder (compiling classes).

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.mdtext Fri Apr 12 13:42:34 2013
@@ -2,12 +2,12 @@ translation_pending: true
 Title: apache-felix-ipojo-testing-components
 
 
-
 # How to test iPOJO Components
 Testing components is a required step in the application development process. This page explains strategies to test iPOJO-based components and applications.
 
 ## Introduction
 Basically, we can distinguish 2 types of tests:
+
 * Unitary tests
 * Integration tests
 
@@ -17,9 +17,10 @@ Integration tests focus on the execution
 
 ## Executing unitary tests on iPOJO components
 Unitary tests allow checking the internal behavior of an iPOJO component. Those tests ignore the injected dependencies and focus only on the business code of the component.
+
 To test components, you can use Junit. A special constructor setting fields can do the dependency injection. These tests are executed before the bundlelization. 
 
-Let's imagine a maven project (downloadable [here]({{ refs.-dummy-component-zip.path }})).  Unitary tests are placed in the src/test/java folder. You can use mock object as illustrated in the example.  When you launch the `mvn clean install` command, maven compiles your classes and executes the tests.  If the tests are executed successfully, the build process continues and creates the bundle as follows:
+Let's imagine a maven project.  Unitary tests are placed in the src/test/java folder. You can use mock object as illustrated in the example.  When you launch the `mvn clean install` command, maven compiles your classes and executes the tests.  If the tests are executed successfully, the build process continues and creates the bundle as follows:
 
     [INFO] Scanning for projects...
     [INFO] ------------------------------------------------------------------------
@@ -80,10 +81,7 @@ Let's imagine a maven project (downloada
 
 
 ## Executing integration tests
-Once every component has its unitary test suite (isn't it?), you can go further and creates integration test. In order to check the behavior of the system, iPOJO provides the junit4osgi framework. This framework allows the executing of Junit test inside OSGi. Refer to the [Junit4OSGi page]({{ refs.apache-felix-ipojo-junit4osgi.path }}) to know how to use it.
-
-Moreover, OPS4J Pax Exam can also be used to test iPOJO components.
-
+We recommend to use Pax Exam 3 to test iPOJO components. More details about pax exam 3 are available [here](https://ops4j1.jira.com/wiki/display/PAXEXAM3/Pax+Exam).
   
   
   

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.mdtext Fri Apr 12 13:42:34 2013
@@ -11,6 +11,7 @@ iPOJO allows you describing a factory me
 
 To use this feature you need to add the `factory-method` attribute in the Component element as illustrated below:
 
+    :::xml
     <component
     	className="org.apache.felix.ipojo.test.scenarios.component.FooProvider"
             factory-method="createProvider"
@@ -21,12 +22,13 @@ To use this feature you need to add the 
 
 The specified method must be a *static* method of the implementation class returning an *instance of this implementation class*. The following code shows an example of usage:
 
-        public static FooProvider createProvider() {
-            if (singleton == null) {
-                singleton = new FooProvider();
-            }
-            return singleton;
+    :::java
+    public static FooProvider createProvider() {
+        if (singleton == null) {
+            singleton = new FooProvider();
         }
+        return singleton;
+    }
 
 
 This method must then call any valid constructor (potentially private) of the implementation class. 
@@ -35,14 +37,10 @@ However, be aware that if you create an 
 
 As for "normal" constructor, the method-factory can receive the bundle context in argument, such as in:
 
-        public static FooProvider createProvider (BundleContext bc) {
-            if (singleton == null) {
-                singleton = new FooProvider(bc);
-            }
-            return singleton;
+    :::java
+    public static FooProvider createProvider (BundleContext bc) {
+        if (singleton == null) {
+            singleton = new FooProvider(bc);
         }
-
-  
-  
-  
-  
+        return singleton;
+    }
\ No newline at end of file

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.mdtext Fri Apr 12 13:42:34 2013
@@ -7,63 +7,71 @@ Title: How-to use iPOJO factories
 
 *iPOJO defines a factory for each declared component type. These factories are used to create component instances. This document presents how to declare instances and configure them. The API to create, dispose and reconfigure instances is also explained.*
 
-{div:class=toc}
 [TOC]
-{div}
+
 
 ## Preliminary Concepts
 ### Component Type
 A component type is a kind of instance template. If we compare component concepts with object oriented programming, component types are classes and component instances are objects. A component type is declared inside a metadata file (generally named 'metadata.xml'). The next snippet shows you a component type declaration: 
 
-    <component className="..." name="MyFactory">
+    :::xml
+    <component classname="..." name="MyFactory">
         ...
         <!--component type configuration -->
         ...
     </component>
 
-A component type declaration begins generally by '<component>' and is composed by:
-* An implementation class ('className', mandatory). The 'className' attribute indicates the qualified name of the class implementing the component.
+A component type declaration begins generally by `<component>` and is composed by:
+
+* An implementation class (`classname`, mandatory). The `classname` attribute indicates the qualified name of the class implementing the component.
 * A name ('name')
 * Handler configuration (see handler guide)
 
-The 'name' attribute contains the factory name. If not specified, the 'className' attribute is used as the factory name. This factory name is used to refer to the factory (and consequently to the component type). 
+The `name` attribute contains the factory name. If not specified, the `classname` attribute is used as the factory name. This factory name is used to refer to the factory (and consequently to the component type). 
 A factory can be public or private. A public factory allows creating instances dynamically and from other bundles. A private factory can only be used to create instances by declaring them in the same metadata.xml file that defines the instances' component type (i.e. in the same bundle). By default, factories are public. To set the factory to private add the 'public="false"'' attribute in the '<component>' element, such as: 
 
-    <component className="..." name="MyPrivateFactory" public="false">
+    :::xml
+    <component classname="..." name="MyPrivateFactory" public="false">
         ...
         <!--component type configuration -->
         ...
     </component>
 
 Public factories offer different ways to create instances:
+
 * Instances can be declared in iPOJO descriptor in any bundle (i.e. from any metadata.xml file)
 * Instances can be created dynamically by using the API. Two APIs are provided the iPOJO Factory API and the OSGi Configuration Admin API
 
 Indeed, iPOJO will publish two services to access the factory through the API:
-* org.apache.felix.ipojo.Factory : iPOJO Factory Interface
-* org.osgi.service.cm.ManagedServiceFactory : Config Admin Interface
 
-The factory name will be used as the `service.pid` property for those services. The `service.pid` is unique and persists between framework restarts. The service.pid of the factory equals the factory name. This allows identifying factories exposed in the service registry.
+* `org.apache.felix.ipojo.Factory` : iPOJO Factory Interface
+* `org.osgi.service.cm.ManagedServiceFactory` : Config Admin Interface
+
+The factory name will be used as the `service.pid` property for those services. The `service.pid` is unique and persists between framework restarts. The `service.pid` of the factory equals the factory name. This allows identifying factories exposed in the service registry.
 Factories are either valid or invalid. You can't create instances until a factory becomes valid. A factory is invalid if required handlers are missing. This issue occurs only if the component type uses external handlers.
 
 ### Component Instance
 A component instance is an instance of a component type. For example, if a component type declares 'providing' and 'requiring' services, then the component instances will actually expose and require those services. Several instances can be created from one factory, but all these instances will be managed as different entities, and so are independent. A component instance is characterized by:
+
 * a component type (the factory name)
 * an instance name (used to identify the instance, is unique)
 * a configuration : a set of <key, value> couple
 
 A factory keeps a reference to each created instance. If the factory stops, goes away, or becomes invalid, all created instances are stopped and are destroyed.
-To create an instance, the creation request (describing the instance to create) must refer to the factory (by using the factory name), and provide the instance configuration. This configuration can specify the instance name ('instance.name' property). Be aware that this name must be unique. If not specified, iPOJO will generate a unique name.
+To create an instance, the creation request (describing the instance to create) must refer to the factory (by using the factory name), and provide the instance configuration. This configuration can specify the instance name (`instance.name` property). Be aware that this name must be unique. If not specified, iPOJO will generate a unique name.
 A factory can refuse the creation if the configuration is not acceptable or if the factory is invalid. An unacceptable configuration is a not suitable configuration in regard to component type. Reasons for unacceptable configuration are: 
+
 * The instance name is not set or not unique
 * A property required by the component type is missing inside the configuration
 * A pushed property has a wrong type
 
 ## How-to declare instances inside metadata files
 The main way to create instances is to declare those instances inside the iPOJO descriptor file (i.e. 'metadata.xml'). Those declarations can use either public factories from any bundle, or private factories from the same bundle. Private factories are generally used to guaranty singleton instance as instances can only be created inside the same bundle. 
+
 When a instance declaration targets an external public factory, it will wait until the factory becomes available. So, the instance will be created only when the factory appears and is valid. If the factory disappears after the instance creation, the instance is disposed and will be recreated as soon as the factory comes back.
 The next snippet shows how to declare an instance in the metadata:
 
+    :::xml
     <instance component="component factory name" name = "instance name" >
        <property name="a property name" value="a string form of the value"/>
        <property name="another prop name" value="the string form value "/>
@@ -72,7 +80,8 @@ The next snippet shows how to declare an
 
 An instance declaration must contain the 'component' attribute. This attribute specifies the factory name (i.e. the component type). It can use either the factory name or the class name. The 'name' attribute allows setting the instance name. If not set, iPOJO will generate a unique name for you. Then, instances can declare properties. Those property are mostly key-value pair.  The key refer to a property name from the component type declaration such as in:
 
-    <component className="..." name="my-factory">
+    :::xml
+    <component classname="..." name="my-factory">
         <properties>
             <property name="foo" field="m_foo"/>
         </properties>
@@ -85,6 +94,7 @@ An instance declaration must contain the
 The string-form of the property value will be use to create the real object at runtime. If an unacceptable configuration is set, the instance is not created, and an error message appears to the console (and in the Log Service if present).
 Instance declaration properties can be more complex than only 'key-value'. It can contains structure like list, map, dictionary and arrays such as in:
 
+    :::xml
     <instance component="a.factory" name="complex-props">
             <!--Creates a string array-->
     	<property name="array" type="array"> 
@@ -106,7 +116,7 @@ Instance declaration properties can be m
     		<property name="a" value="a"/>
     		<property name="b" value="b"/>
     	</property>
-    <!--A complex type can contains any other complex objects:-->
+        <!--A complex type can contains any other complex objects:-->
     	<property name="complex-array" type="array">
     		<property type="list">
     			<property value="a"/>
@@ -124,16 +134,18 @@ Instance declaration properties can be m
     </instance>
 
 
-<div class="info" markdown="1">
-**Instance name and factory name**
-The `instance.name` and `factory.name` property should not be set directly. iPOJO will manage those properties. The `instance.name` is simply created from the `instance.name` attribute of the instance declaration or from the `factory-name`-X where X is an integer.
+<div class="alert alert-info" markdown="1">
+<h4>Instance name and factory name</h4>
+The <code>instance.name</code> and <code>factory.name</code> property should not be set directly. iPOJO manages those properties.
 </div>
 
 ## Creating, disposing and reconfiguring instances with the API
-A public factory is accessible through an exposed service ([org.apache.felix.ipojo.Factory ](http://felix.apache.org/ipojo/api/1.2.0/org/apache/felix/ipojo/Factory.html)). This service is accessible as any other OSGi service, and could be an iPOJO dependency using a LDAP filter or the 'from' attribute such as in:
 
+A public factory is accessible through an exposed service ([org.apache.felix.ipojo.Factory](http://felix.apache.org/ipojo/api/1.2.0/org/apache/felix/ipojo/Factory.html)). This service is accessible as any other OSGi service, and could be an iPOJO dependency using a LDAP filter or the 'from' attribute such as in:
+
+    :::xml
     <component classname="...">
-            <!-- These two requirement descriptions are equivalent -->
+        <!-- These two requirement descriptions are equivalent -->
     	<requires field="a_field" filter="(factory.name=factory-name)"/>
     	<requires field="another_field" from="another-factory"/>
     </component>
@@ -141,6 +153,7 @@ A public factory is accessible through a
 ### Creating instances
 Once you have a reference on the factory you can create instance with the 'createComponentInstance' method.
 
+    :::xml
     ComponentInstance createComponentInstance(java.util.Dictionary configuration)
                                               throws UnacceptableConfiguration,
                                                      MissingHandlerException,
@@ -149,12 +162,13 @@ Once you have a reference on the factory
 This method returns a reference on the created instance. As you see, the method receives a dictionary containing the instance configuration. This configuration contains key-value pairs. However, values are either object (of the adequate type) of String used to create objects. This configuration can be 'null' if no properties have to be pushed.
 
 <div class="info" markdown="1">
-**Instance Name**
-The 'instance.name' property can be used to specify the instance name.
+<h4>Instance Name</h4>
+The `instance.name` property can be used to specify the instance name.
 </div>
 
 Instances are automatically started when created. However, the instance can be invalid, if at least one handler is not valid). 
 The instance creation process can fail. Three exceptions can be thrown during the creation:
+
 * UnacceptableConfiguration means that mandatory properties are missing in the instance configuration
 * MissingHandlerException means that the factory is not valid (i.e. an external handler is missing)
 * ConfigurationException means that the instance configuration has failed. The cause can be either an issue in the component type description or an invalid property type.
@@ -163,26 +177,29 @@ The instance creation process can fail. 
 If an error occurs, a comprehensive message is reported in order to solve the issue.
 The next snippet shows an example of instance creation:
 
-      	// Assume we get a Factory in the fact field
-            Properties props = new Properties();
-            props.put("instance.name","instance-name");
-            props.put("foo", "blablabla");
-            try {
-                instance = fact.createComponentInstance(props);
-            } catch(Exception e) {
-               fail("Cannot create the instance : " + e.getMessage());
-            }
+    :::java
+  	// Assume we get a Factory in the fact field
+    Properties props = new Properties();
+    props.put("instance.name","instance-name");
+    props.put("foo", "blablabla");
+    try {
+        instance = fact.createComponentInstance(props);
+    } catch(Exception e) {
+       fail("Cannot create the instance : " + e.getMessage());
+    }
 
 
 ### Disposing created instance
 You can only disposed instances that you created. To dispose an instance, just call the 'dispose' method on the ComponentInstance object (returned by the createComponentInstance method).
 
+    :::java
     instance.dispose();
 
 
 ### Reconfiguring instance
-To reconfigure an instance, call the 'reconfigure' method on the ComponentInstance object. This method receives the new set of properties. Be aware that the 'instance.name' property cannot be changed.
+To reconfigure an instance, call the `reconfigure` method on the ComponentInstance object. This method receives the new set of properties. Be aware that the `instance.name` property cannot be changed.
 
+    :::java
     Properties props2 = new Properties();
     props2.put("foo", "abc");
     instance.reconfigure(props2);
@@ -192,38 +209,37 @@ To reconfigure an instance, call the 're
 You can obviously access services exposed by an instance that you create. 
 To do this just use the OSGi API and the bundle context in order to query service references in the service registry such as in
 
-        ComponentInstance instance = ...
-        // ... 
-        try {
-            ServiceReference[] refs = 
-                  context.getServiceReferences(YourServiceInterface.class.getName(), 
-                  "(instance.name=" + instance.getInstanceName() +")");
-            if (refs != null) {
-                Foo your_object = (Foo) context.getService(refs[0]);
-            }
-        } catch (InvalidSyntaxException e) {
-            // Should not happen
+    :::java
+    ComponentInstance instance = ...
+    // ... 
+    try {
+        ServiceReference[] refs = 
+              context.getServiceReferences(YourServiceInterface.class.getName(), 
+              "(instance.name=" + instance.getInstanceName() +")");
+        if (refs != null) {
+            Foo your_object = (Foo) context.getService(refs[0]);
         }
-
+    } catch (InvalidSyntaxException e) {
+        // Should not happen
+    }
 
 The LDAP filter allows selecting the service provided by your instance. Be care that this service can be not accessible if the instance is not valid. Once you get the service reference, you can ask the service registry to get the service object (i.e. the object contained in your instance). 
 
 If your instance does not provide services, you can access to the instance by following principles illustrated in the next snippet:
 
-        if (instance.getState() == ComponentInstance.VALID) {
-           ImplementationClass object = 
-              (ImplementationClass) ((InstanceManager) instance).getPojoObject();
-        } else {
-           System.out.println("Cannot get an implementation object from an invalid instance");
-        }
+    :::java
+    if (instance.getState() == ComponentInstance.VALID) {
+       ImplementationClass object = 
+          (ImplementationClass) ((InstanceManager) instance).getPojoObject();
+    } else {
+       System.out.println("Cannot get an implementation object from an invalid instance");
+    }
 
 Take care to check the instance state before accessing the object. Indeed, the behavior of an invalid instance is not guaranty. The 'getPojoObject' method will return an already created implementation (pojo) object or create a new one (if none already created).
 
 
 ## How to use the ManagedServiceFactory to create, disposed and reconfigure instances
-The principle of the ManagedServiceFactory is the same as the iPOJO Factory Service. So, you can create, dispose and reconfigure instances with the Configuration Admin. For further information, read the OSGi R4.x Compendium - Configuration Admin chapter.
-Be aware that the `updated` method is used both for instance creation (if the given configuration is new) and to reconfigure an existing instance. The `deleted` method is used to dispose instances.
-  
-  
-  
-  
+The principle of the ManagedServiceFactory is the same as the iPOJO Factory Service. So, you can create, dispose and reconfigure instances with the Configuration Admin.
+For further information, read the OSGi R4.x Compendium - Configuration Admin chapter.
+
+Be aware that the `updated` method is used both for instance creation (if the given configuration is new) and to reconfigure an existing instance. The `deleted` method is used to dispose instances.
\ No newline at end of file

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.mdtext Fri Apr 12 13:42:34 2013
@@ -7,13 +7,15 @@ Title: Using iPOJO introspection API
 
 *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.*
 
+[TOC]
+
 ## Getting instance descriptions
 
 There is two way to get the instance description:
 * By using the `architecture` service exposed by an instance providing introspection support.
-* By calling the getInstanceDescription() method on a ComponentInstance object (that you create thanks to a Factory)
+* By calling the `getInstanceDescription()` method on a ComponentInstance object (that you create thanks to a Factory)
 
-{code:java|Getting the instance description from the ComponentInstance object}
+    :::java
     /**
      * Returns the instance description.
      * @return the instance description of the current instance
@@ -21,77 +23,81 @@ There is two way to get the instance des
     InstanceDescription getInstanceDescription();
 
     
-    h2. Introspecting primitive instances
+## Introspecting primitive instances
     
-    Once you get the {{InstanceDescription}} object, cast it in {{PrimitiveInstanceDescription}} (be sure that it is really a primitive instance).
-    Then, you have access to every primitive instance aspects:
-    service dependencies
-    provided services
-    configuration properties
-    get created implementation objects
-    
-    {code:java|title=Primitive Instance Description methods}
-        /**
-         * Gets the list of object created by the described instance.
-         * @return the created objects.
-         */
-        public String[] getCreatedObjects() {
-            ...
-        }
-        
-        /**
-         * Gets the instance service dependencies.
-         * @return the set of dependency description or an empty array if
-         * no dependencies.
-         */
-        public DependencyDescription[] getDependencies() {
-            ...
-        }
-        
-        /**
-         * Gets the instance service dependency matching with the given service specification or id.
-         * @param specification the service specification of the looked specification.
-         * @return the dependency description matching with the given service specification or id.
-         * <code>null</code> is not found.
-         * no dependencies.
-         */
-        public DependencyDescription getDependency(String specification) {
-            ...
-        }
-        
-        /**
-         * Gets the instance provided service matching with the given service specification.
-         * @param specification the provided specification of the looked provided service.
-         * @return the provided service description matching with the given service specification.
-         * <code>null</code> is not found.
-         */
-        public ProvidedServiceDescription getProvidedService(String specification) {
-            ...
-        }
-        
-        /**
-         * Gets the instance provided service.
-         * @return the set of provided service description or an empty array if
-         * no provided services.
-         */
-        public ProvidedServiceDescription[] getProvidedServices() {
-            ...
-        }
-        
-        /**
-         * Gets the instance properties.
-         * @return the set of property descriptions or an empty array if
-         * no properties.
-         */
-        public PropertyDescription[] getProperties() {
-            ...
-        }
+Once you get the {{InstanceDescription}} object, cast it in {{PrimitiveInstanceDescription}} (be sure that it is really a primitive instance).
+Then, you have access to every primitive instance aspects:
+
+* service dependencies
+* provided services
+* configuration properties
+* get created implementation objects
+  
+&nbsp;
+
+    :::java
+    /**
+     * Gets the list of object created by the described instance.
+     * @return the created objects.
+     */
+    public String[] getCreatedObjects() {
+        ...
+    }
+    
+    /**
+     * Gets the instance service dependencies.
+     * @return the set of dependency description or an empty array if
+     * no dependencies.
+     */
+    public DependencyDescription[] getDependencies() {
+        ...
+    }
+    
+    /**
+     * Gets the instance service dependency matching with the given service specification or id.
+     * @param specification the service specification of the looked specification.
+     * @return the dependency description matching with the given service specification or id.
+     * <code>null</code> is not found.
+     * no dependencies.
+     */
+    public DependencyDescription getDependency(String specification) {
+        ...
+    }
+    
+    /**
+     * Gets the instance provided service matching with the given service specification.
+     * @param specification the provided specification of the looked provided service.
+     * @return the provided service description matching with the given service specification.
+     * <code>null</code> is not found.
+     */
+    public ProvidedServiceDescription getProvidedService(String specification) {
+        ...
+    }
+    
+    /**
+     * Gets the instance provided service.
+     * @return the set of provided service description or an empty array if
+     * no provided services.
+     */
+    public ProvidedServiceDescription[] getProvidedServices() {
+        ...
+    }
+    
+    /**
+     * Gets the instance properties.
+     * @return the set of property descriptions or an empty array if
+     * no properties.
+     */
+    public PropertyDescription[] getProperties() {
+        ...
+    }
     
 
 ## Manipulating dependencies
 
 You can get service dependencies from the `PrimitiveInstanceDescription`. Once you get the dependency (`DependencyDescription` object that you want to manipulate you can call one of those method on it:
-{code:java}
+
+    :::java
     public boolean isMultiple() { ... }
 
     public boolean isOptional() { ... }
@@ -169,67 +175,70 @@ You can get service dependencies from th
     public String getSpecification() { ... }
 
     
-    These methods allows getting the dependency state as well as reconfiguring the dependency by setting a new filter... 
+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 `getServiceReference(s)` methods and the `getUsedServices` method. The first ones returns the list of matching provider. The second one returns the list of currently used providers. 
+    
+## Manipulating provided services
+You also can manipulate provided services {{ProvidedServiceDescription}}. 
+
+    :::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) { ... }
     
-    There is a slightly difference between the {{getServiceReference(s)}} methods and the {{getUsedServices}} method. The first ones returns the list of matching provider. The second one returns the list of currently used providers. 
+    /**
+     * 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 'main' service object.
+     * @return the 'main' service object or <code>null</code>
+     * if no service object are created.
+     */
+    public Object getService() { ... }
     
-    h2. Manipulating provided services
-    You also can manipulate provided services {{ProvidedServiceDescription}}. 
-    {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 'main' service object.
-         * @return the 'main' service object or <code>null</code>
-         * if no service object are created.
-         */
-        public Object getService() { ... }
-        
-        public Object[] getServices() { ... }
+    public Object[] getServices() { ... }
 
 
 Thanks to these method, you can get service objects, get the registered services, and manipulate service properties.
-H2. Manipulating configuration properties
+
+## Manipulating configuration properties
 The last think that you can do from the `PrimitiveInstanceDescription` is to get configuration properties (`PropertyDescription`). 
-{code:java}
- /**
+
+    :::java
+    /**
      * Gets the current property name.
      * @return the property name.
      */
@@ -255,9 +264,5 @@ The last think that you can do from the 
      * @param value the new value.
      */
     public void setValue(Object value) { ... }
-
-
     
-    With these methods you can get a property object and update its value dynamically. 
-    \\
-    \\
+With these methods you can get a property object and update its value dynamically. 

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.mdtext Fri Apr 12 13:42:34 2013
@@ -8,18 +8,42 @@ Title: Using XML Schemas
 
 *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.*
 
-| Schema | URL | 
-|--|--|
-| iPOJO Core | [http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd) |
-| iPOJO Composite | [http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/composite.xsd) |
-| Temporal Dependency Handler | [http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/temporal.xsd) |
-| Whiteboard pattern handler | [http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/whiteboard-pattern.xsd) |
-| Extender pattern handler | [http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd) |
-| Event Admin handlers | [http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/event-admin.xsd) |
-| JMX handler | [http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd](http://felix.apache.org/ipojo/schemas/CURRENT/jmx.xsd) |
-&nbsp;
+<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>
 
-*Note:* the schemas are also provided inside implicated bundles.
+*Note:* the schemas are also provided inside the iPOJO bundles.
 
 *Note:* to use the 'dev' schemas, replace `CURRENT` by `SNAPSHOT` 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:
@@ -59,7 +83,8 @@ The only difference is contained in the 
 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.
 
 ## Avoid downloading XML Schemas during the build process
-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 `ignoreEmbeddedSchemas` parameter (refer to the [ant task guide]({{ refs.ipojo-ant-task.path }}) and to the [maven plugin guide]({{ refs.ipojo-maven-plug-in.path }}) for further information about configuration).
+
+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 `ignoreEmbeddedSchemas` 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).
   
   
   

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.mdtext Fri Apr 12 13:42:34 2013
@@ -4,18 +4,14 @@ Title: Articles and Presentations
 # Presentations
 
 * "iPOJO : This Simple Life", OSGi Community Event 2008, Berlin, Germany. [Download](http://felix.apache.org/site/presentations.data/ipojo-berlin-20080611.pdf)
-* "iPOJO : A flexible service-oriented component model for dynamic systems", PHD Defense, December 2008, Grenoble, France . [Download]({{ refs.-ipojo-defense-final-pdf.path }})
+* "iPOJO : A flexible service-oriented component model for dynamic systems", PHD Defense, December 2008, Grenoble, France.
 
 # Articles on iPOJO Core features
 
 * 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)
 * Clement Escoffier and Richard S. Hall, Dynamically Adaptable Applications with iPOJO Service Components ([pdf](http://www-adele.imag.fr/Les.Publications/intConferences/SC2007Esc.pdf)) 6th International Symposium on Software Composition (SC 2007) March 2007, Braga, Portugal
 
-
 # Articles using iPOJO
-*  Clement Escoffier, Johann Bourcier, Philippe Lalanda, Towards a Home Application Server 5th Consumer Communications and Networking Conference (CCNC 2008) January 2008, Las Vegas, Nevada (USA)
-* André Bottaro, Johann Bourcier, Clément Escoffier and Philippe Lalanda, Autonomic Context-Aware Service Composition ([pdf](http://www-adele.imag.fr/Les.Publications/intConferences/ICPS2007Bot.pdf)) 2nd IEEE International Conference on Pervasive Services (ICPS'07) July 2007, Istanbul, Turkey
-* André Bottaro, Johann Bourcier, Clément Escoffier, Didier Donsez and Philippe Lalanda, A Multi-Protocol Service-Oriented Platform for Home Control Applications ([pdf](http://www-adele.imag.fr/Les.Publications/intConferences/CCNC2007Bot.pdf)) Demonstration at IEEE Consumer Communications and Networking Conference (CCNC 2007) January 2007, Las Vegas, Nevada (USA)
-* J. Bourcier, C. Escoffier, P. Lalanda, Implementing home-control applications on service platform ([pdf](http://www-adele.imag.fr/Les.Publications/intConferences/CCNC2007Bou.pdf)) 4th IEEE Consumer Communications and Networking Conference (CCNC 2007) January 2007, Las Vegas, Nevada (USA)
-* J. Bourcier, C. Escoffier, M. Desertot, C. Marin and A. Chazalet, A Dynamic SOA Home Control Gateway ([pdf](http://www-adele.imag.fr/Les.Publications/intConferences/ISCCC2006Bou.pdf)) International Service Computing Conference Contest, September 2006, Chicago, USA
+
+Check the list of academic papers using iPOJO on [Google scholar](http://scholar.google.com/scholar?hl=en&q=ipojo&btnG=&as_sdt=1%2C5&as_sdtp=)
 

Modified: felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.mdtext
URL: http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.mdtext?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.mdtext (original)
+++ felix/site/trunk/content/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.mdtext Fri Apr 12 13:42:34 2013
@@ -1,29 +1,30 @@
 translation_pending: true
 Title: Developing Camel mediators with iPOJO
 
-
-
 # Developing Camel mediators with iPOJO
-*The [Camel OSGi tutorial ]({{ refs.-http-activemq-apache-org-camel-tutorial-osgi-camel-part1-html.path }}) 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.*
+
+*The [Camel OSGi tutorial ](http://http://camel.apache.org/tutorial-osgi-camel-part1.html) 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.*
 
 ## Step 1 : Initial project setup
 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.
 
+    :::sh
     mvn archetype:create -DarchetypeGroupId=org.apache.felix -DarchetypeArtifactId=maven-ipojo-plugin -DarchetypeVersion=1.0.0 -DgroupId=demo -DartifactId=demo.service-ipojo-bundle -Dversion=0.1
 
 ## Step 2 : Develop the interface
 So now, it is time to create the interface that we will use in the project. Create a new folder "service" in `src/main/java/demo` tree. Add the interface `TransformService.java` and copy paste the code below:
-{code:java|title=TransformService.java}
-package demo.service;
-public interface TransformService {
-    public Object transform(Object obj);
-}
-
-    h2. Step 3 : Create the class implementing the interface
-    Next, we will create the class {{TransformServiceImpl}} implementing the interface {{TransformService}}.
-    Create the class {{TransformServiceImpl.java}} in the folder {{src/main/java/demo/service/}}
-    {code:java|title=TransformServiceImpl.java}
+
+    :::java
+    package demo.service;
+    public interface TransformService {
+        public Object transform(Object obj);
+    }
+
+## Step 3 : Create the class implementing the interface
+Next, we will create the class `TransformServiceImpl` implementing the interface `TransformService`. Create the class `TransformServiceImpl.java` in the folder `src/main/java/demo/service/`
+ 
+    :::java
     package demo.service;
     
     import java.util.Date;
@@ -64,19 +65,21 @@ public interface TransformService {
 
 ## Step 4 : Create the iPOJO configuration files
 The next step concerns the creation of the iPOJO configuration file who will allow the registration of the `TranformService` as an OSGi service.
-Create or edit the file metadata.xml in the folder src/main/resources/
-{code:xml|title=metadata.xml}
-<?xml version="1.0" encoding="UTF-8"?>
-<ipojo>
-	<component classname="demo.service.TransformServiceImpl" name="my-ipojo-transformer">
-   		<provides/>
-	</component>
-	<instance component="my-ipojo-transformer"/>
-</ipojo>
-
-    h2. Step 5 : Generate the bundle
-    Before generating the bundle, we need to edit the {{pom.xml}} file to describe our bundle.
-    {code:xml|title=pom.xml}
+Create or edit the file `metadata.xml` in the folder `src/main/resources/`
+
+    :::xml
+    <?xml version="1.0" encoding="UTF-8"?>
+    <ipojo>
+    	<component classname="demo.service.TransformServiceImpl" name="my-ipojo-transformer">
+       		<provides/>
+    	</component>
+    	<instance component="my-ipojo-transformer"/>
+    </ipojo>
+
+## Step 5 : Generate the bundle
+Before generating the bundle, we need to edit the {{pom.xml}} file to describe our bundle.
+
+    :::xml
     <project>
       <modelVersion>4.0.0</modelVersion>
       <packaging>bundle</packaging>
@@ -147,31 +150,8 @@ Create or edit the file metadata.xml in 
     </project>
 
 ## Step 6 & 7: Create the Camel context file and the bundle
-These steps are exactly the same as into the OSGi Camel Tutorial. So refer to the step 6 and 7 of the [article](http://activemq.apache.org/camel/tutorial-osgi-camel-part1.html).
-## Step 8: Deploy the bundles
-We will see how to execute the Canel route on ServiceMix Kernel.
-As mentioned in the documentation, [Apache ServiceMix Kernel]({{ refs.-http-servicemix-apache-org-smx4knl-index-html.path }}) 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:
-
-    /Users/clement/apache-servicemix-kernel-1.0.0/bin>servicemix
-
-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':
-
-    servicemix> osgi install -s mvn:org.springframework/spring-tx/2.5.5
-    servicemix> osgi install -s mvn:org.apache.camel/camel-core/1.5.0
-    servicemix> osgi install -s mvn:org.apache.camel/camel-spring/1.5.0
-    servicemix> osgi install -s mvn:org.apache.camel/camel-osgi/1.5.0
-    servicemix> osgi install -s mvn:org.apache.felix/org.apache.felix.ipojo/1.0.0
-
-
-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:
-
-    servicemix> >> call >> MyTransform set body:  Sat Dec 27 19:29:16 CET 2008
+These steps are exactly the same as into the OSGi Camel Tutorial. So refer to the step 6 and 7 of the [article](http://activemq.apache.org/camel/tutorial-osgi-camel-part1.html). That's it. Deploy and enjoy.
 
-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
   
   
   

Modified: felix/site/trunk/templates/ipojo.html
URL: http://svn.apache.org/viewvc/felix/site/trunk/templates/ipojo.html?rev=1467268&r1=1467267&r2=1467268&view=diff
==============================================================================
--- felix/site/trunk/templates/ipojo.html (original)
+++ felix/site/trunk/templates/ipojo.html Fri Apr 12 13:42:34 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="{{ refs.felix-how-to-use-ipojo-factories.path }}">Factories and Instances</a></li>
-                                        <li><a href="{{ refs.using-xml-schemas.path }}">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="{{ refs.apache-felix-ipojo-testing-components.path }}">Testing components</a></li>
-                                        <li><a href="{{ refs.apache-felix-ipojo-eclipse-integration.path }}">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="{{ refs.ipojo-reference-card.path }}">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="{{ refs.articles-and-presentations.path }}">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>