Autopsy  4.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
HashHitsFilter.java
Go to the documentation of this file.
1 /*
2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
6 package org.sleuthkit.autopsy.timeline.filters;
7 
8 import java.util.Comparator;
9 import java.util.stream.Collectors;
10 import javafx.beans.binding.Bindings;
11 import javafx.beans.value.ObservableBooleanValue;
12 import org.openide.util.NbBundle;
13 
17 public class HashHitsFilter extends UnionFilter<HashSetFilter> {
18 
19  @Override
20  @NbBundle.Messages("hashHitsFilter.displayName.text=Hash Sets")
21  public String getDisplayName() {
22  return Bundle.hashHitsFilter_displayName_text();
23  }
24 
25  public HashHitsFilter() {
26  setSelected(false);
27  }
28 
29  @Override
31  HashHitsFilter filterCopy = new HashHitsFilter();
32  filterCopy.setSelected(isSelected());
33  //add a copy of each subfilter
34  this.getSubFilters().forEach((HashSetFilter t) -> {
35  filterCopy.addSubFilter(t.copyOf());
36  });
37  return filterCopy;
38  }
39 
40  @Override
41  public String getHTMLReportString() {
42  //move this logic into SaveSnapshot
43  String string = getDisplayName() + getStringCheckBox();
44  if (getSubFilters().isEmpty() == false) {
45  string = string + " : " + getSubFilters().stream()
46  .filter(Filter::isSelected)
48  .collect(Collectors.joining("</li><li>", "<ul><li>", "</li></ul>")); // NON-NLS
49  }
50  return string;
51  }
52 
53  @Override
54  public int hashCode() {
55  return 7;
56  }
57 
58  @Override
59  public boolean equals(Object obj) {
60  if (obj == null) {
61  return false;
62  }
63  if (getClass() != obj.getClass()) {
64  return false;
65  }
66  final HashHitsFilter other = (HashHitsFilter) obj;
67 
68  if (isSelected() != other.isSelected()) {
69  return false;
70  }
71 
72  return areSubFiltersEqual(this, other);
73  }
74 
75  public void addSubFilter(HashSetFilter hashSetFilter) {
76  if (getSubFilters().stream()
78  .filter(t -> t == hashSetFilter.getHashSetID())
79  .findAny().isPresent() == false) {
80  getSubFilters().add(hashSetFilter);
81  getSubFilters().sort(Comparator.comparing(HashSetFilter::getDisplayName));
82  }
83  }
84 
85  @Override
86  public ObservableBooleanValue disabledProperty() {
87  return Bindings.or(super.disabledProperty(), Bindings.isEmpty(getSubFilters()));
88  }
89 }

Copyright © 2012-2015 Basis Technology. Generated on: Wed Apr 6 2016
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.