OBR Repository generation is broken - it produces multiple requirements for 
blueprint services
----------------------------------------------------------------------------------------------

                 Key: ARIES-425
                 URL: https://issues.apache.org/jira/browse/ARIES-425
             Project: Aries
          Issue Type: Bug
          Components: Application
    Affects Versions: 0.3
            Reporter: Timothy Ward
            Priority: Blocker
             Fix For: 0.3


The OSR Resolver does not work with optional service dependencies because it 
generates two <require> elements for each service. One of these is ALWAYS 
mandatory.


A sample xml snippet from the blog-biz project follows


<resource id="org.apache.aries.samples.blog.biz/0.3.0.incubating-SNAPSHOT" 
presentationname="Apache Aries blog sample" 
symbolicname="org.apache.aries.samples.blog.biz" uri="" 
version="0.3.0.incubating-SNAPSHOT">
<capability name="bundle">
<p n="presentationname" v="Apache Aries blog sample"/>
<p n="version" t="version" v="0.3.0.incubating-SNAPSHOT"/>
<p n="symbolicname" v="org.apache.aries.samples.blog.biz"/>
<p n="Bundle-ManifestVersion" v="2"/>
<p n="mandatory" v=""/>
</capability>
<capability name="service">
<p n="service" v="service"/>
<p n="osgi.service.blueprint.compname" v="bloggingServiceComponent"/>
<p n="objectClass" t="set" 
v="org.apache.aries.samples.blog.api.BloggingService"/>
<p n="service.ranking" v="0"/>
<p n="mandatory" v=""/>
</capability>
<capability name="service">
<p n="service" v="service"/>
<p n="objectClass" t="set" 
v="org.apache.aries.samples.blog.api.BloggingService"/>
<p n="service.ranking" v="0"/>
<p n="mandatory" v=""/>
</capability>
<require extend="false" 
filter="(&amp;(package=org.apache.aries.samples.blog.api)(version&gt;=0.3.0)(version&lt;=0.4.0)(!(version=0.4.0)))"
 multiple="false" name="package" optional="false">Requires package with 
attributes {package=org.apache.aries.samples.blog.api, 
version=[0.3.0,0.4.0)}</require>
<require extend="false" 
filter="(&amp;(package=org.apache.aries.samples.blog.api.persistence)(version&gt;=0.3.0)(version&lt;=0.4.0)(!(version=0.4.0)))"
 multiple="false" name="package" optional="false">Requires package with 
attributes {package=org.apache.aries.samples.blog.api.persistence, 
version=[0.3.0,0.4.0)}</require>
<require extend="false" 
filter="(&amp;(package=org.apache.aries.samples.blog.api.comment.persistence)(version&gt;=0.3.0)(version&lt;=0.4.0)(!(version=0.4.0)))"
 multiple="false" name="package" optional="false">Requires package with 
attributes {package=org.apache.aries.samples.blog.api.comment.persistence, 
version=[0.3.0,0.4.0)}</require>
<require extend="false" 
filter="(&amp;(package=org.osgi.service.blueprint)(version&gt;=1.0.0)(version&lt;=2.0.0)(!(version=2.0.0)))"
 multiple="false" name="package" optional="false">Requires package with 
attributes {package=org.osgi.service.blueprint, version=[1.0.0,2.0.0)}</require>
<require extend="false" 
filter="(&amp;(service=service)(objectClass=org.apache.aries.samples.blog.api.comment.persistence.BlogCommentService)(mandatory:&lt;*service))"
 multiple="false" name="service" optional="true">Requires service with 
attributes {service=service, 
objectClass=org.apache.aries.samples.blog.api.comment.persistence.BlogCommentService}</require>
<require extend="false" 
filter="(&amp;(service=service)(objectClass=org.apache.aries.samples.blog.api.persistence.BlogPersistenceService)(mandatory:&lt;*service))"
 multiple="false" name="service" optional="false">Requires service with 
attributes {service=service, 
objectClass=org.apache.aries.samples.blog.api.persistence.BlogPersistenceService}</require>
<require extend="false" 
filter="(&amp;(service=service)(objectClass=org.apache.aries.samples.blog.api.comment.persistence.BlogCommentService)(mandatory:&lt;*service))"
 multiple="false" name="service" optional="false">Requires service with 
attributes {service=service, 
objectClass=org.apache.aries.samples.blog.api.comment.persistence.BlogCommentService}</require>
<require extend="false" 
filter="(&amp;(service=service)(objectClass=org.apache.aries.samples.blog.api.persistence.BlogPersistenceService)(mandatory:&lt;*service))"
 multiple="false" name="service" optional="false">Requires service with 
attributes {service=service, 
objectClass=org.apache.aries.samples.blog.api.persistence.BlogPersistenceService}</require>
</resource>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to