19 package org.sleuthkit.autopsy.datasourcesummary.datamodel;
 
   21 import java.util.ArrayList;
 
   22 import java.util.Arrays;
 
   23 import java.util.Collection;
 
   24 import java.util.Collections;
 
   25 import java.util.HashSet;
 
   26 import java.util.List;
 
   28 import java.util.stream.Collectors;
 
   29 import java.util.stream.Stream;
 
   30 import org.apache.commons.lang3.tuple.Pair;
 
   83         public PastCasesResult(List<Pair<String, Long>> previouslyNotable, List<Pair<String, Long>> previouslySeenDevices, List<Pair<String, Long>> previouslySeenResults) {
 
   84             this.previouslyNotable = Collections.unmodifiableList(previouslyNotable);
 
   85             this.previouslySeenDevices = Collections.unmodifiableList(previouslySeenDevices);
 
   86             this.previouslySeenResults = Collections.unmodifiableList(previouslySeenResults);
 
  128     private final java.util.logging.Logger 
logger;
 
  151             java.util.logging.Logger 
logger) {
 
  153         this.caseProvider = provider;
 
  167         if (sources == null) {
 
  171         return sources.stream().anyMatch((str) -> {
 
  172             return str != null && CENTRAL_REPO_INGEST_NAME.equalsIgnoreCase(str.trim());
 
  185         if (artifact == null) {
 
  186             return Collections.emptyList();
 
  209         if (commentAttr == null) {
 
  210             return Collections.emptyList();
 
  214             return Collections.emptyList();
 
  218         return Stream.of(justCasesStr.split(CASE_SEPARATOR))
 
  220                 .collect(Collectors.toList());
 
  233     private static List<Pair<String, Long>> 
getCaseCounts(Stream<String> cases) {
 
  234         Collection<List<String>> groupedCases = cases
 
  236                 .collect(Collectors.groupingBy((caseStr) -> caseStr.toUpperCase().trim()))
 
  242                 .filter((lst) -> lst != null && lst.size() > 0)
 
  244                 .map((lst) -> Pair.of(lst.get(0), (long) lst.size()))
 
  246                 .sorted((a, b) -> -Long.compare(a.getValue(), b.getValue()))
 
  247                 .collect(Collectors.toList());
 
  259         List<String> cases = 
new ArrayList<>();
 
  284             sourceArtifact = (BlackboardArtifact) content;
 
  286         return sourceArtifact;
 
  301         if (parent == null) {
 
  322         if (dataSource == null) {
 
  326         long dataSourceId = dataSource.getId();
 
  330         List<BlackboardArtifact> previouslyNotableArtifacts
 
  333         List<BlackboardArtifact> previouslySeenArtifacts
 
  336         List<BlackboardArtifact> previouslySeenDevice = 
new ArrayList<>();
 
  337         List<BlackboardArtifact> previouslySeenNoDevice = 
new ArrayList<>();
 
  341                 previouslySeenDevice.add(art);
 
  343                 previouslySeenNoDevice.add(art);
 
static final Set< Integer > ARTIFACT_UPDATE_TYPE_IDS
SleuthkitCaseProvider DEFAULT
PastCasesResult(List< Pair< String, Long >> previouslyNotable, List< Pair< String, Long >> previouslySeenDevices, List< Pair< String, Long >> previouslySeenResults)
Blackboard getBlackboard()
Content getContentById(long id)
static List< String > getCasesFromAttr(BlackboardAttribute commentAttr)
static final String CENTRAL_REPO_INGEST_NAME
final List< Pair< String, Long > > previouslyNotable
List< Pair< String, Long > > getPreviouslyNotable()
static final Type TSK_PREVIOUSLY_SEEN
PastCasesResult getPastCasesData(DataSource dataSource)
List< BlackboardArtifact > getArtifacts(int artifactTypeID, long dataSourceObjId)
final List< Pair< String, Long > > previouslySeenResults
BlackboardArtifact getParentArtifact(BlackboardArtifact artifact)
static final Type TSK_PREVIOUSLY_NOTABLE
BlackboardAttribute getAttribute(BlackboardAttribute.Type attributeType)
boolean hasDeviceAssociatedArtifact(BlackboardArtifact artifact)
final SleuthkitCaseProvider caseProvider
static List< Pair< String, Long > > getCaseCounts(Stream< String > cases)
static boolean isCentralRepoGenerated(List< String > sources)
static final String CASE_SEPARATOR
final java.util.logging.Logger logger
static String getModuleName()
static List< Pair< String, Long > > getCaseCountsFromArtifacts(List< BlackboardArtifact > artifacts)
List< Pair< String, Long > > getPreviouslySeenDevices()
static List< String > getCasesFromArtifact(BlackboardArtifact artifact)
synchronized static Logger getLogger(String name)
final List< Pair< String, Long > > previouslySeenDevices
static final Type TSK_OTHER_CASES
static final Set< Integer > CR_DEVICE_TYPE_IDS
List< Pair< String, Long > > getPreviouslySeenResults()
PastCasesSummary(SleuthkitCaseProvider provider, java.util.logging.Logger logger)
List< String > getSources()