/*
// $Id: //guest/paul_dymecki/mondrian/src/main/mondrian/olap/DriverManager.java#1 $
// This software is subject to the terms of the Common Public License
// Agreement, available at the following URL:
// http://www.opensource.org/licenses/cpl.html.
// (C) Copyright 2001-2002 Kana Software, Inc. and others.
// All Rights Reserved.
// You must accept the terms of that agreement to use this software.
//
// jhyde, 15 January, 2002
*/
package mondrian.olap;
import java.lang.reflect.*;
import java.util.Properties;
/**
* The basic service for managing a set of OLAP drivers
*
* @author jhyde
* @since 15 January, 2002
* @version $Id: //guest/paul_dymecki/mondrian/src/main/mondrian/olap/DriverManager.java#1 $
**/
public class DriverManager {
public static Connection getConnection(
String sConnect, String sCatalog, boolean fresh)
{
if (sCatalog != null && !sCatalog.equals("")) {
if (!sConnect.endsWith(";")) {
sConnect += ";";
}
sConnect += "Catalog=" + sCatalog;
}
Util.PropertyList properties = Util.parseConnectString(sConnect);
String provider = (String) properties.get("PROVIDER");
if (provider.equalsIgnoreCase("mondrian")) {
return new mondrian.rolap.RolapConnection(properties);
}
try {
Class clazz = Class.forName("Broadbase.mdx.adomd.AdomdConnection");
try {
Constructor constructor = clazz.getConstructor(
new Class[] {String.class, String.class, Boolean.TYPE});
return (Connection) constructor.newInstance(new Object[] {
sConnect, sCatalog, new Boolean(fresh)});
} catch (IllegalAccessException e) {
throw Util.getRes().newInternal(e, "while creating " + clazz);
} catch (NoSuchMethodException e) {
throw Util.getRes().newInternal(e, "while creating " + clazz);
} catch (InstantiationException e) {
throw Util.getRes().newInternal(e, "while creating " + clazz);
} catch (InvocationTargetException e) {
throw Util.getRes().newInternal(e, "while creating " + clazz);
}
} catch (ClassNotFoundException e) {
throw Util.getRes().newInternal(e, "while connecting to " + sConnect);
}
}
}
// End DriverManager.java
# |
Change |
User |
Description |
Committed |
|
#1
|
1820 |
Paul Robert Dymecki |
mondrian: Integrate latest from //guest/julian_hyde |
|
|
//guest/julian_hyde/mondrian/src/main/mondrian/olap/DriverManager.java |
#1
|
1453 |
Julian Hyde |
mondrian: first source check-in |
|
|