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>