All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bridgedb.virtuoso.VirtuosoAccess Maven / Gradle / Ivy

The newest version!
// BridgeDb,
// An abstraction layer for identifier mapping services, both local and online.
//
// Copyright 2006-2009  BridgeDb developers
// Copyright 2012-2013  Christian Y. A. Brenninkmeijer
// Copyright 2012-2013  OpenPhacts
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package org.bridgedb.virtuoso;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.bridgedb.sql.SQLAccess;
import org.bridgedb.utils.BridgeDBException;
import org.bridgedb.utils.Reporter;

/**
 * Virtuosos specific wrapper.
 * 
 * Still in test so user name and password hard coded in.
 * 
 * This code has not been used in many months and has a HIGH risk of being broken.
 * 
 * @author Christian
 */
public class VirtuosoAccess implements SQLAccess{
    /** JDBC URL for the database */
    private String dbUrl;// = "jdbc:mysql://localhost:3306/irs";
    /** username for the database */
    private String username;// = "irs";
    /** password for the database */
    private String password;// = "irs";
    
    /**
     * Instantiate a connection to the database
     * 
     * @throws BridgeDBException If there is a problem connecting to the database.
     */
    public VirtuosoAccess() throws BridgeDBException {
        Reporter.warn("VirtuosoAccess class used!. There is a high risk that this code will not work.");
        try {
            Class.forName("virtuoso.jdbc4.Driver");
            //if (dbUrl.equals("jdbc:mysql://localhost:3306/irs")){
            //    throw new BridgeDBException ("Saftey Error! "
            //            + "jdbc:mysql://localhost:3306/irs is resevered for March 2012 version");
            //}
            this.dbUrl = "jdbc:virtuoso://localhost:1111";
            this.username = "dba";
            this.password = "dba";
        //} catch (SQLError er){
        //    String msg = "Problem loading in MySQL JDBC driver.";
        //    throw new BridgeDBException(msg);
        } catch (ClassNotFoundException ex) {
            String msg = "Problem loading in virtuoso JDBC driver.";
            //Logger.getLogger(MySQLAccess.class.getName()).log(Level.SEVERE, msg, ex);
            throw new BridgeDBException(msg, ex);
        }
    }

    /**
     * Retrieve an active connection to the database
     * 
     * @return database connection
     * @throws BridgeDBException if there is a problem establishing a connection
     */
    @Override
    public Connection getConnection() throws BridgeDBException {
        try {
            Connection conn = DriverManager.getConnection(dbUrl, username, password);
            return conn;
        } catch (SQLException ex) {
            System.err.println(ex);
            final String msg = "Problem connecting to database.";
            //Logger.getLogger(MySQLAccess.class.getName()).log(Level.SEVERE, msg, ex);
            throw new BridgeDBException(msg, ex);
        }
    }
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy