Autopsy  4.20.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-2020 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.List;
23 import java.util.concurrent.ExecutionException;
24 import java.util.logging.Level;
25 import javax.swing.DefaultListModel;
26 import javax.swing.JPanel;
27 import org.netbeans.swing.outline.DefaultOutlineModel;
28 import org.netbeans.swing.outline.Outline;
29 import org.openide.explorer.view.OutlineView;
30 import org.openide.nodes.AbstractNode;
31 import org.openide.nodes.Children;
32 import org.openide.util.Lookup;
33 import org.openide.util.NbBundle.Messages;
34 import org.sleuthkit.datamodel.Account;
38 
45 public class SummaryViewer extends javax.swing.JPanel implements RelationshipsViewer {
46 
47  private static final long serialVersionUID = 1L;
48 
49  private final Lookup lookup;
50  private final DefaultListModel<String> fileRefListModel;
51 
52  private static final Logger logger = Logger.getLogger(SummaryViewer.class.getName());
53 
54  private SummaryPanelWorker worker;
55 
56  @Messages({
57  "SummaryViewer_TabTitle=Summary",
58  "SummaryViewer_FileRefNameColumn_Title=Path",
59  "SummaryViewer_CaseRefNameColumn_Title=Case Name",
60  "SummaryViewer_CentralRepository_Message=<Enable Central Respository to see Other Occurrences>",
61  "SummaryViewer_Creation_Date_Title=Creation Date",
62  "SummaryViewer_FileRef_Message=<Select a single account to see File References>",
63  "SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.",
64  "SummaryViewer_Account_Description=This account represents a device in the case.",
65  "SummaryViewer_Account_Description_MuliSelect=Summary information is not available when multiple accounts are selected.",
66  "SummaryViewer_Country_Code=Country: ",
67  "SummaryViewer_Select_account_for_persona=<Select a single account to see Persona(s)>",
68  "SummaryViewer_loading_count_message=Loading...."
69  })
70 
74  public SummaryViewer() {
75  lookup = Lookup.getDefault();
77 
78  fileRefListModel = new DefaultListModel<>();
79  fileRefList.setModel(fileRefListModel);
80 
81  OutlineView outlineView = caseReferencesPanel.getOutlineView();
82  Outline outline = outlineView.getOutline();
83  outlineView.setPropertyColumns("creationDate", Bundle.SummaryViewer_Creation_Date_Title()); //NON-NLS
84 
85  outline.setRootVisible(false);
86  ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_CaseRefNameColumn_Title());
87 
88  clearControls();
89 
90  caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
91  ((SummaryPersonaPane) personaPanel).setMessage(Bundle.SummaryViewer_Select_account_for_persona());
92  ((SummaryPersonaPane) personaPanel).showMessagePanel();
93  }
94 
95  @Override
96  public String getDisplayName() {
97  return Bundle.SummaryViewer_TabTitle();
98  }
99 
100  @Override
101  public JPanel getPanel() {
102  return this;
103  }
104 
105  @Override
106  public void setSelectionInfo(SelectionInfo info) {
107 
108  if (!CentralRepository.isEnabled()) {
109  caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
110  } else {
112  }
113 
114  CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
115  cardLayout.show(fileRefPane, "selectAccountCard");
116 
117  fileRefListModel.removeAllElements();
118 
119  // Request is that the SummaryViewer only show information if one
120  // account is selected
121  if (info == null || info.getAccounts().size() != 1) {
122  setEnabled(false);
123  clearControls();
124 
125  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description_MuliSelect());
126  selectAccountFileRefLabel.setText(Bundle.SummaryViewer_FileRef_Message());
127 
128  } else {
129  Account[] accountArray = info.getAccounts().toArray(new Account[1]);
130  Account account = accountArray[0];
131 
132  if (account.getAccountType().getTypeName().contains("PHONE")) {
133  String countryCode = PhoneNumUtil.getCountryCode(account.getTypeSpecificID());
134  accountLabel.setText(PhoneNumUtil.convertToInternational(account.getTypeSpecificID()));
135  accountCountry.setText(Bundle.SummaryViewer_Country_Code() + countryCode);
136  accountCountry.setEnabled(true);
137  } else {
138  accountLabel.setText(account.getTypeSpecificID());
139  accountCountry.setText("");
140  accountCountry.setEnabled(false);
141  }
142 
143  if (account.getAccountType().equals(Account.Type.DEVICE)) {
144  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description());
145  } else {
146  accoutDescriptionLabel.setText(Bundle.SummaryViewer_Device_Account_Description());
147  }
148 
149  thumbnailsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
150  callLogsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
151  contactsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
152  messagesDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
153  attachmentDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
154  referencesDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
155  contactsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
156 
157  caseReferencesPanel.setNode(new AbstractNode(Children.create(new CorrelationCaseChildNodeFactory(info.getAccounts()), true)));
158 
159  updateOtherAccountInfo(info, account);
160 
161  setEnabled(true);
162  }
163  }
164 
165  @Override
166  public Lookup getLookup() {
167  return lookup;
168  }
169 
175  @Override
176  public void setEnabled(boolean enabled) {
177  super.setEnabled(enabled);
178  thumbnailCntLabel.setEnabled(enabled);
179  callLogsLabel.setEnabled(enabled);
180  contactsLabel.setEnabled(enabled);
181  messagesLabel.setEnabled(enabled);
183  fileRefList.setEnabled(enabled);
184  countsPanel.setEnabled(enabled);
185  attachmentsLabel.setEnabled(enabled);
186  referencesLabel.setEnabled(enabled);
187  }
188 
192  private void clearControls() {
193  thumbnailsDataLabel.setText("");
194  callLogsDataLabel.setText("");
195  contactsDataLabel.setText("");
196  messagesDataLabel.setText("");
197  attachmentDataLabel.setText("");
198  accountLabel.setText("");
199  accoutDescriptionLabel.setText("");
200  referencesDataLabel.setText("");
201  accountCountry.setText("");
202 
203  fileRefListModel.clear();
204  caseReferencesPanel.setNode(new AbstractNode(Children.LEAF));
205  }
206 
207  @Messages({
208  "SummaryViewer_Fetching_References=<Fetching File References>",
209  "SummaryViewer_Persona_CR_Message=<Enable Central Repository to view Personas>"
210  })
211  private void updateOtherAccountInfo(SelectionInfo info, Account account) {
212  if (worker != null) {
213  worker.cancel(true);
214  }
215 
216  worker = new SummaryPanelWorker(info, account) {
217  @Override
218  protected void done() {
219  if (isCancelled()) {
220  return;
221  }
222 
223  try {
224  SummaryPanelWorker.SummaryWorkerResults results = get();
225 
226  List<String> fileRefList = results.getPaths();
227 
228  if (fileRefList != null) {
229  fileRefList.forEach(value -> {
230  fileRefListModel.addElement(value);
231  });
232  }
233 
234  CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
235  cardLayout.show(fileRefPane, "listPanelCard");
236 
237  List<Persona> personaList = results.getPersonaList();
238 
240  ((SummaryPersonaPane) personaPanel).updatePersonaList(account, results.getCRAccount(), personaList);
241  } else {
242  ((SummaryPersonaPane) personaPanel).setMessage(Bundle.SummaryViewer_Persona_CR_Message());
243  ((SummaryPersonaPane) personaPanel).showMessagePanel();
244  }
245 
246  AccountSummary summaryDetails = results.getAccountSummary();
247  thumbnailsDataLabel.setText(Integer.toString(summaryDetails.getThumbnailCnt()));
248  callLogsDataLabel.setText(Integer.toString(summaryDetails.getCallLogCnt()));
249  contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
250  messagesDataLabel.setText(Integer.toString(summaryDetails.getMessagesCnt() + summaryDetails.getEmailCnt()));
251  attachmentDataLabel.setText(Integer.toString(summaryDetails.getAttachmentCnt()));
252  referencesDataLabel.setText(Integer.toString(summaryDetails.getReferenceCnt()));
253  contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
254 
255  } catch (InterruptedException | ExecutionException ex) {
256  logger.log(Level.WARNING, String.format(("Failed to get data for account: %d"), account.getAccountID()), ex);
257  }
258  }
259  };
260 
261  selectAccountFileRefLabel.setText(Bundle.SummaryViewer_Fetching_References());
262  worker.execute();
263  }
264 
270  @SuppressWarnings("unchecked")
271  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
272  private void initComponents() {
273  java.awt.GridBagConstraints gridBagConstraints;
274 
275  summaryPanel = new javax.swing.JPanel();
276  accountLabel = new javax.swing.JLabel();
277  accountCountry = new javax.swing.JLabel();
278  accoutDescriptionLabel = new javax.swing.JLabel();
279  countsPanel = new javax.swing.JPanel();
280  messagesLabel = new javax.swing.JLabel();
281  callLogsLabel = new javax.swing.JLabel();
282  thumbnailCntLabel = new javax.swing.JLabel();
283  thumbnailsDataLabel = new javax.swing.JLabel();
284  messagesDataLabel = new javax.swing.JLabel();
285  callLogsDataLabel = new javax.swing.JLabel();
286  attachmentsLabel = new javax.swing.JLabel();
287  attachmentDataLabel = new javax.swing.JLabel();
288  contanctsPanel = new javax.swing.JPanel();
289  contactsLabel = new javax.swing.JLabel();
290  contactsDataLabel = new javax.swing.JLabel();
291  referencesLabel = new javax.swing.JLabel();
292  referencesDataLabel = new javax.swing.JLabel();
294  fileRefPane = new javax.swing.JPanel();
295  javax.swing.JPanel fileRefScrolPanel = new javax.swing.JPanel();
296  javax.swing.JScrollPane scrollPane = new javax.swing.JScrollPane();
297  fileRefList = new javax.swing.JList<>();
298  javax.swing.JPanel selectAccountPane = new javax.swing.JPanel();
299  selectAccountFileRefLabel = new javax.swing.JLabel();
301 
302  setLayout(new java.awt.GridBagLayout());
303 
304  summaryPanel.setLayout(new java.awt.GridBagLayout());
305 
306  org.openide.awt.Mnemonics.setLocalizedText(accountLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountLabel.text")); // NOI18N
307  gridBagConstraints = new java.awt.GridBagConstraints();
308  gridBagConstraints.gridx = 0;
309  gridBagConstraints.gridy = 0;
310  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
311  gridBagConstraints.insets = new java.awt.Insets(15, 9, 0, 9);
312  summaryPanel.add(accountLabel, gridBagConstraints);
313 
314  org.openide.awt.Mnemonics.setLocalizedText(accountCountry, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountCountry.text")); // NOI18N
315  gridBagConstraints = new java.awt.GridBagConstraints();
316  gridBagConstraints.gridx = 0;
317  gridBagConstraints.gridy = 1;
318  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
319  gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 9);
320  summaryPanel.add(accountCountry, gridBagConstraints);
321 
322  org.openide.awt.Mnemonics.setLocalizedText(accoutDescriptionLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accoutDescriptionLabel.text")); // NOI18N
323  gridBagConstraints = new java.awt.GridBagConstraints();
324  gridBagConstraints.gridx = 0;
325  gridBagConstraints.gridy = 2;
326  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
327  gridBagConstraints.weightx = 1.0;
328  gridBagConstraints.insets = new java.awt.Insets(15, 9, 15, 9);
329  summaryPanel.add(accoutDescriptionLabel, gridBagConstraints);
330 
331  gridBagConstraints = new java.awt.GridBagConstraints();
332  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
333  add(summaryPanel, gridBagConstraints);
334 
335  countsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.countsPanel.border.title"))); // NOI18N
336  countsPanel.setLayout(new java.awt.GridBagLayout());
337 
338  org.openide.awt.Mnemonics.setLocalizedText(messagesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesLabel.text")); // NOI18N
339  gridBagConstraints = new java.awt.GridBagConstraints();
340  gridBagConstraints.gridx = 0;
341  gridBagConstraints.gridy = 0;
342  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
343  gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
344  countsPanel.add(messagesLabel, gridBagConstraints);
345 
346  org.openide.awt.Mnemonics.setLocalizedText(callLogsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsLabel.text")); // NOI18N
347  gridBagConstraints = new java.awt.GridBagConstraints();
348  gridBagConstraints.gridx = 0;
349  gridBagConstraints.gridy = 1;
350  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
351  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
352  countsPanel.add(callLogsLabel, gridBagConstraints);
353 
354  org.openide.awt.Mnemonics.setLocalizedText(thumbnailCntLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailCntLabel.text")); // NOI18N
355  gridBagConstraints = new java.awt.GridBagConstraints();
356  gridBagConstraints.gridx = 0;
357  gridBagConstraints.gridy = 2;
358  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
359  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
360  countsPanel.add(thumbnailCntLabel, gridBagConstraints);
361 
362  org.openide.awt.Mnemonics.setLocalizedText(thumbnailsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailsDataLabel.text")); // NOI18N
363  gridBagConstraints = new java.awt.GridBagConstraints();
364  gridBagConstraints.gridx = 1;
365  gridBagConstraints.gridy = 2;
366  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
367  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
368  countsPanel.add(thumbnailsDataLabel, gridBagConstraints);
369 
370  org.openide.awt.Mnemonics.setLocalizedText(messagesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesDataLabel.text")); // NOI18N
371  gridBagConstraints = new java.awt.GridBagConstraints();
372  gridBagConstraints.gridx = 1;
373  gridBagConstraints.gridy = 0;
374  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
375  gridBagConstraints.weightx = 1.0;
376  gridBagConstraints.insets = new java.awt.Insets(9, 0, 9, 15);
377  countsPanel.add(messagesDataLabel, gridBagConstraints);
378 
379  org.openide.awt.Mnemonics.setLocalizedText(callLogsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsDataLabel.text")); // NOI18N
380  gridBagConstraints = new java.awt.GridBagConstraints();
381  gridBagConstraints.gridx = 1;
382  gridBagConstraints.gridy = 1;
383  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
384  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
385  countsPanel.add(callLogsDataLabel, gridBagConstraints);
386 
387  org.openide.awt.Mnemonics.setLocalizedText(attachmentsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentsLabel.text")); // NOI18N
388  gridBagConstraints = new java.awt.GridBagConstraints();
389  gridBagConstraints.gridx = 0;
390  gridBagConstraints.gridy = 3;
391  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
392  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
393  countsPanel.add(attachmentsLabel, gridBagConstraints);
394 
395  org.openide.awt.Mnemonics.setLocalizedText(attachmentDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentDataLabel.text")); // NOI18N
396  gridBagConstraints = new java.awt.GridBagConstraints();
397  gridBagConstraints.gridx = 1;
398  gridBagConstraints.gridy = 3;
399  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
400  gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
401  countsPanel.add(attachmentDataLabel, gridBagConstraints);
402 
403  gridBagConstraints = new java.awt.GridBagConstraints();
404  gridBagConstraints.gridx = 0;
405  gridBagConstraints.gridy = 1;
406  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
407  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
408  add(countsPanel, gridBagConstraints);
409 
410  contanctsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contanctsPanel.border.title"))); // NOI18N
411  contanctsPanel.setLayout(new java.awt.GridBagLayout());
412 
413  contactsLabel.setLabelFor(contactsDataLabel);
414  org.openide.awt.Mnemonics.setLocalizedText(contactsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsLabel.text")); // NOI18N
415  gridBagConstraints = new java.awt.GridBagConstraints();
416  gridBagConstraints.gridx = 0;
417  gridBagConstraints.gridy = 0;
418  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
419  gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
420  contanctsPanel.add(contactsLabel, gridBagConstraints);
421 
422  org.openide.awt.Mnemonics.setLocalizedText(contactsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsDataLabel.text")); // NOI18N
423  gridBagConstraints = new java.awt.GridBagConstraints();
424  gridBagConstraints.gridx = 1;
425  gridBagConstraints.gridy = 0;
426  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
427  gridBagConstraints.weightx = 1.0;
428  gridBagConstraints.insets = new java.awt.Insets(9, 9, 9, 15);
429  contanctsPanel.add(contactsDataLabel, gridBagConstraints);
430 
432  org.openide.awt.Mnemonics.setLocalizedText(referencesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesLabel.text")); // NOI18N
433  gridBagConstraints = new java.awt.GridBagConstraints();
434  gridBagConstraints.gridx = 0;
435  gridBagConstraints.gridy = 1;
436  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
437  gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 0);
438  contanctsPanel.add(referencesLabel, gridBagConstraints);
439 
440  org.openide.awt.Mnemonics.setLocalizedText(referencesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesDataLabel.text")); // NOI18N
441  gridBagConstraints = new java.awt.GridBagConstraints();
442  gridBagConstraints.gridx = 1;
443  gridBagConstraints.gridy = 1;
444  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
445  gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 0);
446  contanctsPanel.add(referencesDataLabel, gridBagConstraints);
447 
448  gridBagConstraints = new java.awt.GridBagConstraints();
449  gridBagConstraints.gridx = 0;
450  gridBagConstraints.gridy = 2;
451  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
452  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
453  add(contanctsPanel, gridBagConstraints);
454 
455  caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.caseReferencesPanel.border.title"))); // NOI18N
456  gridBagConstraints = new java.awt.GridBagConstraints();
457  gridBagConstraints.gridx = 0;
458  gridBagConstraints.gridy = 5;
459  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
460  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
461  gridBagConstraints.weightx = 1.0;
462  gridBagConstraints.weighty = 1.0;
463  gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
464  add(caseReferencesPanel, gridBagConstraints);
465 
466  fileRefPane.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.fileRefPane.border.title"))); // NOI18N
467  fileRefPane.setLayout(new java.awt.CardLayout());
468 
469  fileRefScrolPanel.setLayout(new java.awt.BorderLayout());
470 
471  fileRefList.setModel(new javax.swing.AbstractListModel<String>() {
472  String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
473  public int getSize() { return strings.length; }
474  public String getElementAt(int i) { return strings[i]; }
475  });
476  scrollPane.setViewportView(fileRefList);
477 
478  fileRefScrolPanel.add(scrollPane, java.awt.BorderLayout.CENTER);
479 
480  fileRefPane.add(fileRefScrolPanel, "listPanelCard");
481 
482  selectAccountPane.setLayout(new java.awt.GridBagLayout());
483 
484  org.openide.awt.Mnemonics.setLocalizedText(selectAccountFileRefLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.selectAccountFileRefLabel.text")); // NOI18N
485  selectAccountFileRefLabel.setEnabled(false);
486  selectAccountPane.add(selectAccountFileRefLabel, new java.awt.GridBagConstraints());
487 
488  fileRefPane.add(selectAccountPane, "selectAccountCard");
489 
490  gridBagConstraints = new java.awt.GridBagConstraints();
491  gridBagConstraints.gridx = 0;
492  gridBagConstraints.gridy = 4;
493  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
494  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
495  gridBagConstraints.weighty = 1.0;
496  add(fileRefPane, gridBagConstraints);
497 
498  personaPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.personaPanel.border.title"))); // NOI18N
499  personaPanel.setMinimumSize(new java.awt.Dimension(35, 75));
500  personaPanel.setPreferredSize(new java.awt.Dimension(112, 75));
501  gridBagConstraints = new java.awt.GridBagConstraints();
502  gridBagConstraints.gridy = 3;
503  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
504  add(personaPanel, gridBagConstraints);
505  }// </editor-fold>//GEN-END:initComponents
506 
507 
508  // Variables declaration - do not modify//GEN-BEGIN:variables
509  private javax.swing.JLabel accountCountry;
510  private javax.swing.JLabel accountLabel;
511  private javax.swing.JLabel accoutDescriptionLabel;
512  private javax.swing.JLabel attachmentDataLabel;
513  private javax.swing.JLabel attachmentsLabel;
514  private javax.swing.JLabel callLogsDataLabel;
515  private javax.swing.JLabel callLogsLabel;
517  private javax.swing.JLabel contactsDataLabel;
518  private javax.swing.JLabel contactsLabel;
519  private javax.swing.JPanel contanctsPanel;
520  private javax.swing.JPanel countsPanel;
521  private javax.swing.JList<String> fileRefList;
522  private javax.swing.JPanel fileRefPane;
523  private javax.swing.JLabel messagesDataLabel;
524  private javax.swing.JLabel messagesLabel;
525  private javax.swing.JPanel personaPanel;
526  private javax.swing.JLabel referencesDataLabel;
527  private javax.swing.JLabel referencesLabel;
528  private javax.swing.JLabel selectAccountFileRefLabel;
529  private javax.swing.JPanel summaryPanel;
530  private javax.swing.JLabel thumbnailCntLabel;
531  private javax.swing.JLabel thumbnailsDataLabel;
532  // End of variables declaration//GEN-END:variables
533 
534 }
void updateOtherAccountInfo(SelectionInfo info, Account account)
org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel caseReferencesPanel
synchronized static Logger getLogger(String name)
Definition: Logger.java:124

Copyright © 2012-2022 Basis Technology. Generated on: Tue Aug 1 2023
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.