mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
Merge pull request #6089 from raman-bt/6619-contact-persona-missingaccount
6619: incorrect missing account
This commit is contained in:
commit
d9c1c89203
@ -884,5 +884,18 @@ public interface CentralRepository {
|
|||||||
* @throws CentralRepoException
|
* @throws CentralRepoException
|
||||||
*/
|
*/
|
||||||
CentralRepoAccount getOrCreateAccount(CentralRepoAccount.CentralRepoAccountType crAccountType, String accountUniqueID) throws CentralRepoException;
|
CentralRepoAccount getOrCreateAccount(CentralRepoAccount.CentralRepoAccountType crAccountType, String accountUniqueID) throws CentralRepoException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an account from the accounts table matching the given type/ID, if
|
||||||
|
* one exists.
|
||||||
|
*
|
||||||
|
* @param crAccountType CR account type to look for or create
|
||||||
|
* @param accountUniqueID type specific unique account id
|
||||||
|
*
|
||||||
|
* @return CR account, if found, null otherwise.
|
||||||
|
*
|
||||||
|
* @throws CentralRepoException
|
||||||
|
*/
|
||||||
|
CentralRepoAccount getAccount(CentralRepoAccount.CentralRepoAccountType crAccountType, String accountUniqueID) throws CentralRepoException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1179,7 +1179,8 @@ abstract class RdbmsCentralRepo implements CentralRepository {
|
|||||||
*
|
*
|
||||||
* @throws CentralRepoException
|
* @throws CentralRepoException
|
||||||
*/
|
*/
|
||||||
private CentralRepoAccount getAccount(CentralRepoAccountType crAccountType, String accountUniqueID) throws CentralRepoException {
|
@Override
|
||||||
|
public CentralRepoAccount getAccount(CentralRepoAccountType crAccountType, String accountUniqueID) throws CentralRepoException {
|
||||||
|
|
||||||
CentralRepoAccount crAccount = accountsCache.getIfPresent(Pair.of(crAccountType, accountUniqueID));
|
CentralRepoAccount crAccount = accountsCache.getIfPresent(Pair.of(crAccountType, accountUniqueID));
|
||||||
if (crAccount == null) {
|
if (crAccount == null) {
|
||||||
|
@ -633,21 +633,18 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
return new HashMap<>();
|
return new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make a list of all unique accounts for this contact
|
||||||
|
if (!account.getAccountType().equals(Account.Type.DEVICE)) {
|
||||||
|
CentralRepoAccount.CentralRepoAccountType crAccountType = CentralRepository.getInstance().getAccountTypeByName(account.getAccountType().getTypeName());
|
||||||
|
CentralRepoAccount crAccount = CentralRepository.getInstance().getAccount(crAccountType, account.getTypeSpecificID());
|
||||||
|
|
||||||
|
if (crAccount != null && uniqueAccountsList.contains(crAccount) == false) {
|
||||||
|
uniqueAccountsList.add(crAccount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Collection<PersonaAccount> personaAccounts = PersonaAccount.getPersonaAccountsForAccount(account);
|
Collection<PersonaAccount> personaAccounts = PersonaAccount.getPersonaAccountsForAccount(account);
|
||||||
if (personaAccounts != null && !personaAccounts.isEmpty()) {
|
if (personaAccounts != null && !personaAccounts.isEmpty()) {
|
||||||
|
|
||||||
// look for unique accounts
|
|
||||||
Collection<CentralRepoAccount> accountCandidates
|
|
||||||
= personaAccounts
|
|
||||||
.stream()
|
|
||||||
.map(PersonaAccount::getAccount)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
for (CentralRepoAccount crAccount : accountCandidates) {
|
|
||||||
if (uniqueAccountsList.contains(crAccount) == false) {
|
|
||||||
uniqueAccountsList.add(crAccount);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// get personas for the account
|
// get personas for the account
|
||||||
Collection<Persona> personas
|
Collection<Persona> personas
|
||||||
= personaAccounts
|
= personaAccounts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user