The filters look OK to me (and you need them). Are you sure you are still getting the cycle error? You have a triangle which sometimes causes problems but I don’t see how it would here. The debug logging ought to show you which UserAdmin is getting bound to each of your components so you should be able to check if the filter is actually working the way you expect.
david jencks > On May 3, 2016, at 11:08 PM, David Leangen <[email protected]> wrote: > > > Hi David, > > Here are the xmls for the 3 components in the bundle: > > <?xml version="1.0" encoding="UTF-8"?> > <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" > name="net.leangen.expedition.integration.oauth2.credentials" > activate="activate"> > <implementation > class="net.leangen.expedition.integration.oauth2.client.ClientCredentialsService"/> > <service> > <provide > interface="net.leangen.expedition.integration.oauth2.model.ClientCredentials"/> > </service> > <reference name="useradmin" interface="org.osgi.service.useradmin.UserAdmin" > target="(!(method=oauth2.0))" field="useradmin"/> > </scr:component> > > (I just added in the target filter. I could easily remove it again.) > > > <?xml version="1.0" encoding="UTF-8"?> > <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" > name="net.leangen.expedition.integration.oauth2.useradmin" > activate="activate"> > <implementation > class="net.leangen.expedition.integration.oauth2.useradmin.OAuthUserAdminService"/> > <service> > <provide interface="org.osgi.service.useradmin.UserAdmin"/> > <provide > interface="net.leangen.expedition.integration.oauth2.OAuthUserAdmin"/> > </service> > <reference name="delegate" interface="org.osgi.service.useradmin.UserAdmin" > target="(!(method=oauth2.0))" field="delegate"/> > <reference name="oauth2" > interface="net.leangen.expedition.integration.oauth2.model.OAuth2" > field="oauth2"/> > <property name="method" type="String" value="oauth2.0"/> > </scr:component> > > (I just added in the target filter. I could easily remove it again.) > > > > <?xml version="1.0" encoding="UTF-8"?> > <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" > name="net.leangen.expedition.integration.oauth2"> > <implementation > class="net.leangen.expedition.integration.oauth2.client.OauthService"/> > <service> > <provide > interface="net.leangen.expedition.integration.oauth2.model.OAuth2"/> > </service> > <reference name="creds" > interface="net.leangen.expedition.integration.oauth2.model.ClientCredentials" > field="creds"/> > </scr:component> > > > > Cheers, > =David > > >> On May 4, 2016, at 3:07 PM, David Jencks <[email protected]> wrote: >> >> Maybe showing the component xml would be the quickest way to figure out the >> next step? I suspect your filter isn’t quite right. What are the service >> properties on the UserAdmin you aren’t supplying? >> >> david jencks > >
