19 package org.sleuthkit.autopsy.discovery.search;
21 import com.google.common.cache.CacheLoader;
22 import java.util.List;
23 import java.util.ArrayList;
25 import org.
sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE;
39 private static final Type TSK_URL =
new BlackboardAttribute.
Type(ATTRIBUTE_TYPE.TSK_URL);
43 final SleuthkitCase caseDb = artifactsRequest.getSleuthkitCase();
44 final String normalizedDomain = artifactsRequest.getDomain().toLowerCase();
45 final List<BlackboardArtifact> artifacts = caseDb.getBlackboardArtifacts(artifactsRequest.getArtifactType());
46 final List<BlackboardArtifact> matchingDomainArtifacts =
new ArrayList<>();
48 for (BlackboardArtifact artifact : artifacts) {
49 final BlackboardAttribute tskDomain = artifact.getAttribute(TSK_DOMAIN);
50 final BlackboardAttribute tskUrl = artifact.getAttribute(TSK_URL);
52 if (tskDomain != null && tskDomain.getValueString().equalsIgnoreCase(normalizedDomain)) {
53 matchingDomainArtifacts.add(artifact);
54 }
else if (tskUrl != null && tskUrl.getValueString().toLowerCase().contains(normalizedDomain)) {
55 matchingDomainArtifacts.add(artifact);
59 return matchingDomainArtifacts;
static final Type TSK_DOMAIN
static final Type TSK_URL
Type(int value, String displayName, Collection< String > mediaTypes, Collection< BlackboardArtifact.ARTIFACT_TYPE > artifactTypes)
List< BlackboardArtifact > load(DomainSearchArtifactsRequest artifactsRequest)