Re: [configuration] attributes in xml config don't apply to all entries of a list

2012-05-31 Thread Alexander Selg
Hi Oliver,

thanks for your clarification.

From my point of view it would be more straightforward assigning
attributes to all nodes of a list. Otherwise the list feature seems
incomlete to me.
Our lists are a bit longish so I was very happy that I can avoid
repeating tags in our config.xml.

Does it make sense to create an improvement issue?

Otherwise I think I would prefer to read the list as string and parse
it as a list by myself ...

Thank you for your help,
Alex

2012/5/30 Oliver Heger oliver.he...@oliver-heger.de:
 Am 30.05.2012 16:53, schrieb Alexander Selg:

 Hi,

 I'm using a different implementation of the DefaultExpressionEngine. I
 use attributes in our applications conf.xml to filter the result of
 DefaultExpressionEngine.query().
 So I have a config file like

 configuration
        someStrings environment=teststr1,str2,str3/someStrings
        someStrings environment=prodstr4,str5,str6/someStrings
 /configuration

 In the query() methode of MyExpressionEngine I want to access these
 attributes

        ListConfigurationNode  queryResults = super.query(root, key);
        for (ConfigurationNode queryResult : queryResults) {
            attributes = queryResult.getAttributes();
            ...
        }

 The problem is that I only get the attributes for the first node - the
 subsequent nodes don't have any attributes set.
 So for str1 I'll get the attribute environment=test, for str2
 and str3 I'll get no attributes.

 Is that a bug?
 Am I doing something wrong?

 I'm using commons-configuration 1.8 with jdk1.6

 Any help would be appreciated,
 Alex


 Not sure whether this behavior is somewhere documented, but it is indeed
 intended. There are unit tests for XMLConfiguration which test that
 attributes are only assigned to the first node of a list.

 I guess, there are different use cases. When the code was developed a
 decision had to be taken. At that time assigning attributes only to the
 first node seemed to be straightforward.

 If you have any control over your XML, I would recommend to avoid
 comma-separated properties with multiple values. In XML lists can be defined
 in a natural way by just repeating tags. Then the association between
 attributes and values nodes is obvious.

 HTH
 Oliver


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



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


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



Re: [configuration] attributes in xml config don't apply to all entries of a list

2012-05-31 Thread Oliver Heger

Am 31.05.2012 08:30, schrieb Alexander Selg:

Hi Oliver,

thanks for your clarification.

 From my point of view it would be more straightforward assigning
attributes to all nodes of a list. Otherwise the list feature seems
incomlete to me.
Our lists are a bit longish so I was very happy that I can avoid
repeating tags in our config.xml.

Does it make sense to create an improvement issue?


Why not? However, I think this issue will not be dealt with in an 1.x 
version because it might break existing code.


For Configuration 2.x list handling and list delimiter parsing are 
certainly topics which can be improved.


Oliver



Otherwise I think I would prefer to read the list as string and parse
it as a list by myself ...

Thank you for your help,
Alex

2012/5/30 Oliver Hegeroliver.he...@oliver-heger.de:

Am 30.05.2012 16:53, schrieb Alexander Selg:


Hi,

I'm using a different implementation of the DefaultExpressionEngine. I
use attributes in our applications conf.xml to filter the result of
DefaultExpressionEngine.query().
So I have a config file like

configuration
someStrings environment=teststr1,str2,str3/someStrings
someStrings environment=prodstr4,str5,str6/someStrings
/configuration

In the query() methode of MyExpressionEngine I want to access these
attributes

ListConfigurationNodequeryResults = super.query(root, key);
for (ConfigurationNode queryResult : queryResults) {
attributes = queryResult.getAttributes();
...
}

The problem is that I only get the attributes for the first node - the
subsequent nodes don't have any attributes set.
So for str1 I'll get the attribute environment=test, for str2
and str3 I'll get no attributes.

Is that a bug?
Am I doing something wrong?

I'm using commons-configuration 1.8 with jdk1.6

Any help would be appreciated,
Alex



Not sure whether this behavior is somewhere documented, but it is indeed
intended. There are unit tests for XMLConfiguration which test that
attributes are only assigned to the first node of a list.

I guess, there are different use cases. When the code was developed a
decision had to be taken. At that time assigning attributes only to the
first node seemed to be straightforward.

If you have any control over your XML, I would recommend to avoid
comma-separated properties with multiple values. In XML lists can be defined
in a natural way by just repeating tags. Then the association between
attributes and values nodes is obvious.

HTH
Oliver



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




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



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




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



[configuration] attributes in xml config don't apply to all entries of a list

2012-05-30 Thread Alexander Selg
Hi,

I'm using a different implementation of the DefaultExpressionEngine. I
use attributes in our applications conf.xml to filter the result of
DefaultExpressionEngine.query().
So I have a config file like

configuration
   someStrings environment=teststr1,str2,str3/someStrings
   someStrings environment=prodstr4,str5,str6/someStrings
/configuration

In the query() methode of MyExpressionEngine I want to access these attributes

   ListConfigurationNode queryResults = super.query(root, key);
   for (ConfigurationNode queryResult : queryResults) {
   attributes = queryResult.getAttributes();
   ...
   }

The problem is that I only get the attributes for the first node - the
subsequent nodes don't have any attributes set.
So for str1 I'll get the attribute environment=test, for str2
and str3 I'll get no attributes.

Is that a bug?
Am I doing something wrong?

I'm using commons-configuration 1.8 with jdk1.6

Any help would be appreciated,
Alex

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



Re: [configuration] attributes in xml config don't apply to all entries of a list

2012-05-30 Thread Oliver Heger

Am 30.05.2012 16:53, schrieb Alexander Selg:

Hi,

I'm using a different implementation of the DefaultExpressionEngine. I
use attributes in our applications conf.xml to filter the result of
DefaultExpressionEngine.query().
So I have a config file like

configuration
someStrings environment=teststr1,str2,str3/someStrings
someStrings environment=prodstr4,str5,str6/someStrings
/configuration

In the query() methode of MyExpressionEngine I want to access these attributes

ListConfigurationNode  queryResults = super.query(root, key);
for (ConfigurationNode queryResult : queryResults) {
attributes = queryResult.getAttributes();
...
}

The problem is that I only get the attributes for the first node - the
subsequent nodes don't have any attributes set.
So for str1 I'll get the attribute environment=test, for str2
and str3 I'll get no attributes.

Is that a bug?
Am I doing something wrong?

I'm using commons-configuration 1.8 with jdk1.6

Any help would be appreciated,
Alex


Not sure whether this behavior is somewhere documented, but it is indeed 
intended. There are unit tests for XMLConfiguration which test that 
attributes are only assigned to the first node of a list.


I guess, there are different use cases. When the code was developed a 
decision had to be taken. At that time assigning attributes only to the 
first node seemed to be straightforward.


If you have any control over your XML, I would recommend to avoid 
comma-separated properties with multiple values. In XML lists can be 
defined in a natural way by just repeating tags. Then the association 
between attributes and values nodes is obvious.


HTH
Oliver



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




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