Here is a sample use of the digester.
//========== ConfigMaker.java ============
package isMan.util;
import java.io.Serializable;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.BufferedInputStream;
import org.apache.struts.digester.Digester;
public class ConfigMaker {
public ConfigMaker() throws Exception {
loadConf();
}
public ConfigMaker(String path) throws Exception {
this.configPath = path;
loadConf();
}
//--------------------------------------------------------------------------
--
/**
* The resource path of our persistent database storage file.
*/
private String configPath = null;
/**
* The debugging detail level for the XML digester.
*/
private int debug = 0;
/**
* The resource path of our persistent database storage file.
*/
private Config config = null;
public Config giveConfig(){
return this.config;
}
public void makeConfig(Config config){
this.config = config;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
private void loadConf() throws Exception {
// Acquire an input stream to our config file
InputStream is = new FileInputStream(configPath);
if (is == null) {
System.out.println("No such resource available - loading empty
database");
return;
}
BufferedInputStream bis = new BufferedInputStream(is);
// Construct a digester to use for parsing
Digester digester = new Digester();
digester.push(this);
digester.setDebug(debug);
digester.setValidating(false);
digester.addObjectCreate("isMan/database", "isMan.util.Config");
digester.addSetProperties("isMan/database");
digester.addSetNext("isMan/database", "makeConfig");
digester.parse(bis);
bis.close();
}
}
//========== End: ConfigMaker.java ============
the xml file this is parsin looks like this:
<isMan>
<database databaseName="interbase"
userTableName="isman_User"
userTableIDName="user_id"
jdbcPoolName="isManDB"
daoPrefix="isMan.dao"
daoSuffix="DAO"/>
</isMan>
the Config bean:
//========== Begin: Config.java ============
package isMan.util;
import java.io.Serializable;
public class Config implements Serializable {
private String databaseName=null;
private String userTableName=null;
private String userTableIDName=null;
private String jdbcPoolName=null;
private String daoPrefix= "isMan.dao";
private String daoSuffix= "DAO";
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public Config() {
}
public String getDatabaseName(){
return(databaseName);
}
public void setDatabaseName(String name){
this.databaseName = name;
}
public String getUserTableName(){
return(userTableName);
}
public void setUserTableName(String name){
this.userTableName = name;
}
public String getUserTableIDName(){
return(userTableIDName);
}
public void setUserTableIDName(String name) {
this.userTableIDName = name;
}
public String getJdbcPoolName(){
return(jdbcPoolName);
}
public void setJdbcPoolName(String name){
this.jdbcPoolName = name;
}
public String getDaoPrefix(){
return(daoPrefix);
}
public void setDaoPrefix(String prefix){
this.daoPrefix = prefix;
}
public String getDaoSuffix(){
return(daoSuffix);
}
public void setDaoSuffix(String suffix){
this.daoSuffix = suffix;
}
}
//========== End: Config.java ============
Hope that helped.
cioa.
-----Original Message-----
From: storck [mailto:[EMAIL PROTECTED]]
Sent: Thursday, September 20, 2001 8:51 AM
To: [EMAIL PROTECTED]
Subject: AW: Digister
Do you have used digister by your own?
-----Ursprungliche Nachricht-----
Von: Ted Husted [mailto:archive@jab.org]
Gesendet: Donnerstag, 20. September 2001 14:32
An: [EMAIL PROTECTED]
Betreff: Re: Digister
Look for the package.html file in the SOURCE distribution, or in the
digester package in the 1.0 Struts source distribution.
For an example, look at the RSS package (and, well, Struts).
-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Custom Software ~ Technical Services.
-- Tel +1 716 737-3463
-- http://www.husted.com/about/struts/
storck wrote:
>
> HI,
>
> I try to use use digister from org.apache.commons.digester by my own but
> without luck.
> Does any doc exist to digister or any "How To" ?
>
> Thanks!