package edu.psu.iam.cpr.utility; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import edu.psu.iam.cpr.core.database.Database; public class PrimeCPR { protected Database db = new Database(); public static void main(String args[]) { PrimeCPR primeCPR = new PrimeCPR(); if (! primeCPR.validateCommandLine(args)) { System.exit(1); } primeCPR.loadTables(args[0], args[1]); System.exit(0); } private void loadTables(String primeFile, String primeDirectory) { BufferedReader bufferedReader = null; try { bufferedReader = new BufferedReader(new FileReader(primeFile)); String tableName = null; while ((tableName = bufferedReader.readLine()) != null) { System.out.print("Loading " + tableName + "..."); File f = new File(primeDirectory + System.getProperty("file.separator") + tableName); if (! f.exists()) { System.out.println("File does not exist " + f.toString()); System.exit(1); } else { new BeanLoaderFactory().getLoaderInterface(tableName).loadTable(db, primeDirectory, tableName); System.out.println("Complete!"); } } System.out.print("Loading UseridPool (NOTE: this could take a while)..."); new UseridPoolLoader().loadTable(db, primeDirectory, "UseridPool"); System.out.println("Complete!"); } catch (Exception e) { e.printStackTrace(); } finally { try { bufferedReader.close(); } catch (Exception e) { } } } private boolean validateCommandLine(String args[]) { if (args.length != 2) { System.out.println("Error: missing or too many command-line arguments!"); System.out.println("Usage: PrimeCPR data.order PRIME-Directory"); return false; } File f = new File(args[0]); if (! f.exists()) { System.out.println("Error: the data file " + args[0] + " does not exist!"); return false; } f = new File(args[1]); if (! f.exists()) { System.out.println("Error the PRIME directory " + args[1] + " does not exist!"); return false; } return true; } }