felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Daniel <david.daniel.1...@gmail.com>
Subject Re: setting the objectclassdefinition from felix file install
Date Mon, 03 Oct 2016 17:51:35 GMT
You are correct and my first question delt with not knowing about the
configurationpolicy option.  My issue with implementing it was this syntax
causes activate to never by called

@ObjectClassDefinition(name = "Marklogic Configuration",
pid = "com.marklogic")

@Component(service = {MarkLogicConnector.class},
configurationPolicy = ConfigurationPolicy.REQUIRE)
@Designate(ocd = MarklogicConfig.class)

this syntax is a build error

@ObjectClassDefinition(name = "Marklogic Configuration",
pid = "com.marklogic")

@Component(service = {MarkLogicConnector.class},
configurationPolicy = ConfigurationPolicy.REQUIRE,
configurationPid = {"com.marklogic"})
@Designate(ocd = MarklogicConfig.class)

Description    Resource    Path    Location    Type
Duplicate pid com.marklogic from class
com.orbis.asae.marklogic.services.MarklogicConfig    bnd.bnd
/asae.marklogic.provider    line 1    Bndtools Problem Marker

but this syntax works and is ultimately what I am using

@ObjectClassDefinition(name = "Marklogic Configuration")
@Component(service = {MarkLogicConnector.class},
configurationPolicy = ConfigurationPolicy.REQUIRE,
configurationPid = {"com.marklogic"})
@Designate(ocd = MarklogicConfig.class)







On Mon, Oct 3, 2016 at 1:45 PM, Milen Dyankov <milendyankov@gmail.com>
wrote:

> Isn't it so that if your configuration is NOT mandatory the @Activate
> method will get the default and @Modified method will get the one from the
> file later on?
> Or am I misinterpreting the question?
>
> On Mon, Oct 3, 2016 at 7:38 PM, Raymond Auge <raymond.auge@liferay.com>
> wrote:
>
> > Well, I'm not sure about that but because you've not named a pid in your
> > component, it's not associating that with the configuration. Honestly,
> I'm
> > not sure the pid in the OCD will get interpreted as being the pid of the
> > configuration. My gut tells me it's not doing that. So you still need to
> > name the pid in your component.
> >
> > Someone else may correct me of course. However, it should be simple to
> > assert by adding the configurationPid property on the component and
> seeing
> > if it does eventually bind.
> >
> > - Ray
> >
> > On Mon, Oct 3, 2016 at 1:27 PM, David Daniel <
> david.daniel.1979@gmail.com>
> > wrote:
> >
> > > Thank you,  I think I may be wrong somewhere else then.  I have this in
> > my
> > > logs
> > >
> > > *DEBUG*
> > > listConfigurations(filter=(felix.fileinstall.filename=
> > > file:/media/david/abcd2f06-6ee4-4c5a-8c80-e4023ec8a52c/
> > > development/asae/asae-base/packaging/all/etc/com.marklogic.cfg))
> > > *DEBUG* Listing configurations matching
> > > (felix.fileinstall.filename=file:/media/david/abcd2f06-
> > > 6ee4-4c5a-8c80-e4023ec8a52c/development/asae/asae-base/
> > > packaging/all/etc/com.marklogic.cfg)
> > > Creating configuration from com.marklogic.cfg
> > > *DEBUG* getConfiguration(pid=com.marklogic, location=null)
> > >
> > > does setting the pid as I did above not do what I thought it would do.
> > >
> > >
> > > On Mon, Oct 3, 2016 at 1:12 PM, Raymond Auge <raymond.auge@liferay.com
> >
> > > wrote:
> > >
> > > > Make the configuration mandatory in the component!
> > > >
> > > > - Ray
> > > >
> > > > On Mon, Oct 3, 2016 at 1:08 PM, David Daniel <
> > > david.daniel.1979@gmail.com>
> > > > wrote:
> > > >
> > > > > I have an object class definition
> > > > >
> > > > > @ObjectClassDefinition(name = "Marklogic Configuration",
> > > > > pid = "com.marklogic")
> > > > > @interface MarklogicConfig {
> > > > >     String content_host() default "localhost";
> > > > >     String content_username() default "admin";
> > > > >     String content_pword() default "******";
> > > > >     String content_dbname() default "****";
> > > > > }
> > > > >
> > > > > and a component
> > > > >
> > > > > @Component(service = {MarkLogicConnector.class})
> > > > > @Designate(ocd = MarklogicConfig.class)
> > > > > public class MarkLogicConnector {
> > > > >
> > > > > I have the felix file install bundle installed and working.  It
> seems
> > > > like
> > > > > it is loading com.marklogic.cfg correctly.  Is there a way to make
> > sure
> > > > > that the file is loaded before the configuration is passed into the
> > > > > activate method.  I seem to be getting the default values rather
> than
> > > the
> > > > > configured ones that came from fileinstall.
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > *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)
> >
>
>
>
> --
> http://about.me/milen
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message