Merge branch 'master' of ssh://dev.hostsharing.net:29418/hsadmin/hs.hsadmin

This commit is contained in:
Michael Hierweck 2017-09-20 21:06:07 +02:00
commit f9be1a497c
5 changed files with 34 additions and 26 deletions

View File

@ -6,33 +6,37 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
import de.hsadmin.core.util.Config;
import de.hsadmin.core.util.TextUtil;
public class JDBCProcessor extends AbstractProcessor {
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(JDBCProcessor.class.getName());
final private String driver;
final private String url;
final private String user;
final private String password;
final private List<String> sql;
private String errorMsg;
public JDBCProcessor(final String driver, final String url, final String user, final String password) {
public JDBCProcessor(final String driver, final String url) throws ProcessorException {
this.driver = driver;
this.url = url;
this.user = user;
this.password = password;
this.errorMsg = "";
this.sql = new ArrayList<String>();
}
public JDBCProcessor(final String driver, final String url) throws ProcessorException {
this.driver = driver;
this.url = url;
public void addSQL(String sqlStatement) {
sql.add(sqlStatement);
}
public Object process() throws ProcessorException {
Connection c = null;
String user, password;
final Config config = Config.getInstance();
if ("com.mysql.jdbc.Driver".equals(driver)) {
user = config.getProperty("mysqladmin.user", "root");
@ -45,16 +49,7 @@ public class JDBCProcessor extends AbstractProcessor {
throw new ProcessorException("database admin-user configuration failed");
}
}
this.errorMsg = "";
this.sql = new ArrayList<String>();
}
public void addSQL(String sqlStatement) {
sql.add(sqlStatement);
}
public Object process() throws ProcessorException {
Connection c = null;
LOG.info("process() - DB-User: " + user + " Password: " + TextUtil.hidePassword(password));
try {
Class.forName(driver);
c = DriverManager.getConnection(url, user, password);

View File

@ -3,11 +3,14 @@ package de.hsadmin.core.util;
import java.io.File;
import java.io.FileReader;
import java.util.Properties;
import java.util.logging.Logger;
public class Config {
private static Config instance;
private static Logger LOG = Logger.getLogger(Config.class.getName());
private Properties props;
private Config() {
@ -27,6 +30,7 @@ public class Config {
}
if (file.canRead()) {
try {
LOG.info("Constructor - Properties-File: " + file.getAbsolutePath());
props.load(new FileReader(file));
} catch (Exception e) {
// should not happen

View File

@ -76,4 +76,12 @@ public class TextUtil {
return parsedValue;
}
public static synchronized String hidePassword(String passwd) {
StringBuffer val = new StringBuffer(passwd.substring(0, 2));
for (int i = 2; i < passwd.length(); i++) {
val.append('*');
}
return val.toString();
}
}

View File

@ -15,11 +15,12 @@ import de.hsadmin.core.qserv.ProcessorException;
* @author mi
*/
public class MySqlDatabaseProcessorFactory implements EntityProcessorFactory {
public static JDBCProcessor createMySqlProcessor(String database,
String user, String password) {
return new JDBCProcessor("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost/" + database, user, password);
}
// public static JDBCProcessor createMySqlProcessor(String database,
// String user, String password) {
// return new JDBCProcessor("com.mysql.jdbc.Driver",
// "jdbc:mysql://localhost/" + database, user, password);
// }
public static JDBCProcessor createMySqlAdminProcessor() throws ProcessorException {
return new JDBCProcessor("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/");

View File

@ -10,9 +10,9 @@ import de.hsadmin.core.qserv.ProcessorException;
public class PgSqlDatabaseProcessorFactory implements EntityProcessorFactory {
public static JDBCProcessor createPostgreSqlProcessor(String user, String password) {
return new JDBCProcessor("org.postgresql.Driver", "jdbc:postgresql://localhost/template1", user, password);
}
// public static JDBCProcessor createPostgreSqlProcessor(String user, String password) {
// return new JDBCProcessor("org.postgresql.Driver", "jdbc:postgresql://localhost/template1", user, password);
// }
public static JDBCProcessor createPostgreSqlAdminProcessor() throws ProcessorException {
return new JDBCProcessor("org.postgresql.Driver", "jdbc:postgresql://localhost/template1");