|
44 | 44 | import org.sleuthkit.autopsy.coreutils.Logger;
|
45 | 45 | import org.sleuthkit.autopsy.ingest.IngestManager;
|
46 | 46 | import org.sleuthkit.autopsy.ingest.ModuleDataEvent;
|
47 |
| -import org.sleuthkit.datamodel.BlackboardArtifact; |
48 | 47 | import org.sleuthkit.datamodel.SleuthkitCase;
|
49 | 48 | import org.sleuthkit.datamodel.SleuthkitCase.CaseDbQuery;
|
50 | 49 | import org.sleuthkit.datamodel.TskCoreException;
|
51 | 50 | import org.sleuthkit.autopsy.datamodel.Artifacts.UpdatableCountTypeNode;
|
52 | 51 | import org.sleuthkit.datamodel.AnalysisResult;
|
| 52 | +import static org.sleuthkit.datamodel.BlackboardArtifact.Type.TSK_MALWARE; |
53 | 53 | import org.sleuthkit.datamodel.Score;
|
54 | 54 |
|
55 | 55 | /**
|
56 | 56 | * Malware hits node support. Inner classes have all of the nodes in the tree.
|
57 | 57 | */
|
58 | 58 | public class MalwareHits implements AutopsyVisitableItem {
|
59 | 59 |
|
60 |
| - private static final String MALWARE_HITS = "TSK_MALWARE"; // this is currently a custom TSK artifact type, created in MalwareScanIngestModule |
61 |
| - private static BlackboardArtifact.Type MALWARE_ARTIFACT_TYPE = null; |
62 |
| - private static String DISPLAY_NAME; |
63 | 60 | private static final Logger logger = Logger.getLogger(MalwareHits.class.getName());
|
64 | 61 | private static final Set<IngestManager.IngestJobEvent> INGEST_JOB_EVENTS_OF_INTEREST = EnumSet.of(IngestManager.IngestJobEvent.COMPLETED, IngestManager.IngestJobEvent.CANCELLED);
|
65 | 62 | private static final Set<IngestManager.IngestModuleEvent> INGEST_MODULE_EVENTS_OF_INTEREST = EnumSet.of(IngestManager.IngestModuleEvent.DATA_ADDED);
|
@@ -126,20 +123,9 @@ final void update() {
|
126 | 123 | return;
|
127 | 124 | }
|
128 | 125 |
|
129 |
| - // Get the custom TSK_MALWARE artifact type from case database |
130 |
| - if (MALWARE_ARTIFACT_TYPE == null) { |
131 |
| - try { |
132 |
| - MALWARE_ARTIFACT_TYPE = skCase.getArtifactType(MALWARE_HITS); |
133 |
| - DISPLAY_NAME = MALWARE_ARTIFACT_TYPE.getDisplayName(); |
134 |
| - } catch (TskCoreException ex) { |
135 |
| - logger.log(Level.WARNING, "Unable to get TSK_MALWARE artifact type from database : ", ex); //NON-NLS |
136 |
| - return; |
137 |
| - } |
138 |
| - } |
139 |
| - |
140 | 126 | String query = "SELECT blackboard_artifacts.artifact_obj_id " //NON-NLS
|
141 | 127 | + "FROM blackboard_artifacts,tsk_analysis_results WHERE " //NON-NLS
|
142 |
| - + "blackboard_artifacts.artifact_type_id=" + MALWARE_ARTIFACT_TYPE.getTypeID() //NON-NLS |
| 128 | + + "blackboard_artifacts.artifact_type_id=" + TSK_MALWARE.getTypeID() //NON-NLS |
143 | 129 | + " AND tsk_analysis_results.artifact_obj_id=blackboard_artifacts.artifact_obj_id" //NON-NLS
|
144 | 130 | + " AND (tsk_analysis_results.significance=" + Score.Significance.NOTABLE.getId() //NON-NLS
|
145 | 131 | + " OR tsk_analysis_results.significance=" + Score.Significance.LIKELY_NOTABLE.getId() + " )"; //NON-NLS
|
@@ -182,7 +168,7 @@ public void propertyChange(PropertyChangeEvent evt) {
|
182 | 168 | * oldValue if the event is a remote event.
|
183 | 169 | */
|
184 | 170 | ModuleDataEvent eventData = (ModuleDataEvent) evt.getOldValue();
|
185 |
| - if (null != eventData && eventData.getBlackboardArtifactType().getTypeID() == MALWARE_ARTIFACT_TYPE.getTypeID()) { |
| 171 | + if (null != eventData && eventData.getBlackboardArtifactType().getTypeID() == TSK_MALWARE.getTypeID()) { |
186 | 172 | malwareResults.update();
|
187 | 173 | }
|
188 | 174 | } catch (NoCurrentCaseException notUsed) {
|
@@ -248,13 +234,13 @@ public void update(Observable o, Object arg) {
|
248 | 234 | public class RootNode extends UpdatableCountTypeNode {
|
249 | 235 |
|
250 | 236 | public RootNode() {
|
251 |
| - super(Children.create(new HitFactory(DISPLAY_NAME), true), |
252 |
| - Lookups.singleton(DISPLAY_NAME), |
253 |
| - DISPLAY_NAME, |
| 237 | + super(Children.create(new HitFactory(TSK_MALWARE.getDisplayName()), true), |
| 238 | + Lookups.singleton(TSK_MALWARE.getDisplayName()), |
| 239 | + TSK_MALWARE.getDisplayName(), |
254 | 240 | filteringDSObjId,
|
255 |
| - MALWARE_ARTIFACT_TYPE); |
| 241 | + TSK_MALWARE); |
256 | 242 |
|
257 |
| - super.setName(MALWARE_HITS); |
| 243 | + super.setName(TSK_MALWARE.getTypeName()); |
258 | 244 | // TODO make an icon
|
259 | 245 | this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/artifact-icon.png");
|
260 | 246 | }
|
@@ -297,7 +283,7 @@ public String getItemType() {
|
297 | 283 | */
|
298 | 284 | @Override
|
299 | 285 | void updateDisplayName() {
|
300 |
| - super.setDisplayName(DISPLAY_NAME + " (" + malwareResults.getArtifactIds().size() + ")"); |
| 286 | + super.setDisplayName(TSK_MALWARE.getDisplayName() + " (" + malwareResults.getArtifactIds().size() + ")"); |
301 | 287 | }
|
302 | 288 | }
|
303 | 289 |
|
|
0 commit comments