| | |
| | | import de.hsadmin.core.qserv.JDBCProcessor; |
| | | import de.hsadmin.core.qserv.Processor; |
| | | |
| | | /** |
| | | * Factory class which creates Processor instances for dealing with UNIX user |
| | | * accounts. |
| | | * |
| | | * @author mi |
| | | */ |
| | | public class PgSqlDatabaseProcessorFactory implements EntityProcessorFactory { |
| | | |
| | | /** |
| | | * creates a JDBCProcessor for PostgreSQL and the given user |
| | | * |
| | | * @param user |
| | | * @param password |
| | | * @return |
| | | */ |
| | | public static JDBCProcessor createPostgreSqlProcessor(String user, String password) { |
| | | return new JDBCProcessor("org.postgresql.Driver", "jdbc:postgresql://localhost/template1", user, password); |
| | | } |
| | | |
| | | /** |
| | | * creates a JDBCProcessor for the PostgreSQL admin user |
| | | * |
| | | * @return |
| | | */ |
| | | public static JDBCProcessor createPostgreSqlAdminProcessor() { |
| | | return new JDBCProcessor("org.postgresql.Driver", "jdbc:postgresql://localhost/template1"); |
| | | } |
| | | |
| | | /** |
| | | * @return a Processor which creates a new database |
| | | */ |
| | | public <T extends AbstractEntity> Processor createCreateProcessor(EntityManager em, T entity) { |
| | | Database db = (Database) entity; |
| | | assert db.getInstance().equals("pgsql"); |
| | |
| | | return aJDBCP; |
| | | } |
| | | |
| | | /** |
| | | * @return a Processor which updates a preexisting database |
| | | */ |
| | | public <T extends AbstractEntity> Processor createUpdateProcessor(EntityManager em, T entity) { |
| | | Database db = (Database) entity; |
| | | assert db.getInstance().equals("pgsql"); |
| | |
| | | return aJDBCP; |
| | | } |
| | | |
| | | /** |
| | | * @return a Processor which deletes an existing database |
| | | */ |
| | | public <T extends AbstractEntity> Processor createDeleteProcessor(EntityManager em, T entity) { |
| | | Database db = (Database) entity; |
| | | assert db.getInstance().equals("pgsql"); |
| | |
| | | aJDBCP.addSQL("DROP DATABASE " + aName); |
| | | return aJDBCP; |
| | | } |
| | | |
| | | } |