Autopsy  4.20.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
ManageCasesDialog.java
Go to the documentation of this file.
1 /*
2  * Central Repository
3  *
4  * Copyright 2018-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 obtain 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.centralrepository.optionspanel;
20 
21 import java.util.ArrayList;
22 import java.util.HashMap;
23 import java.util.List;
24 import java.util.Map;
25 import java.util.logging.Level;
26 import javax.swing.event.ListSelectionEvent;
27 import javax.swing.event.ListSelectionListener;
28 import org.openide.windows.WindowManager;
33 import org.openide.util.NbBundle.Messages;
35 
41 final class ManageCasesDialog extends javax.swing.JDialog {
42 
43  private static final long serialVersionUID = 1L;
44  private final CasesTableModel casesTableModel = new CasesTableModel();
45  private final DataSourcesTableModel dataSourcesTableModel = new DataSourcesTableModel();
46  private final static Logger logger = Logger.getLogger(ManageCasesDialog.class.getName());
47 
51  @SuppressWarnings("PMD.SingularField") // UI widgets cause lots of false positives
52  @Messages({"ManageCasesDialog.title.text=Manage Cases"})
53  private ManageCasesDialog() {
54  super(WindowManager.getDefault().getMainWindow(), Bundle.ManageCasesDialog_title_text(),
55  true);
56  initComponents();
57  try {
58  CentralRepository dbManager = CentralRepository.getInstance();
59  Map<Integer, List<CorrelationDataSource>> dataSourcesByCaseId = new HashMap<>();
60  for (CorrelationDataSource dataSource : dbManager.getDataSources()) {
61  int caseID = dataSource.getCaseID();
62  List<CorrelationDataSource> dataSourceNames = dataSourcesByCaseId.getOrDefault(caseID, new ArrayList<>());
63  dataSourceNames.add(dataSource);
64  dataSourcesByCaseId.put(caseID, dataSourceNames);
65  }
66  for (CorrelationCase eamCase : dbManager.getCases()) {
67  casesTableModel.addEamCase(eamCase, dataSourcesByCaseId.getOrDefault(eamCase.getID(), new ArrayList<>()));
68  }
69  } catch (CentralRepoException ex) {
70  logger.log(Level.SEVERE, "Error getting list of cases from database.", ex); // NON-NLS
71  }
72 
73  casesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
74  @Override
75  public void valueChanged(ListSelectionEvent e) {
76  if (!e.getValueIsAdjusting()) {
77  updateSelection();
78  }
79  }
80  });
81  //sort on first column by default
82  casesTable.getRowSorter().toggleSortOrder(0);
83  }
84 
89  static void displayManageCasesDialog() {
90  ManageCasesDialog caseInfoDialog = new ManageCasesDialog();
91  caseInfoDialog.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
92  caseInfoDialog.setVisible(true);
93  }
94 
100  @SuppressWarnings("unchecked")
101  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
102  private void initComponents() {
103  java.awt.GridBagConstraints gridBagConstraints;
104 
105  casesSplitPane = new javax.swing.JSplitPane();
106  caseInfoPanel = new javax.swing.JPanel();
107  dataSourcesScrollPane = new javax.swing.JScrollPane();
108  dataSourcesTable = new javax.swing.JTable();
109  notesScrollPane = new javax.swing.JScrollPane();
110  notesTextArea = new javax.swing.JTextArea();
111  caseInfoLabel = new javax.swing.JLabel();
112  dataSourcesLabel = new javax.swing.JLabel();
113  notesLabel = new javax.swing.JLabel();
114  orgLabel = new javax.swing.JLabel();
115  caseNumberLabel = new javax.swing.JLabel();
116  examinerEmailLabel = new javax.swing.JLabel();
117  examinerNameLabel = new javax.swing.JLabel();
118  examinerPhoneLabel = new javax.swing.JLabel();
119  orgValueLabel = new javax.swing.JLabel();
120  caseNumberValueLabel = new javax.swing.JLabel();
121  examinerNameValueLabel = new javax.swing.JLabel();
122  examinerEmailValueLabel = new javax.swing.JLabel();
123  examinerPhoneValueLabel = new javax.swing.JLabel();
124  closeButton = new javax.swing.JButton();
125  javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
126  casesPanel = new javax.swing.JPanel();
127  casesScrollPane = new javax.swing.JScrollPane();
128  casesTable = new javax.swing.JTable();
129 
130  setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
131  setMinimumSize(new java.awt.Dimension(400, 400));
132 
133  casesSplitPane.setDividerLocation(380);
134  casesSplitPane.setResizeWeight(0.5);
135 
136  caseInfoPanel.setLayout(new java.awt.GridBagLayout());
137 
138  dataSourcesTable.setAutoCreateRowSorter(true);
139  dataSourcesTable.setModel(dataSourcesTableModel);
140  dataSourcesTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
141  dataSourcesScrollPane.setViewportView(dataSourcesTable);
142 
143  gridBagConstraints = new java.awt.GridBagConstraints();
144  gridBagConstraints.gridx = 0;
145  gridBagConstraints.gridy = 9;
146  gridBagConstraints.gridwidth = 5;
147  gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
148  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
149  gridBagConstraints.weightx = 1.0;
150  gridBagConstraints.weighty = 1.0;
151  gridBagConstraints.insets = new java.awt.Insets(7, 22, 0, 12);
152  caseInfoPanel.add(dataSourcesScrollPane, gridBagConstraints);
153 
154  notesScrollPane.setBorder(null);
155  notesScrollPane.setMinimumSize(new java.awt.Dimension(25, 54));
156  notesScrollPane.setPreferredSize(new java.awt.Dimension(160, 70));
157 
158  notesTextArea.setEditable(false);
159  notesTextArea.setBackground(new java.awt.Color(240, 240, 240));
160  notesTextArea.setColumns(20);
161  notesTextArea.setLineWrap(true);
162  notesTextArea.setRows(3);
163  notesTextArea.setWrapStyleWord(true);
164  notesTextArea.setBorder(null);
165  notesScrollPane.setViewportView(notesTextArea);
166 
167  gridBagConstraints = new java.awt.GridBagConstraints();
168  gridBagConstraints.gridx = 0;
169  gridBagConstraints.gridy = 7;
170  gridBagConstraints.gridwidth = 5;
171  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
172  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
173  gridBagConstraints.weightx = 1.0;
174  gridBagConstraints.insets = new java.awt.Insets(7, 28, 0, 12);
175  caseInfoPanel.add(notesScrollPane, gridBagConstraints);
176 
177  org.openide.awt.Mnemonics.setLocalizedText(caseInfoLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseInfoLabel.text")); // NOI18N
178  caseInfoLabel.setMaximumSize(new java.awt.Dimension(237, 16));
179  caseInfoLabel.setPreferredSize(new java.awt.Dimension(130, 16));
180  gridBagConstraints = new java.awt.GridBagConstraints();
181  gridBagConstraints.gridx = 0;
182  gridBagConstraints.gridy = 0;
183  gridBagConstraints.gridwidth = 4;
184  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
185  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
186  gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0);
187  caseInfoPanel.add(caseInfoLabel, gridBagConstraints);
188 
189  org.openide.awt.Mnemonics.setLocalizedText(dataSourcesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.dataSourcesLabel.text")); // NOI18N
190  dataSourcesLabel.setMaximumSize(new java.awt.Dimension(237, 16));
191  dataSourcesLabel.setPreferredSize(new java.awt.Dimension(130, 16));
192  gridBagConstraints = new java.awt.GridBagConstraints();
193  gridBagConstraints.gridx = 0;
194  gridBagConstraints.gridy = 8;
195  gridBagConstraints.gridwidth = 3;
196  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
197  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
198  gridBagConstraints.weightx = 0.1;
199  gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
200  caseInfoPanel.add(dataSourcesLabel, gridBagConstraints);
201 
202  org.openide.awt.Mnemonics.setLocalizedText(notesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.notesLabel.text")); // NOI18N
203  notesLabel.setMaximumSize(new java.awt.Dimension(237, 16));
204  notesLabel.setPreferredSize(new java.awt.Dimension(130, 16));
205  gridBagConstraints = new java.awt.GridBagConstraints();
206  gridBagConstraints.gridx = 0;
207  gridBagConstraints.gridy = 6;
208  gridBagConstraints.gridwidth = 4;
209  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
210  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
211  gridBagConstraints.weightx = 0.1;
212  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
213  caseInfoPanel.add(notesLabel, gridBagConstraints);
214 
215  org.openide.awt.Mnemonics.setLocalizedText(orgLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.orgLabel.text")); // NOI18N
216  orgLabel.setMaximumSize(new java.awt.Dimension(237, 16));
217  orgLabel.setPreferredSize(new java.awt.Dimension(130, 16));
218  gridBagConstraints = new java.awt.GridBagConstraints();
219  gridBagConstraints.gridx = 0;
220  gridBagConstraints.gridy = 1;
221  gridBagConstraints.gridwidth = 4;
222  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
223  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
224  gridBagConstraints.weightx = 0.1;
225  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
226  caseInfoPanel.add(orgLabel, gridBagConstraints);
227 
228  org.openide.awt.Mnemonics.setLocalizedText(caseNumberLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseNumberLabel.text")); // NOI18N
229  caseNumberLabel.setMaximumSize(new java.awt.Dimension(237, 16));
230  caseNumberLabel.setPreferredSize(new java.awt.Dimension(130, 16));
231  gridBagConstraints = new java.awt.GridBagConstraints();
232  gridBagConstraints.gridx = 0;
233  gridBagConstraints.gridy = 2;
234  gridBagConstraints.gridwidth = 4;
235  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
236  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
237  gridBagConstraints.weightx = 0.1;
238  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
239  caseInfoPanel.add(caseNumberLabel, gridBagConstraints);
240 
241  org.openide.awt.Mnemonics.setLocalizedText(examinerEmailLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerEmailLabel.text")); // NOI18N
242  examinerEmailLabel.setMaximumSize(new java.awt.Dimension(237, 16));
243  examinerEmailLabel.setPreferredSize(new java.awt.Dimension(130, 16));
244  gridBagConstraints = new java.awt.GridBagConstraints();
245  gridBagConstraints.gridx = 0;
246  gridBagConstraints.gridy = 4;
247  gridBagConstraints.gridwidth = 4;
248  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
249  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
250  gridBagConstraints.weightx = 0.1;
251  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
252  caseInfoPanel.add(examinerEmailLabel, gridBagConstraints);
253 
254  org.openide.awt.Mnemonics.setLocalizedText(examinerNameLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerNameLabel.text")); // NOI18N
255  examinerNameLabel.setMaximumSize(new java.awt.Dimension(237, 16));
256  examinerNameLabel.setPreferredSize(new java.awt.Dimension(130, 16));
257  gridBagConstraints = new java.awt.GridBagConstraints();
258  gridBagConstraints.gridx = 0;
259  gridBagConstraints.gridy = 3;
260  gridBagConstraints.gridwidth = 4;
261  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
262  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
263  gridBagConstraints.weightx = 0.1;
264  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
265  caseInfoPanel.add(examinerNameLabel, gridBagConstraints);
266 
267  org.openide.awt.Mnemonics.setLocalizedText(examinerPhoneLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerPhoneLabel.text")); // NOI18N
268  examinerPhoneLabel.setMaximumSize(new java.awt.Dimension(237, 16));
269  examinerPhoneLabel.setPreferredSize(new java.awt.Dimension(130, 16));
270  gridBagConstraints = new java.awt.GridBagConstraints();
271  gridBagConstraints.gridx = 0;
272  gridBagConstraints.gridy = 5;
273  gridBagConstraints.gridwidth = 4;
274  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
275  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
276  gridBagConstraints.weightx = 0.1;
277  gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0);
278  caseInfoPanel.add(examinerPhoneLabel, gridBagConstraints);
279  gridBagConstraints = new java.awt.GridBagConstraints();
280  gridBagConstraints.gridx = 4;
281  gridBagConstraints.gridy = 1;
282  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
283  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
284  gridBagConstraints.insets = new java.awt.Insets(7, 7, 0, 12);
285  caseInfoPanel.add(orgValueLabel, gridBagConstraints);
286  gridBagConstraints = new java.awt.GridBagConstraints();
287  gridBagConstraints.gridx = 4;
288  gridBagConstraints.gridy = 2;
289  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
290  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
291  gridBagConstraints.insets = new java.awt.Insets(7, 7, 0, 12);
292  caseInfoPanel.add(caseNumberValueLabel, gridBagConstraints);
293  gridBagConstraints = new java.awt.GridBagConstraints();
294  gridBagConstraints.gridx = 4;
295  gridBagConstraints.gridy = 3;
296  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
297  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
298  gridBagConstraints.insets = new java.awt.Insets(7, 6, 0, 12);
299  caseInfoPanel.add(examinerNameValueLabel, gridBagConstraints);
300  gridBagConstraints = new java.awt.GridBagConstraints();
301  gridBagConstraints.gridx = 4;
302  gridBagConstraints.gridy = 4;
303  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
304  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
305  gridBagConstraints.insets = new java.awt.Insets(9, 6, 0, 12);
306  caseInfoPanel.add(examinerEmailValueLabel, gridBagConstraints);
307  gridBagConstraints = new java.awt.GridBagConstraints();
308  gridBagConstraints.gridx = 4;
309  gridBagConstraints.gridy = 5;
310  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
311  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
312  gridBagConstraints.insets = new java.awt.Insets(7, 6, 0, 12);
313  caseInfoPanel.add(examinerPhoneValueLabel, gridBagConstraints);
314 
315  org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.closeButton.text")); // NOI18N
316  closeButton.setMaximumSize(new java.awt.Dimension(140, 23));
317  closeButton.setMinimumSize(new java.awt.Dimension(65, 23));
318  closeButton.setPreferredSize(new java.awt.Dimension(90, 23));
319  closeButton.addActionListener(new java.awt.event.ActionListener() {
320  public void actionPerformed(java.awt.event.ActionEvent evt) {
321  closeButtonActionPerformed(evt);
322  }
323  });
324  gridBagConstraints = new java.awt.GridBagConstraints();
325  gridBagConstraints.gridx = 4;
326  gridBagConstraints.gridy = 10;
327  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
328  gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
329  gridBagConstraints.insets = new java.awt.Insets(7, 285, 13, 12);
330  caseInfoPanel.add(closeButton, gridBagConstraints);
331  gridBagConstraints = new java.awt.GridBagConstraints();
332  gridBagConstraints.gridx = 0;
333  gridBagConstraints.gridy = 10;
334  gridBagConstraints.gridwidth = 4;
335  gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
336  gridBagConstraints.weightx = 1.0;
337  caseInfoPanel.add(filler1, gridBagConstraints);
338 
339  casesSplitPane.setRightComponent(caseInfoPanel);
340 
341  casesTable.setAutoCreateRowSorter(true);
342  casesTable.setModel(casesTableModel);
343  casesTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
344  casesScrollPane.setViewportView(casesTable);
345 
346  javax.swing.GroupLayout casesPanelLayout = new javax.swing.GroupLayout(casesPanel);
347  casesPanel.setLayout(casesPanelLayout);
348  casesPanelLayout.setHorizontalGroup(
349  casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
350  .addGroup(casesPanelLayout.createSequentialGroup()
351  .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE)
352  .addGap(0, 0, 0))
353  );
354  casesPanelLayout.setVerticalGroup(
355  casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
356  .addGroup(casesPanelLayout.createSequentialGroup()
357  .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 528, Short.MAX_VALUE)
358  .addGap(40, 40, 40))
359  );
360 
361  casesSplitPane.setLeftComponent(casesPanel);
362 
363  javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
364  getContentPane().setLayout(layout);
365  layout.setHorizontalGroup(
366  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
367  .addComponent(casesSplitPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 850, Short.MAX_VALUE)
368  );
369  layout.setVerticalGroup(
370  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
371  .addComponent(casesSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 570, Short.MAX_VALUE)
372  );
373 
374  pack();
375  }// </editor-fold>//GEN-END:initComponents
376 
377  private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
378  this.dispose();
379  }//GEN-LAST:event_closeButtonActionPerformed
380 
384  private void updateSelection() {
385  dataSourcesTableModel.clearTable();
386  if (casesTable.getSelectedRow() >= 0 && casesTable.getSelectedRow() < casesTable.getRowCount()) {
387  CaseDataSourcesWrapper caseWrapper = casesTableModel.getEamCase(casesTable.convertRowIndexToModel(casesTable.getSelectedRow()));
388  orgValueLabel.setText(caseWrapper.getOrganizationName());
389  caseNumberValueLabel.setText(caseWrapper.getCaseNumber());
390  examinerNameValueLabel.setText(caseWrapper.getExaminerName());
391  examinerPhoneValueLabel.setText(caseWrapper.getExaminerPhone());
392  examinerEmailValueLabel.setText(caseWrapper.getExaminerEmail());
393  notesTextArea.setText(caseWrapper.getNotes());
394  dataSourcesTableModel.addDataSources(caseWrapper.getDataSources());
395  } else {
396  orgValueLabel.setText("");
397  caseNumberValueLabel.setText("");
398  examinerNameValueLabel.setText("");
399  examinerPhoneValueLabel.setText("");
400  examinerEmailValueLabel.setText("");
401  notesTextArea.setText("");
402  }
403  }
404 
405  // Variables declaration - do not modify//GEN-BEGIN:variables
406  private javax.swing.JLabel caseInfoLabel;
407  private javax.swing.JPanel caseInfoPanel;
408  private javax.swing.JLabel caseNumberLabel;
409  private javax.swing.JLabel caseNumberValueLabel;
410  private javax.swing.JPanel casesPanel;
411  private javax.swing.JScrollPane casesScrollPane;
412  private javax.swing.JSplitPane casesSplitPane;
413  private javax.swing.JTable casesTable;
414  private javax.swing.JButton closeButton;
415  private javax.swing.JLabel dataSourcesLabel;
416  private javax.swing.JScrollPane dataSourcesScrollPane;
417  private javax.swing.JTable dataSourcesTable;
418  private javax.swing.JLabel examinerEmailLabel;
419  private javax.swing.JLabel examinerEmailValueLabel;
420  private javax.swing.JLabel examinerNameLabel;
421  private javax.swing.JLabel examinerNameValueLabel;
422  private javax.swing.JLabel examinerPhoneLabel;
423  private javax.swing.JLabel examinerPhoneValueLabel;
424  private javax.swing.JLabel notesLabel;
425  private javax.swing.JScrollPane notesScrollPane;
426  private javax.swing.JTextArea notesTextArea;
427  private javax.swing.JLabel orgLabel;
428  private javax.swing.JLabel orgValueLabel;
429  // End of variables declaration//GEN-END:variables
430 }

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.