mmm distribution dependency should be optional. Feel free to track a bug Le ven. 4 déc. 2020 à 20:36, Carlos Munoz <camu...@redhat.com> a écrit :
> Ok, I finally debugged it enough to find that the component initialization > for Plumber fails silently if the sling-distribution karaf feature is not > installed. > > On Fri, Dec 4, 2020 at 11:32 AM Nicolas Peltier <npelt...@apache.org> > wrote: > > > ha, and looking a bit more at it, "authorizedUsers" is a set of service > > users, and if non void, it will indeed try to fetch that service user and > > do stuff out of it. This is meant for asynchronous runs, and not > > necessarily what you are testing right now, so please just remove that > > configuration. > > > > Le ven. 4 déc. 2020 à 17:22, Nicolas Peltier <peltier.nico...@gmail.com> > a > > écrit : > > > > > from > "executionPermissionResource=/system/sling/permissions/pipes/exec" > > > it seems you are on version 4.0.0 (which is the latest and that's good) > > > in case you are on CQ, you can try that content package > > > https://github.com/adobe/adobe-dx/tree/master/apps/scripts that > installs > > > required content for things to work. > > > > > > > > > > > > Le ven. 4 déc. 2020 à 16:29, Carlos Munoz <camu...@redhat.com> a > écrit : > > > > > >> Thanks Nicolas. > > >> > > >> 1 and 3 from your list are checked. > > >> > > >> 2 is the one where there is a problem. I should have added more > context > > to > > >> my previous email: At the point where a reference to the Plumber > > component > > >> is requested I see the exception. Please see the component status > below > > >> this message. > > >> > > >> The problem I was referring to in the SingleComponentManager class, > > which > > >> is part of the org.apache.felix.scr-2.1.16 bundle, is that when sling > > >> tries > > >> to create the instance of the Plumber component it seems to be looking > > for > > >> a constructor, which it is not finding, hence the NPE. > > >> > > >> 236=[org.apache.sling.pipes.internal.PlumberImpl] > > >> Bundle=org.apache.sling.pipes (163) > > >> State=failed activation > > >> Failure=java.lang.NullPointerException > > >> at > > >> > > > org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:277) > > >> at > > >> > > > org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) > > >> at > > >> > > > org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982) > > >> at > > >> > > > org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955) > > >> at > > >> > > > org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) > > >> at > > >> > > > org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:347) > > >> at > > >> > > > org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:247) > > >> at > > >> > > > org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350) > > >> at > org.apache.felix.framework.Felix.getService(Felix.java:3737) > > >> at > > >> > > > org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470) > > >> at org.osgi.framework.BundleContext$getService$0.call(Unknown > > >> Source) > > >> at > > >> > > > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) > > >> at > > >> > > > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) > > >> at > > >> > > > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) > > >> at test.run(test.groovy:13) > > >> at > > >> com.composum.sling.core.script.GroovyRunner.run(GroovyRunner.java:105) > > >> at > > >> com.composum.sling.core.script.GroovyRunner.run(GroovyRunner.java:88) > > >> at > > >> > > > com.composum.sling.core.script.GroovyJobExecutor$GroovyRunnerCallable.call(GroovyJobExecutor.java:172) > > >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) > > >> at > > >> > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > > >> at > > >> > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > > >> at java.lang.Thread.run(Thread.java:748) > > >> > > >> DefaultState=enabled > > >> Activation=delayed > > >> ConfigurationPolicy=optional > > >> ServiceType=singleton > > >> Services=org.apache.sling.pipes.Plumber, > > >> org.apache.sling.event.jobs.consumer.JobConsumer > > >> ServiceId=807 > > >> Reference=distributor, Satisfied > > >> Service Name: org.apache.sling.distribution.Distributor > > >> Cardinality: 0..1 > > >> Policy: dynamic > > >> Policy Option: reluctant > > >> Reference=factory, Satisfied > > >> Service Name: > org.apache.sling.api.resource.ResourceResolverFactory > > >> Cardinality: 1..1 > > >> Policy: static > > >> Policy Option: reluctant > > >> Bound Service: ID 680 (Apache Sling Resource Resolver Factory) > > >> Reference=jobManager, Satisfied > > >> Service Name: org.apache.sling.event.jobs.JobManager > > >> Cardinality: 1..1 > > >> Policy: static > > >> Policy Option: reluctant > > >> Bound Service: ID 798 > > >> (org.apache.sling.event.impl.jobs.JobManagerImpl) > > >> Properties= > > >> authorizedUsers=[admin] > > >> bufferSize=1000 > > >> component.id=236 > > >> component.name=org.apache.sling.pipes.internal.PlumberImpl > > >> executionPermissionResource=/system/sling/permissions/pipes/exec > > >> job.topics=org/apache/sling/pipes/topic > > >> sleep=0 > > >> > > >> > > >> On Fri, Dec 4, 2020 at 2:57 AM Nicolas Peltier <npelt...@apache.org> > > >> wrote: > > >> > > >> > Hey Carlos, > > >> > > > >> > not sure i know SingleComponentManager nor your way of using an osgi > > >> > service. > > >> > The way i know is > > >> > 1. check that sling pipes bundle is active (it needs sling query > > >> > dependency), > > >> > 2. check that plumberimpl is active > > >> > 3. in your code have plumber as a reference (with the osgi > annotation) > > >> > > > >> > Hope this helps > > >> > Nicolas > > >> > > > >> > Le ven. 4 déc. 2020 à 03:36, Carlos Munoz <camu...@redhat.com> a > > écrit > > >> : > > >> > > > >> > > Hi Nicholas, > > >> > > > > >> > > I'm reviving this thread as I have continued to experiment with > > pipes > > >> > > (specifically version 3.1.0) but I am getting an error when trying > > to > > >> > get a > > >> > > reference to the Plumber service. I've tracked down the error down > > to > > >> the > > >> > > class SingleComponentManager, line 277: > > >> > > > > >> > > implementationObject = > > >> > getComponentMethods().getConstructor().newInstance( > > >> > > componentContext, > > >> > > paramMap); > > >> > > > > >> > > The getConstructor() method above is returning null which makes > the > > >> > service > > >> > > unavailable to use. I was wondering if you have any ideas here. > > >> > > > > >> > > Regards, > > >> > > > > >> > > Carlos > > >> > > > > >> > > On Thu, Jun 11, 2020 at 3:45 AM Nicolas Peltier < > > >> > peltier.nico...@gmail.com > > >> > > > > > >> > > wrote: > > >> > > > > >> > > > I would kindly disagree here on disqualifying pipes for *lot* of > > >> > changes > > >> > > in > > >> > > > the structures. > > >> > > > I'd say that it's specifically better in those cases (It was > first > > >> > > created > > >> > > > for those), as you don't need the hassle of download / reupload > > and > > >> you > > >> > > > don't have to mess around serialization issues. > > >> > > > > > >> > > > > > >> > > > Le mer. 10 juin 2020 à 14:57, Daniel Klco <dk...@apache.org> a > > >> écrit : > > >> > > > > > >> > > > > I agree with Nicolas' approach, however it depends on the > scale > > >> > you're > > >> > > > > attempting to make changes. > > >> > > > > > > >> > > > > If it's fairly straight forward such as resourceType/a => > > >> > > resourceType/b > > >> > > > or > > >> > > > > property mapping, Sling Pipes is a great solution. If you need > > to > > >> do > > >> > a > > >> > > > > *lot* of > > >> > > > > changes to the structure if your content, you may be better to > > >> pull > > >> > it > > >> > > > > down, transform it offline and reload. > > >> > > > > > > >> > > > > On Wed, Jun 10, 2020 at 2:51 AM Nicolas Peltier < > > >> npelt...@apache.org > > >> > > > > >> > > > > wrote: > > >> > > > > > > >> > > > > > Hi Carlos, > > >> > > > > > > > >> > > > > > one approach (not saying it's the best, i'm the main > > maintainer > > >> of > > >> > > > them) > > >> > > > > is > > >> > > > > > to use a handful of sling pipes [0] and script to kick them > > >> off, or > > >> > > as > > >> > > > > > package hooks. > > >> > > > > > > > >> > > > > > Nicolas > > >> > > > > > > > >> > > > > > [0] > > >> > https://sling.apache.org/documentation/bundles/sling-pipes.html > > >> > > > > > > > >> > > > > > Le mar. 9 juin 2020 à 23:55, Carlos Munoz < > camu...@redhat.com > > > > > >> a > > >> > > > écrit : > > >> > > > > > > > >> > > > > > > Hi Sling devs, I was wondering what the best approach > would > > >> be to > > >> > > > take > > >> > > > > an > > >> > > > > > > exisiting repository and making changes to the content > > >> structure > > >> > > in a > > >> > > > > > safe > > >> > > > > > > and repeatable way. > > >> > > > > > > > > >> > > > > > > Thanks in advance! > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > > > >