19 package org.sleuthkit.autopsy.communications.relationships;
22 import javax.swing.JPanel;
23 import org.netbeans.swing.outline.DefaultOutlineModel;
24 import org.netbeans.swing.outline.Outline;
25 import org.openide.explorer.view.OutlineView;
26 import org.openide.nodes.AbstractNode;
27 import org.openide.nodes.Children;
28 import org.openide.util.Lookup;
29 import org.openide.util.NbBundle.Messages;
44 "SummaryViewer_TabTitle=Summary",
45 "SummaryViewer_FileRefNameColumn_Title=Path",
46 "SummaryViewer_CaseRefNameColumn_Title=Case Name",
47 "SummaryViewer_CentralRepository_Message=<Enable Central Respository to see Other Occurrences>",
48 "SummaryViewer_Creation_Date_Title=Creation Date",
49 "SummaryViewer_FileRef_Message=<Select a single account to see File References>",
50 "SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.",
51 "SummaryViewer_Account_Description=This account represents a device in the case.",
52 "SummaryViewer_Account_Description_MuliSelect=Summary information is not available when multiple accounts are selected.",
53 "SummaryViewer_Country_Code=Country: "
60 lookup = Lookup.getDefault();
64 Outline outline = outlineView.getOutline();
66 outline.setRootVisible(
false);
67 ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_FileRefNameColumn_Title());
70 outline = outlineView.getOutline();
71 outlineView.setPropertyColumns(
"creationDate", Bundle.SummaryViewer_Creation_Date_Title());
73 outline.setRootVisible(
false);
74 ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_CaseRefNameColumn_Title());
84 return Bundle.SummaryViewer_TabTitle();
111 Account[] accountArray = info.
getAccounts().toArray(
new Account[1]);
112 Account account = accountArray[0];
114 if (account.getAccountType().getTypeName().contains(
"PHONE")) {
117 accountCountry.setText(Bundle.SummaryViewer_Country_Code() + countryCode);
125 if (account.getAccountType().equals(Account.Type.DEVICE)) {
131 AccountSummary summaryDetails =
new AccountSummary(account, info.
getArtifacts());
136 messagesDataLabel.setText(Integer.toString(summaryDetails.getMessagesCnt() + summaryDetails.getEmailCnt()));
162 super.setEnabled(enabled);
201 StringBuilder buffer =
new StringBuilder();
202 accounts.stream().map((account) -> {
203 buffer.append(account.getTypeSpecificID());
205 }).forEachOrdered((_item) -> {
209 return buffer.toString().substring(0, buffer.length() - 2);
217 @SuppressWarnings(
"unchecked")
220 java.awt.GridBagConstraints gridBagConstraints;
243 setLayout(
new java.awt.GridBagLayout());
247 org.openide.awt.Mnemonics.setLocalizedText(
accountLabel,
org.openide.util.NbBundle.getMessage(
SummaryViewer.class,
"SummaryViewer.accountLabel.text"));
248 gridBagConstraints =
new java.awt.GridBagConstraints();
249 gridBagConstraints.gridx = 0;
250 gridBagConstraints.gridy = 0;
251 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
252 gridBagConstraints.insets =
new java.awt.Insets(15, 9, 0, 9);
256 gridBagConstraints =
new java.awt.GridBagConstraints();
257 gridBagConstraints.gridx = 0;
258 gridBagConstraints.gridy = 1;
259 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
260 gridBagConstraints.insets =
new java.awt.Insets(0, 9, 0, 9);
264 gridBagConstraints =
new java.awt.GridBagConstraints();
265 gridBagConstraints.gridx = 0;
266 gridBagConstraints.gridy = 2;
267 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
268 gridBagConstraints.weightx = 1.0;
269 gridBagConstraints.insets =
new java.awt.Insets(15, 9, 15, 9);
272 gridBagConstraints =
new java.awt.GridBagConstraints();
273 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
276 countsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(
SummaryViewer.class,
"SummaryViewer.countsPanel.border.title")));
277 countsPanel.setLayout(
new java.awt.GridBagLayout());
280 gridBagConstraints =
new java.awt.GridBagConstraints();
281 gridBagConstraints.gridx = 0;
282 gridBagConstraints.gridy = 0;
283 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
284 gridBagConstraints.insets =
new java.awt.Insets(9, 15, 9, 15);
288 gridBagConstraints =
new java.awt.GridBagConstraints();
289 gridBagConstraints.gridx = 0;
290 gridBagConstraints.gridy = 1;
291 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
292 gridBagConstraints.insets =
new java.awt.Insets(0, 15, 9, 15);
296 gridBagConstraints =
new java.awt.GridBagConstraints();
297 gridBagConstraints.gridx = 0;
298 gridBagConstraints.gridy = 2;
299 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
300 gridBagConstraints.insets =
new java.awt.Insets(0, 15, 9, 15);
304 gridBagConstraints =
new java.awt.GridBagConstraints();
305 gridBagConstraints.gridx = 1;
306 gridBagConstraints.gridy = 2;
307 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
308 gridBagConstraints.insets =
new java.awt.Insets(0, 0, 9, 15);
312 gridBagConstraints =
new java.awt.GridBagConstraints();
313 gridBagConstraints.gridx = 1;
314 gridBagConstraints.gridy = 0;
315 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
316 gridBagConstraints.weightx = 1.0;
317 gridBagConstraints.insets =
new java.awt.Insets(9, 0, 9, 15);
321 gridBagConstraints =
new java.awt.GridBagConstraints();
322 gridBagConstraints.gridx = 1;
323 gridBagConstraints.gridy = 1;
324 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
325 gridBagConstraints.insets =
new java.awt.Insets(0, 0, 9, 15);
329 gridBagConstraints =
new java.awt.GridBagConstraints();
330 gridBagConstraints.gridx = 0;
331 gridBagConstraints.gridy = 3;
332 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
333 gridBagConstraints.insets =
new java.awt.Insets(0, 15, 9, 15);
337 gridBagConstraints =
new java.awt.GridBagConstraints();
338 gridBagConstraints.gridx = 1;
339 gridBagConstraints.gridy = 3;
340 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
341 gridBagConstraints.insets =
new java.awt.Insets(0, 0, 9, 15);
344 gridBagConstraints =
new java.awt.GridBagConstraints();
345 gridBagConstraints.gridx = 0;
346 gridBagConstraints.gridy = 1;
347 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
348 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
351 contanctsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(
SummaryViewer.class,
"SummaryViewer.contanctsPanel.border.title")));
356 gridBagConstraints =
new java.awt.GridBagConstraints();
357 gridBagConstraints.gridx = 0;
358 gridBagConstraints.gridy = 0;
359 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
360 gridBagConstraints.insets =
new java.awt.Insets(9, 15, 9, 15);
364 gridBagConstraints =
new java.awt.GridBagConstraints();
365 gridBagConstraints.gridx = 1;
366 gridBagConstraints.gridy = 0;
367 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
368 gridBagConstraints.weightx = 1.0;
369 gridBagConstraints.insets =
new java.awt.Insets(9, 9, 9, 15);
374 gridBagConstraints =
new java.awt.GridBagConstraints();
375 gridBagConstraints.gridx = 0;
376 gridBagConstraints.gridy = 1;
377 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
378 gridBagConstraints.insets =
new java.awt.Insets(0, 15, 9, 0);
382 gridBagConstraints =
new java.awt.GridBagConstraints();
383 gridBagConstraints.gridx = 1;
384 gridBagConstraints.gridy = 1;
385 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
386 gridBagConstraints.insets =
new java.awt.Insets(0, 9, 0, 0);
389 gridBagConstraints =
new java.awt.GridBagConstraints();
390 gridBagConstraints.gridx = 0;
391 gridBagConstraints.gridy = 2;
392 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
393 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
396 fileReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(
SummaryViewer.class,
"SummaryViewer.fileReferencesPanel.border.title")));
397 gridBagConstraints =
new java.awt.GridBagConstraints();
398 gridBagConstraints.gridx = 0;
399 gridBagConstraints.gridy = 3;
400 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
401 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
402 gridBagConstraints.weightx = 1.0;
403 gridBagConstraints.weighty = 1.0;
404 gridBagConstraints.insets =
new java.awt.Insets(9, 0, 0, 0);
407 caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(
SummaryViewer.class,
"SummaryViewer.caseReferencesPanel.border.title")));
408 gridBagConstraints =
new java.awt.GridBagConstraints();
409 gridBagConstraints.gridx = 0;
410 gridBagConstraints.gridy = 4;
411 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
412 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
413 gridBagConstraints.weightx = 1.0;
414 gridBagConstraints.weighty = 1.0;
415 gridBagConstraints.insets =
new java.awt.Insets(9, 0, 0, 0);
javax.swing.JLabel accountCountry
javax.swing.JLabel contactsDataLabel
javax.swing.JLabel attachmentDataLabel
javax.swing.JLabel callLogsDataLabel
javax.swing.JLabel messagesDataLabel
javax.swing.JLabel referencesDataLabel
javax.swing.JLabel accoutDescriptionLabel
javax.swing.JLabel referencesLabel
void setEnabled(boolean enabled)
javax.swing.JLabel contactsLabel
javax.swing.JPanel contanctsPanel
javax.swing.JPanel countsPanel
javax.swing.JPanel summaryPanel
javax.swing.JLabel callLogsLabel
void setEnabled(boolean enabled)
javax.swing.JLabel messagesLabel
javax.swing.JLabel thumbnailsDataLabel
String createAccountLabel(Set< Account > accounts)
static String getCountryCode(String phoneNumber)
org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel caseReferencesPanel
static String convertToInternational(String phoneNumber)
void hideOutlineView(String message)
org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel fileReferencesPanel
javax.swing.JLabel attachmentsLabel
javax.swing.JLabel thumbnailCntLabel
Set< BlackboardArtifact > getArtifacts()
OutlineView getOutlineView()
Set< Account > getAccounts()
void setSelectionInfo(SelectionInfo info)
javax.swing.JLabel accountLabel
static boolean isEnabled()