Fix issue Felix-866
The 'interface attribute of the 'provides' element becomes 'specifications' The semantic doesn't change.
Fix issue Felix-867
The ServiceProperty annotation was able to target Method. However this is not possible. Service properties can only be attached to fields.
Fix issue Felix-868
The Component annontation did'nt support the factory methods. So, the 'factory_method' attribute was added to support the configuration of factory methods.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@729971 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/core/src/main/resources/core.xsd b/ipojo/core/src/main/resources/core.xsd
index 9bb7014..3099b8e 100644
--- a/ipojo/core/src/main/resources/core.xsd
+++ b/ipojo/core/src/main/resources/core.xsd
@@ -319,9 +319,13 @@
<xs:documentation>List of service specific properties.</xs:documentation>
</xs:annotation></xs:element>
</xs:sequence>
- <xs:attribute name="interface" type="xs:string" use="optional">
+ <xs:attribute name="interface" type="xs:string" use="prohibited">
<xs:annotation>
- <xs:documentation>The list of interfaces of the service to expose. By default, all interfaces implemented by the component implementation class are published.</xs:documentation>
+ <xs:documentation>Deprecated attribute, use 'specifications' instead of 'interface'</xs:documentation>
+ </xs:annotation></xs:attribute>
+ <xs:attribute name="specifications" type="xs:string" use="optional">
+ <xs:annotation>
+ <xs:documentation>The list of service specifications (i.e. interfaces) to expose. By default, all interfaces implemented by the component implementation class are published.</xs:documentation>
</xs:annotation></xs:attribute>
<xs:attribute name="factory" type="xs:string" use="prohibited">
<xs:annotation>
diff --git a/ipojo/core/src/main/resources/metadata.xml b/ipojo/core/src/main/resources/metadata.xml
index 6e49d69..2ba587c 100644
--- a/ipojo/core/src/main/resources/metadata.xml
+++ b/ipojo/core/src/main/resources/metadata.xml
@@ -40,7 +40,7 @@
<handler
classname="org.apache.felix.ipojo.handlers.architecture.ArchitectureHandler"
name="architecture" architecture="false">
- <provides interface="org.apache.felix.ipojo.architecture.Architecture">
+ <provides specifications="org.apache.felix.ipojo.architecture.Architecture">
<property field="m_name" name="architecture.instance"/>
</provides>
</handler>