update dao

This commit is contained in:
GME 2019-04-17 23:22:05 +02:00
parent 58f866fef0
commit f526853722
5 changed files with 60 additions and 72 deletions

View file

@ -10,6 +10,7 @@ public class DatabaseHelper {
private static final String DATABASE_PWD = "vHEQszGXcJ6;/)}z!V";
private final static String DATABASE_URL = "jdbc:postgresql://37.187.101.44:5432/"+DATABASE_NAME;
public ConnectionSource setupDatabaseConnection(){
try{
return new JdbcConnectionSource(DATABASE_URL, DATABASE_USER, DATABASE_PWD);

View file

@ -16,23 +16,26 @@ import java.util.List;
public class WalletDao {
private DatabaseHelper dbh = new DatabaseHelper();
private Dao<Wallet, String> walletDao;
private Dao createWalletDaoConnection(){
private boolean sessionOpen = false;
private void createWalletDaoConnection(){
try {
return DaoManager.createDao(dbh.setupDatabaseConnection(),Wallet.class);
if(!sessionOpen){
walletDao = DaoManager.createDao(dbh.setupDatabaseConnection(),Wallet.class);
sessionOpen=true;
}
}catch (Exception e){
System.out.println(e.getMessage());
return null;
e.printStackTrace();
}
}
public void addWallet(Wallet wallet)throws Exception {
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
walletDao.create(wallet);
}
public Wallet getWallet(String walletHash) throws Exception {
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
QueryBuilder<Wallet, String> queryBuilder = walletDao.queryBuilder();
queryBuilder.where().eq("wallet_hash",walletHash).and().eq("is_active",true);
PreparedQuery<Wallet> preparedQuery = queryBuilder.prepare();
@ -40,8 +43,7 @@ public class WalletDao {
}
public void updateWalletBalance(String walletHash, double newBalance) throws Exception {
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
UpdateBuilder<Wallet, String> updateBuilder = walletDao.updateBuilder();
long now = Instant.now().toEpochMilli();
updateBuilder.updateColumnValue("balance",newBalance);
@ -51,7 +53,7 @@ public class WalletDao {
}
public List<Wallet> getUserWallet(String userHash) throws Exception {
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
QueryBuilder<Wallet, String> queryBuilder = walletDao.queryBuilder();
queryBuilder.where().eq("user_hash",userHash).and().eq("is_active",true);
PreparedQuery<Wallet> preparedQuery = queryBuilder.prepare();
@ -59,7 +61,7 @@ public class WalletDao {
}
public List<Wallet> getUserOldWallets(String userHash) throws Exception{
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
QueryBuilder<Wallet, String> queryBuilder = walletDao.queryBuilder();
queryBuilder.where().eq("user_hash",userHash).and().eq("is_active",false);
PreparedQuery<Wallet> preparedQuery = queryBuilder.prepare();
@ -67,7 +69,7 @@ public class WalletDao {
}
public void transferWallet(String walletHash, String newUserHash) throws Exception{
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
UpdateBuilder<Wallet, String> updateBuilder = walletDao.updateBuilder();
updateBuilder.updateColumnValue("user_hash",newUserHash);
long now = Instant.now().toEpochMilli();
@ -77,7 +79,7 @@ public class WalletDao {
}
public void deleteWallet(String walletHash, String userHash) throws Exception{
walletDao = createWalletDaoConnection();
createWalletDaoConnection();
UpdateBuilder<Wallet, String> updateBuilder = walletDao.updateBuilder();
updateBuilder.updateColumnValue("is_active",false);
long now = Instant.now().toEpochMilli();

View file

@ -9,24 +9,27 @@ import java.time.Instant;
public class SessionDao {
private DatabaseHelper dbh = new DatabaseHelper();
private Dao<Session, String> sessionDao;
private Dao createSessionDaoConnection(){
private boolean sessionOpen = false;
private void createSessionDaoConnection(){
try {
return DaoManager.createDao(dbh.setupDatabaseConnection(),Session.class);
if(!sessionOpen){
sessionDao = DaoManager.createDao(dbh.setupDatabaseConnection(),Session.class);
sessionOpen=true;
}
}catch (Exception e){
System.out.println(e.getMessage());
return null;
e.printStackTrace();
}
}
public int setStartSession(Session session) throws Exception {
sessionDao = createSessionDaoConnection();
createSessionDaoConnection();
sessionDao.create(session);
return session.getSession_id();
}
public void setEndSession(int session_id) throws Exception {
sessionDao = createSessionDaoConnection();
createSessionDaoConnection();
UpdateBuilder<Session,String> updateBuilder = sessionDao.updateBuilder();
long now = Instant.now().toEpochMilli();
updateBuilder.updateColumnValue("end_session",now);

View file

@ -11,33 +11,25 @@ import java.util.List;
public class TransactionDao {
private DatabaseHelper dbh = new DatabaseHelper();
private Dao<Transaction, String> transactionDao;
private Dao createTransactionDaoConnection(){
private boolean sessionOpen = false;
private void createTransactionDaoConnection(){
try {
return DaoManager.createDao(dbh.setupDatabaseConnection(),Transaction.class);
if(!sessionOpen){
transactionDao = DaoManager.createDao(dbh.setupDatabaseConnection(),Transaction.class);
sessionOpen=true;
}
}catch (Exception e){
System.out.println(e.getMessage());
return null;
e.printStackTrace();
}
}
public void addTransaction(Transaction transaction)throws Exception{
transactionDao = createTransactionDaoConnection();
createTransactionDaoConnection();
transactionDao.create(transaction);
}
public List<Transaction> getWalletTransactions(String wallet_hash)throws Exception{
transactionDao = createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transaction_from",wallet_hash).or().eq("transaction_to",wallet_hash);
queryBuilder.orderBy("transaction_date",false);
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
return transactionDao.query(preparedQuery);
}
/*
public List<Transaction> getTenLastUserTransactions(String wallet_hash)throws Exception{
transactionDao = createTransactionDaoConnection();
createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transaction_from",wallet_hash).or().eq("transaction_to",wallet_hash);
queryBuilder.limit(new Long(10));
@ -45,10 +37,9 @@ public class TransactionDao {
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
return transactionDao.query(preparedQuery);
}
*/
public Transaction getTransaction(String wallet_hash, String transaction_hash)throws Exception{
transactionDao = createTransactionDaoConnection();
createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transaction_to",wallet_hash).or().eq("transaction_from",wallet_hash).and().eq("transaction_hash",transaction_hash);
PreparedQuery<Transaction> preparedQuery = queryBuilder.prepare();
@ -56,7 +47,7 @@ public class TransactionDao {
}
public List<Transaction> getUserSentTransaction(String wallet_hash)throws Exception{
transactionDao = createTransactionDaoConnection();
createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transaction_from",wallet_hash);
queryBuilder.orderBy("transaction_date",false);
@ -65,7 +56,7 @@ public class TransactionDao {
}
public List<Transaction> getUserReceivedTransaction(String wallet_hash)throws Exception{
transactionDao = createTransactionDaoConnection();
createTransactionDaoConnection();
QueryBuilder<Transaction, String> queryBuilder = transactionDao.queryBuilder();
queryBuilder.where().eq("transaction_to",wallet_hash);
queryBuilder.orderBy("transaction_date",false);
@ -73,5 +64,4 @@ public class TransactionDao {
return transactionDao.query(preparedQuery);
}
}

View file

@ -12,24 +12,26 @@ import java.time.Instant;
//Class to communicate with database with ORMLite
public class UserDao {
private DatabaseHelper dbh = new DatabaseHelper();
private Dao createUserDaoConnection(){
private boolean sessionOpen = false;
private Dao<User, String> userDao ;
private void createUserDaoConnection(){
try {
return DaoManager.createDao(dbh.setupDatabaseConnection(),User.class);
if(!sessionOpen){
userDao = DaoManager.createDao(dbh.setupDatabaseConnection(),User.class);
sessionOpen = true;
}
}catch (Exception e){
System.out.println(e.getMessage());
return null;
e.printStackTrace();
}
}
public void addUser(User user)throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
userDao.create(user);
}
public boolean checkApprovedUser(String email) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("email",email);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -38,8 +40,7 @@ public class UserDao {
}
public boolean checkVerifiedUser(String email) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("email",email);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -48,8 +49,7 @@ public class UserDao {
}
public boolean updateUserPassword(String email, String password) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
updateBuilder.updateColumnValue("password",password);
long now = Instant.now().toEpochMilli();
@ -65,16 +65,14 @@ public class UserDao {
}
public void deleteUser(String email) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
DeleteBuilder<User, String> deleteBuilder = userDao.deleteBuilder();
deleteBuilder.where().eq("email",email);
deleteBuilder.delete();
}
public boolean verifyUserExist(String email) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("email",email);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -88,6 +86,7 @@ public class UserDao {
}
public boolean checkUserPassword(String email, String password) throws Exception {
createUserDaoConnection();
User user = getUserWithEmail(email);
if(password.equals(user.getPassword())){
return true;
@ -97,11 +96,10 @@ public class UserDao {
}
public User getUserWithEmail(String email) throws Exception {
Dao<User, String> userDao;
createUserDaoConnection();
if(!verifyUserExist(email)){
return null;
}else{
userDao = createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("email",email);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -110,8 +108,7 @@ public class UserDao {
}
public User getUserWithPhone(String phone) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("phone",phone);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -119,8 +116,7 @@ public class UserDao {
}
public User getUserWithMailAndPhone(String email, String phone) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("email",email).and().eq("phone",phone);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -128,8 +124,7 @@ public class UserDao {
}
public User getUserWithHash(String userHash) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User,String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("user_hash",userHash);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -137,8 +132,7 @@ public class UserDao {
}
public int getUserIdWithHashAndEmail(String userHash, String userEmail) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
QueryBuilder<User,String> queryBuilder = userDao.queryBuilder();
queryBuilder.where().eq("user_hash",userHash).and().eq("email",userEmail);
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
@ -147,8 +141,7 @@ public class UserDao {
}
public void approveUser (String email) throws Exception {
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
updateBuilder.updateColumnValue("approved",true);
long now = Instant.now().toEpochMilli();
@ -158,8 +151,7 @@ public class UserDao {
}
public void verifyUser (String email) throws Exception{
Dao<User, String> userDao;
userDao = createUserDaoConnection();
createUserDaoConnection();
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
updateBuilder.updateColumnValue("verified",true);
long now = Instant.now().toEpochMilli();