Changeset 5f438ab546be83b98dd3165c6f4970014a668f63

Show
Ignore:
Timestamp:
06/30/10 03:42:14 (8 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1277869334 +0000
git-parent:

[6d28885e151cac3e613115ed9fbb73978090e88f]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1277869334 +0000
Message:

bang... mysql and Oracle... JDBC feels like a good idea, refs #295

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/java/Makefile.in

    r6d28885 r5f438ab  
    6969        com/omniti/jezebel/SampleCheck.java \ 
    7070        com/omniti/jezebel/check/JDBC.java \ 
     71        com/omniti/jezebel/check/mysql.java \ 
     72        com/omniti/jezebel/check/oracle.java \ 
    7173        com/omniti/jezebel/check/postgres.java 
    7274 
  • src/java/com/omniti/jezebel/JezebelTools.java

    r6d28885 r5f438ab  
    1515    p = Pattern.compile("%\\{([^\\}]+)\\}"); 
    1616    while((m = p.matcher(dst)) != null && m.find()) { 
    17       String token = dst.substring(m.start(1) + 2, m.end(1) - m.start(1)); 
     17      String token = dst.substring(m.start(1), m.end(1)); 
    1818      dst = m.replaceFirst(config.get(token)); 
    1919    } 
     
    2121    p = Pattern.compile("%\\[([^\\]]+)\\]"); 
    2222    while((m = p.matcher(dst)) != null && m.find()) { 
    23       String token = dst.substring(m.start(1), m.end(1) - m.start(1)); 
     23      String token = dst.substring(m.start(1), m.end(1)); 
    2424      dst = m.replaceFirst(attrs.get(token)); 
    2525    } 
  • src/java/com/omniti/jezebel/check/JDBC.java

    r6d28885 r5f438ab  
    1313public abstract class JDBC implements JezebelCheck { 
    1414  public JDBC() { } 
    15   protected abstract String jdbcDriverName(); 
     15  protected abstract String jdbcConnectUrl(String host, String port, String db); 
    1616  protected abstract String defaultPort(); 
    1717 
     
    2525    if(port == null) port = defaultPort(); 
    2626    String sql = config.remove("sql"); 
    27     String url = "jdbc:" + jdbcDriverName() + "://" + 
    28                  check.get("target") + ":" + port + "/" + database; 
     27    String url = jdbcConnectUrl(check.get("target"), port, database); 
    2928    Properties props = new Properties(); 
    3029    props.setProperty("user", username == null ? "" : username); 
     
    5150      Date t2 = new Date(); 
    5251      rr.set("connect_duration", (double)(t2.getTime() - t1.getTime())/1000.0); 
    53       queryToResmon(conn, sql, rr); 
     52      queryToResmon(conn, config, sql, rr); 
    5453      Date t3 = new Date(); 
    5554      rr.set("query_duration", (double)(t3.getTime() - t2.getTime())/1000.0); 
     
    6160    } 
    6261  } 
    63   protected void queryToResmon(Connection conn, String sql, ResmonResult rr) { 
     62  protected void queryToResmon(Connection conn, Map<String,String> config, 
     63                               String sql, ResmonResult rr) { 
    6464    int nrows = 0; 
     65    boolean auto = false; 
     66    String autotype = config.get("autotype"); 
     67    if(autotype != null && autotype.equals("true")) auto = true; 
    6568    Statement st = null; 
    6669    ResultSet rs = null; 
     
    9699                break; 
    97100              default: 
    98                 rr.set(name, rs.getString(i)); 
     101                if(auto) { 
     102                  String s = rs.getString(i); 
     103                  try { Long l = Long.decode(s); rr.set(name, l); } 
     104                  catch (NumberFormatException nfe) { 
     105                    try { Double d = Double.valueOf(s); rr.set(name, d); } 
     106                    catch (NumberFormatException nfe2) { 
     107                      rr.set(name, s); 
     108                    } 
     109                  } 
     110                } else { 
     111                  rr.set(name, rs.getString(i)); 
     112                } 
    99113                break; 
    100114            } 
  • src/java/com/omniti/jezebel/check/postgres.java

    r6d28885 r5f438ab  
    66           catch (Exception e) { throw new RuntimeException(e); } } 
    77  protected String defaultPort() { return "5432"; } 
    8   protected String jdbcDriverName() { return "postgresql"; } 
     8  protected String jdbcConnectUrl(String host, String port, String db) { 
     9    return "jdbc:postgresql://" + host + ":" + port + "/" + db; 
     10  } 
    911} 
  • src/java/jezebel.in

    r6d28885 r5f438ab  
    1919        commons-cli-1.1.jar commons-logging-1.1.1.jar" 
    2020 
    21 DIRS=". lib @prefix@/java/lib @prefix@/java" 
     21DIRS="/ . lib @prefix@/java/lib @prefix@/java" 
    2222CP= 
    2323