Thanks, Guillaume!  I somehow misread that bit of the code and thought
.config was reserved for XML.

On Mon, Feb 7, 2011 at 4:32 AM, Guillaume Nodet <[email protected]> wrote:
> Well, that's already in fileinstall since some time.
> Though the extension has to be slightly different, iirc, it needs to
> be ".config"
>
> On Sun, Feb 6, 2011 at 16:48, Carl Hall <[email protected]> wrote:
>> Reposting to dev since this is a development question.  I can get a
>> patch in for this pretty soon once the direction agreed upon.
>>
>>
>> ---------- Forwarded message ----------
>> From: Carl Hall <[email protected]>
>> Date: Thu, Jan 27, 2011 at 7:35 PM
>> Subject: Re: correct syntax for multi-valued properties in fileinstall
>> cfg files?
>> To: [email protected]
>>
>>
>> What if the syntax that is used by the config admin is used for this?
>> The processing in ConfigurationHandler can be abstracted and
>> fileinstall already has a dependency on config admin.  The code has
>> been used in Felix for a while, so we would get free testing with it.
>> :)
>>
>> The syntax is this:
>> value = type ( "[" values "]" | "(" values ")" | simple ) .
>> values = value { "," value } .
>> simple = "{" stringsimple "}" .
>> type = // 1-char type code .
>> stringsimple = // quoted string representation of the value .
>>
>> Examples of this,
>> * ["thing1","thing2"] => String[2]
>> * i[10,250,365] => int[3]
>>
>> I would like to add this feature, so any discussion on how best to
>> proceed is greatly welcomed.
>>
>>
>>
>> On Thu, 18 Mar 2010 13:19:36 -0700 Justin Edelson said,
>>
>> Ah, so the
>>>     header ::= <header> ( ':' | '=' ) <value> ( '\<nl> <value> ) *
>>
>> part is saying that a single value can be split over multiple lines...
>> gotcha.
>>
>> I think the scr javadoc annotation way is reasonable, although it's not
>> backwards-compatible.
>>
>> Justin
>>
>>
>>
>> On 3/18/10 4:03 PM, Chris Custine wrote:
>>> OK, I see what you are after now :-)  The fileinstall config handler
>>> doesn't currently support multivalue properties, so whatever you set on
>>> a property value gets parsed as a single string (the code simply uses
>>> load(inputstream) from the Properties class).  This functionality could
>>> probably be added, but we would have to decide on a way to differentiate
>>> between scalar values and arrays ("this, is, one, string" vs. String[]
>>> property = {"this","is","one","string"} ).  Another option would be to
>>> support syntax similar to the scr javadoc annotations and munge the
>>> properties into an array (value.1="this", value.2="is", etc
>>> become String[] property = {"this","is", etc} ).  If you are interested
>>> in that feature, please create a Jira and someone will take a look.
>>>  http://issues.apache.org/jira/browse/FELIX
>>>
>>> Until then, you could either add your own config admin code to do
>>> something like this, or you can add a method with a single string
>>> argument to accept the property and then parse and process into your
>>> component after it is set by scr from the config admin.
>>>
>>> Thanks,
>>> Chris
>>>
>>> --
>>> Chris Custine
>>> FUSESource :: http://fusesource.com
>>> My Blog :: http://blog.organicelement.com
>>> Apache ServiceMix :: http://servicemix.apache.org
>>> Apache Felix :: http://felix.apache.org
>>> Apache Directory Server :: http://directory.apache.org
>>>
>>>
>>> On Thu, Mar 18, 2010 at 10:11 AM, Justin Edelson
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>
>>>     Thanks Chris.
>>>
>>>     I was actually referring to the configuration files (with .cfg
>>>     extension) which is described here:
>>>
>>> http://felix.apache.org/site/apache-felix-file-install.html#ApacheFelixFileInstall-Configurations
>>>
>>>     I would like to set a property to a String array. With scr qdox
>>>     annotations, this would look like this:
>>>        /**
>>>         * @scr.property values.1="/foo" values.2="/bar"
>>>         */
>>>
>>>     I saw this line in the documentation:
>>>     header ::= <header> ( ':' | '=' ) <value> ( '\<nl> <value> ) *
>>>
>>>     which implied to me that the syntax I used below would work.
>>>
>>>     If no one knows, I'll look through the code. Maybe this isn't possible.
>>>
>>>     Justin
>>>
>>>
>>>     On 3/17/10 11:37 PM, Chris Custine wrote:
>>>     > There really aren't any config properties for fileinstall that accept
>>>     > multiple values as far as I know.  If you need to monitor multiple
>>>     > directories you can create multiple config files as shown in the
>>>     > fileinstall docs
>>>     > here:
>>>
>>> http://felix.apache.org/site/apache-felix-file-install.html#ApacheFelixFileInstall-WatchingmultipledirectorieswithFileInstall
>>>     >
>>>     > Chris
>>>     >
>>>
>>> <http://felix.apache.org/site/apache-felix-file-install.html#ApacheFelixFileInstall-WatchingmultipledirectorieswithFileInstall>
>>>     > --
>>>     > Chris Custine
>>>     > FUSESource :: http://fusesource.com
>>>     > My Blog :: http://blog.organicelement.com
>>>     > Apache ServiceMix :: http://servicemix.apache.org
>>>     > Apache Felix :: http://felix.apache.org
>>>     > Apache Directory Server :: http://directory.apache.org
>>>     >
>>>     >
>>>     > On Wed, Mar 17, 2010 at 7:07 PM, Justin Edelson
>>>     <[email protected] <mailto:[email protected]>
>>>     > <mailto:[email protected] <mailto:[email protected]>>>
>>>     wrote:
>>>     >
>>>     >     What is the correct syntax for multi-valued properties in a
>>>     fileinstall
>>>     >     cfg file? I tried a few variations on:
>>>     >
>>>     >     name=value1 \
>>>     >      value2 \
>>>     >      value3
>>>     >
>>>     >     but they didn't work.
>>>     >
>>>     >     Thanks,
>>>     >     Justin
>>>     >
>>>     >
>>>     ---------------------------------------------------------------------
>>>     >     To unsubscribe, e-mail: [email protected]
>>>     <mailto:[email protected]>
>>>     >     <mailto:[email protected]
>>>     <mailto:[email protected]>>
>>>     >     For additional commands, e-mail: [email protected]
>>>     <mailto:[email protected]>
>>>     >     <mailto:[email protected]
>>>     <mailto:[email protected]>>
>>>     >
>>>     >
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>

Reply via email to