Wow Ray, you give up easy :-)

Kind regards,

        Peter Kriens


> On 9 mrt. 2015, at 16:56, Raymond Auge <raymond.a...@liferay.com> wrote:
> 
> Thanks all!
> 
> - Ray
> 
> On Mon, Mar 9, 2015 at 11:53 AM, BJ Hargrave <hargr...@us.ibm.com 
> <mailto:hargr...@us.ibm.com>> wrote:
> By new R6 service properties, I assume you mean service.bundleid which is the 
> only one I see added in R6. 
> 
> The answer is no for DS since DS is declarative and bundle id is assigned 
> when the bundle is installed and unknown when the bundle is built. Although 
> you can set the target via ConfigAdmin, that seems too complex. 
> 
> I am not sure why you need to use the bundle id anyway. The service provider 
> should add some provider identifying property (fum.id <http://fum.id/>=MyFum) 
> to its service which the consumer can look for (target="(fum.id 
> <http://fum.id/>=MyFum)"). This way both parties know the identifier at build 
> time and don't rely on something that varies in each installation. 
> 
> If the service provider is the Servlet Context from a WAB, use the 
> osgi.web.symbolicname property as the provider identifying property. So the 
> consumer can look for target="(osgi.web.symbolicname=my.bsn)". 
> --
> 
> BJ Hargrave
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the OSGi Alliance <http://www.osgi.org/>
> hargr...@us.ibm.com <mailto:hargr...@us.ibm.com>      
> 
> office: +1 386 848 1781 <tel:%2B1%20386%20848%201781>
> mobile: +1 386 848 3788 <tel:%2B1%20386%20848%203788>
> 
> 
> 
> 
> From:        Raymond Auge <raymond.a...@liferay.com 
> <mailto:raymond.a...@liferay.com>> 
> To:        OSGi Developer Mail List <osgi-dev@mail.osgi.org 
> <mailto:osgi-dev@mail.osgi.org>> 
> Date:        2015/03/09 11:25 
> Subject:        Re: [osgi-dev] getting a service filtered on my bundleId 
> Sent by:        osgi-dev-boun...@mail.osgi.org 
> <mailto:osgi-dev-boun...@mail.osgi.org> 
> 
> 
> 
> Ok, let me ask a different way:
> 
> Is there a way that I could use the new R6 service properties in target 
> filters? 
> 
> On Mon, Mar 9, 2015 at 11:20 AM, Raymond Auge <raymond.a...@liferay.com 
> <mailto:raymond.a...@liferay.com>> wrote: 
> 
> 
> On Mon, Mar 9, 2015 at 11:13 AM, BJ Hargrave <hargr...@us.ibm.com 
> <mailto:hargr...@us.ibm.com>> wrote: 
> Why not: 
> 
> @Component(name="MyFum") 
> public class MyFum implements Fum { }
> 
> @Component 
> public class MyFoo implements Foo { 
>    @Reference(target = "(component.name <http://component.name/>=MyFum)") 
>    public void setFum(Fum fum) {..}
> } 
> 
> What if Fum isn't a component?
>   
> --
> 
> BJ Hargrave
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the OSGi Alliance <http://www.osgi.org/>
> hargr...@us.ibm.com <mailto:hargr...@us.ibm.com>      
> 
> office: +1 386 848 1781 <tel:%2B1%20386%20848%201781>
> mobile: +1 386 848 3788 <tel:%2B1%20386%20848%203788>
> 
> 
> 
> 
> From:        Raymond Auge <raymond.a...@liferay.com 
> <mailto:raymond.a...@liferay.com>> 
> To:        OSGi Developer Mail List <osgi-dev@mail.osgi.org 
> <mailto:osgi-dev@mail.osgi.org>> 
> Date:        2015/03/09 11:08 
> Subject:        Re: [osgi-dev] getting a service filtered on my bundleId 
> Sent by:        osgi-dev-boun...@mail.osgi.org 
> <mailto:osgi-dev-boun...@mail.osgi.org> 
> 
> 
> 
> Allow me to demonstrate using a real world scenario we have right now.
> 
> There is an API comprised of at least two parts - Foo & Fum
> 
> There are many implementations of Foo and Fum coming from many bundles
> 
> However, the typical case is also that a Foo impl uses it's own Fum impl.
> 
> So, your first attempt looks like this:
> 
> @Component(service = Fum.class) 
> public class MyFum implements Fum { }
> 
> @Component(service = Foo.class) 
> public class MyFoo implements Foo { 
>    @Reference 
>    public void setFum(Fum fum) {..}
> }
> 
> Now this can break, because there are many Fums, right?
> 
> So I need to be more specific. At the moment I have to do an ugly hack which 
> is export the Fum by also it's FumImpl type:
> 
> @Component(service = {Fum.class, MuFum.class}) 
> public class MyFum implements Fum { }
> 
> and now in the Foo impl, I need to change to either:
> 
> @Component(service = Foo.class) 
> public class MyFoo implements Foo { 
>    @Reference(service = MyFum.class) 
>    public void setFum(Fum fum) {..}
> }
> 
> OR
> 
> @Component(service = Foo.class) 
> public class MyFoo implements Foo { 
>    @Reference(target = "(objectClass=MyFum)") 
>    public void setFum(Fum fum) {..}
> }
> 
> all of that is really crappy! 
> 
> Why do I need to expose the internal details just so I can connect two 
> Components together with such crud information.
> 
> Why can't I simply do this: 
> 
> @Component(service = Fum.class) 
> public class MyFum implements Fum { }
> 
> @Component(service = Foo.class) 
> public class MyFoo implements Foo { 
>    @Reference(target = "(service.bundleid=${bundle.id <http://bundle.id/>})") 
>    public void setFum(Fum fum) {..}
> } 
> 
> There! problem solved!
> 
> R6 added a few very nice service properties like service.bundleid but they 
> are completely useless because I CAN'T use them realistically because that 
> information is runtime only and you can't know about it ahead of time. 
> 
> 
> On Mon, Mar 9, 2015 at 3:40 AM, Balázs Zsoldos <balazs.zsol...@everit.biz 
> <mailto:balazs.zsol...@everit.biz>> wrote: 
> "we don't support multiple "active" extenders like DS" 
> 
> Even DS components use each-other via OSGi services and it does not (and 
> should not) matter if those OSGi services are registered by components within 
> the same bundle. 
> 
> In case all components are designed in the way that they know only about OSGi 
> services, it should not be a problem to use Blueprint, DS, iPojo together 
> within the same bundle. The problem starts when the components want to know 
> about other components, not OSGi services. 
> 
> Zsoldos Balázs 
> Rendszertervező | Software architect 
> 
> 
> 
> +36 70 594 9234 <tel:%2B36%2070%20594%209234> | balazs.zsol...@everit.biz 
> <mailto:balazs.zsol...@everit.biz> 
> 
> EverIT Kft.
> 1137 Budapest, Katona József utca 17. III. em. 2. 
> http://www.everit.biz <http://www.everit.biz/> I i...@everit.biz 
> <mailto:i...@everit.biz>
> Ezen üzenet és annak bármely csatolt anyaga bizalmas, jogi védelem alatt áll, 
> a nyilvános közléstől védett. Az üzenetet kizárólag a címzett, illetve az 
> általa meghatalmazottak használhatják fel. Ha Ön nem az üzenet címzettje, úgy 
> kérjük, hogy telefonon, vagy e-mail-ben értesítse erről az üzenet küldőjét és 
> törölje az üzenetet, valamint annak összes csatolt mellékletét a 
> rendszeréből. Ha Ön nem az üzenet címzettje, abban az esetben tilos az 
> üzenetet vagy annak bármely csatolt mellékletét lemásolnia, elmentenie, az 
> üzenet tartalmát bárkivel közölnie vagy azzal visszaélnie.
> 
> 
> This message and any attachment are confidential and are legally privileged. 
> It is intended solely for the use of the individual or entity to whom it is 
> addressed and others authorised to receive it. If you are not the intended 
> recipient, please telephone or email the sender and delete this message and 
> any attachment from your system. Please note that any dissemination, 
> distribution, copying or use of or reliance upon the information contained in 
> and transmitted with this e-mail by or to anyone other than the recipient 
> designated above by the sender is unauthorised and strictly prohibited.
> 
> 
> On Sun, Mar 8, 2015 at 8:37 PM, BJ Hargrave <hargr...@us.ibm.com 
> <mailto:hargr...@us.ibm.com>> wrote: 
> > From: Raymond Auge <raymond.a...@liferay.com 
> > <mailto:raymond.a...@liferay.com>> 
> > BJ bundles are not limited to using only a single spec! OSGi is 
> > modular after all, no?
> 
> > It's entirely possible for a bundle to use several extenders at 
> > once. This is a completely legitimate use case.
> 
> > This is exactly the case I'm dealing with.
> 
> > I don't think what I'm asking is outlandish. 
> 
> It is a case discussed in the OSGi EGs and that we never agreed to solve. 
> Basically, we don't support multiple "active" extenders like DS, Blueprint 
> and Web Application Specification each trying to control a bundle. There is 
> no way to coordinate that as you see. We certainly expect different bundles 
> to use different technologies, but did not do anything to support a single 
> bundle to be extended by multiple active extenders. What you are attempting 
> to do is outside the scope of the existing OSGi specifications. I highly 
> recommend you split the bundle up so that only a single active extender is 
> controlling each bundle.
> 
> --
> 
> 
> BJ Hargrave
> Senior Technical Staff Member, IBM
> OSGi Fellow and CTO of the OSGi Alliance <http://www.osgi.org/>
> hargr...@us.ibm.com <mailto:hargr...@us.ibm.com>      
> 
> office: +1 386 848 1781 <tel:%2B1%20386%20848%201781>
> mobile: +1 386 848 3788 <tel:%2B1%20386%20848%203788>
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev> 
> 
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev> 
> 
> 
> 
> -- 
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000) 
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay) 
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> 
> (@OSGiAlliance)_______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev> 
> 
> 
> 
> -- 
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000) 
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay) 
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance) 
> 
> 
> 
> -- 
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000) 
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay) 
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> 
> (@OSGiAlliance)_______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
> 
> 
> 
> -- 
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance)
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to