Clover coverage report - Replica - 1.0-Alpha
Coverage timestamp: Dom Fev 1 2004 17:00:58 WET
file stats: LOC: 153   Methods: 10
NCLOC: 141   Classes: 2
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
XInterDB.java 0% 0% 0% 0%
coverage
 1   
 package nmp.dbms.util;
 2   
 
 3   
 import java.util.*;
 4   
 import java.io.*;
 5   
 import javax.swing.*;
 6   
 import java.awt.*;
 7   
 import java.awt.event.*;
 8   
 import nmp.dbms.JDBC.*;
 9   
 
 10   
 public class XInterDB {
 11  0
     public static void main( String[] args)
 12   
             throws IOException{
 13  0
         if( args == null || ( args.length != 3 && args.length != 4)) {
 14  0
             System.err.println( "Usage:\n InterDB url userName userPwd [driver]");
 15  0
             return;
 16   
         }
 17   
 
 18  0
         try {
 19  0
             Jdbc_Sql sql = null;
 20  0
             if( args.length == 3)
 21  0
                 sql = new Jdbc_Sql( "sun.jdbc.odbc.JdbcOdbcDriver", args[0], args[1], args[2]);
 22   
             else
 23  0
                 sql = new Jdbc_Sql( args[3], args[0], args[1], args[2]);
 24   
             
 25  0
             doit( sql,args[0]);
 26   
 
 27  0
             sql.closeAll();
 28   
         }
 29   
         catch( Exception e) {
 30  0
             PrintWriter pw;
 31  0
             String name = args[0].substring( args[0].lastIndexOf( ':') + 1);
 32  0
             try {
 33  0
                 pw = new PrintWriter( new FileWriter( "ERR_" + name + ".log", true));
 34   
             }
 35   
             catch( FileNotFoundException e0) {
 36  0
                 pw = new PrintWriter( new FileWriter( "ERR_" + name + ".log"));
 37   
             }
 38  0
             e.printStackTrace( pw);
 39  0
             pw.println();
 40  0
             pw.flush();
 41   
         }
 42   
     }
 43   
 
 44  0
     static void doit( Jdbc_Sql sql, String name) {
 45  0
         new XInterFrame( sql, name);
 46   
     }
 47  0
     static void doit( Jdbc_Sql sql) {
 48  0
         new XInterFrame( sql);
 49   
     }
 50   
 }
 51   
 
 52   
 class XInterFrame extends JFrame
 53   
 {
 54   
     Jdbc_Sql sql;
 55   
     JTextField f_statement;
 56   
     JTextArea f_result;
 57   
     Vector s_list = new Vector();
 58   
     int cur = 0;
 59   
 
 60  0
     public XInterFrame( Jdbc_Sql sql) {
 61  0
         this( sql, "unknown name");
 62   
     }
 63  0
     public XInterFrame( Jdbc_Sql sql, String name) {
 64  0
         super( name);
 65  0
         this.sql = sql;
 66  0
         getContentPane().setLayout( new BorderLayout());
 67  0
         JPanel panel = new JPanel();
 68  0
         f_statement = new JTextField( 50) {
 69  0
             protected void processComponentKeyEvent(KeyEvent e) {
 70  0
                 if( e.getID() == e.KEY_PRESSED) {
 71  0
                     if( e.getKeyCode() == e.VK_UP) {
 72  0
                         if( cur > 0) {
 73  0
                             String str = (String)s_list.elementAt( --cur);
 74  0
                             f_statement.setText( str);
 75  0
                             f_statement.setCaretPosition( str.length());
 76   
                         }
 77  0
                         return;
 78  0
                     } else if( e.getKeyCode() == e.VK_DOWN) {
 79  0
                         if( cur == s_list.size() - 1) {
 80  0
                             cur++;
 81  0
                             f_statement.setText( "");
 82  0
                             f_statement.setCaretPosition( 0);
 83  0
                         } else if( cur < s_list.size() - 1) {
 84  0
                             String str = (String)s_list.elementAt( ++cur);
 85  0
                             f_statement.setText( str);
 86  0
                             f_statement.setCaretPosition( str.length());
 87   
                         }
 88  0
                         return;
 89   
                     }
 90   
                 }
 91  0
                 super.processComponentKeyEvent( e);
 92   
             }
 93   
         };
 94  0
         f_statement.addActionListener( new ActionListener() {
 95  0
             public void actionPerformed(ActionEvent e) {
 96  0
                 process();
 97   
             }
 98   
         });
 99  0
         panel.add( f_statement);
 100  0
         JButton button = new JButton( "Exec");
 101  0
         button.addActionListener( new ActionListener() {
 102  0
             public void actionPerformed(ActionEvent e) {
 103  0
                 process();
 104   
             }
 105   
         });
 106  0
         panel.add( button);
 107  0
         getContentPane().add( "North", panel);
 108  0
         f_result = new JTextArea( 20, 50);
 109  0
         f_result.setEditable( false);
 110  0
         getContentPane().add( "Center", new JScrollPane( f_result));
 111  0
         addWindowListener( new WindowAdapter() {
 112  0
             public void windowClosing(WindowEvent e) {
 113  0
                 dispose();
 114  0
                 System.exit( 0);
 115   
             }
 116   
         });
 117  0
         pack();
 118  0
         setVisible( true);
 119   
      }
 120   
     
 121  0
     void process() {
 122  0
         String line = f_statement.getText().trim();
 123  0
         if( line.equals( "quit")) {
 124  0
             dispose();
 125  0
             System.exit( 0);
 126  0
             return;
 127   
         }
 128  0
         s_list.addElement( line);
 129  0
         if( s_list.size() == 20)
 130  0
             s_list.removeElementAt( 0);
 131  0
         cur = s_list.size();
 132  0
         f_statement.setText("");
 133  0
         CharArrayWriter caw = new CharArrayWriter();
 134  0
         PrintWriter pw = new PrintWriter( caw);
 135  0
         pw.println( line);
 136  0
         try {
 137  0
             if( line.startsWith( "select"))
 138  0
                 Utilities.displayResultSet( pw, sql.executeQuery( line));
 139   
             else
 140  0
                 pw.println( sql.executeUpdate( line) + " rows modified");
 141   
         } catch( Exception e) {
 142  0
             pw.println( e.getMessage());
 143  0
             e.printStackTrace( pw);
 144   
         }
 145  0
         pw.flush();
 146  0
         caw.flush();
 147  0
         f_result.setText( caw.toString());
 148  0
         f_result.setCaretPosition( 0);
 149   
     }
 150   
 
 151   
 }
 152   
 
 153