Package org.languagetool.server
Class DatabaseAccess
- java.lang.Object
-
- org.languagetool.server.DatabaseAccess
-
class DatabaseAccess extends java.lang.Object
Encapsulate database access. Will do nothing if database access is not configured.- Since:
- 4.2
-
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.cache.Cache<java.lang.String,java.lang.Long>
dbLoggingCache
private static DatabaseAccess
instance
private static org.slf4j.Logger
logger
private static org.apache.ibatis.session.SqlSessionFactory
sqlSessionFactory
private com.google.common.cache.Cache<java.lang.Long,java.util.List<UserDictEntry>>
userDictCache
-
Constructor Summary
Constructors Modifier Constructor Description private
DatabaseAccess(HTTPServerConfig config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
addWord(java.lang.String word, java.lang.Long userId)
static void
createAndFillTestTables()
For unit tests only!static void
createAndFillTestTables(boolean mysql)
For unit tests only!static void
deleteTestTables()
For unit tests only!(package private) boolean
deleteWord(java.lang.String word, java.lang.Long userId)
(package private) static java.sql.ResultSet
executeStatement(org.apache.ibatis.jdbc.SQL sql)
For unit tests only(package private) static DatabaseAccess
getInstance()
(package private) java.lang.Long
getOrCreateClientId(java.lang.String client)
(package private) java.lang.Long
getOrCreateServerId()
(package private) java.util.List<java.lang.String>
getUserDictWords(java.lang.Long userId)
(package private) java.lang.Long
getUserId(java.lang.String username, java.lang.String apiKey)
(package private) java.util.List<UserDictEntry>
getWords(java.lang.Long userId, int offset, int limit)
(package private) static void
init(HTTPServerConfig config)
private void
validateWord(java.lang.String word)
-
-
-
Field Detail
-
instance
private static DatabaseAccess instance
-
sqlSessionFactory
private static org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory
-
logger
private static final org.slf4j.Logger logger
-
userDictCache
private final com.google.common.cache.Cache<java.lang.Long,java.util.List<UserDictEntry>> userDictCache
-
dbLoggingCache
private final com.google.common.cache.Cache<java.lang.String,java.lang.Long> dbLoggingCache
-
-
Constructor Detail
-
DatabaseAccess
private DatabaseAccess(HTTPServerConfig config)
-
-
Method Detail
-
init
static void init(HTTPServerConfig config)
-
getInstance
static DatabaseAccess getInstance()
-
getUserDictWords
java.util.List<java.lang.String> getUserDictWords(java.lang.Long userId)
-
getWords
java.util.List<UserDictEntry> getWords(java.lang.Long userId, int offset, int limit)
-
addWord
boolean addWord(java.lang.String word, java.lang.Long userId)
-
getUserId
java.lang.Long getUserId(java.lang.String username, java.lang.String apiKey)
-
deleteWord
boolean deleteWord(java.lang.String word, java.lang.Long userId)
-
getOrCreateServerId
java.lang.Long getOrCreateServerId()
- Since:
- 4.3
-
getOrCreateClientId
java.lang.Long getOrCreateClientId(java.lang.String client)
- Since:
- 4.3
-
validateWord
private void validateWord(java.lang.String word)
-
createAndFillTestTables
public static void createAndFillTestTables()
For unit tests only!
-
createAndFillTestTables
public static void createAndFillTestTables(boolean mysql)
For unit tests only!
-
deleteTestTables
public static void deleteTestTables()
For unit tests only!
-
executeStatement
static java.sql.ResultSet executeStatement(org.apache.ibatis.jdbc.SQL sql) throws java.sql.SQLException
For unit tests only- Throws:
java.sql.SQLException
-
-