<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
                 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">

  <chapter id="bundles">
    <title>Working With Bundles</title>

    <para>Gemini Blueprint offers a dedicated schema element for interacting with existing
    bundles or for installing new ones. While it is not intended to be used as a replacement
    for proper OSGi services, the <literal>bundle</literal> element offers a very
    easy way of executing actions on bundles based on the lifecycle of the application
    context. 
    </para>
        
    <para>The <literal>bundle</literal> element defines a bean of type
    <interfacename>org.osgi.framework.Bundle</interfacename>. It provides a simple way to
    work directly with bundles, including driving their lifecycle. In the
    simplest case all you need to do is specify the
    <literal>symbolic-name</literal> of the bundle you are interested
    in:</para>

    <programlisting language="xml"><![CDATA[<bundle id="aBundle" symbolic-name="org.xyz.abundle"/>]]></programlisting>

    <para>The bean <literal>aBundle</literal> can now be injected into any property of 
    type <interfacename>Bundle</interfacename>.</para>

    <para>If the needed bundle is not installed, one can use <literal>location</literal> attribute
    to indicate install or/and the <literal>action</literal>/<literal>destroy-action</literal> attributes
    provide declarative control over the bundle's lifecycle. The <literal>location</literal> attribute is 
    used to specify a URL where the bundle jar file artifact can be found. The
    <literal>action</literal> attribute specifies the lifecycle operation to
    be invoked on the bundle object. The supported action values are
    <literal>install</literal>, <literal>start</literal>,
    <literal>update</literal>, <literal>stop</literal>, and
    <literal>uninstall</literal>. These actions have the same semantics as the
    operations of the corresponding names defined on the
    <literal>Bundle</literal> interface (see the OSGi Service Platform Core
    Specification), with the exception that pre-conditions are weakened to
    allow for example a <emphasis>start</emphasis> action to be specified against a bundle that
    is not currently installed (it will be installed first).</para>
    
    <para>The following table shows how actions are interpreted for the given
    Bundle states:</para>

    <table id ="bundle-factory-actions" border="1" cellspacing="5" pgwide="1">
      <title><![CDATA[<bundle>]]> <literal>action</literal> values</title>
     	<tgroup cols="4">
         <thead>
          <row>
           <entry>Action</entry>
           <entry><literal>UNINSTALLED</literal></entry>
           <entry><literal>INSTALLED/RESOLVED</literal></entry>
           <entry><literal>ACTIVE</literal></entry>
         </row>
        </thead>
        <tbody>
         <row>
            <entry><literal>START</literal></entry>
            <entry>installs and starts the bundle</entry>
	        <entry>starts the bundle</entry>
	        <entry>no action taken, bundle already started</entry>
    	</row>

    	<row>
	        <entry><literal>UPDATE</literal></entry>
	        <entry>installs the bundle and then updates it (`Bundle.update()`)</entry>
	        <entry>updates the bundle</entry>
	        <entry>updates the bundle</entry>
       </row>

       <row>
          <entry><literal>STOP</literal></entry>
	      <entry>no action taken</entry>
	      <entry>no action taken</entry>
	      <entry>bundle is stopped</entry>
      </row>

      <row>
        <entry><literal>UNINSTALL</literal></entry>
        <entry>no action taken</entry>
        <entry>bundle is uninstalled</entry>
        <entry>bundle is stopped and then uninstalled</entry>
      </row>
     </tbody>
     </tgroup>      
    </table>

    <para>For example:</para>

    <programlisting language="xml"><![CDATA[<!-- ensure this bundle is installed and started -->
<bundle id="aBundle" symbolic-name="org.xyz.abundle"
   location="http://www.xyz.com/bundles/org.xyz.abundle.jar"
   action="start"/>]]></programlisting>

    <!-- 
    <para>The 'start-level' attribute can be used to set the start level of
    the bundle.</para>
    -->
    
    <para>The following table lists the <literal>bundle</literal> element attributes names, 
    possible values and a short description for each of them:
    </para>
   	
   	<table id="bundle-options" pgwide="1">
      <title><![CDATA[<bundle> attributes]]></title>
       <tgroup cols="7">
       	 <colspec colname="c1"/>
       	 <colspec colname="c2" align="center"/>
       	 <colspec colname="c3" align="center"/>
       	 <colspec colname="c4" align="center"/>
       	 <colspec colname="c5" align="center"/>
       	 <colspec colname="c6" align="center"/>
       	 <colspec colname="c7" align="justify"/>
       	 
       	 <spanspec spanname="values" namest="c2" nameend="c6" align="justify"/>
       	 
         <thead>
           <row>
             <entry>Name</entry>
             <entry spanname="values">Values</entry>
             <entry>Description</entry>
           </row>
         </thead>
         <tbody>
           <row>
             <entry>symbolic-name</entry>
             <entry spanname="values">any valid symbolic-name String</entry>
             <entry>The symbolic name of the bundle object. Normally used when interacting with an already 
             installed bundle.</entry>
           </row>
           <row>
             <entry>location</entry>
             <entry spanname="values">String that can be converted into an <literal>URL</literal></entry>
             <entry>Location used to install, update or/and identify a bundle.</entry>
           </row>
           <row>
             <entry>action</entry>
             
             <entry>start</entry>
             <entry>stop</entry> 
             <entry>install</entry> 
             <entry>uninstall</entry>
             <entry>update</entry>
             
             <entry>Lifecyle action to drive on the bundle. The action is executed at startup.</entry>
           </row>
           <row>
             <entry>destroy-action</entry>
             <entry spanname="values">(same as action)</entry>
             <entry>Lifecyle action to drive on the bundle. The action is executed at shutdown.</entry>
           </row>
         </tbody>
       </tgroup>
    </table>

    <para>The samples that ship with the Gemini Blueprint project
    include further support for a <literal>virtual-bundle</literal> element
    that can be used to create and install OSGi bundles on the fly from
    existing artifacts.</para>
  </chapter>
