[
https://issues.apache.org/jira/browse/ARIES-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13870845#comment-13870845
]
John Ross commented on ARIES-1147:
----------------------------------
I think I answered my own question. You are apparently installing a subsystem
with a provision policy of rejectDependencies that contains a content bundle
with a dependency on another subsystem that's in a repository. The subsystems
impl detects this and installs the other subsystem as a dependency, which
traverses up the graph to the root subsystem.
The generation of the syntactically invalid subsystem URIs would not be unique
to the root subsystem as the "provisionTo", however. It would apply to any
subsystem that accepted dependencies and was installed using a subsystem URI as
the location.
> Installing a subsystems as a transitive dependency via a Repository service
> fails
> ---------------------------------------------------------------------------------
>
> Key: ARIES-1147
> URL: https://issues.apache.org/jira/browse/ARIES-1147
> Project: Aries
> Issue Type: Bug
> Components: Subsystem
> Affects Versions: 1.0
> Reporter: David Bosschaert
> Assignee: David Bosschaert
>
> When installing a subsystem that contains a bundle which has a dependency
> that is fulfilled by another subsystem that is available via a registered
> Repository Service, an error occurs.
> The exception occurs when constructing a SubsystemUri instance with an uri
> value of:
> {{subsystem://?Subsystem-SymbolicName=org.osgi.service.subsystem.root&Subsystem-Version=1.0.0!/[email protected]}}
> The full exception is:
> {code}java.lang.IllegalArgumentException: invalid version
> "1.0.0!/[email protected]": non-numeric "0!/cdi-subsystem@0"
> at org.osgi.framework.Version.parseInt(Version.java:170)
> at org.osgi.framework.Version.<init>(Version.java:134)
> at org.osgi.framework.Version.parseVersion(Version.java:233)
> at
> org.apache.aries.subsystem.core.internal.SubsystemUri.<init>(SubsystemUri.java:65)
> at
> org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:58)
> at
> org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:114)
> at
> org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.installRepositoryContent(SubsystemResourceInstaller.java:149)
> at
> org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.install(SubsystemResourceInstaller.java:36)
> at
> org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.installAriesSubsystem(SubsystemResourceInstaller.java:98)
> at
> org.apache.aries.subsystem.core.internal.SubsystemResourceInstaller.install(SubsystemResourceInstaller.java:38)
> at
> org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:75)
> at
> org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:621)
> at
> org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:259)
> at
> org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:63)
> at
> org.coderthoughts.subsystems.gogo.Activator.install(Activator.java:29)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
> at
> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
> 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:89)
> at org.apache.felix.gogo.shell.Console.run(Console.java:62)
> at org.apache.felix.gogo.shell.Shell.console(Shell.java:203)
> at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
> at
> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
> 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:89)
> at org.apache.felix.gogo.shell.Activator.run(Activator.java:75)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.NumberFormatException: For input string:
> "0!/cdi-subsystem@0"
> at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.lang.Integer.parseInt(Integer.java:492)
> at java.lang.Integer.parseInt(Integer.java:527)
> at org.osgi.framework.Version.parseInt(Version.java:168)
> ... 45 more{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)