You spotted the problem.

For a component, the default pid is the component name and the default 
component name is the class name. The @Designate annotation hooks up a 
component with a single pid to the mentioned OCD.  So…. 

Figure out what pid you want, either the FQCN, component name, or explicitly 
specified pid

Hook the component and OCD together using either @Designate or specifying pid 
in @ObjectClassDefinition, but not both

Make sure the file name matches the pid.

david jencks


> On Oct 3, 2016, at 10:38 AM, Raymond Auge <raymond.a...@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.1...@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.a...@liferay.com>
>> wrote:
>> 
>>> Make the configuration mandatory in the component!
>>> 
>>> - Ray
>>> 
>>> On Mon, Oct 3, 2016 at 1:08 PM, David Daniel <
>> david.daniel.1...@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)


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to