/db-diff/src/main/java/com/googlecode/hdbc/dbdiff/db/Database.java

http://hdbc.googlecode.com/ · Java · 51 lines · 43 code · 8 blank · 0 comment · 0 complexity · 03eadb083b131b714185b79a4850454d MD5 · raw file

  1. package com.googlecode.hdbc.dbdiff.db;
  2. import java.sql.SQLException;
  3. import javax.sql.DataSource;
  4. import com.googlecode.hdbc.dbdiff.model.ColumnDefinition;
  5. import com.googlecode.hdbc.dbdiff.model.ScriptedObjects;
  6. import com.googlecode.hdbc.dbdiff.model.TabularObjects;
  7. import com.googlecode.hdbc.dbdiff.model.UserObjectDefinition;
  8. import com.googlecode.hdbc.dbdiff.model.UserObjects;
  9. public class Database implements IDatabase {
  10. private final DataSource dataSource;
  11. private final String databaseName;
  12. public Database(final String dbName, final DataSource ds) {
  13. databaseName = dbName;
  14. dataSource = ds;
  15. }
  16. public final TabularObjects selectTabularObject(final String tableName) {
  17. try {
  18. QueryExecutionTemplate<ColumnDefinition> template = new QueryExecutionTemplate<ColumnDefinition>();
  19. QueryTableColumns query = new QueryTableColumns(databaseName, tableName);
  20. return (TabularObjects) template.executeQuery(query, dataSource);
  21. } catch (SQLException e) {
  22. throw new IllegalStateException(e);
  23. }
  24. }
  25. public final UserObjects selectUserObjects() {
  26. try {
  27. QueryExecutionTemplate<UserObjectDefinition> template = new QueryExecutionTemplate<UserObjectDefinition>();
  28. QueryUserObjects query = new QueryUserObjects(databaseName);
  29. return (UserObjects) template.executeQuery(query, dataSource);
  30. } catch (SQLException e) {
  31. throw new IllegalStateException(e);
  32. }
  33. }
  34. public final ScriptedObjects selectScriptedObject(final String scriptObjName) {
  35. try {
  36. QueryExecutionTemplate<String> template = new QueryExecutionTemplate<String>();
  37. QueryScriptLines query = new QueryScriptLines(databaseName, scriptObjName);
  38. return (ScriptedObjects) template.executeQuery(query, dataSource);
  39. } catch (SQLException e) {
  40. throw new IllegalStateException(e);
  41. }
  42. }
  43. }