start new versioning
This commit is contained in:
parent
74e45a1548
commit
221c930a32
3 changed files with 1 additions and 231 deletions
|
@ -5,13 +5,11 @@ plugins {
|
||||||
|
|
||||||
group 'BOT'
|
group 'BOT'
|
||||||
|
|
||||||
version '10.1'
|
version '1.0.0'
|
||||||
|
|
||||||
def jdaVersion = '4.2.0_225'
|
def jdaVersion = '4.2.0_225'
|
||||||
def jdautilitiesVersion = '2.1.5'
|
|
||||||
def jsonsimpleVersion = '1.1.1'
|
def jsonsimpleVersion = '1.1.1'
|
||||||
def jodatimeVersion = '2.10.6'
|
def jodatimeVersion = '2.10.6'
|
||||||
def jdbcVersion = '8.0.19'
|
|
||||||
def self4JVersion = '1.7.30'
|
def self4JVersion = '1.7.30'
|
||||||
def log4jVersion = '2.13.3'
|
def log4jVersion = '2.13.3'
|
||||||
def JSON = '4.12.0'
|
def JSON = '4.12.0'
|
||||||
|
@ -26,10 +24,8 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile "net.dv8tion:JDA:$jdaVersion"
|
compile "net.dv8tion:JDA:$jdaVersion"
|
||||||
// compile "com.jagrosh:jda-utilities:$jdautilitiesVersion"
|
|
||||||
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: jsonsimpleVersion
|
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: jsonsimpleVersion
|
||||||
compile group: 'joda-time', name: 'joda-time', version: jodatimeVersion
|
compile group: 'joda-time', name: 'joda-time', version: jodatimeVersion
|
||||||
// compile group: 'mysql', name: 'mysql-connector-java', version: jdbcVersion
|
|
||||||
compile group: 'org.slf4j', name: 'slf4j-api', version: self4JVersion
|
compile group: 'org.slf4j', name: 'slf4j-api', version: self4JVersion
|
||||||
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: self4JVersion
|
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: self4JVersion
|
||||||
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4jVersion
|
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4jVersion
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
package IO;
|
|
||||||
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class Bash {
|
|
||||||
|
|
||||||
public static void runBash(String command){
|
|
||||||
|
|
||||||
LoggerFactory.getLogger(Bash.class).debug("run bash command: " + command);
|
|
||||||
|
|
||||||
String[] cmd = new String[]{"/bin/sh", command};
|
|
||||||
try {
|
|
||||||
Runtime.getRuntime().exec(cmd);
|
|
||||||
} catch (IOException e){
|
|
||||||
LoggerFactory.getLogger(Bash.class).error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,204 +0,0 @@
|
||||||
package IO;
|
|
||||||
|
|
||||||
import org.joda.time.Period;
|
|
||||||
import org.json.simple.JSONObject;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.sql.*;
|
|
||||||
import java.util.Timer;
|
|
||||||
import java.util.TimerTask;
|
|
||||||
|
|
||||||
public class MySQL {
|
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(MySQL.class);
|
|
||||||
|
|
||||||
//////////////////////Variablen//////////////////////////
|
|
||||||
private Connection conn;
|
|
||||||
private Statement stmt;
|
|
||||||
private ResultSet something;
|
|
||||||
private String driverName = "com.mysql.cj.jdbc.Driver";
|
|
||||||
private JSONObject config;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates connection to Database
|
|
||||||
*
|
|
||||||
* Inspired by https://www.vogella.com/tutorials/MySQLJava/article.html
|
|
||||||
*
|
|
||||||
* @param config Bot config for data
|
|
||||||
*/
|
|
||||||
public MySQL(JSONObject config) {
|
|
||||||
this.config = config;
|
|
||||||
|
|
||||||
try {
|
|
||||||
//load driver / config driver
|
|
||||||
logger.debug("Lade DB Treiber");
|
|
||||||
Class driver_class = Class.forName(driverName);
|
|
||||||
Driver dbdriver = (Driver) driver_class.newInstance();
|
|
||||||
DriverManager.registerDriver(dbdriver);
|
|
||||||
|
|
||||||
try {
|
|
||||||
logger.debug("Create connection to Database");
|
|
||||||
//Create connection
|
|
||||||
conn = DriverManager.getConnection("jdbc:" + config.get("SQLServerUrl") + config.get("SQLDBNname") + config.get("SQLDBparameter"), (String) config.get("SQLDBUser"), (String) config.get("SQLDBPassword"));
|
|
||||||
} catch (SQLException e) {
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
} catch (Exception e){
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetS selfchek going
|
|
||||||
Timer timer = new Timer();
|
|
||||||
timer.scheduleAtFixedRate(new TimerTask() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
stmt = conn.createStatement();
|
|
||||||
|
|
||||||
//SQL Command
|
|
||||||
something = stmt.executeQuery("SELECT 1 FROM Guild;");
|
|
||||||
} catch (Exception e){
|
|
||||||
logger.error("Database is down! Reconnect!");
|
|
||||||
reload();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
1000L, 1000*60*15L);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* prepare, execute a SQL query and returns result
|
|
||||||
*
|
|
||||||
* @param pInput SQL Query as String
|
|
||||||
* @return ResultSet Result of query as ResultSet
|
|
||||||
*/
|
|
||||||
public ResultSet mySQLDataQuery(String pInput){
|
|
||||||
logger.debug("execute SQLQuerry: " + pInput);
|
|
||||||
|
|
||||||
try {
|
|
||||||
//Create statement
|
|
||||||
stmt = conn.createStatement();
|
|
||||||
|
|
||||||
//SQL Command
|
|
||||||
something = stmt.executeQuery(pInput);
|
|
||||||
} catch (SQLNonTransientConnectionException ex) {
|
|
||||||
logger.error(ex.getMessage());
|
|
||||||
|
|
||||||
//Something happend reload connection
|
|
||||||
reload();
|
|
||||||
//redo querry
|
|
||||||
//return mySQLDataQuery(pInput);
|
|
||||||
|
|
||||||
} catch (SQLException e){
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
return something;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* prepare, execute a SQLUpdate query and returns result
|
|
||||||
* checks for simple SQL injection
|
|
||||||
*
|
|
||||||
* @param pInput SQL Query Blueprint as String
|
|
||||||
* @param pParameter Data for Blueprint
|
|
||||||
* @return key ID of created data INDEX
|
|
||||||
*/
|
|
||||||
public int mySQLDataUpdate(String pInput, String[] pParameter){
|
|
||||||
logger.debug("execute SQLUpdate:" + pInput);
|
|
||||||
int key = -1;
|
|
||||||
|
|
||||||
PreparedStatement stmt = null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
conn.setAutoCommit(false);
|
|
||||||
|
|
||||||
//set Blueprint
|
|
||||||
stmt = conn.prepareStatement(pInput);
|
|
||||||
|
|
||||||
// Replace Wildcards with Data
|
|
||||||
for(int i = 0; i < pParameter.length; i++){
|
|
||||||
|
|
||||||
stmt.setString(i+1, pParameter[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//logger.debug("Execute update");
|
|
||||||
stmt.executeUpdate();
|
|
||||||
conn.commit();
|
|
||||||
|
|
||||||
//get generated INDEX IDs
|
|
||||||
conn.setAutoCommit(false);
|
|
||||||
Statement stmt2 = null;
|
|
||||||
stmt2 = conn.createStatement();
|
|
||||||
ResultSet tmp = stmt2.executeQuery("SELECT LAST_INSERT_ID();");
|
|
||||||
|
|
||||||
if(tmp.next()){
|
|
||||||
key = Integer.parseInt(tmp.getString(1));
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (SQLNonTransientConnectionException ex) {
|
|
||||||
logger.error(ex.getMessage());
|
|
||||||
//Something happend reload connection
|
|
||||||
reload();
|
|
||||||
//redo querry
|
|
||||||
//return mySQLDataUpdate(pInput, pParameter);
|
|
||||||
|
|
||||||
} catch (SQLException e ) {
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
return key;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* closes current connection and reload it
|
|
||||||
*/
|
|
||||||
private void reload(){
|
|
||||||
cleanUp();
|
|
||||||
|
|
||||||
try {
|
|
||||||
//load driver / config driver
|
|
||||||
logger.debug("Lade DB Treiber");
|
|
||||||
Class driver_class = Class.forName(driverName);
|
|
||||||
Driver dbdriver = (Driver) driver_class.newInstance();
|
|
||||||
DriverManager.registerDriver(dbdriver);
|
|
||||||
|
|
||||||
try {
|
|
||||||
logger.debug("Create connection to Database");
|
|
||||||
//Create connection
|
|
||||||
conn = DriverManager.getConnection("jdbc:" + config.get("SQLServerUrl") + config.get("SQLDBNname") + config.get("SQLDBparameter"), (String) config.get("SQLDBUser"), (String) config.get("SQLDBPassword"));
|
|
||||||
} catch (SQLException e) {
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
} catch (Exception e){
|
|
||||||
logger.error(e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Inspired by https://www.vogella.com/tutorials/MySQLJava/article.html
|
|
||||||
*
|
|
||||||
* CleanUp of SQL connection
|
|
||||||
*/
|
|
||||||
public void cleanUp(){
|
|
||||||
logger.debug("Close database connection");
|
|
||||||
try {
|
|
||||||
if (something != null)
|
|
||||||
something.close();
|
|
||||||
|
|
||||||
if (stmt != null)
|
|
||||||
stmt.close();
|
|
||||||
|
|
||||||
conn.setAutoCommit(true);
|
|
||||||
|
|
||||||
if (conn != null)
|
|
||||||
conn.close();
|
|
||||||
|
|
||||||
something = null;
|
|
||||||
stmt = null;
|
|
||||||
conn = null;
|
|
||||||
} catch(SQLException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue