diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AzureDB.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AzureDB.java index ee75891c220e922d588e07ddd3331a5e7344a60a..f75e8d1d4f322ef6b6c6302549337ea8b2a550b4 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AzureDB.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/AzureDB.java @@ -94,6 +94,33 @@ public class AzureDB implements ISQLDataBase { } } + @Override + public PlayerStatistics getStatistics(String playerName) throws SQLException { + try(Connection connection = connect()) { + String sql = "SELECT games_won, games_lost, kills, deaths, blocks_destroyed, ingame_time FROM players WHERE player_name = ?"; + PreparedStatement stmt = connection.prepareStatement(sql); + stmt.setString(1, playerName); + + log.info("Sending SQL statement."); + ResultSet rs = stmt.executeQuery(); + if(rs.next() == false){ //if no data matches + throw new SQLException("No match on SQL database!"); + } + PlayerStatistics stats = new PlayerStatistics(0, 0, 0, 0, 0, 0); + while(rs.next()) { + stats = new PlayerStatistics(rs.getInt("games_won"), rs.getInt("games_lost"), rs.getInt("kills"), rs.getInt("deaths"), rs.getInt("blocks_destroyed"), rs.getInt("ingame_time")); + } + rs.close(); + stmt.close(); + log.info("Player statistics retrieved successfully from SQL server!"); + return stats; + } + catch(Exception e){ + log.error(e); + throw new SQLException("Error retrieving player statistics from SQL server! " + e.getMessage()); + } + } + @Override public MapData getCommunityMapByID(String mapID) throws SQLException { try(Connection connection = connect()) { @@ -129,6 +156,31 @@ public class AzureDB implements ISQLDataBase { } } + @Override + public String checkCredentials(String playerName) throws SQLException { + try(Connection connection = connect()) { + String sql = "SELECT player_pw FROM players WHERE player_name = ?"; + PreparedStatement stmt = connection.prepareStatement(sql); + stmt.setString(1, playerName); + + log.info("Sending SQL statement."); + ResultSet rs = stmt.executeQuery(); + + String password = ""; + while(rs.next()) { + password = rs.getString("player_pw"); + } + rs.close(); + stmt.close(); + log.info("Player credentials retrieved successfully from SQL server!"); + return password; + } + catch(Exception e){ + log.error(e); + throw new SQLException("Error retrieving retrieving player credentials from SQL server! " + e.getMessage()); + } + } + @Override public void uploadCommunityMap(MapData map) throws SQLException { try(Connection connection = connect()) { @@ -172,58 +224,6 @@ public class AzureDB implements ISQLDataBase { } } - @Override - public String checkCredentials(String playerName) throws SQLException { - try(Connection connection = connect()) { - String sql = "SELECT player_pw FROM players WHERE player_name = ?"; - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.setString(1, playerName); - - log.info("Sending SQL statement."); - ResultSet rs = stmt.executeQuery(); - - String password = ""; - while(rs.next()) { - password = rs.getString("player_pw"); - } - rs.close(); - stmt.close(); - log.info("Player credentials retrieved successfully from SQL server!"); - return password; - } - catch(Exception e){ - log.error(e); - throw new SQLException("Error retrieving retrieving player credentials from SQL server! " + e.getMessage()); - } - } - - @Override - public PlayerStatistics getStatistics(String playerName) throws SQLException { - try(Connection connection = connect()) { - String sql = "SELECT games_won, games_lost, kills, deaths, blocks_destroyed, ingame_time FROM players WHERE player_name = ?"; - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.setString(1, playerName); - - log.info("Sending SQL statement."); - ResultSet rs = stmt.executeQuery(); - if(rs.next() == false){ //if no data matches - throw new SQLException("No match on SQL database!"); - } - PlayerStatistics stats = new PlayerStatistics(0, 0, 0, 0, 0, 0); - while(rs.next()) { - stats = new PlayerStatistics(rs.getInt("games_won"), rs.getInt("games_lost"), rs.getInt("kills"), rs.getInt("deaths"), rs.getInt("blocks_destroyed"), rs.getInt("ingame_time")); - } - rs.close(); - stmt.close(); - log.info("Player statistics retrieved successfully from SQL server!"); - return stats; - } - catch(Exception e){ - log.error(e); - throw new SQLException("Error retrieving player statistics from SQL server! " + e.getMessage()); - } - } - @Override public void updatePlayerStats(PlayerStatistics stats, PlayerAccount account) throws SQLException { try(Connection connection = connect()) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/OracleDB.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/OracleDB.java index 2acc83f4847bd0f81b2978b8980407d4dd0df633..856fe24df247e972c4ed074ddddce4fd1f71a1ce 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/OracleDB.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/OracleDB.java @@ -95,6 +95,33 @@ public class OracleDB implements ISQLDataBase { } } + @Override + public PlayerStatistics getStatistics(String playerName) throws SQLException { + try(Connection connection = connect()) { + String sql = "SELECT games_won, games_lost, kills, deaths, blocks_destroyed, ingame_time FROM battlearenadata.players WHERE player_name = ?"; + PreparedStatement stmt = connection.prepareStatement(sql); + stmt.setString(1, playerName); + + log.info("Sending SQL statement."); + ResultSet rs = stmt.executeQuery(); + if(rs.next() == false){ //if no data matches + throw new SQLException("No match on SQL database!"); + } + PlayerStatistics stats = new PlayerStatistics(0, 0, 0, 0, 0, 0); + while(rs.next()) { + stats = new PlayerStatistics(rs.getInt("games_won"), rs.getInt("games_lost"), rs.getInt("kills"), rs.getInt("deaths"), rs.getInt("blocks_destroyed"), rs.getInt("ingame_time")); + } + rs.close(); + stmt.close(); + log.info("Player statistics retrieved successfully from SQL server!"); + return stats; + } + catch(Exception e){ + log.error(e); + throw new SQLException("Error retrieving player statistics from SQL server! " + e.getMessage()); + } + } + @Override public MapData getCommunityMapByID(String mapID) throws SQLException { try(Connection connection = connect()) { @@ -130,6 +157,31 @@ public class OracleDB implements ISQLDataBase { } } + @Override + public String checkCredentials(String playerName) throws SQLException { + try(Connection connection = connect()) { + String sql = "SELECT player_pw FROM battlearenadata.players WHERE player_name = ?"; + PreparedStatement stmt = connection.prepareStatement(sql); + stmt.setString(1, playerName); + + log.info("Sending SQL statement."); + ResultSet rs = stmt.executeQuery(); + + String password = ""; + while(rs.next()) { + password = rs.getString("player_pw"); + } + rs.close(); + stmt.close(); + log.info("Player credentials retrieved successfully from SQL server!"); + return password; + } + catch(Exception e){ + log.error(e); + throw new SQLException("Error retrieving retrieving player credentials from SQL server! " + e.getMessage()); + } + } + @Override public void uploadCommunityMap(MapData map) throws SQLException { try(Connection connection = connect()) { @@ -173,58 +225,6 @@ public class OracleDB implements ISQLDataBase { } } - @Override - public String checkCredentials(String playerName) throws SQLException { - try(Connection connection = connect()) { - String sql = "SELECT player_pw FROM battlearenadata.players WHERE player_name = ?"; - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.setString(1, playerName); - - log.info("Sending SQL statement."); - ResultSet rs = stmt.executeQuery(); - - String password = ""; - while(rs.next()) { - password = rs.getString("player_pw"); - } - rs.close(); - stmt.close(); - log.info("Player credentials retrieved successfully from SQL server!"); - return password; - } - catch(Exception e){ - log.error(e); - throw new SQLException("Error retrieving retrieving player credentials from SQL server! " + e.getMessage()); - } - } - - @Override - public PlayerStatistics getStatistics(String playerName) throws SQLException { - try(Connection connection = connect()) { - String sql = "SELECT games_won, games_lost, kills, deaths, blocks_destroyed, ingame_time FROM battlearenadata.players WHERE player_name = ?"; - PreparedStatement stmt = connection.prepareStatement(sql); - stmt.setString(1, playerName); - - log.info("Sending SQL statement."); - ResultSet rs = stmt.executeQuery(); - if(rs.next() == false){ //if no data matches - throw new SQLException("No match on SQL database!"); - } - PlayerStatistics stats = new PlayerStatistics(0, 0, 0, 0, 0, 0); - while(rs.next()) { - stats = new PlayerStatistics(rs.getInt("games_won"), rs.getInt("games_lost"), rs.getInt("kills"), rs.getInt("deaths"), rs.getInt("blocks_destroyed"), rs.getInt("ingame_time")); - } - rs.close(); - stmt.close(); - log.info("Player statistics retrieved successfully from SQL server!"); - return stats; - } - catch(Exception e){ - log.error(e); - throw new SQLException("Error retrieving player statistics from SQL server! " + e.getMessage()); - } - } - @Override public void updatePlayerStats(PlayerStatistics stats, PlayerAccount account) throws SQLException { try(Connection connection = connect()) {