Tom De Wolf created ARIES-1453:
----------------------------------
Summary: Fragment-Host requirements with version range do not
match with FragmentHostCapability
Key: ARIES-1453
URL: https://issues.apache.org/jira/browse/ARIES-1453
Project: Aries
Issue Type: Bug
Components: Subsystem
Affects Versions: subsystem-2.0.6
Reporter: Tom De Wolf
Priority: Blocker
Fix For: subsystem-2.0.8
According to http://wiki.osgi.org/wiki/Fragment-Host we can specify
Fragment-host headers using version ranges. When we do that the requirement no
longer matches on the capabilities in the aries subsystem implementation. It
results in the errors below.
Reason for this is that the FragmentHostCapability only uses 'string'
attributes which results in versions "9.6.1" and "10.0.0" being compared as if
"10.0.0" is earlier than "9.6.1". A bundle host with version 9.6.1 therefore
does not match the version range [9.6.0, 10.0.0). It should not do string
comparison but have a real 'Version' instance to compare with.
{code}
Error installing subsystem: org.osgi.service.subsystem.SubsystemException:
org.osgi.service.resolver.ResolutionException: Unable to resolve
/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar:
missing requirement
org.apache.aries.subsystem.core.archive.FragmentHostRequirement:
namespace=osgi.wiring.host, attributes={},
directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))},
resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar
g! at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
at org.apache.felix.gogo.shell.Activator.run(Activator.java:75)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.osgi.service.subsystem.SubsystemException:
org.osgi.service.resolver.ResolutionException: Unable to resolve
/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar:
missing requirement
org.apache.aries.subsystem.core.archive.FragmentHostRequirement:
namespace=osgi.wiring.host, attributes={},
directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))},
resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar
at
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
at
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
at
org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
at
org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
at
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
at
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
at
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
at
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
at
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
at
be.aca.subsystem.internal.DefaultSubsystemService.installFromRepo(DefaultSubsystemService.java:86)
at
be.aca.subsystem.internal.DefaultSubsystemService.install(DefaultSubsystemService.java:47)
... 30 more
Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve
/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar:
missing requirement
org.apache.aries.subsystem.core.archive.FragmentHostRequirement:
namespace=osgi.wiring.host, attributes={},
directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))},
resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar
at org.apache.felix.resolver.Candidates.populateResource(Candidates.java:285)
at org.apache.felix.resolver.Candidates.populate(Candidates.java:153)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:148)
at
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
... 42 more
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)