felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r867912 - in /websites/staging/felix/trunk/content: ./ documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html
Date Sun, 30 Jun 2013 15:38:34 GMT
Author: buildbot
Date: Sun Jun 30 15:38:34 2013
New Revision: 867912

Log:
Staging update by buildbot for felix

Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Jun 30 15:38:34 2013
@@ -1 +1 @@
-1498141
+1498142

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html
(original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html
Sun Jun 30 15:38:34 2013
@@ -162,12 +162,7 @@
     <div class="container">
         <div class="content">
             <h1 id="ipojo-in-10-minutes">iPOJO in 10 minutes</h1>
-<p>This page presents how to use the iPOJO runtime and its associated service component
model. The concepts of the service component model are introduced, followed by a simple example
that demonstrates the features of iPOJO. This tutorial uses annotations to describe components.
 However, iPOJO also supports</p>
-<div class="codehilite"><pre><span class="o">*</span> <span class="n">XML</span>
-<span class="o">*</span> <span class="n">A</span> <span class="n">Java</span>
<span class="p">[</span><span class="n">API</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">ipojo</span><span class="o">-</span><span
class="n">api</span><span class="p">]</span>
-</pre></div>
-
-
+<p>This page presents how to use the iPOJO runtime and its associated service component
model. The concepts of the service component model are introduced, followed by a simple example
that demonstrates the features of iPOJO. This tutorial uses annotations to describe components.
 However, you can also use XML or a programmatic API to create iPOJO applications.</p>
 <h2 id="introduction">Introduction</h2>
 <p>iPOJO aims to simplify service-oriented programming on OSGi frameworks; the name
iPOJO is an abbreviation for <em>injected POJO</em>. iPOJO provides a new way
to develop OSGi service components, simplifying service component implementation by transparently
managing the dynamics of the environment as well as other non-functional requirements. The
iPOJO framework allows developers to more clearly separate functional code (i.e., POJOs) from
the non-functional code (i.e., dependency management, service provision, configuration, etc.).
 At run time, iPOJO combines the functional and non-functional aspects. To achieve this, iPOJO
provides a simple and extensible service component model based on POJOs.</p>
 <h2 id="the-pojo-concept">The POJO concept</h2>
@@ -308,7 +303,7 @@ Total <span class="nb">time</span>: 0 se
 
 
 <p>Notice that this class does not contains neither OSGi nor iPOJO specific code except
a few annotations. It is just an implementation of the Dictionary Service interface.</p>
-<p>The <code>@Component</code> annotation is used to declare an iPOJO component.
The <code>@Provides</code> annotation indicates that the component provides a
service. Provided service interfaces are computed by iPOJO, so it is not necessary to specify
them. Finally, the <code>@Instantiate</code> annotation instructs iPOJO to create
an instance of our component. The relation between components and instances is the same than
between classes and objects in the object oriented programming.</p>
+<p>The <code>@Component</code> annotation is used to declare an iPOJO component.
The <code>@Provides</code> annotation indicates that the component provides a
service. Provided service interfaces are computed by iPOJO, so it is not necessary to specify
them. Finally, the <code>@Instantiate</code> annotation instructs iPOJO to create
an instance of our component. The relation between components and instances is the same than
between classes and objects in the object-oriented programming.</p>
 <p>Then, we are able to create the bundle. In the spell.english directory launch the
ant command:</p>
 <div class="codehilite"><pre><span class="nv">$ </span>ant
 Buildfile: /Users/clement/Projects/felix-trunk/ipojo/distributions/ten-minutes-tutorial/target/test/spell.english/build.xml
@@ -538,7 +533,7 @@ Total <span class="nb">time</span>: 0 se
 </pre></div>
 
 
-<p>Look at the three last methods. The <em>check</em> methods collects
the user input and uses a <em>Check speller</em> service to check this input.
The speller is injected into the <code>checker</code> field thanks to the <code>@Requires</code>
annotation. This method is called when the button is pressed by the user. The <em>start</em>
and <em>stop</em> methods are lifecycle callbacks. As we display the user interface
when the instance is created and to dispose it when the instance stops, we need a way to be
notified when we need to execute these actions. iPOJO provides an easy way to do this. The
component provides two callback methods for its activation and deactivation. Callbacks are
used when the component needs to be informed about a component state change. In iPOJO, the
component state is either <em>INVALID</em> (i.e., not all of the component's constraints
are satisfied) or <em>VALID</em> (i.e., all of the component's constraints are
satisfied). In this example, the start ca
 llback method sets the GUI visibility to true; the stop callback method deletes the GUI.
The <code>@Validate</code> and <code>@Invalidate</code> annotations
are used to specify these callbacks.</p>
+<p>Look at the three last methods. The <em>check</em> methods collects
the user input and uses a <em>Check speller</em> service to check this input.
The speller is injected into the <code>checker</code> field thanks to the <code>@Requires</code>
annotation. This method is called when the user presses the button. The <em>start</em>
and <em>stop</em> methods are lifecycle callbacks. As we display the user interface
when the instance is created and to dispose it when the instance stops, we need a way to be
notified when we need to execute these actions. iPOJO provides an easy way to do this. The
component provides two callback methods for its activation and deactivation. Callbacks are
used when the component needs to be informed about a component state change. In iPOJO, the
component state is either <em>INVALID</em> (i.e., not all of the component's constraints
are satisfied) or <em>VALID</em> (i.e., all of the component's constraints are
satisfied). In this example, the start callback
  method sets the GUI visibility to true; the stop callback method deletes the GUI. The <code>@Validate</code>
and <code>@Invalidate</code> annotations are used to specify these callbacks.</p>
 <p>Once this file is created, you can compile the project by launching <em>ant</em>
in the spell.checker.gui directory.</p>
 <h2 id="running-the-application">Running the application</h2>
 <p>We have all the bundles required to start playing with the application.</p>
@@ -645,7 +640,7 @@ Instance spell.english.EnglishDictionary
                 may be trademarks or registered trademarks of their respective owners.
                 </div>
                 <div class="timestamp span3 offset2">
-                Rev. 1498141 by clement on Sun, 30 Jun 2013 15:31:37 +0000
+                Rev. 1498142 by clement on Sun, 30 Jun 2013 15:38:27 +0000
                 </div>
             </div>
         </footer>           



Mime
View raw message