You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by "Tong, Andrew" <AT...@CreativeSolutions.com> on 2004/01/14 21:04:16 UTC
RE: [Configuration] Hierarchical Configuration Problem: Newbie
Although I've never used commons-configurations, the NoSuchMethodException
leads me to believe that you need to have JDK 1.4 or higher. The docs say
that the StringBuffer.indexOf(String) method was introduced in that version.
http://java.sun.com/j2se/1.4.1/docs/api/java/lang/StringBuffer.html#indexOf(
java.lang.String)
-----Original Message-----
From: Vikas Phonsa [mailto:VPhonsa@suz.com]
Sent: Wednesday, January 14, 2004 2:32 PM
To: 'commons-user@jakarta.apache.org'
Subject: Hierarchical Configuration Problem: Newbie
Hi Everybody,
I am trying to learn the commons-configuration from the examples given on
the website http://jakarta.apache.org/commons/configuration/examples.html
Things were working as expected until I started to use the Hierarchical
Properties. I'm listing my source code, the exceptions that I'm getting and
the properties file that I'm using. I would appreciate any thoughts.
Thanks
Vikas
---------------Source Code----------------------------------
public class FirstConfig {
public static void main(String[] args) throws Exception{
ConfigurationFactory configFactory = new
ConfigurationFactory();
URL configFile = new File("config\\config.xml").toURL();
System.out.println("URL== "+ configFile);
configFactory.setConfigurationURL(configFile);
Configuration config = configFactory.getConfiguration();
String backgroundColor =
config.getString("color.background");
String textColor = config.getString("color.text");
String rows = config.getString("rowsPerPage");
System.out.println("Here is the back ground color property: "+
backgroundColor);
System.out.println("Here is the text color property: "+ textColor);
System.out.println("Here is the rows per page property: "+ rows);
//Everything is working perfectly fine till here
Object tablename = config.getProperty("tables.table(0).name");
System.out.println("Here is tablename.toString() : "+tablename.toString());
}
}
--------------Exception Stack Trace----------------------------------------
URL== file:/c:/wsad_workspaces/Eclipse/Commons-Config/config/config.xml
Here is the back ground color property: black;
Here is the text color property: #000000
Here is the rows per page property: 15
java.lang.NoSuchMethodError: java.lang.StringBuffer: method
indexOf(Ljava/lang/String;I)I not found
at
org.apache.commons.configuration.ConfigurationKey$KeyIterator.findNextIndice
s(ConfigurationKey.java:431)
at
org.apache.commons.configuration.ConfigurationKey$KeyIterator.nextKey(Config
urationKey.java:472)
at
org.apache.commons.configuration.HierarchicalConfiguration.findPropertyNodes
(HierarchicalConfiguration.java:476)
at
org.apache.commons.configuration.HierarchicalConfiguration.fetchNodeList(Hie
rarchicalConfiguration.java:449)
at
org.apache.commons.configuration.HierarchicalConfiguration.getPropertyDirect
(HierarchicalConfiguration.java:188)
at
org.apache.commons.configuration.HierarchicalConfiguration.containsKey(Hiera
rchicalConfiguration.java:354)
at
org.apache.commons.configuration.CompositeConfiguration.getFirstMatchingConf
ig(CompositeConfiguration.java:753)
at
org.apache.commons.configuration.CompositeConfiguration.getProperty(Composit
eConfiguration.java:220)
at com.suz.config.first.FirstConfig.main(FirstConfig.java:58)
Exception in thread "main"
--------------------config.xml-------------------------
<?xml version="1.0"?>
<configuration>
<properties fileName="first.properties"/>
<dom4j fileName="first.xml"/>
<hierarchicalDom4j fileName="tables.xml"/>
</configuration>
---------------------tables.xml----------------------
?xml version="1.0" encoding="ISO-8859-1" ?>
<database>
<tables>
<table tableType="system">
<name>users</name>
<fields>
<field>
<name>uid</name>
<type>long</type>
</field>
<field>
<name>uname</name>
<type>java.lang.String</type>
</field>
<field>
<name>firstName</name>
<type>java.lang.String</type>
</field>
<field>
<name>lastName</name>
<type>java.lang.String</type>
</field>
<field>
<name>email</name>
<type>java.lang.String</type>
</field>
</fields>
</table>
<table tableType="application">
<name>documents</name>
<fields>
<field>
<name>docid</name>
<type>long</type>
</field>
<field>
<name>name</name>
<type>java.lang.String</type>
</field>
<field>
<name>creationDate</name>
<type>java.util.Date</type>
</field>
<field>
<name>authorID</name>
<type>long</type>
</field>
<field>
<name>version</name>
<type>int</type>
</field>
</fields>
</table>
</tables>
</database>
---------------------------------------------------------------------
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