Just to follow up...

I ran the current Aries Subsystem implementation in preparation for
the vote through the OSGi Subsystems CT and all tests pass. I ran it
without Aries Blueprint and without the Aries Application bundles.
More information in the voting thread:
http://mail-archives.apache.org/mod_mbox/aries-dev/201503.mbox/%3CCAMit8Sp0vtJK2t5OtfcpGaD_6iBmMx2%3DCg3gR6y9nSsi6BdQtg%40mail.gmail.com%3E

Best regards,

David

On 19 March 2015 at 19:12, David Bosschaert <[email protected]> wrote:
> I thought that the hard dependency on the application modeller was
> removed some months ago. AFAIK the modeller is used as an integration
> with Blueprint (I could be wrong though) and I think the subsystems
> implementation is still spec-compliant without it.
>
> I'm planning to do an Aries subsystems release soon, I'll run the CT
> for that without the modeller to make sure and will share the results
> here.
>
> Best regards,
>
> David
>
> On 19 March 2015 at 15:38, Manuel Holzleitner
> <[email protected]> wrote:
>> Hello,
>>
>> I would like to better understand the implication of running the subsystem
>> module without using the (optional) aries application modeller module? Is
>> the subsystem module still compliant with the OSGI spec (e.g. with regards
>> to capability checking, subsystem-service imports) or are there any
>> deviations?
>>
>> I face issues with the application modeller enabled, because the
>> installation of a subsystem may fail if a service is referenced by a bundle
>> that is contained in this subsystem. When finding the providers of this
>> service it seems that it looks over all the constituents in the root
>> subsystem to search for a provide-capability in the osgi.service namespace.
>> However, in this process it may processes a bundle that is not fully OSGI
>> compatible manifests (e.g. missing Bundle-ManifestVersion header) and then
>> breaks the complete installation process. In another case it fails because
>> it trys to compute the requirements and capabilities on the system bundle
>> which does not have a manifest file in felix (see exception [1], the
>> statement  BundleManifest.fromBundle(archive); in
>> ModelledResourceManagerImpl returns null)
>>
>> Kind Regards,
>> Manuel
>>
>> org.osgi.service.subsystem.SubsystemException:
>> org.apache.aries.application.modelling.ModellerException:
>> java.lang.NullPointerException
>> at
>> org.apache.aries.subsystem.core.internal.ApplicationServiceModeller.computeRequirementsAndCapabilities(ApplicationServiceModeller.java:90)
>> at
>> org.apache.aries.subsystem.core.internal.BundleRevisionResource.computeServiceCapabilities(BundleRevisionResource.java:70)
>> at
>> org.apache.aries.subsystem.core.internal.BundleRevisionResource.getCapabilities(BundleRevisionResource.java:46)
>> at
>> org.apache.aries.subsystem.core.internal.BundleResourceInstaller$BundleConstituent.getCapabilities(BundleResourceInstaller.java:74)
>> at
>> org.apache.aries.subsystem.core.internal.SystemRepository.findProviders(SystemRepository.java:59)
>> at
>> org.apache.aries.subsystem.core.internal.SystemRepository.findProviders(SystemRepository.java:44)
>> at
>> org.apache.aries.subsystem.core.internal.SystemRepository.findProviders(SystemRepository.java:38)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.addDependencies(SubsystemResource.java:278)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.addDependenciesFromSystemRepository(SubsystemResource.java:309)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.access$200(SubsystemResource.java:75)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource$2.findProviders(SubsystemResource.java:519)
>> at
>> org.apache.felix.resolver.Candidates.populateResource(Candidates.java:265)
>> 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:410)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:393)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:101)
>> at
>> org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>> at
>> org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:134)
>> at
>> org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:55)
>> at
>> org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:33)
>> 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
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>> at
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>> at
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>> at
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:43)
>> at
>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>> at
>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>> at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>> at
>> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
>> at
>> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
>> at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
>> Caused by: org.apache.aries.application.modelling.ModellerException:
>> java.lang.NullPointerException
>> at
>> org.apache.aries.application.modelling.impl.ModelledResourceManagerImpl.getServiceElements(ModelledResourceManagerImpl.java:128)
>> at
>> org.apache.aries.application.modelling.impl.ModelledResourceManagerImpl.getServiceElements(ModelledResourceManagerImpl.java:95)
>> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
>> at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
>> at com.sun.proxy.$Proxy9.getServiceElements(Unknown Source)
>> at
>> org.apache.aries.subsystem.core.internal.ApplicationServiceModeller.computeRequirementsAndCapabilities(ApplicationServiceModeller.java:44)
>> ... 53 more
>> Caused by: java.lang.NullPointerException
>> at
>> org.apache.aries.application.modelling.internal.BundleBlueprintParser.<init>(BundleBlueprintParser.java:89)
>> at
>> org.apache.aries.application.modelling.impl.ModelledResourceManagerImpl.findBlueprints(ModelledResourceManagerImpl.java:222)
>> at
>> org.apache.aries.application.modelling.impl.ModelledResourceManagerImpl.getServiceElements(ModelledResourceManagerImpl.java:117)
>> ... 61 more
>>

Reply via email to