You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Tom De Wolf (JIRA)" <ji...@apache.org> on 2015/11/15 21:47:10 UTC
[jira] [Created] (ARIES-1453) Fragment-Host requirements with
version range do not match with FragmentHostCapability
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)