mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
query for account types
This commit is contained in:
parent
42d99e31d6
commit
e9cd0e49d1
@ -52,10 +52,12 @@ import org.apache.commons.csv.CSVFormat;
|
||||
import org.apache.commons.csv.CSVParser;
|
||||
import org.apache.commons.csv.CSVRecord;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.openide.nodes.AbstractNode;
|
||||
import org.openide.nodes.ChildFactory;
|
||||
import org.openide.nodes.Children;
|
||||
import org.openide.nodes.Node;
|
||||
import org.openide.nodes.Sheet;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.openide.util.lookup.Lookups;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
@ -521,15 +523,32 @@ public class Accounts extends Observable implements AutopsyVisitableItem {
|
||||
};
|
||||
|
||||
@Override
|
||||
@NbBundle.Messages({"Accounts.AccountTypeFactory.accountType.creditCards=Credit Card Numbers"})
|
||||
|
||||
protected boolean createKeys(List<String> list) {
|
||||
list.add(Bundle.Accounts_AccountTypeFactory_accountType_creditCards());
|
||||
|
||||
try (SleuthkitCase.CaseDbQuery executeQuery = skCase.executeQuery(
|
||||
"SELECT DISTINCT blackboard_attributes.value_text as account_type "
|
||||
+ " FROM blackboard_attributes "
|
||||
+ " WHERE blackboard_attributes.attribute_type_id = " + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE.getTypeID());
|
||||
ResultSet resultSet = executeQuery.getResultSet()) {
|
||||
while (resultSet.next()) {
|
||||
list.add(resultSet.getString("account_type"));
|
||||
}
|
||||
} catch (TskCoreException | SQLException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Node createNodeForKey(String key) {
|
||||
return new AccountTypeNode(key);
|
||||
if (key.equals(CREDIT_CARD_NUMBER_ACCOUNT_TYPE)) {
|
||||
return new CreditCardNumberAccountTypeNode(key);
|
||||
} else {
|
||||
//Flesh out what happens with other account types here.
|
||||
return new AbstractNode(Children.LEAF);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -555,9 +574,9 @@ public class Accounts extends Observable implements AutopsyVisitableItem {
|
||||
*
|
||||
* NOTE: currently hard coded to work for Credit Card only
|
||||
*/
|
||||
public class AccountTypeNode extends DisplayableItemNode {
|
||||
public class CreditCardNumberAccountTypeNode extends DisplayableItemNode {
|
||||
|
||||
private AccountTypeNode(String accountTypeName) {
|
||||
private CreditCardNumberAccountTypeNode(String accountTypeName) {
|
||||
super(Children.create(new ViewModeFactory(), true));
|
||||
super.setName(accountTypeName);
|
||||
this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/credit-cards.png"); //NON-NLS
|
||||
@ -916,13 +935,13 @@ public class Accounts extends Observable implements AutopsyVisitableItem {
|
||||
public class BINNode extends DisplayableItemNode implements Observer {
|
||||
|
||||
private final BinResult bin;
|
||||
private final AccountFactory accountFactory;
|
||||
private final CreditCardNumberFactory accountFactory;
|
||||
|
||||
private BINNode(BinResult bin) {
|
||||
super(Children.LEAF);
|
||||
this.bin = bin;
|
||||
|
||||
accountFactory = new AccountFactory(bin);
|
||||
accountFactory = new CreditCardNumberFactory(bin);
|
||||
setChildren(Children.create(accountFactory, true));
|
||||
setName(bin.toString());
|
||||
updateDisplayName();
|
||||
@ -1170,11 +1189,11 @@ public class Accounts extends Observable implements AutopsyVisitableItem {
|
||||
/**
|
||||
* Creates the nodes for the accounts of a given type
|
||||
*/
|
||||
private class AccountFactory extends ObservingChildFactory<Long> {
|
||||
private class CreditCardNumberFactory extends ObservingChildFactory<Long> {
|
||||
|
||||
private final BinResult bin;
|
||||
|
||||
private AccountFactory(BinResult bin) {
|
||||
private CreditCardNumberFactory(BinResult bin) {
|
||||
this.bin = bin;
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,7 @@ public interface DisplayableItemNodeVisitor<T> {
|
||||
*/
|
||||
T visit(Accounts.AccountsRootNode accountRootNode);
|
||||
|
||||
T visit(Accounts.AccountTypeNode accountTypeNode);
|
||||
T visit(Accounts.CreditCardNumberAccountTypeNode accountTypeNode);
|
||||
|
||||
T visit(Accounts.ByBINNode byArtifactNode);
|
||||
|
||||
@ -350,7 +350,7 @@ public interface DisplayableItemNodeVisitor<T> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public T visit(Accounts.AccountTypeNode node) {
|
||||
public T visit(Accounts.CreditCardNumberAccountTypeNode node) {
|
||||
return defaultVisit(node);
|
||||
}
|
||||
|
||||
|
@ -497,7 +497,7 @@ public class DataResultFilterNode extends FilterNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AbstractAction visit(Accounts.AccountTypeNode node) {
|
||||
public AbstractAction visit(Accounts.CreditCardNumberAccountTypeNode node) {
|
||||
return openChild(node);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user