package gr.aegean.syros.jetspeed.utils;

/**
 * <p>Title: Portles</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: University of the Aegean</p>
 * @author Evangelos Vlachogiannis
 * @version 1.0
 */

import java.sql.*;
import java.util.Hashtable;
import java.util.Enumeration;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.turbine.services.resources.TurbineResources;

public class Db
{
  public static String dbDriver="org.gjt.mm.mysql.Driver";//TurbineResources.getString("database.default.driver");
  public static String dbUsername="root";//TurbineResources.getString("database.default.username");
  public static String dbPassword="";//TurbineResources.getString("database.default.password");
  public static String dbURL= "jdbc:mysql://evlach.syros.aegean.gr:3306/myforum"; //TurbineResources.getString("database.default.url");

  public static ResultSet QMySQL(String Q)
  {
    ResultSet result = null;
    String sourceData = null;
    try
    {
      System.out.println(dbURL);
      Class.forName(dbDriver).newInstance();
      Connection databaseConnection = DriverManager.getConnection(dbURL,dbUsername,dbPassword);
      Statement statement = databaseConnection.createStatement();
      result = statement.executeQuery(Q);
      databaseConnection.close();
    }
    catch (Exception E)
    {
      System.err.println("Unable to load driver.");
      E.printStackTrace();
    }
    return result;
  }
  public static Hashtable getColumns(String table, String column)
  {
    Hashtable h = new Hashtable();
    int i=0;
    String  q = "SHOW FIELDS FROM " + table; //get columns
    String[] temp =null;
    try
    {
      ResultSet r = Db.QMySQL(q);
      ResultSetMetaData rmeta = r.getMetaData();
      int numColumns = rmeta.getColumnCount();
      temp = new String[numColumns+1];
      for(i=1;i<=numColumns;i++)
        temp[i] = rmeta.getColumnName(i);
      i=0;
      while(r.next())
      {
        h.put(String.valueOf(i),r.getString(column));
        i++;
      }
    }
    catch(java.sql.SQLException e)
    {
    }
    return h;
  }
}
