import com.mobileapps.dor.*;
import com.mobileapps.pcre.*;
import java.sql.*;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class GenDOR {

  private String databaseServer = "BikeData";
  private String databaseName = "BikeData";
  private String databaseUserName = "";
  private String databasePassword = "";

	public static void main(String[] args) throws Exception {
    try {
    	new GenDOR();
	  }	catch(Exception e) {e.printStackTrace();}
	}

	public GenDOR() throws Exception {

	  // Get the ResultSet containing the data from the
	  // BikeData ODBC system data source.
		String sqlQuery = "SELECT * FROM BikeData";
		Connection jdbcConnection = getJdbcConnection(databaseName,
		                        databaseUserName, databasePassword);
		Statement st = jdbcConnection.createStatement();
		ResultSet rs = st.executeQuery(sqlQuery);

    // Generate the .dor file.
    DORSQLResultSetAdapter dorsqlresultsetadapter =
                                   new DORSQLResultSetAdapter(rs);
    DorDesignUtil dUtil = new DorDesignUtil();
    dUtil.outputDorFile((DORDataSet)dorsqlresultsetadapter,
                        "h:\\dordev\\bikedata.dor");
  }

	private Connection getJdbcConnection(String db, String user,
	                             String password) throws Exception {
		if (db == null || db == "")
			throw new Exception("Attempt to run database report without "
			                    + "setting name of database.");
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  	return DriverManager.getConnection("jdbc:odbc:" + db, user, password);
  }

}
