You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by pr...@apache.org on 2002/11/28 23:42:36 UTC

cvs commit: jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/test/org/apache/commons/periodicity/database DriverServiceGetInitTest.java

prickett    2002/11/28 14:42:36

  Modified:    periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database
                        DriverContentHandler.java
                        DriverMetaDataService.java
                        PeriodicityDriverService.java
               periodicity/src/plugins-build/database/src/test/org/apache/commons/periodicity/database
                        DriverServiceGetInitTest.java
  Log:
  Removed dependency on the DriverMetaDataService in the DriverContentHandler
  because it caused infinite recursion.
  
  Added a role file to the DriverMetaDataService so it would be conformant
  to the new fulcrum paradigm
  
  Added an addDrivers method to the PeriodicityDriverService
  
  Fixed the GetInit Test to correctly initialize the Driver Service
  
  Revision  Changes    Path
  1.6       +16 -17    jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/DriverContentHandler.java
  
  Index: DriverContentHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/DriverContentHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DriverContentHandler.java	22 Nov 2002 23:37:26 -0000	1.5
  +++ DriverContentHandler.java	28 Nov 2002 22:42:36 -0000	1.6
  @@ -65,6 +65,8 @@
   
   import java.util.Map;
   import java.util.Hashtable;
  +import java.util.Set;
  +import java.util.HashSet;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
   import org.xml.sax.helpers.DefaultHandler;
  @@ -127,6 +129,8 @@
           is stored in its respective variable */
       private StringBuffer buffy = null;
   
  +    private Set drivers = null;
  +
   
       public void startElement(String uri, String localName, String qName,
              Attributes attributes) throws SAXException
  @@ -203,23 +207,13 @@
               else if(lookForDrivers && !processProtocol && qName != null && 
                      qName.equals(DRIVER_ELEMENT_QNAME))
               {
  -                DriverMetaDataService service = 
  -                       PeriodicityDrivers.getService();
  -                if(service != null && driverMeta != null)
  -                {
  -                    service.addDriver(driverMeta);
  -                }    
  -                else if(service == null)
  +                if(drivers == null)
                   {
  -                    throw new Exception("service == null");
  +                    drivers = new HashSet();
                   }
  -                else if(driverMeta == null)
  -                {
  -                    throw new Exception("driverMeta == null");
  -                }    
  -                else
  +                if(driverMeta != null)
                   {
  -                    throw new Exception("UNEXPECTED EXCEPTION 4");
  +                    drivers.add(driverMeta);
                   }    
               }
               else if(lookForDrivers && !processProtocol && qName != null && 
  @@ -270,5 +264,10 @@
           {
               buffy.append(ch, start, length);
           }
  +    }    
  +
  +    public Set getDrivers()
  +    {
  +        return drivers;
       }    
   }    
  
  
  
  1.4       +7 -4      jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/DriverMetaDataService.java
  
  Index: DriverMetaDataService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/java/org/apache/commons/periodicity/database/DriverMetaDataService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DriverMetaDataService.java	25 Oct 2002 22:29:34 -0000	1.3
  +++ DriverMetaDataService.java	28 Nov 2002 22:42:36 -0000	1.4
  @@ -68,7 +68,10 @@
   {
   
       /** The name used by fulcrum for this service */
  -    public static final String SERVICE_NAME = "periodicity.drivers";
  +    public static final String SERVICE_NAME = "PeriodicityDriverService";
  +
  +    /** The role */
  +    public static final String ROLE = DriverMetaDataService.class.getName();
   
       
       /**
  
  
  
  1.5       +46 -6     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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PeriodicityDriverService.java	22 Nov 2002 23:37:26 -0000	1.4
  +++ PeriodicityDriverService.java	28 Nov 2002 22:42:36 -0000	1.5
  @@ -77,14 +77,20 @@
   import org.apache.commons.configuration.Configuration;
   import org.apache.commons.periodicity.util.JUnitUtils;
   
  -class PeriodicityDriverService extends BaseService
  +public class PeriodicityDriverService extends BaseService
   {
   
  +    public static final String SERVICE_NAME = "PeriodicityDriverService";
  +    
       public static final String DATABASE_META_DATA_FILE_KEY = 
  -           "periodicity.db.meta.data.file";
  +           "db.meta.data.file";
       
       private Map drivers = null;
   
  +    public PeriodicityDriverService()
  +    {
  +    }
  +
       public void init() throws InitializationException
       {
           if(getConfiguration() != null)
  @@ -148,7 +154,7 @@
        * uninitialized.
        * @param newDriver The new driver to add to the service.
        */
  -    void addDriver(DriverMetaData newDriver) 
  +    private void addDriver(DriverMetaData newDriver) 
              throws InitializationException
       {
           if(newDriver != null && newDriver.getName() != null && isInitialized())
  @@ -177,6 +183,35 @@
           }    
       }
   
  +    private void addDrivers(Set drivers) throws InitializationException
  +    {
  +        if(drivers != null)
  +        {
  +            Iterator iter = drivers.iterator();
  +            if(iter != null)
  +            {
  +                Object drvr = iter.next();
  +                if(drvr instanceof DriverMetaData)
  +                {
  +                    addDriver((DriverMetaData) drvr);
  +                }
  +                else
  +                {
  +                    throw new InitializationException(
  +                           "drvr not a DriverMetaData object.");
  +                }
  +            }
  +            else
  +            {
  +                throw new InitializationException("iter == null");
  +            }
  +        }
  +        else
  +        {
  +            throw new InitializationException("drivers == null");
  +        }
  +    }    
  +
       private void initDrivers(File dbFile) throws InitializationException
       {
           if(dbFile != null)
  @@ -196,6 +231,11 @@
                           DriverContentHandler dhandler = 
                                  new DriverContentHandler();
                           parser.parse(isource, dhandler);
  +                        Set drivers = dhandler.getDrivers();
  +                        if(drivers != null)
  +                        {
  +                            addDrivers(drivers);
  +                        }    
                       }
                       else if(parser == null)
                       {
  
  
  
  1.5       +23 -15    jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/test/org/apache/commons/periodicity/database/DriverServiceGetInitTest.java
  
  Index: DriverServiceGetInitTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/periodicity/src/plugins-build/database/src/test/org/apache/commons/periodicity/database/DriverServiceGetInitTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DriverServiceGetInitTest.java	22 Nov 2002 23:37:26 -0000	1.4
  +++ DriverServiceGetInitTest.java	28 Nov 2002 22:42:36 -0000	1.5
  @@ -68,10 +68,12 @@
   import org.apache.commons.configuration.BaseConfiguration;
   import org.apache.fulcrum.TurbineServices;
   import org.apache.fulcrum.ServiceManager;
  +import org.apache.fulcrum.BaseServiceBroker;
  +import org.apache.commons.periodicity.junit.TestWithMavenLogging;
   import org.apache.commons.periodicity.util.JUnitUtils;
   
   
  -public class DriverServiceGetInitTest extends TestCase
  +public class DriverServiceGetInitTest extends TestWithMavenLogging
   {
   
       public static final String TEST_NAME = 
  @@ -105,18 +107,26 @@
                   turbineConfig.addProperty(
                          PERIODICITY_DRIVER_SERVICE_CLASS_NAME_KEY,
                          PERIODICITY_DRIVER_SERVICE_CLASS_NAME);
  +                turbineConfig.addProperty(
  +                       BaseServiceBroker.SERVICE_PREFIX +
  +                       PeriodicityDriverService.SERVICE_NAME + "." +
  +                       PeriodicityDriverService.DATABASE_META_DATA_FILE_KEY,
  +                       FILE_NAME);
                   turbineServices.setConfiguration(turbineConfig);       
  +                turbineServices.setApplicationRoot(".");
                   turbineServices.init();
  -                turbineServices.initService(
  -                       PERIODICITY_DRIVER_SERVICE_NAME);
                   BaseConfiguration config = new BaseConfiguration();
  -                config.addProperty(
  -                       PeriodicityDriverService.DATABASE_META_DATA_FILE_KEY,
  -                       FILE_NAME);
  -                TestDriverService driverService = new TestDriverService(
  -                       DriverMetaDataService.SERVICE_NAME,
  -                       config);
  -                driverService.init();
  +                if(getLogger() != null)
  +                {
  +                    getLogger().info("Getting Driver Service");
  +                }    
  +                PeriodicityDriverService driverService = 
  +                       (PeriodicityDriverService) turbineServices.getService(
  +                       PERIODICITY_DRIVER_SERVICE_NAME);
  +                if(getLogger() != null)
  +                {
  +                    getLogger().info("Got driver service");
  +                }    
                   assertTrue("Service should have been initialized.", 
                          driverService.isInitialized());
               }
  @@ -136,5 +146,3 @@
           return new DriverServiceGetInitTest(TEST_NAME);
       }
   }    
  -
  -
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>