KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas > jtests > util > Env


1 /*
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id: Env.java,v 1.5 2004/03/19 11:57:20 benoitf Exp $
23  * --------------------------------------------------------------------------
24  */

25
26 package org.objectweb.jonas.jtests.util;
27
28 import java.sql.Connection JavaDoc;
29 import java.sql.SQLException JavaDoc;
30
31 /**
32  * Utility class about the environment.
33  * @author Helene Joanin
34  */

35
36 public class Env {
37
38     public static final int DB_UNKNOWN = -1;
39     public static final int DB_ORACLE = 10;
40     public static final int DB_POSGRESQL = 20;
41     public static final int DB_DB2 = 30;
42     public static final int DB_MYSQL = 40;
43
44     // Variables related to Java Version
45

46
47     static public final int JAVA_1_3 = 130;
48     static public final int JAVA_1_4 = 140;
49     static private int javaVersion = -1;
50
51     /**
52      * Get the type of a Database
53      * @param connection to the databse
54      * @return the type DB_ORACLE, DB_POSGRESQL, DB_DB2, DB_MYSQL or DB_UNKNOWN if unknown
55      */

56     public static int getDatabaseType(Connection JavaDoc c) throws SQLException JavaDoc {
57         int type = DB_UNKNOWN;
58         String JavaDoc name = c.getMetaData().getDatabaseProductName();
59         if ("Oracle".equalsIgnoreCase(name)) {
60             type = DB_ORACLE;
61         } else if ("PostgreSQL".equalsIgnoreCase(name)) {
62             type = DB_POSGRESQL;
63         } else if ("DB2/LINUX".equalsIgnoreCase(name)) {
64             type = DB_DB2;
65         } else if ("MySQL".equalsIgnoreCase(name)) {
66             type = DB_MYSQL;
67         }
68         return type;
69     }
70
71     /**
72      * Gets Java Version.
73      * @return javaVersion or -1 if error
74      */

75     static public int getJavaVersion() {
76
77         if (javaVersion == -1) {
78             // Sets Java Version
79
String JavaDoc strjv = System.getProperty("java.version", "");
80             if (strjv.indexOf("1.3") == 0)
81                 javaVersion = JAVA_1_3;
82             if (strjv.indexOf("1.4") == 0)
83                 javaVersion = JAVA_1_4;
84         }
85         return javaVersion;
86     }
87
88     /**
89      * return true if JDK 1.4 or later
90      */

91     static public boolean isJAVA4() {
92         return (getJavaVersion() >= JAVA_1_4);
93     }
94 }
95
Popular Tags