Addressed review comments.

This commit is contained in:
Raman Arora
2020-07-09 14:45:58 -04:00
parent 4426bba358
commit c19ff6cf96
8 changed files with 49 additions and 53 deletions
@@ -230,7 +230,7 @@ public final class CentralRepoAccount {
params.add("%" + accountIdentifierSubstring + "%");
AccountsQueryCallback queryCallback = new AccountsQueryCallback();
CentralRepository.getInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
CentralRepository.getInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getAccountsList();
}
@@ -263,7 +263,7 @@ public final class CentralRepoAccount {
params.add(normalizedAccountIdentifier);
AccountsQueryCallback queryCallback = new AccountsQueryCallback();
CentralRepository.getInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
CentralRepository.getInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getAccountsList();
}
@@ -284,7 +284,7 @@ public final class CentralRepoAccount {
List<Object> params = new ArrayList<>(); // empty param list
AccountsQueryCallback queryCallback = new AccountsQueryCallback();
CentralRepository.getInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
CentralRepository.getInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getAccountsList();
}
@@ -841,7 +841,7 @@ public interface CentralRepository {
*
* @throws CentralRepoException If there is an error.
*/
void executeSqlAsPreparedStatement(String sql, List<Object> params) throws CentralRepoException;
void executeCommand(String sql, List<Object> params) throws CentralRepoException;
/**
* Executes a SELECT query sql as a prepared statement, on the central
@@ -853,7 +853,7 @@ public interface CentralRepository {
*
* @throws CentralRepoException If there is an error.
*/
void executeQueryAsPreparedStatement(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException;
void executeQuery(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException;
/**
* Get account type by type name.
@@ -250,7 +250,7 @@ public class Persona {
params.add(status.getStatusId());
params.add(examiner.getId());
getCRInstance().executeSqlAsPreparedStatement(insertPersonaSQL, params);
getCRInstance().executeCommand(insertPersonaSQL, params);
return getPersonaByUUID(uuidStr);
}
@@ -269,7 +269,7 @@ public class Persona {
params.add(StringUtils.isBlank(comment) ? "" : comment);
params.add(id);
getCRInstance().executeSqlAsPreparedStatement(updateSQL, params);
getCRInstance().executeCommand(updateSQL, params);
}
}
@@ -288,7 +288,7 @@ public class Persona {
params.add(StringUtils.isBlank(name) ? getDefaultName() : name);
params.add(id);
getCRInstance().executeSqlAsPreparedStatement(updateSQL, params);
getCRInstance().executeCommand(updateSQL, params);
}
}
@@ -345,7 +345,7 @@ public class Persona {
params.add(PersonaStatus.DELETED.getStatusId());
params.add(id);
getCRInstance().executeSqlAsPreparedStatement(deleteSQL, params);
getCRInstance().executeCommand(deleteSQL, params);
}
}
@@ -413,7 +413,7 @@ public class Persona {
params.add(uuid);
PersonaQueryCallback queryCallback = new PersonaQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
getCRInstance().executeQuery(queryClause, params, queryCallback);
Collection<Persona> personas = queryCallback.getPersonas();
@@ -442,7 +442,7 @@ public class Persona {
params.add("%" + partialName + "%"); // partial substring search
PersonaQueryCallback queryCallback = new PersonaQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
getCRInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getPersonas();
}
@@ -475,7 +475,7 @@ public class Persona {
params.add("%" + partialName + "%"); // partial substring search
params.add(PersonaStatus.DELETED.getStatusId());
getCRInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
getCRInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getPersonas();
}
@@ -642,7 +642,7 @@ public class Persona {
params.add(account.getId());
CaseForAccountInstanceQueryCallback queryCallback = new CaseForAccountInstanceQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySql, params, queryCallback);
getCRInstance().executeQuery(querySql, params, queryCallback);
// Add any cases that aren't already on the list.
for (CorrelationCase corrCase : queryCallback.getCases()) {
@@ -708,7 +708,7 @@ public class Persona {
params.add(account.getId());
DatasourceForAccountInstanceQueryCallback queryCallback = new DatasourceForAccountInstanceQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySql, params, queryCallback);
getCRInstance().executeQuery(querySql, params, queryCallback);
// Add any data sources that aren't already on the list.
for (CorrelationDataSource correlationDatasource : queryCallback.getDataSources()) {
@@ -807,7 +807,7 @@ public class Persona {
params.add(Persona.PersonaStatus.DELETED.getStatusId());
PersonaFromAccountInstanceQueryCallback queryCallback = new PersonaFromAccountInstanceQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySql, params, queryCallback);
getCRInstance().executeQuery(querySql, params, queryCallback);
// Add persona that aren't already on the list.
for (Persona persona : queryCallback.getPersonasList()) {
@@ -843,7 +843,7 @@ public class Persona {
params.add(Persona.PersonaStatus.DELETED.getStatusId());
PersonaFromAccountInstanceQueryCallback queryCallback = new PersonaFromAccountInstanceQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySql, params, queryCallback);
getCRInstance().executeQuery(querySql, params, queryCallback);
// Add persona that aren't already on the list.
for (Persona persona : queryCallback.getPersonasList()) {
@@ -148,7 +148,7 @@ public class PersonaAccount {
params.add(timeStampMillis);
params.add(currentExaminer.getId());
getCRInstance().executeSqlAsPreparedStatement(insertSQL, params);
getCRInstance().executeCommand(insertSQL, params);
String querySQL = PERSONA_ACCOUNTS_QUERY_CLAUSE
+ "WHERE persona_id = ? "
@@ -161,7 +161,7 @@ public class PersonaAccount {
queryParams.add(account.getIdentifier());
PersonaAccountsQueryCallback queryCallback = new PersonaAccountsQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySQL, queryParams, queryCallback);
getCRInstance().executeQuery(querySQL, queryParams, queryCallback);
Collection<PersonaAccount> accounts = queryCallback.getPersonaAccountsList();
if (accounts.size() != 1) {
@@ -259,7 +259,7 @@ public class PersonaAccount {
queryParams.add(personaId);
PersonaAccountsQueryCallback queryCallback = new PersonaAccountsQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySQL, queryParams, queryCallback);
getCRInstance().executeQuery(querySQL, queryParams, queryCallback);
return queryCallback.getPersonaAccountsList();
}
@@ -284,7 +284,7 @@ public class PersonaAccount {
queryParams.add(Persona.PersonaStatus.DELETED.getStatusId());
PersonaAccountsQueryCallback queryCallback = new PersonaAccountsQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySQL, queryParams, queryCallback);
getCRInstance().executeQuery(querySQL, queryParams, queryCallback);
return queryCallback.getPersonaAccountsList();
}
@@ -310,7 +310,7 @@ public class PersonaAccount {
queryParams.add(Persona.PersonaStatus.DELETED.getStatusId());
PersonaAccountsQueryCallback queryCallback = new PersonaAccountsQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySQL, queryParams, queryCallback);
getCRInstance().executeQuery(querySQL, queryParams, queryCallback);
return queryCallback.getPersonaAccountsList();
}
@@ -336,7 +336,7 @@ public class PersonaAccount {
queryParams.add(Persona.PersonaStatus.DELETED.getStatusId());
PersonaAccountsQueryCallback queryCallback = new PersonaAccountsQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(querySQL, queryParams, queryCallback);
getCRInstance().executeQuery(querySQL, queryParams, queryCallback);
return queryCallback.getPersonaAccountsList();
}
@@ -353,7 +353,7 @@ public class PersonaAccount {
List<Object> params = new ArrayList<>();
params.add(id);
getCRInstance().executeSqlAsPreparedStatement(deleteSQL, params);
getCRInstance().executeCommand(deleteSQL, params);
}
/**
@@ -372,7 +372,7 @@ public class PersonaAccount {
params.add(StringUtils.isBlank(justification) ? "" : justification);
params.add(id);
getCRInstance().executeSqlAsPreparedStatement(updateSQL, params);
getCRInstance().executeCommand(updateSQL, params);
}
/**
@@ -428,7 +428,7 @@ public class PersonaAccount {
queryParams.add(personaId);
AccountsForPersonaQueryCallback queryCallback = new AccountsForPersonaQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, queryParams, queryCallback);
getCRInstance().executeQuery(queryClause, queryParams, queryCallback);
return queryCallback.getAccountsList();
}
@@ -114,7 +114,7 @@ public class PersonaAlias {
params.add(timeStampMillis);
params.add(examiner.getId());
getCRInstance().executeSqlAsPreparedStatement(insertSQL, params);
getCRInstance().executeCommand(insertSQL, params);
String queryClause = SELECT_QUERY_BASE
+ "WHERE pa.persona_id = ?"
@@ -129,7 +129,7 @@ public class PersonaAlias {
queryParams.add(examiner.getId());
PersonaAliasesQueryCallback queryCallback = new PersonaAliasesQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, queryParams, queryCallback);
getCRInstance().executeQuery(queryClause, queryParams, queryCallback);
Collection<PersonaAlias> aliases = queryCallback.getAliases();
if (aliases.size() != 1) {
@@ -152,7 +152,7 @@ public class PersonaAlias {
List<Object> params = new ArrayList<>();
params.add(alias.getId());
getCRInstance().executeSqlAsPreparedStatement(deleteSQL, params);
getCRInstance().executeCommand(deleteSQL, params);
}
/**
@@ -176,7 +176,7 @@ public class PersonaAlias {
params.add(StringUtils.isBlank(justification) ? "" : justification);
params.add(alias.getId());
cr.executeSqlAsPreparedStatement(updateClause, params);
cr.executeCommand(updateClause, params);
}
/**
@@ -228,7 +228,7 @@ public class PersonaAlias {
params.add(personaId);
PersonaAliasesQueryCallback queryCallback = new PersonaAliasesQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
getCRInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getAliases();
}
@@ -124,7 +124,7 @@ public class PersonaMetadata {
params.add(timeStampMillis);
params.add(examiner.getId());
getCRInstance().executeSqlAsPreparedStatement(insertSQL, params);
getCRInstance().executeCommand(insertSQL, params);
String queryClause = SELECT_QUERY_BASE
+ "WHERE pmd.persona_id = ?"
@@ -141,7 +141,7 @@ public class PersonaMetadata {
queryParams.add(examiner.getId());
PersonaMetadataQueryCallback queryCallback = new PersonaMetadataQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, queryParams, queryCallback);
getCRInstance().executeQuery(queryClause, queryParams, queryCallback);
Collection<PersonaMetadata> metadata = queryCallback.getMetadataList();
if (metadata.size() != 1) {
@@ -165,7 +165,7 @@ public class PersonaMetadata {
List<Object> params = new ArrayList<>();
params.add(metadata.getId());
getCRInstance().executeSqlAsPreparedStatement(deleteSql, params);
getCRInstance().executeCommand(deleteSql, params);
}
/**
@@ -190,7 +190,7 @@ public class PersonaMetadata {
params.add(StringUtils.isBlank(justification) ? "" : justification);
params.add(metadata.id);
getCRInstance().executeSqlAsPreparedStatement(updateSql, params);
getCRInstance().executeCommand(updateSql, params);
}
/**
@@ -243,7 +243,7 @@ public class PersonaMetadata {
params.add(personaId);
PersonaMetadataQueryCallback queryCallback = new PersonaMetadataQueryCallback();
getCRInstance().executeQueryAsPreparedStatement(queryClause, params, queryCallback);
getCRInstance().executeQuery(queryClause, params, queryCallback);
return queryCallback.getMetadataList();
@@ -2547,7 +2547,7 @@ abstract class RdbmsCentralRepo implements CentralRepository {
}
@Override
public void executeSqlAsPreparedStatement(String sql, List<Object> params) throws CentralRepoException {
public void executeCommand(String sql, List<Object> params) throws CentralRepoException {
try (Connection conn = connect();) {
@@ -2569,12 +2569,12 @@ abstract class RdbmsCentralRepo implements CentralRepository {
}
@Override
public void executeQueryAsPreparedStatement(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException {
public void executeQuery(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException {
if (queryCallback == null) {
throw new CentralRepoException("Query callback is null");
}
ResultSet resultSet = null;
try ( Connection conn = connect();) {
PreparedStatement preparedStatement = conn.prepareStatement(sql);
@@ -2586,17 +2586,13 @@ abstract class RdbmsCentralRepo implements CentralRepository {
paramIndex += 1;
}
}
// execute query
resultSet = preparedStatement.executeQuery();
queryCallback.process(resultSet);
// execute query, and the callback to process result
try (ResultSet resultSet = preparedStatement.executeQuery();) {
queryCallback.process(resultSet);
}
} catch (SQLException ex) {
throw new CentralRepoException(String.format("Error executing prepared statement for SQL query %s", sql), ex);
} finally {
if (resultSet != null) {
CentralRepoDbUtil.closeResultSet(resultSet);
}
}
}
}
@Override
@@ -834,20 +834,20 @@ final class SqliteCentralRepo extends RdbmsCentralRepo {
}
@Override
public void executeSqlAsPreparedStatement(String sql, List<Object> params) throws CentralRepoException {
public void executeCommand(String sql, List<Object> params) throws CentralRepoException {
try {
acquireSharedLock();
super.executeSqlAsPreparedStatement(sql, params);
acquireExclusiveLock();
super.executeCommand(sql, params);
} finally {
releaseSharedLock();
releaseExclusiveLock();
}
}
@Override
public void executeQueryAsPreparedStatement(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException {
public void executeQuery(String sql, List<Object> params, CentralRepositoryDbQueryCallback queryCallback) throws CentralRepoException {
try {
acquireSharedLock();
super.executeQueryAsPreparedStatement(sql, params, queryCallback);
super.executeQuery(sql, params, queryCallback);
} finally {
releaseSharedLock();
}