You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Alin Dreghiciu <ad...@gmail.com> on 2007/08/08 16:38:05 UTC

ConfigurationAdmin and properties starting with .

Hi guys,
I have a question: Is there any restriction on the key of a service
property, restriction that says that the key should not start with . (dot)?
I'm asking this because I'm using the configuration admin and the
configuration admin is complaining about properties that start with . when
restoring the persisted state.

java.io.IOException: Name (.alias_factory_pid) must not start or end with a
dot
        at org.apache.felix.cm.file.ConfigurationHandler.readName(
ConfigurationHandler.java:596)
        at org.apache.felix.cm.file.ConfigurationHandler.nextToken(
ConfigurationHandler.java:555)
        at org.apache.felix.cm.file.ConfigurationHandler.readInternal(
ConfigurationHandler.java:263)
        at org.apache.felix.cm.file.ConfigurationHandler.read(
ConfigurationHandler.java:234)
        at org.apache.felix.cm.file.FilePersistenceManager.load(
FilePersistenceManager.java:437)
        at org.apache.felix.cm.file.FilePersistenceManager.load(
FilePersistenceManager.java:375)
        at org.apache.felix.cm.impl.ConfigurationManager.getConfiguration(
ConfigurationManager.java:577)
        at org.apache.felix.cm.impl.ConfigurationManager.getConfiguration(
ConfigurationManager.java:357)
        at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run
(ConfigurationManager.java:912)
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:89)

Thanx,
Alin

Re: ConfigurationAdmin and properties starting with .

Posted by Alin Dreghiciu <ad...@gmail.com>.
Thanx Felix,
That's the kind of info I was looking for. I do have a use case related to
this but is not an hard issue, so it is not required to change the .
restriction. I just could not find why this restriction was there. Thanx for
the information.

Alin

On 8/8/07, Felix Meschberger <fm...@gmail.com> wrote:
>
> Hi Alin,
>
> The spec of the Configuration Admin Service (section 104.4.2
> Configuration Properties) says, that property names should obey the
> syntax production "symbolic-name". This is a dot-separated token list,
> where the dot must not be at the start or end and each token only
> consists of characters in [0..9a..zA..Z_-].
>
> Well, the keyword here is probably "should". The Felix implementation
> currently forces this when reading property names and assumes correct
> names. This may arguably be debatted.
>
> If you have a requirement for using names with leading dots or with
> names using other characters, feel free to report a JIRA issue. I will
> the (try to) fix this issue.
>
> Regards
> Felix
>
> Am Mittwoch, den 08.08.2007, 17:38 +0300 schrieb Alin Dreghiciu:
> > Hi guys,
> > I have a question: Is there any restriction on the key of a service
> > property, restriction that says that the key should not start with .
> (dot)?
> > I'm asking this because I'm using the configuration admin and the
> > configuration admin is complaining about properties that start with .
> when
> > restoring the persisted state.
> >
> > java.io.IOException: Name (.alias_factory_pid) must not start or end
> with a
> > dot
> >         at org.apache.felix.cm.file.ConfigurationHandler.readName(
> > ConfigurationHandler.java:596)
> >         at org.apache.felix.cm.file.ConfigurationHandler.nextToken(
> > ConfigurationHandler.java:555)
> >         at org.apache.felix.cm.file.ConfigurationHandler.readInternal(
> > ConfigurationHandler.java:263)
> >         at org.apache.felix.cm.file.ConfigurationHandler.read(
> > ConfigurationHandler.java:234)
> >         at org.apache.felix.cm.file.FilePersistenceManager.load(
> > FilePersistenceManager.java:437)
> >         at org.apache.felix.cm.file.FilePersistenceManager.load(
> > FilePersistenceManager.java:375)
> >         at org.apache.felix.cm.impl.ConfigurationManager.getConfi
> guration(
> > ConfigurationManager.java:577)
> >         at org.apache.felix.cm.impl.ConfigurationManager.getConfi
> guration(
> > ConfigurationManager.java:357)
> >         at
> > org.apache.felix.cm.impl.ConfigurationManager$ManagedS
> erviceFactoryUpdate.run
> > (ConfigurationManager.java:912)
> >         at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java
> :89)
> >
> > Thanx,
> > Alin
>
>

Re: ConfigurationAdmin and properties starting with .

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Alin,

The spec of the Configuration Admin Service (section 104.4.2
Configuration Properties) says, that property names should obey the
syntax production "symbolic-name". This is a dot-separated token list,
where the dot must not be at the start or end and each token only
consists of characters in [0..9a..zA..Z_-].

Well, the keyword here is probably "should". The Felix implementation
currently forces this when reading property names and assumes correct
names. This may arguably be debatted.

If you have a requirement for using names with leading dots or with
names using other characters, feel free to report a JIRA issue. I will
the (try to) fix this issue.

Regards
Felix

 Am Mittwoch, den 08.08.2007, 17:38 +0300 schrieb Alin Dreghiciu:
> Hi guys,
> I have a question: Is there any restriction on the key of a service
> property, restriction that says that the key should not start with . (dot)?
> I'm asking this because I'm using the configuration admin and the
> configuration admin is complaining about properties that start with . when
> restoring the persisted state.
> 
> java.io.IOException: Name (.alias_factory_pid) must not start or end with a
> dot
>         at org.apache.felix.cm.file.ConfigurationHandler.readName(
> ConfigurationHandler.java:596)
>         at org.apache.felix.cm.file.ConfigurationHandler.nextToken(
> ConfigurationHandler.java:555)
>         at org.apache.felix.cm.file.ConfigurationHandler.readInternal(
> ConfigurationHandler.java:263)
>         at org.apache.felix.cm.file.ConfigurationHandler.read(
> ConfigurationHandler.java:234)
>         at org.apache.felix.cm.file.FilePersistenceManager.load(
> FilePersistenceManager.java:437)
>         at org.apache.felix.cm.file.FilePersistenceManager.load(
> FilePersistenceManager.java:375)
>         at org.apache.felix.cm.impl.ConfigurationManager.getConfiguration(
> ConfigurationManager.java:577)
>         at org.apache.felix.cm.impl.ConfigurationManager.getConfiguration(
> ConfigurationManager.java:357)
>         at
> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run
> (ConfigurationManager.java:912)
>         at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:89)
> 
> Thanx,
> Alin