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

com.jamonapi.proxy.JAMonDataSource Maven / Gradle / Ivy

There is a newer version: 2.82
Show newest version
package com.jamonapi.proxy;

import javax.naming.NamingException;
import javax.naming.Reference;
import javax.naming.Referenceable;
import javax.sql.DataSource;
import java.io.PrintWriter;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Logger;
/** The datasource is incomplete.  the object factory is not done.  It should
 *  be able to wrap an existing DataSource however.
 */
public class JAMonDataSource implements DataSource, Referenceable, Serializable {
    private DataSource realDataSource;

    public JAMonDataSource(DataSource realDataSource) {
        this.realDataSource=realDataSource;
    }

    public JAMonDataSource() {

    }

    /**
     * Determines if a de-serialized file is compatible with this class.
     *
     * Maintainers must change this value if and only if the new version
     * of this class is not compatible with old versions. See Sun docs
     * for  details. 
     *
     * Not necessary to include in first version of the class, but
     * included here as a reminder of its importance.
     */
    private static final long serialVersionUID = 278L;

    public Connection getConnection() throws SQLException {
        return MonProxyFactory.monitor(realDataSource.getConnection());
    }

    public Connection getConnection(String userName, String passWord) throws SQLException {
        return MonProxyFactory.monitor(realDataSource.getConnection(userName, passWord));
    }

    public int getLoginTimeout() throws SQLException {
        return realDataSource.getLoginTimeout();
    }

    public PrintWriter getLogWriter() throws SQLException {
        return realDataSource.getLogWriter();
    }

    public void setLoginTimeout(int seconds) throws SQLException {
        realDataSource.setLoginTimeout(seconds);

    }

    public void setLogWriter(PrintWriter output) throws SQLException {
        realDataSource.setLogWriter(output);

    }

    public Reference getReference() throws NamingException {
        return ((Referenceable)realDataSource).getReference();
    }


    public boolean isWrapperFor(Class arg0) throws SQLException {
        return realDataSource.isWrapperFor(arg0);
    }

    public  T unwrap(Class arg0) throws SQLException {
        return realDataSource.unwrap(arg0);
    }

    public Logger getParentLogger() {
        return Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy