1/*
2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23package luckydogtennis;
24
25import java.sql.Connection;
26import java.sql.Driver;
27import java.sql.DriverManager;
28import java.sql.DriverPropertyInfo;
29import java.sql.SQLException;
30import java.sql.SQLFeatureNotSupportedException;
31import java.util.Properties;
32import java.util.logging.Level;
33import java.util.logging.Logger;
34
35public class LuckyDogDriver implements Driver {
36
37    static {
38        registerDriver();
39        System.out.println("*****in static block LuckyDogDriver");
40    }
41
42    private static void registerDriver() {
43        try {
44            DriverManager.registerDriver(new LuckyDogDriver());
45        } catch (SQLException ex) {
46            Logger.getLogger(LuckyDogDriver.class.getName()).log(Level.SEVERE, null, ex);
47        }
48    }
49
50    public LuckyDogDriver() {
51        System.out.println("*****in LuckyDogDriver Constructor");
52    }
53
54    @Override
55    public Connection connect(String url, Properties info) throws SQLException {
56        if (acceptsURL(url)) {
57        return new StubConnection();
58        }
59        return null;
60    }
61
62    @Override
63    public boolean acceptsURL(String url) throws SQLException {
64        return url.matches("^jdbc:tennis:.*");
65    }
66
67    @Override
68    public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
69        throw new UnsupportedOperationException("Not supported yet.");
70    }
71
72    @Override
73    public int getMajorVersion() {
74        return 1;
75    }
76
77    @Override
78    public int getMinorVersion() {
79        return 0;
80    }
81
82    @Override
83    public boolean jdbcCompliant() {
84        return true;
85    }
86
87    @Override
88    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
89        throw new UnsupportedOperationException("Not supported yet.");
90    }
91}
92