/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package DataLayer; import FunctionLayer.SimilarityMatrix; import FunctionLayer.CustomError; import com.google.common.collect.MapMaker; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentMap; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author install1 */ public class DataMapper { public static void createTables() throws CustomError { Connection l_cCon = null; PreparedStatement l_pStatement = null; ResultSet l_rsSearch = null; try { l_cCon = DBCPDataSource.getConnection(); String l_sSQL = "CREATE TABLE IF NOT EXISTS `ArtificialAutism`.`Sentences` (`Strings` text NOT NULL)"; l_pStatement = l_cCon.prepareStatement(l_sSQL); l_pStatement.execute(); } catch (SQLException ex) { throw new CustomError("failed in DataMapper " + ex.getMessage()); } finally { CloseConnections(l_pStatement, l_rsSearch, l_cCon); } } public static ConcurrentMap getAllStrings() throws CustomError { ConcurrentMap allStrings = new MapMaker().concurrencyLevel(2).makeMap(); Connection l_cCon = null; PreparedStatement l_pStatement = null; ResultSet l_rsSearch = null; try { l_cCon = DBCPDataSource.getConnection(); String l_sSQL = "SELECT * FROM `Sentences`"; l_pStatement = l_cCon.prepareStatement(l_sSQL); l_rsSearch = l_pStatement.executeQuery(); int ij = 0; while (l_rsSearch.next()) { allStrings.put(ij, l_rsSearch.getString(1)); ij++; } } catch (SQLException ex) { throw new CustomError("failed in DataMapper " + ex.getMessage()); } finally { CloseConnections(l_pStatement, l_rsSearch, l_cCon); } return allStrings; } public static void InsertMYSQLStrings(ConcurrentMap str) throws CustomError { Connection l_cCon = null; PreparedStatement l_pStatement = null; ResultSet l_rsSearch = null; String l_sSQL = "INSERT IGNORE `Sentences` (`Strings`) VALUES (?)"; try { l_cCon = DBCPDataSource.getConnection(); l_pStatement = l_cCon.prepareStatement(l_sSQL); for (String str1 : str.values()) { //System.out.println("adding str1: " + str1 + "\n"); l_pStatement.setString(1, str1); l_pStatement.addBatch(); } l_pStatement.executeBatch(); } catch (SQLException ex) { throw new CustomError("failed in DataMapper " + ex.getMessage()); } finally { CloseConnections(l_pStatement, l_rsSearch, l_cCon); } } public static ConcurrentMap getHLstatsMessages() { ConcurrentMap hlStatsMessages = new MapMaker().concurrencyLevel(2).makeMap(); try (Connection l_cCon = DBCPDataSourceHLstats.getConnection()) { String l_sSQL = "SELECT message FROM `hlstats_Events_Chat`"; try (PreparedStatement l_pStatement = l_cCon.prepareStatement(l_sSQL)) { try (ResultSet l_rsSearch = l_pStatement.executeQuery()) { while (l_rsSearch.next()) { hlStatsMessages.put(hlStatsMessages.size() + 1, l_rsSearch.getString(1)); } } } } catch (SQLException ex) { Logger.getLogger(DataMapper.class.getName()).log(Level.SEVERE, null, ex); } return hlStatsMessages; } public static void CloseConnections(PreparedStatement ps, ResultSet rs, Connection con) { if (rs != null) { try { rs.close(); } catch (SQLException ex) { Logger.getLogger(DataMapper.class.getName()).log(Level.SEVERE, null, ex); } } if (ps != null) { try { ps.close(); } catch (SQLException ex) { Logger.getLogger(DataMapper.class.getName()).log(Level.SEVERE, null, ex); } } if (con != null) { try { con.close(); } catch (SQLException ex) { Logger.getLogger(DataMapper.class.getName()).log(Level.SEVERE, null, ex); } } } }