Bug 154000 Enrichment of ODA consumer helper
Provide additional services in the oda.consumer component to include more common behavior that an ODA consumer application would need. For example, to handle different capabilities and behavior of individual ODA drivers.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/odaconsumer/DriverManager.java
/*
 *****************************************************************************
 * Copyright (c) 2004, 2006 Actuate Corporation.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *  Actuate Corporation - initial API and implementation
 *
 ******************************************************************************
 */  
package org.eclipse.birt.data.engine.odaconsumer;
import java.util.Hashtable;
import org.eclipse.birt.data.engine.core.DataException;
import org.eclipse.datatools.connectivity.oda.IDriver;
import org.eclipse.datatools.connectivity.oda.util.manifest.ExtensionManifest;
/**
 * <code>DriverManager</code> manages a set of data source drivers.  Calling 
 * <code>getInstance</code> will return the singleton instance of <code>DriverManager</code>.
 * 
 * When the method <code>getDriverConnectionFactory</code> is initiated by the 
 * <code>ConnectionManager</code>, the <code>DriverManager</code> will 
 * attempt to load the specified driver and return a <code>IDriver</code> 
 * instance of that driver.
 */
class DriverManager