Autopsy  4.16.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
SummaryViewer.java
Go to the documentation of this file.
1 /*
2  * Autopsy Forensic Browser
3  *
4  * Copyright 2019 Basis Technology Corp.
5  * Contact: carrier <at> sleuthkit <dot> org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obt ain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 package org.sleuthkit.autopsy.communications.relationships;
20 
21 import java.awt.CardLayout;
22 import java.util.ArrayList;
23 import java.util.List;
24 import java.util.concurrent.ExecutionException;
25 import java.util.logging.Level;
26 import javax.swing.DefaultListModel;
27 import javax.swing.JPanel;
28 import javax.swing.SwingWorker;
29 import org.netbeans.swing.outline.DefaultOutlineModel;
30 import org.netbeans.swing.outline.Outline;
31 import org.openide.explorer.view.OutlineView;
32 import org.openide.nodes.AbstractNode;
33 import org.openide.nodes.Children;
34 import org.openide.util.Lookup;
35 import org.openide.util.NbBundle.Messages;
37 import org.sleuthkit.datamodel.Account;
40 import org.sleuthkit.datamodel.AccountFileInstance;
41 
48 public class SummaryViewer extends javax.swing.JPanel implements RelationshipsViewer {
49 
50  private final Lookup lookup;
51  private final DefaultListModel<String> fileRefListModel;
52 
53  private static final Logger logger = Logger.getLogger(SummaryViewer.class.getName());
54 
55  @Messages({
56  "SummaryViewer_TabTitle=Summary",
57  "SummaryViewer_FileRefNameColumn_Title=Path",
58  "SummaryViewer_CaseRefNameColumn_Title=Case Name",
59  "SummaryViewer_CentralRepository_Message=<Enable Central Respository to see Other Occurrences>",
60  "SummaryViewer_Creation_Date_Title=Creation Date",
61  "SummaryViewer_FileRef_Message=<Select a single account to see File References>",
62  "SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.",
63  "SummaryViewer_Account_Description=This account represents a device in the case.",
64  "SummaryViewer_Account_Description_MuliSelect=Summary information is not available when multiple accounts are selected.",
65  "SummaryViewer_Country_Code=Country: "
66  })
67 
71  public SummaryViewer() {
72  lookup = Lookup.getDefault();
74 
75  fileRefListModel = new DefaultListModel<>();
76  fileRefList.setModel(fileRefListModel);
77 
78  OutlineView outlineView = caseReferencesPanel.getOutlineView();
79  Outline outline = outlineView.getOutline();
80  outlineView.setPropertyColumns("creationDate", Bundle.SummaryViewer_Creation_Date_Title()); //NON-NLS
81 
82  outline.setRootVisible(false);
83  ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_CaseRefNameColumn_Title());
84 
85  clearControls();
86 
87  caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
88  }
89 
90  @Override
91  public String getDisplayName() {
92  return Bundle.SummaryViewer_TabTitle();
93  }
94 
95  @Override
96  public JPanel getPanel() {
97  return this;
98  }
99 
100  @Override
101  public void setSelectionInfo(SelectionInfo info) {
102 
103  if (!CentralRepository.isEnabled()) {
104  caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
105  } else {
107  }
108 
109  CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
110  cardLayout.show(fileRefPane, "selectAccountCard");
111 
112  fileRefListModel.removeAllElements();
113 
114  // Request is that the SummaryViewer only show information if one
115  // account is selected
116  if (info == null || info.getAccounts().size() != 1) {
117  setEnabled(false);
118  clearControls();
119 
120  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description_MuliSelect());
121  selectAccountFileRefLabel.setText(Bundle.SummaryViewer_FileRef_Message());
122 
123  } else {
124  Account[] accountArray = info.getAccounts().toArray(new Account[1]);
125  Account account = accountArray[0];
126 
127  if (account.getAccountType().getTypeName().contains("PHONE")) {
128  String countryCode = PhoneNumUtil.getCountryCode(account.getTypeSpecificID());
129  accountLabel.setText(PhoneNumUtil.convertToInternational(account.getTypeSpecificID()));
130  accountCountry.setText(Bundle.SummaryViewer_Country_Code() + countryCode);
131  accountCountry.setEnabled(true);
132  } else {
133  accountLabel.setText(account.getTypeSpecificID());
134  accountCountry.setText("");
135  accountCountry.setEnabled(false);
136  }
137 
138  if (account.getAccountType().equals(Account.Type.DEVICE)) {
139  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description());
140  } else {
141  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Device_Account_Description());
142  }
143 
144  AccountSummary summaryDetails = new AccountSummary(account, info.getArtifacts());
145 
146  thumbnailsDataLabel.setText(Integer.toString(summaryDetails.getThumbnailCnt()));
147  callLogsDataLabel.setText(Integer.toString(summaryDetails.getCallLogCnt()));
148  contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
149  messagesDataLabel.setText(Integer.toString(summaryDetails.getMessagesCnt() + summaryDetails.getEmailCnt()));
150  attachmentDataLabel.setText(Integer.toString(summaryDetails.getAttachmentCnt()));
151  referencesDataLabel.setText(Integer.toString(summaryDetails.getReferenceCnt()));
152  contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
153 
154  caseReferencesPanel.setNode(new AbstractNode(Children.create(new CorrelationCaseChildNodeFactory(info.getAccounts()), true)));
155 
156  updateFileReferences(account);
157 
158  setEnabled(true);
159  }
160  }
161 
162  @Override
163  public Lookup getLookup() {
164  return lookup;
165  }
166 
172  @Override
173  public void setEnabled(boolean enabled) {
174  super.setEnabled(enabled);
175  thumbnailCntLabel.setEnabled(enabled);
176  callLogsLabel.setEnabled(enabled);
177  contactsLabel.setEnabled(enabled);
178  messagesLabel.setEnabled(enabled);
180  fileRefList.setEnabled(enabled);
181  countsPanel.setEnabled(enabled);
182  attachmentsLabel.setEnabled(enabled);
183  referencesLabel.setEnabled(enabled);
184  }
185 
189  private void clearControls() {
190  thumbnailsDataLabel.setText("");
191  callLogsDataLabel.setText("");
192  contactsDataLabel.setText("");
193  messagesDataLabel.setText("");
194  attachmentDataLabel.setText("");
195  accountLabel.setText("");
196  accoutDescriptionLabel.setText("");
197  referencesDataLabel.setText("");
198  accountCountry.setText("");
199 
200  fileRefListModel.clear();
201  caseReferencesPanel.setNode(new AbstractNode(Children.LEAF));
202  }
203 
204  @Messages({
205  "SummaryViewer_Fetching_References=<Fetching File References>"
206  })
207  private void updateFileReferences(final Account account) {
208  SwingWorker<List<String>, Void> worker = new SwingWorker<List<String>, Void>() {
209  @Override
210  protected List<String> doInBackground() throws Exception {
211  List<String> stringList = new ArrayList<>();
212  List<AccountFileInstance> accountFileInstanceList = Case.getCurrentCase().getSleuthkitCase().getCommunicationsManager().getAccountFileInstances(account);
213  for (AccountFileInstance instance : accountFileInstanceList) {
214  stringList.add(instance.getFile().getUniquePath());
215  }
216  return stringList;
217  }
218 
219  @Override
220  protected void done() {
221  try {
222  List<String> fileRefList = get();
223 
224  fileRefList.forEach(value -> {
225  fileRefListModel.addElement(value);
226  });
227 
228  CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
229  cardLayout.show(fileRefPane, "listPanelCard");
230 
231  } catch (InterruptedException | ExecutionException ex) {
232  logger.log(Level.WARNING, String.format(("Failed to get file references for account: %d"), account.getAccountID()), ex);
233  }
234  }
235  };
236 
237  selectAccountFileRefLabel.setText(Bundle.SummaryViewer_Fetching_References());
238  worker.execute();
239  }
240 
246  @SuppressWarnings("unchecked")
247  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
248  private void initComponents() {
249  java.awt.GridBagConstraints gridBagConstraints;
250 
251  summaryPanel = new javax.swing.JPanel();
252  accountLabel = new javax.swing.JLabel();
253  accountCountry = new javax.swing.JLabel();
254  accoutDescriptionLabel = new javax.swing.JLabel();
255  countsPanel = new javax.swing.JPanel();
256  messagesLabel = new javax.swing.JLabel();
257  callLogsLabel = new javax.swing.JLabel();
258  thumbnailCntLabel = new javax.swing.JLabel();
259  thumbnailsDataLabel = new javax.swing.JLabel();
260  messagesDataLabel = new javax.swing.JLabel();
261  callLogsDataLabel = new javax.swing.JLabel();
262  attachmentsLabel = new javax.swing.JLabel();
263  attachmentDataLabel = new javax.swing.JLabel();
264  contanctsPanel = new javax.swing.JPanel();
265  contactsLabel = new javax.swing.JLabel();
266  contactsDataLabel = new javax.swing.JLabel();
267  referencesLabel = new javax.swing.JLabel();
268  referencesDataLabel = new javax.swing.JLabel();
270  fileRefPane = new javax.swing.JPanel();
271  javax.swing.JPanel fileRefScrolPanel = new javax.swing.JPanel();
272  javax.swing.JScrollPane scrollPane = new javax.swing.JScrollPane();
273  fileRefList = new javax.swing.JList<>();
274  javax.swing.JPanel selectAccountPane = new javax.swing.JPanel();
275  selectAccountFileRefLabel = new javax.swing.JLabel();
276 
277  setLayout(new java.awt.GridBagLayout());
278 
279  summaryPanel.setLayout(new java.awt.GridBagLayout());
280 
281  org.openide.awt.Mnemonics.setLocalizedText(accountLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountLabel.text")); // NOI18N
282  gridBagConstraints = new java.awt.GridBagConstraints();
283  gridBagConstraints.gridx = 0;
284  gridBagConstraints.gridy = 0;
285  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
286  gridBagConstraints.insets = new java.awt.Insets(15, 9, 0, 9);
287  summaryPanel.add(accountLabel, gridBagConstraints);
288 
289  org.openide.awt.Mnemonics.setLocalizedText(accountCountry, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountCountry.text")); // NOI18N
290  gridBagConstraints = new java.awt.GridBagConstraints();
291  gridBagConstraints.gridx = 0;
292  gridBagConstraints.gridy = 1;
293  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
294  gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 9);
295  summaryPanel.add(accountCountry, gridBagConstraints);
296 
297  org.openide.awt.Mnemonics.setLocalizedText(accoutDescriptionLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accoutDescriptionLabel.text")); // NOI18N
298  gridBagConstraints = new java.awt.GridBagConstraints();
299  gridBagConstraints.gridx = 0;
300  gridBagConstraints.gridy = 2;
301  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
302  gridBagConstraints.weightx = 1.0;
303  gridBagConstraints.insets = new java.awt.Insets(15, 9, 15, 9);
304  summaryPanel.add(accoutDescriptionLabel, gridBagConstraints);
305 
306  gridBagConstraints = new java.awt.GridBagConstraints();
307  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
308  add(summaryPanel, gridBagConstraints);
309 
310  countsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.countsPanel.border.title"))); // NOI18N
311  countsPanel.setLayout(new java.awt.GridBagLayout());
312 
313  org.openide.awt.Mnemonics.setLocalizedText(messagesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesLabel.text")); // NOI18N
314  gridBagConstraints = new java.awt.GridBagConstraints();
315  gridBagConstraints.gridx = 0;
316  gridBagConstraints.gridy = 0;
317  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
318  gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
319  countsPanel.add(messagesLabel, gridBagConstraints);
320 
321  org.openide.awt.Mnemonics.setLocalizedText(callLogsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsLabel.text")); // NOI18N
322  gridBagConstraints = new java.awt.GridBagConstraints();
323  gridBagConstraints.gridx = 0;
324  gridBagConstraints.gridy = 1;
325  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
326  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
327  countsPanel.add(callLogsLabel, gridBagConstraints);
328 
329  org.openide.awt.Mnemonics.setLocalizedText(thumbnailCntLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailCntLabel.text")); // NOI18N
330  gridBagConstraints = new java.awt.GridBagConstraints();
331  gridBagConstraints.gridx = 0;
332  gridBagConstraints.gridy = 2;
333  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
334  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
335  countsPanel.add(thumbnailCntLabel, gridBagConstraints);
336 
337  org.openide.awt.Mnemonics.setLocalizedText(thumbnailsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailsDataLabel.text")); // NOI18N
338  gridBagConstraints = new java.awt.GridBagConstraints();
339  gridBagConstraints.gridx = 1;
340  gridBagConstraints.gridy = 2;
341  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
342  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
343  countsPanel.add(thumbnailsDataLabel, gridBagConstraints);
344 
345  org.openide.awt.Mnemonics.setLocalizedText(messagesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesDataLabel.text")); // NOI18N
346  gridBagConstraints = new java.awt.GridBagConstraints();
347  gridBagConstraints.gridx = 1;
348  gridBagConstraints.gridy = 0;
349  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
350  gridBagConstraints.weightx = 1.0;
351  gridBagConstraints.insets = new java.awt.Insets(9, 0, 9, 15);
352  countsPanel.add(messagesDataLabel, gridBagConstraints);
353 
354  org.openide.awt.Mnemonics.setLocalizedText(callLogsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsDataLabel.text")); // NOI18N
355  gridBagConstraints = new java.awt.GridBagConstraints();
356  gridBagConstraints.gridx = 1;
357  gridBagConstraints.gridy = 1;
358  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
359  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
360  countsPanel.add(callLogsDataLabel, gridBagConstraints);
361 
362  org.openide.awt.Mnemonics.setLocalizedText(attachmentsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentsLabel.text")); // NOI18N
363  gridBagConstraints = new java.awt.GridBagConstraints();
364  gridBagConstraints.gridx = 0;
365  gridBagConstraints.gridy = 3;
366  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
367  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
368  countsPanel.add(attachmentsLabel, gridBagConstraints);
369 
370  org.openide.awt.Mnemonics.setLocalizedText(attachmentDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentDataLabel.text")); // NOI18N
371  gridBagConstraints = new java.awt.GridBagConstraints();
372  gridBagConstraints.gridx = 1;
373  gridBagConstraints.gridy = 3;
374  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
375  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
376  countsPanel.add(attachmentDataLabel, gridBagConstraints);
377 
378  gridBagConstraints = new java.awt.GridBagConstraints();
379  gridBagConstraints.gridx = 0;
380  gridBagConstraints.gridy = 1;
381  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
382  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
383  add(countsPanel, gridBagConstraints);
384 
385  contanctsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contanctsPanel.border.title"))); // NOI18N
386  contanctsPanel.setLayout(new java.awt.GridBagLayout());
387 
388  contactsLabel.setLabelFor(contactsDataLabel);
389  org.openide.awt.Mnemonics.setLocalizedText(contactsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsLabel.text")); // NOI18N
390  gridBagConstraints = new java.awt.GridBagConstraints();
391  gridBagConstraints.gridx = 0;
392  gridBagConstraints.gridy = 0;
393  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
394  gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
395  contanctsPanel.add(contactsLabel, gridBagConstraints);
396 
397  org.openide.awt.Mnemonics.setLocalizedText(contactsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsDataLabel.text")); // NOI18N
398  gridBagConstraints = new java.awt.GridBagConstraints();
399  gridBagConstraints.gridx = 1;
400  gridBagConstraints.gridy = 0;
401  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
402  gridBagConstraints.weightx = 1.0;
403  gridBagConstraints.insets = new java.awt.Insets(9, 9, 9, 15);
404  contanctsPanel.add(contactsDataLabel, gridBagConstraints);
405 
407  org.openide.awt.Mnemonics.setLocalizedText(referencesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesLabel.text")); // NOI18N
408  gridBagConstraints = new java.awt.GridBagConstraints();
409  gridBagConstraints.gridx = 0;
410  gridBagConstraints.gridy = 1;
411  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
412  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 0);
413  contanctsPanel.add(referencesLabel, gridBagConstraints);
414 
415  org.openide.awt.Mnemonics.setLocalizedText(referencesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesDataLabel.text")); // NOI18N
416  gridBagConstraints = new java.awt.GridBagConstraints();
417  gridBagConstraints.gridx = 1;
418  gridBagConstraints.gridy = 1;
419  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
420  gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 0);
421  contanctsPanel.add(referencesDataLabel, gridBagConstraints);
422 
423  gridBagConstraints = new java.awt.GridBagConstraints();
424  gridBagConstraints.gridx = 0;
425  gridBagConstraints.gridy = 2;
426  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
427  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
428  add(contanctsPanel, gridBagConstraints);
429 
430  caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.caseReferencesPanel.border.title"))); // NOI18N
431  gridBagConstraints = new java.awt.GridBagConstraints();
432  gridBagConstraints.gridx = 0;
433  gridBagConstraints.gridy = 4;
434  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
435  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
436  gridBagConstraints.weightx = 1.0;
437  gridBagConstraints.weighty = 1.0;
438  gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
439  add(caseReferencesPanel, gridBagConstraints);
440 
441  fileRefPane.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.fileRefPane.border.title"))); // NOI18N
442  fileRefPane.setLayout(new java.awt.CardLayout());
443 
444  fileRefScrolPanel.setLayout(new java.awt.BorderLayout());
445 
446  fileRefList.setModel(new javax.swing.AbstractListModel<String>() {
447  String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
448  public int getSize() { return strings.length; }
449  public String getElementAt(int i) { return strings[i]; }
450  });
451  scrollPane.setViewportView(fileRefList);
452 
453  fileRefScrolPanel.add(scrollPane, java.awt.BorderLayout.CENTER);
454 
455  fileRefPane.add(fileRefScrolPanel, "listPanelCard");
456 
457  selectAccountPane.setLayout(new java.awt.GridBagLayout());
458 
459  org.openide.awt.Mnemonics.setLocalizedText(selectAccountFileRefLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.selectAccountFileRefLabel.text")); // NOI18N
460  selectAccountFileRefLabel.setEnabled(false);
461  selectAccountPane.add(selectAccountFileRefLabel, new java.awt.GridBagConstraints());
462 
463  fileRefPane.add(selectAccountPane, "selectAccountCard");
464 
465  gridBagConstraints = new java.awt.GridBagConstraints();
466  gridBagConstraints.gridx = 0;
467  gridBagConstraints.gridy = 3;
468  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
469  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
470  gridBagConstraints.weighty = 1.0;
471  add(fileRefPane, gridBagConstraints);
472  }// </editor-fold>//GEN-END:initComponents
473 
474 
475  // Variables declaration - do not modify//GEN-BEGIN:variables
476  private javax.swing.JLabel accountCountry;
477  private javax.swing.JLabel accountLabel;
478  private javax.swing.JLabel accoutDescriptionLabel;
479  private javax.swing.JLabel attachmentDataLabel;
480  private javax.swing.JLabel attachmentsLabel;
481  private javax.swing.JLabel callLogsDataLabel;
482  private javax.swing.JLabel callLogsLabel;
484  private javax.swing.JLabel contactsDataLabel;
485  private javax.swing.JLabel contactsLabel;
486  private javax.swing.JPanel contanctsPanel;
487  private javax.swing.JPanel countsPanel;
488  private javax.swing.JList<String> fileRefList;
489  private javax.swing.JPanel fileRefPane;
490  private javax.swing.JLabel messagesDataLabel;
491  private javax.swing.JLabel messagesLabel;
492  private javax.swing.JLabel referencesDataLabel;
493  private javax.swing.JLabel referencesLabel;
494  private javax.swing.JLabel selectAccountFileRefLabel;
495  private javax.swing.JPanel summaryPanel;
496  private javax.swing.JLabel thumbnailCntLabel;
497  private javax.swing.JLabel thumbnailsDataLabel;
498  // End of variables declaration//GEN-END:variables
499 
500 }
org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel caseReferencesPanel
synchronized static Logger getLogger(String name)
Definition: Logger.java:124

Copyright © 2012-2020 Basis Technology. Generated on: Tue Sep 22 2020
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.