Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 12186 invoked from network); 22 Nov 2002 16:23:33 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 22 Nov 2002 16:23:33 -0000 Received: (qmail 22066 invoked by uid 97); 22 Nov 2002 16:24:30 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@jakarta.apache.org Received: (qmail 21950 invoked by uid 97); 22 Nov 2002 16:24:29 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 21844 invoked by uid 97); 22 Nov 2002 16:24:28 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Date: 22 Nov 2002 16:23:21 -0000 Message-ID: <20021122162321.72623.qmail@icarus.apache.org> From: prickett@apache.org To: jakarta-commons-sandbox-cvs@apache.org Subject: cvs commit: jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database PeriodicityDriverService.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N prickett 2002/11/22 08:23:21 Modified: periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database PeriodicityDriverService.java Log: Added implementations of the addDriver method and the initDrivers method in PeriodicityDriverService.java Revision Changes Path 1.3 +88 -4 jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/PeriodicityDriverService.java Index: PeriodicityDriverService.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/PeriodicityDriverService.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- PeriodicityDriverService.java 25 Oct 2002 22:29:34 -0000 1.2 +++ PeriodicityDriverService.java 22 Nov 2002 16:23:21 -0000 1.3 @@ -64,6 +64,13 @@ import java.io.File; +import java.io.FileInputStream; +import java.io.BufferedInputStream; +import java.util.Map; +import java.util.HashMap; +import javax.xml.parsers.SAXParserFactory; +import javax.xml.parsers.SAXParser; +import org.xml.sax.InputSource; import org.apache.velocity.VelocityContext; import org.apache.fulcrum.BaseService; import org.apache.fulcrum.InitializationException; @@ -74,6 +81,8 @@ public static final String DATABASE_META_DATA_FILE_KEY = "periodicity.db.meta.data.file"; + + private Map drivers = null; public void init() throws InitializationException { @@ -138,12 +147,87 @@ * uninitialized. * @param newDriver The new driver to add to the service. */ - void addDriver(DriverMetaData newDriver) + void addDriver(DriverMetaData newDriver) + throws InitializationException { + if(newDriver != null && newDriver.getName() != null && isInitialized()) + { + if(drivers == null) + { + drivers = new HashMap(); + } + drivers.put(newDriver.getName(), newDriver); + } + else if(newDriver == null) + { + throw new InitializationException("newDriver == null"); + } + else if(newDriver.getName() == null) + { + throw new InitializationException("newDriver.getName() == null"); + } + else if(!isInitialized()) + { + throw new InitializationException("Service already initialized."); + } + else + { + throw new InitializationException("UNEXPECTED EXCEPTION"); + } } private void initDrivers(File dbFile) throws InitializationException { + if(dbFile != null) + { + SAXParserFactory factory = SAXParserFactory.newInstance(); + if(factory != null) + { + try + { + SAXParser parser = factory.newSAXParser(); + if(parser != null) + { + FileInputStream fin = new FileInputStream( + dbFile.getAbsolutePath()); + BufferedInputStream fbin = new BufferedInputStream(fin); + InputSource isource = new InputSource(fbin); + DriverContentHandler dhandler = + new DriverContentHandler(); + parser.parse(isource, dhandler); + } + else if(parser == null) + { + throw new InitializationException("parser == null"); + } + else + { + throw new InitializationException( + "UNEXPECTED EXCEPTION"); + } + } + catch(Exception e) + { + throw new InitializationException(e.toString()); + } + } + else if(factory == null) + { + throw new InitializationException("factory == null"); + } + else + { + throw new InitializationException("UNEXPECTED EXCEPTION"); + } + } + else if(dbFile == null) + { + throw new InitializationException("dbFile == null"); + } + else + { + throw new InitializationException("UNEXPECTED EXCEPTION"); + } } public DriverMetaData getMetaData(String driverName) throws Exception -- To unsubscribe, e-mail: For additional commands, e-mail: