19 package org.sleuthkit.autopsy.centralrepository.optionspanel;
21 import java.util.List;
22 import java.util.logging.Level;
23 import javax.swing.JDialog;
24 import javax.swing.JFrame;
25 import org.openide.util.NbBundle.Messages;
26 import org.openide.windows.WindowManager;
35 @SuppressWarnings(
"PMD.SingularField")
36 final class ShowCasesDialog extends JDialog {
38 private static final long serialVersionUID = 1L;
40 private final static Logger logger = Logger.
getLogger(ShowCasesDialog.class.getName());
42 private final ShowCasesTableModel tableModel;
43 @Messages({
"ShowCasesDialog.title_text=All Cases Details"})
48 super((JFrame) WindowManager.getDefault().getMainWindow(),
49 Bundle.ShowCasesDialog_title_text(),
51 tableModel =
new ShowCasesTableModel();
54 EamDb dbManager = EamDb.getInstance();
55 List<CorrelationCase> eamCases = dbManager.getCases();
56 for(CorrelationCase eamCase : eamCases) {
57 tableModel.addEamCase(eamCase);
59 }
catch (EamDbException ex) {
60 logger.log(Level.SEVERE,
"Error getting list of cases from database.", ex);
65 private void display() {
66 this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
77 @SuppressWarnings(
"unchecked")
79 private
void initComponents() {
81 showCasesPanel =
new javax.swing.JPanel();
82 showCasesScrollPane =
new javax.swing.JScrollPane();
83 outCasesPane =
new javax.swing.JPanel();
84 innerCaseScrollPane =
new javax.swing.JScrollPane();
85 caseDetailsTable =
new javax.swing.JTable();
86 closeButton =
new javax.swing.JButton();
88 setTitle(
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.title"));
89 setMinimumSize(
new java.awt.Dimension(545, 415));
91 showCasesPanel.setPreferredSize(
new java.awt.Dimension(527, 407));
93 showCasesScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
94 showCasesScrollPane.setPreferredSize(
new java.awt.Dimension(535, 415));
96 innerCaseScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
98 caseDetailsTable.setAutoCreateRowSorter(
true);
99 caseDetailsTable.setModel(tableModel);
100 caseDetailsTable.setToolTipText(
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.caseDetailsTable.toolTipText"));
101 caseDetailsTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
102 caseDetailsTable.getTableHeader().setReorderingAllowed(
false);
103 innerCaseScrollPane.setViewportView(caseDetailsTable);
104 caseDetailsTable.getAccessibleContext().setAccessibleDescription(
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.caseDetailsTable.AccessibleContext.accessibleDescription"));
106 javax.swing.GroupLayout outCasesPaneLayout =
new javax.swing.GroupLayout(outCasesPane);
107 outCasesPane.setLayout(outCasesPaneLayout);
108 outCasesPaneLayout.setHorizontalGroup(
109 outCasesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
110 .addGap(0, 1423, Short.MAX_VALUE)
111 .addGroup(outCasesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
112 .addComponent(innerCaseScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 1423, Short.MAX_VALUE))
114 outCasesPaneLayout.setVerticalGroup(
115 outCasesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
116 .addGap(0, 500, Short.MAX_VALUE)
117 .addGroup(outCasesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
118 .addComponent(innerCaseScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE))
121 showCasesScrollPane.setViewportView(outCasesPane);
123 javax.swing.GroupLayout showCasesPanelLayout =
new javax.swing.GroupLayout(showCasesPanel);
124 showCasesPanel.setLayout(showCasesPanelLayout);
125 showCasesPanelLayout.setHorizontalGroup(
126 showCasesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
127 .addGap(0, 1188, Short.MAX_VALUE)
128 .addGroup(showCasesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
129 .addComponent(showCasesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 527, Short.MAX_VALUE))
131 showCasesPanelLayout.setVerticalGroup(
132 showCasesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
133 .addGap(0, 473, Short.MAX_VALUE)
134 .addGroup(showCasesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
135 .addComponent(showCasesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 407, Short.MAX_VALUE))
138 org.openide.awt.Mnemonics.setLocalizedText(closeButton,
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.closeButton.text"));
139 closeButton.setActionCommand(
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.closeButton.actionCommand"));
140 closeButton.addActionListener(
new java.awt.event.ActionListener() {
141 public void actionPerformed(java.awt.event.ActionEvent evt) {
142 closeButtonActionPerformed(evt);
146 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(getContentPane());
147 getContentPane().setLayout(layout);
148 layout.setHorizontalGroup(
149 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
150 .addGroup(layout.createSequentialGroup()
152 .addComponent(showCasesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 1188, Short.MAX_VALUE)
154 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
155 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
156 .addComponent(closeButton)
159 layout.setVerticalGroup(
160 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
161 .addGroup(layout.createSequentialGroup()
163 .addComponent(showCasesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 473, Short.MAX_VALUE)
164 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
165 .addComponent(closeButton)
169 closeButton.getAccessibleContext().setAccessibleName(
org.openide.util.NbBundle.getMessage(ShowCasesDialog.class,
"ShowCasesDialog.closeButton.AccessibleContext.accessibleName"));
174 private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {
180 private javax.swing.JTable caseDetailsTable;
181 private javax.swing.JButton closeButton;
182 private javax.swing.JScrollPane innerCaseScrollPane;
183 private javax.swing.JPanel outCasesPane;
184 private javax.swing.JPanel showCasesPanel;
185 private javax.swing.JScrollPane showCasesScrollPane;
synchronized static Logger getLogger(String name)