38 =
"SELECT pa.id, pa.persona_id, pa.alias, pa.justification, pa.confidence_id, pa.date_added, pa.examiner_id, e.login_name, e.display_name "
39 +
"FROM persona_alias as pa "
40 +
"INNER JOIN examiners as e ON e.id = pa.examiner_id ";
42 private final long id;
103 Instant instant = Instant.now();
104 Long timeStampMillis = instant.toEpochMilli();
106 String insertSQL =
"INSERT INTO persona_alias (persona_id, alias, justification, confidence_id, date_added, examiner_id ) "
107 +
" VALUES ( ?, ?, ?, ?, ?, ?)";
109 List<Object> params =
new ArrayList<>();
114 params.add(timeStampMillis);
120 +
"WHERE pa.persona_id = ?"
121 +
" AND pa.alias = ?"
122 +
" AND pa.date_added = ?"
123 +
" AND pa.examiner_id = ?";
125 List<Object> queryParams =
new ArrayList<>();
126 queryParams.add(
persona.getId());
127 queryParams.add(
alias);
128 queryParams.add(timeStampMillis);
131 PersonaAliasesQueryCallback queryCallback =
new PersonaAliasesQueryCallback();
134 Collection<PersonaAlias> aliases = queryCallback.getAliases();
135 if (aliases.size() != 1) {
139 return aliases.iterator().next();
150 String deleteSQL =
" DELETE FROM persona_alias WHERE id = ?";
152 List<Object> params =
new ArrayList<>();
153 params.add(
alias.getId());
166 CentralRepository cr = CentralRepository.getInstance();
169 throw new CentralRepoException(
"Failed to modify persona alias, Central Repo is not enabled");
172 String updateClause =
"UPDATE persona_alias SET confidence_id = ?, justification = ? WHERE id = ?";
174 List<Object> params =
new ArrayList<>();
177 params.add(
alias.getId());
179 cr.executeCommand(updateClause, params);
185 static class PersonaAliasesQueryCallback
implements CentralRepositoryDbQueryCallback {
187 private final Collection<PersonaAlias> personaAliases =
new ArrayList<>();
190 public void process(ResultSet rs)
throws SQLException {
193 CentralRepoExaminer
examiner =
new CentralRepoExaminer(
194 rs.getInt(
"examiner_id"),
195 rs.getString(
"login_name"));
199 rs.getLong(
"persona_id"),
200 rs.getString(
"alias"),
201 rs.getString(
"justification"),
202 Persona.Confidence.fromId(rs.getInt(
"confidence_id")),
203 Long.parseLong(rs.getString(
"date_added")),
206 personaAliases.add(
alias);
210 Collection<PersonaAlias> getAliases() {
211 return Collections.unmodifiableCollection(personaAliases);
225 +
"WHERE pa.persona_id = ?";
227 List<Object> params =
new ArrayList<>();
230 PersonaAliasesQueryCallback queryCallback =
new PersonaAliasesQueryCallback();
233 return queryCallback.getAliases();
247 if (instance ==
null) {