Return-Path: Delivered-To: apmail-jakarta-commons-user-archive@www.apache.org Received: (qmail 31037 invoked from network); 9 Jan 2005 17:25:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 9 Jan 2005 17:25:35 -0000 Received: (qmail 6430 invoked by uid 500); 9 Jan 2005 17:25:32 -0000 Delivered-To: apmail-jakarta-commons-user-archive@jakarta.apache.org Received: (qmail 6405 invoked by uid 500); 9 Jan 2005 17:25:31 -0000 Mailing-List: contact commons-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Users List" Reply-To: "Jakarta Commons Users List" Delivered-To: mailing list commons-user@jakarta.apache.org Received: (qmail 6391 invoked by uid 99); 9 Jan 2005 17:25:31 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from mailout02.sul.t-online.com (HELO mailout02.sul.t-online.com) (194.25.134.17) by apache.org (qpsmtpd/0.28) with ESMTP; Sun, 09 Jan 2005 09:25:30 -0800 Received: from fwd06.aul.t-online.de by mailout02.sul.t-online.com with smtp id 1Cngoh-0007uO-01; Sun, 09 Jan 2005 18:25:27 +0100 Received: from [192.168.0.1] (rxQFm6ZHoey9gk6i-4inhsN+LHue9Kmi7da7+BkL0SQXCIEbgblvwu@[217.236.174.131]) by fwd06.sul.t-online.com with esmtp id 1CngoT-22W98C0; Sun, 9 Jan 2005 18:25:13 +0100 Message-ID: <41E16900.3040704@t-online.de> Date: Sun, 09 Jan 2005 18:25:20 +0100 From: Oliver.Heger@t-online.de (Oliver Heger) User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jakarta Commons Users List Subject: Re: [configuration] newbie ?, empty config References: <41DF90CC.8090005@vawter.com> <41DFB8CF.60206@t-online.de> <41E0484A.3040109@vawter.com> In-Reply-To: <41E0484A.3040109@vawter.com> X-Enigmail-Version: 0.89.6.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-ID: rxQFm6ZHoey9gk6i-4inhsN+LHue9Kmi7da7+BkL0SQXCIEbgblvwu X-TOI-MSGID: a8f88130-59fc-449c-80b9-afd2373c6a00 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N The getKeys() method returns all keys that are assigned at least one value. In your case keys like buttons.button.name or buttons.button.url appear only once in the iteration, but they have multiple values. The call config.getProperty("buttons.button.name") would indeed return a collection with all names defined for buttons. With the syntax config.getString("buttons.button(0).name") you can directly query the name of the first button. So you can use numeric indices to specify which value you want, but those indices do not appear in the results of getKeys(). HTH Oliver Don Vawter wrote: > One should make sure they have the most current jar before they > start coding for that jar > In this particular project I had configuration 1 instead of 2 > When I substituted a properties file for the xml file everything > worked so I knew it was finding the files ok. > I put the new jar (configuration 2) and I getting closer. Everything > except this: > > When I iterate through the keys with: > > if(config instanceof CompositeConfiguration ){ > logger.debug("config is CompositeConfiguration"); > Iterator it = ((CompositeConfiguration) > config).getKeys(); > while(it!=null && it.hasNext()){ > logger.debug("Next key: " + it.next()); > } > } > it shows the first six keys and stops > > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,config is > CompositeConfiguration > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: imagebase > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: urlbase > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: > buttons.button.image > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: > buttons.button.url > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: > buttons.button.name > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,Next key: > buttons.button.caption > DEBUG,2005-01-08 13:19:54,com.vawter.jsptags.NavBar,configuration > factory is org.apache.commons.configuration.CompositeConfiguration@80669d > .... > > I can access the individual properties like I expect to. Perhaps I > just don't understand how the getKeys is supposed to work. > > > Oliver Heger wrote: > >> Don, >> >> on a first glance I can see nothing wrong in your usage of the >> configuration API (besides the fact that you declare the config >> variable twice: once as static field and once as local variable). >> >> Which version of [configuration] do you use? >> >> Oh, and remember to prefix the subjects of your mails with the name >> of the affected component; otherwise they may be missed by developers. >> >> Oliver >> >> Don Vawter wrote: >> >>> I am making my first attempt to use the Configuration capabilities >>> and am obviously doing something wrong. >>> The configuration object is not null but isEmpty() returns true. >>> >>> Any guidance would be greatly appreciated as I struggle up the >>> learning curve. >>> >>> TIA >>> >>> >>> Here is my config.xml >>> >>> >>> >>> >> fileName="/projects/svnVawter/src/com/vawter/vawter/buttons.xml"/> >>> >>> >>> and here a code snippet: >>> >>> private static final Logger logger = Logger.getLogger(NavBar.class); >>> private static ConfigurationFactory factory=null; >>> private static URL configURL = null; >>> private static Configuration config=null; >>> static{ >>> try{ >>> factory = new ConfigurationFactory(); >>> String navfile= >>> PropertyHandler.getProperty("navigation.config.file"); >>> logger.debug("navigation.config.file is " + >>> navfile); >>> if(navfile!=null) { >>> factory.setConfigurationFileName(navfile); >>> Configuration config = >>> factory.getConfiguration(); >>> >>> logger.debug("configuration factory is "+ >>> config); >>> logger.debug("configuration is empty " + >>> config.isEmpty()); >>> ..... >>> and here is the logger: >>> >>> DEBUG,2005-01-08 >>> 00:31:10,com.vawter.jsptags.NavBar,navigation.config.file is >>> /projects/svnVawter/src/com/vawter/vawter/config.xml >>> DEBUG,2005-01-08 00:31:10,com.vawter.jsptags.NavBar,configuration >>> factory is >>> org.apache.commons.configuration.CompositeConfiguration@1d144a4 >>> DEBUG,2005-01-08 00:31:10,com.vawter.jsptags.NavBar,configuration is >>> empty true >>> >>> and finally here is the xml file >>> don@blackbox:/projects/svnVawter/src/com/vawter/vawter$ cat buttons.xml >>> >>> >>> >>> /artisan/ >>> images/ >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org >>> For additional commands, e-mail: commons-user-help@jakarta.apache.org >>> >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org >> For additional commands, e-mail: commons-user-help@jakarta.apache.org >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org > For additional commands, e-mail: commons-user-help@jakarta.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-user-help@jakarta.apache.org