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 <[email protected]>: > 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="test">str1,str2,str3</someStrings> >> <someStrings environment="prod">str4,str5,str6</someStrings> >> </configuration> >> >> In the query() methode of MyExpressionEngine I want to access these >> attributes >> >> List<ConfigurationNode> 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: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
