Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
subsystem-2.0.4
-
None
Description
An exception can occur when converting an osgi.wiring.package requirement into an Import-Package header [1]. This can only occur with an open ended version range. For example, (1.5, 2.0). This range is converted into the following filter form: (&(version=*)(!(version<=1.5.0))(!(version>=2.0.0))). The presence operator is required because the filter would otherwise match when a version attribute was not specified.
[1]
Caused by: java.lang.IllegalArgumentException: Invalid filter: (version=*)
at org.apache.aries.subsystem.core.archive.AbstractClauseBasedHeader.parseVersionRange(AbstractClauseBasedHeader.java:53)
at org.apache.aries.subsystem.core.archive.ImportPackageHeader$Clause.valueOf(ImportPackageHeader.java:65)
at org.apache.aries.subsystem.core.internal.RawSubsystemResource.computeImportPackageHeader(RawSubsystemResource.java:332)
at org.apache.aries.subsystem.core.internal.RawSubsystemResource.addImportPackageHeader(RawSubsystemResource.java:283)
at org.apache.aries.subsystem.core.internal.RawSubsystemResource.computeSubsystemManifestAfterRequirements(RawSubsystemResource.java:513)
at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:136)
at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
... 15 more