aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Ross (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-1147) Installing a subsystems as a transitive dependency via a Repository service fails
Date Tue, 14 Jan 2014 16:47:50 GMT

    [ https://issues.apache.org/jira/browse/ARIES-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13870883#comment-13870883
] 

John Ross commented on ARIES-1147:
----------------------------------

I suspect the right fix here, or at least a reasonable interim one, would be to catch the
exception thrown by Subsystem URI in the Location constructor and treat it as an opaque location
string as the final else clause in the nested if does (starting at line 67 in Location).

Clients who provided their own syntactically incorrect subsystem URI without an input stream
would see an installation failure at the point where the location was used to generate an
input stream.

> 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!/my-subsystem@0.5.0}}
> The full exception is:
> {code}java.lang.IllegalArgumentException: invalid version "1.0.0!/cdi-subsystem@0.5.0":
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)

Mime
View raw message