forked from External/mage
74 lines
2.3 KiB
Java
74 lines
2.3 KiB
Java
package mage.db;
|
|
|
|
import com.j256.ormlite.dao.Dao;
|
|
import com.j256.ormlite.dao.DaoManager;
|
|
import com.j256.ormlite.jdbc.JdbcConnectionSource;
|
|
import com.j256.ormlite.support.ConnectionSource;
|
|
import com.j256.ormlite.table.TableUtils;
|
|
import mage.db.model.Feedback;
|
|
import mage.db.model.Log;
|
|
import mage.utils.properties.PropertiesUtil;
|
|
|
|
import java.io.File;
|
|
import java.sql.SQLException;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author noxx, North
|
|
*/
|
|
public enum EntityManager {
|
|
|
|
instance;
|
|
|
|
private Dao<Log, Object> logDao;
|
|
private Dao<Feedback, Object> feedbackDao;
|
|
|
|
private EntityManager() {
|
|
File file = new File("db");
|
|
if (!file.exists()) {
|
|
file.mkdirs();
|
|
}
|
|
try {
|
|
ConnectionSource logConnectionSource = new JdbcConnectionSource(PropertiesUtil.getDBLogUrl());
|
|
TableUtils.createTableIfNotExists(logConnectionSource, Log.class);
|
|
logDao = DaoManager.createDao(logConnectionSource, Log.class);
|
|
|
|
ConnectionSource feedbackConnectionSource = new JdbcConnectionSource(PropertiesUtil.getDBFeedbackUrl());
|
|
TableUtils.createTableIfNotExists(feedbackConnectionSource, Feedback.class);
|
|
feedbackDao = DaoManager.createDao(feedbackConnectionSource, Feedback.class);
|
|
} catch (SQLException ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void insertLog(String key, java.util.Date date, String... args) throws SQLException {
|
|
Log logEntity = new Log(key, date);
|
|
logEntity.setArguments(args);
|
|
logDao.create(logEntity);
|
|
}
|
|
|
|
public List<Log> getAllLogs() {
|
|
List<Log> logs = new ArrayList<>();
|
|
try {
|
|
logs = logDao.queryForAll();
|
|
} catch (SQLException ex) {
|
|
}
|
|
|
|
return logs;
|
|
}
|
|
|
|
public void insertFeedback(String username, String title, String type, String message, String email, String host, java.util.Date created) throws SQLException {
|
|
Feedback feedback = new Feedback(username, title, type, message, email, host, created, "new");
|
|
feedbackDao.create(feedback);
|
|
}
|
|
|
|
public List<Feedback> getAllFeedbacks() {
|
|
List<Feedback> feedbacks = new ArrayList<>();
|
|
try {
|
|
feedbacks = feedbackDao.queryForAll();
|
|
} catch (SQLException ex) {
|
|
}
|
|
return feedbacks;
|
|
}
|
|
}
|