You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gn...@apache.org on 2009/06/29 20:36:10 UTC

svn commit: r789407 [2/2] - in /geronimo/sandbox/blueprint: blueprint-api/src/main/java/org/osgi/service/blueprint/container/ blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ blueprint-core/src/main/resources/org/apache/geronimo/blueprin...

Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd?rev=789407&r1=789406&r2=789407&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd Mon Jun 29 18:36:09 2009
@@ -49,7 +49,7 @@
           The Tcomponent type is the base type for top-level
           Blueprint components.  The <bean> <reference>, <service>,
           and <reference-list> elements are all derived from
-          the Tcomponent type.  This type defines an id attributre
+          the Tcomponent type.  This type defines an id attribute
           that is used create references between different components.
           Component elements can also be inlined within other component
           definitions.  The id attribute is not valid when inlined.
@@ -66,23 +66,22 @@
                   The activation attribute for this component.  This can either
                   be "eager" or "lazy".  If not specified, it
                   defaults to default-activation attribute of the enclosing
-                  <blueprint> element.  The default, default is "eager"
+                  <blueprint> element.  The default is "eager".
                   ]]>
                 </xsd:documentation>
             </xsd:annotation>
         </xsd:attribute>
 
-        <xsd:attribute name="depends-on" type="TdependsOn" use="optional">
+        <xsd:attribute name="depends-on" type="TdependsOn">
             <xsd:annotation>
                 <xsd:documentation>
                   <![CDATA[
-                  depends-on identifies (by name) other components that this component
+                  depends-on identifies (by id) other components that this component
                   depends on.  The component only be activated after the
                   depends-on components are successfully activated.  Also, if there
                   are <reference> or <reference-list> elements with unstatisfied
                   manadatory references, then the depends-on relationship will also
-                  be used to determine whether this service is registered or
-                  unregistered.
+                  be used to determine whether this service is enabled or not.
                   ]]>
                 </xsd:documentation>
             </xsd:annotation>
@@ -96,7 +95,7 @@
 
           The <blueprint> element is the root element for a blueprint
           configuration file.  A blueprint configuration has two sections.
-          The first section (contained within <type-converters> elements)
+          The first section (contained within the <type-converters> element)
           identifies components that are used for converting values into
           different target types.  The type converters are optional, so
           the file does not need to specify a type converter section.
@@ -131,9 +130,8 @@
                 <xsd:documentation>
                   <![CDATA[
                   Specifies the default activation setting that will be defined
-                  for <bean> components.  If not specified, the global
-                  default is "eager".  Individual <bean> components may
-                  override the default
+                  for components.  If not specified, the global default is "eager".
+                  Individual components may override the default value.
                   ]]>
                 </xsd:documentation>
             </xsd:annotation>
@@ -174,8 +172,7 @@
               <![CDATA[
               The type used for the <type-converters> element.  The
               <type-converters> section is a set of <bean>, <ref>, or
-              <reference> elements that identify the type convert components
-              that will ference components.
+              <reference> elements that identify the type converter components.
               ]]>
             </xsd:documentation>
         </xsd:annotation>
@@ -195,11 +192,11 @@
             <xsd:documentation>
               <![CDATA[
               A targetcomponent is one that can be a target for a
-              listener, registration-listener, or type-converter element.
+              listener, registration-listener or service elements.
               This is used in contexts where the requirement is a single
               provided object that will implement a particular interface.
               The provided object is obtained either from a <ref> element
-              or inline (<bean> or <reference>).
+              or an inlined <bean> or <reference>.
               ]]>
             </xsd:documentation>
         </xsd:annotation>
@@ -217,7 +214,7 @@
               <![CDATA[
               allComponents is used in contexts where all component element
               types are value.  The set of component elements contains
-              <bean>, <service>, <reference>, and <reference-list>.
+              <bean>, <service>, <reference>, <reference-list> and <ref>.
               ]]>
             </xsd:documentation>
         </xsd:annotation>
@@ -289,14 +286,14 @@
             <xsd:restriction base="Tbean">
                 <xsd:group ref="beanElements" />
                 <xsd:attribute name="id" use="prohibited"/>
-                <xsd:attribute name="depends-on" type="TdependsOn" use="optional"/>
-                <xsd:attribute name="activation" use="prohibited"/>
-                <xsd:attribute name="class" type="Tclass" />
-                <xsd:attribute name="init-method" type="Tmethod" />
+                <xsd:attribute name="depends-on" type="TdependsOn"/>
+                <xsd:attribute name="activation" use="prohibited" fixed="lazy"/>
+                <xsd:attribute name="class" type="Tclass"/>
+                <xsd:attribute name="init-method" type="Tmethod"/>
                 <xsd:attribute name="destroy-method" use="prohibited"/>
-                <xsd:attribute name="factory-method" type="Tmethod" />
-                <xsd:attribute name="factory-ref" type="Tidref" />
-                <xsd:attribute name="scope" fixed="prototype" type="Tscope"/>
+                <xsd:attribute name="factory-method" type="Tmethod"/>
+                <xsd:attribute name="factory-ref" type="Tidref"/>
+                <xsd:attribute name="scope" use="prohibited" fixed="prototype" />
                 <xsd:anyAttribute namespace="##other" processContents="strict" />
             </xsd:restriction>
         </xsd:complexContent>
@@ -388,7 +385,7 @@
                 <xsd:sequence>
                     <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
                 </xsd:sequence>
-                <xsd:attribute name="timeout" use="optional" type="Ttimeout" />
+                <xsd:attribute name="timeout" type="Ttimeout" />
             </xsd:extension>
         </xsd:complexContent>
     </xsd:complexType>
@@ -409,13 +406,13 @@
                     <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
                 </xsd:sequence>
                 <xsd:attribute name="id" use="prohibited"/>
-                <xsd:attribute name="depends-on" type="TdependsOn" use="optional"/>
-                <xsd:attribute name="activation" use="prohibited"/>
-                <xsd:attribute name="interface" type="Tclass" use="required"/>
-                <xsd:attribute name="filter" type="xsd:normalizedString" use="optional"/>
-                <xsd:attribute name="component-name" type="Tidref" use="optional"/>
-                <xsd:attribute name="availability" type="Tavailability" use="optional"/>
-                <xsd:attribute name="timeout" type="Ttimeout" use="optional"/>
+                <xsd:attribute name="depends-on" type="TdependsOn"/>
+                <xsd:attribute name="activation" use="prohibited" fixed="lazy"/>
+                <xsd:attribute name="interface" type="Tclass"/>
+                <xsd:attribute name="filter" type="xsd:normalizedString"/>
+                <xsd:attribute name="component-name" type="Tidref"/>
+                <xsd:attribute name="availability" type="Tavailability"/>
+                <xsd:attribute name="timeout" type="Ttimeout"/>
                 <xsd:anyAttribute namespace="##other" processContents="strict" />
             </xsd:restriction>
         </xsd:complexContent>
@@ -438,12 +435,12 @@
                 <xsd:sequence>
                     <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
                 </xsd:sequence>
-                <xsd:attribute name="member-type" type="Tservice-use" use="optional">
+                <xsd:attribute name="member-type" type="Tservice-use" default="service-object">
                     <xsd:annotation>
                         <xsd:documentation>
                           <![CDATA[
                           Indicates the type of object that will be placed within the
-                          reference collection.  "service-instance" indicates the collection
+                          reference collection.  "service-object" indicates the collection
                           contains blueprint proxies for imported services.  "service-reference"
                           indicates the collection contains ServiceReferenc objects matching
                           the target service type.
@@ -471,13 +468,13 @@
                     <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" />
                 </xsd:sequence>
                 <xsd:attribute name="id" use="prohibited"/>
-                <xsd:attribute name="depends-on" type="TdependsOn" use="optional"/>
-                <xsd:attribute name="activation" use="prohibited"/>
-                <xsd:attribute name="interface" type="Tclass" use="required"/>
-                <xsd:attribute name="filter" type="xsd:normalizedString" use="optional"/>
-                <xsd:attribute name="component-name" type="Tidref" use="optional"/>
-                <xsd:attribute name="availability" type="Tavailability" use="optional"/>
-                <xsd:attribute name="member-type" use="optional" type="Tservice-use"/>
+                <xsd:attribute name="depends-on" type="TdependsOn"/>
+                <xsd:attribute name="activation" use="prohibited" fixed="lazy" />
+                <xsd:attribute name="interface" type="Tclass"/>
+                <xsd:attribute name="filter" type="xsd:normalizedString"/>
+                <xsd:attribute name="component-name" type="Tidref"/>
+                <xsd:attribute name="availability" type="Tavailability"/>
+                <xsd:attribute name="member-type" type="Tservice-use" default="service-object"/>
                 <xsd:anyAttribute namespace="##other" processContents="strict" />
             </xsd:restriction>
         </xsd:complexContent>
@@ -500,8 +497,18 @@
                     <xsd:group ref="serviceReferenceElements"/>
                 </xsd:sequence>
 
-                <xsd:attribute name="interface" use="required" type="Tclass" />
-                <xsd:attribute name="filter" use="optional" type="xsd:normalizedString">
+                <xsd:attribute name="interface" type="Tclass">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                          <![CDATA[
+                          The interface that the OSGi service must implement and that will be
+                          implemented by the proxy object.
+                          It is allowed to not specify this attribute.
+                          ]]>
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+                <xsd:attribute name="filter" type="xsd:normalizedString">
                     <xsd:annotation>
                         <xsd:documentation>
                           <![CDATA[
@@ -511,7 +518,7 @@
                         </xsd:documentation>
                     </xsd:annotation>
                 </xsd:attribute>
-                <xsd:attribute name="component-name" type="Tidref" use="optional">
+                <xsd:attribute name="component-name" type="Tidref">
                     <xsd:annotation>
                         <xsd:documentation>
                           <![CDATA[
@@ -521,7 +528,7 @@
                         </xsd:documentation>
                     </xsd:annotation>
                 </xsd:attribute>
-                <xsd:attribute name="availability" type="Tavailability" use="optional">
+                <xsd:attribute name="availability" type="Tavailability">
                     <xsd:annotation>
                         <xsd:documentation>
                           <![CDATA[
@@ -577,9 +584,9 @@
         <xsd:sequence>
             <xsd:group ref="targetComponent" minOccurs="0"/>
         </xsd:sequence>
-        <xsd:attribute name="ref" type="xsd:NMTOKEN" use="optional" />
-        <xsd:attribute name="bind-method" type="Tmethod" use="optional" />
-        <xsd:attribute name="unbind-method" type="Tmethod" use="optional" />
+        <xsd:attribute name="ref" type="Tidref"/>
+        <xsd:attribute name="bind-method" type="Tmethod"/>
+        <xsd:attribute name="unbind-method" type="Tmethod"/>
     </xsd:complexType>
 
     <xsd:simpleType name="Tactivation">
@@ -631,9 +638,36 @@
                 <xsd:sequence>
                     <xsd:group ref="serviceElements" />
                 </xsd:sequence>
-                <xsd:attribute name="interface" type="Tclass" use="optional" />
-                <xsd:attribute name="ref" type="Tidref" use="optional" />
-                <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled" />
+                <xsd:attribute name="interface" type="Tclass">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                          <![CDATA[
+                          The interface that this OSGi service will provide.
+                          ]]>
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+                <xsd:attribute name="ref" type="Tidref">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                          <![CDATA[
+                          The ref attribute can be used to specify the component that provides
+                          the object exported as an OSGi service.
+                          ]]>
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+                <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                          <![CDATA[
+                          If set to a value different from "disabled", the Blueprint Container
+                          will introspect the target to discover the set of interfaces or classes
+                          that the service will be registered under.
+                          ]]>
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
                 <xsd:attribute name="ranking" type="xsd:int" default="0">
                     <xsd:annotation>
                         <xsd:documentation>
@@ -664,11 +698,11 @@
                     <xsd:group ref="serviceElements" />
                 </xsd:sequence>
                 <xsd:attribute name="id" use="prohibited"/>
-                <xsd:attribute name="depends-on" type="TdependsOn" use="optional"/>
-                <xsd:attribute name="activation" use="prohibited"/>
-                <xsd:attribute name="interface" type="Tclass" use="optional" />
-                <xsd:attribute name="ref" type="Tidref" use="optional" />
-                <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled" />
+                <xsd:attribute name="depends-on" type="TdependsOn"/>
+                <xsd:attribute name="activation" use="prohibited" fixed="lazy"/>
+                <xsd:attribute name="interface" type="Tclass"/>
+                <xsd:attribute name="ref" type="Tidref"/>
+                <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled"/>
                 <xsd:attribute name="ranking" type="xsd:int" default="0"/>
                 <xsd:anyAttribute namespace="##other" processContents="strict" />
             </xsd:restriction>
@@ -763,10 +797,9 @@
         <xsd:sequence>
             <xsd:group ref="targetComponent" minOccurs="0"/>
         </xsd:sequence>
-        <xsd:attribute name="ref" type="Tidref" use="optional" />
-        <!--  ### why are there both required? -->
-        <xsd:attribute name="registration-method" type="Tmethod" use="optional" />
-        <xsd:attribute name="unregistration-method" type="Tmethod" use="optional" />
+        <xsd:attribute name="ref" type="Tidref"/>
+        <xsd:attribute name="registration-method" type="Tmethod"/>
+        <xsd:attribute name="unregistration-method" type="Tmethod"/>
     </xsd:complexType>
 
     <!--
@@ -852,7 +885,7 @@
               ]]>
             </xsd:documentation>
         </xsd:annotation>
-        <xsd:attribute name="type" type="Ttype" use="optional" />
+        <xsd:attribute name="type" type="Ttype"/>
     </xsd:complexType>
 
     <!-- Collection Values -->
@@ -911,7 +944,7 @@
             </xsd:documentation>
         </xsd:annotation>
         <xsd:attribute name="key" type="TstringValue" use="required" />
-        <xsd:attribute name="value" type="TstringValue" use="optional" />
+        <xsd:attribute name="value" type="TstringValue"/>
     </xsd:complexType>
 
     <!-- 'map' element type -->
@@ -995,7 +1028,7 @@
             <xsd:group ref="value" minOccurs="0"/>
         </xsd:sequence>
         <xsd:attribute name="key" type="TstringValue" use="required" />
-        <xsd:attribute name="value" type="TstringValue" use="optional" />
+        <xsd:attribute name="value" type="TstringValue"/>
     </xsd:complexType>
 
     <!-- General types -->

Modified: geronimo/sandbox/blueprint/blueprint-sample/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-sample/src/main/resources/OSGI-INF/blueprint/config.xml?rev=789407&r1=789406&r2=789407&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-sample/src/main/resources/OSGI-INF/blueprint/config.xml (original)
+++ geronimo/sandbox/blueprint/blueprint-sample/src/main/resources/OSGI-INF/blueprint/config.xml Mon Jun 29 18:36:09 2009
@@ -51,7 +51,7 @@
         <property name="b" value="${key.b}" />
         <property name="bar" ref="bar" />
         <property name="currency">
-              <value>PLN</value>
+            <value>PLN</value>
         </property>
         <property name="date">
               <value>2009.04.17</value>
@@ -86,17 +86,17 @@
 
     <bean id="bindingListener" class="org.apache.geronimo.blueprint.sample.BindingListener"/>
 
-    <ref-list id="ref-list" interface="org.apache.geronimo.blueprint.sample.InterfaceA">
+    <reference-list id="ref-list" interface="org.apache.geronimo.blueprint.sample.InterfaceA">
         <reference-listener bind-method="bind" unbind-method="unbind" ref="listBindingListener" />
-    </ref-list>
+    </reference-list>
 
     <bean id="listBindingListener" class="org.apache.geronimo.blueprint.sample.BindingListener"/>
 
     <bean id="circularReference" class="org.apache.geronimo.blueprint.sample.BindingListener" init-method="init">
         <property name="list">
-            <ref-list interface="org.apache.geronimo.blueprint.sample.InterfaceA" availability="optional">
+            <reference-list interface="org.apache.geronimo.blueprint.sample.InterfaceA" availability="optional">
                 <reference-listener bind-method="bind" unbind-method="unbind" ref="circularReference"/>
-            </ref-list>
+            </reference-list>
         </property>
     </bean>