19 package org.sleuthkit.autopsy.casemodule;
 
   21 import java.nio.file.Paths;
 
   22 import java.util.logging.Level;
 
   23 import org.openide.util.NbBundle.Messages;
 
   34 @SuppressWarnings(
"PMD.SingularField") 
 
   35 final class CaseDetailsPanel extends javax.swing.JPanel {
 
   37     private static final long serialVersionUID = 1L;
 
   38     private static final Logger logger = Logger.getLogger(CaseDetailsPanel.class.getName());
 
   47     CaseDetailsPanel(Case caseInfo) {
 
   52     void updateCaseInfo() {
 
   54             theCase = Case.getCurrentCaseThrows();
 
   55         } 
catch (NoCurrentCaseException ex) { 
 
   56             logger.log(Level.SEVERE, 
"Exception while getting open case.", ex);
 
   59         lbCaseNameText.setText(theCase.getDisplayName());
 
   60         lbCaseNumberText.setText(theCase.getNumber());
 
   61         lbExaminerNameText.setText(theCase.getExaminer());
 
   62         lbExaminerPhoneText.setText(theCase.getExaminerPhone());
 
   63         lbExaminerEmailText.setText(theCase.getExaminerEmail());
 
   64         taNotesText.setText(theCase.getCaseNotes());
 
   65         crDateField.setText(theCase.getCreatedDate());
 
   66         caseDirField.setText(theCase.getCaseDirectory());
 
   67         if (Case.CaseType.SINGLE_USER_CASE == theCase.getCaseType()) {
 
   68             dbNameField.setText(Paths.get(theCase.getCaseDirectory(), theCase.getMetadata().getCaseDatabaseName()).toString());
 
   70             dbNameField.setText(theCase.getMetadata().getCaseDatabaseName());
 
   72         boolean cREnabled = CentralRepository.isEnabled();
 
   73         lbOrganizationNameLabel.setEnabled(cREnabled);
 
   74         lbOrganizationNameText.setEnabled(cREnabled);
 
   75         lbPointOfContactEmailLabel.setEnabled(cREnabled);
 
   76         lbPointOfContactEmailText.setEnabled(cREnabled);
 
   77         lbPointOfContactNameLabel.setEnabled(cREnabled);
 
   78         lbPointOfContactNameText.setEnabled(cREnabled);
 
   79         lbPointOfContactPhoneLabel.setEnabled(cREnabled);
 
   80         lbPointOfContactPhoneText.setEnabled(cREnabled);
 
   81         pnOrganization.setEnabled(cREnabled);
 
   82         CentralRepoOrganization currentOrg = null;
 
   85                 CentralRepository dbManager = CentralRepository.getInstance();
 
   86                 if (dbManager != null) {
 
   87                     CorrelationCase correlationCase = dbManager.getCase(theCase);
 
   88                     currentOrg = correlationCase.getOrg();
 
   90             } 
catch (CentralRepoException ex) {
 
   91                 logger.log(Level.SEVERE, 
"Unable to access Correlation Case when Central Repo is enabled", ex);
 
   94         if (currentOrg != null) {
 
   95             lbOrganizationNameText.setText(currentOrg.getName());
 
   96             lbPointOfContactNameText.setText(currentOrg.getPocName());
 
   97             lbPointOfContactPhoneText.setText(currentOrg.getPocPhone());
 
   98             lbPointOfContactEmailText.setText(currentOrg.getPocEmail());
 
  100             lbOrganizationNameText.setText(
"");
 
  101             lbPointOfContactNameText.setText(
"");
 
  102             lbPointOfContactPhoneText.setText(
"");
 
  103             lbPointOfContactEmailText.setText(
"");
 
  105         Case.CaseType caseType = theCase.getCaseType();
 
  106         caseTypeField.setText(caseType.getLocalizedDisplayName());
 
  107         lbCaseUIDText.setText(theCase.getName());
 
  112     @Messages({
"CaseDetailsPanel.casePanel.border.title=Case",
 
  113         "CaseDetailsPanel.lbCaseUUIDLabel.text=Case UUID:",
 
  114         "CaseDetailsPanel.examinerPanel.border.title=Examiner",
 
  115         "CaseDetailsPanel.examinerLabel.text=Name:",
 
  116         "CaseDetailsPanel.lbExaminerPhoneLabel.text=Phone:",
 
  117         "CaseDetailsPanel.lbExaminerEmailLabel.text=Email:",
 
  118         "CaseDetailsPanel.lbNotesLabel.text=Notes:",
 
  119         "CaseDetailsPanel.pnOrganization.border.title=Organization",
 
  120         "CaseDetailsPanel.lbOrganizationNameLabel.text=Name:",
 
  121         "CaseDetailsPanel.lbPointOfContactNameLabel.text=Point of Contact:",
 
  122         "CaseDetailsPanel.lbPointOfContactPhoneLabel.text=Phone:",
 
  123         "CaseDetailsPanel.lbPointOfContactEmailLabel.text=Email:"})
 
  139     @SuppressWarnings(
"unchecked")
 
  141     private 
void initComponents() {
 
  143         jScrollPane1 = 
new javax.swing.JScrollPane();
 
  144         jTextArea1 = 
new javax.swing.JTextArea();
 
  145         detailsPanel = 
new javax.swing.JPanel();
 
  146         casePanel = 
new javax.swing.JPanel();
 
  147         caseNameLabel = 
new javax.swing.JLabel();
 
  148         lbDbType = 
new javax.swing.JLabel();
 
  149         lbCaseUUIDLabel = 
new javax.swing.JLabel();
 
  150         caseTypeField = 
new javax.swing.JLabel();
 
  151         dbNameField = 
new javax.swing.JLabel();
 
  152         lbDbName = 
new javax.swing.JLabel();
 
  153         caseNumberLabel = 
new javax.swing.JLabel();
 
  154         caseDirLabel = 
new javax.swing.JLabel();
 
  155         caseDirField = 
new javax.swing.JLabel();
 
  156         crDateLabel = 
new javax.swing.JLabel();
 
  157         crDateField = 
new javax.swing.JLabel();
 
  158         lbCaseUIDText = 
new javax.swing.JLabel();
 
  159         lbCaseNameText = 
new javax.swing.JLabel();
 
  160         lbCaseNumberText = 
new javax.swing.JLabel();
 
  161         examinerPanel = 
new javax.swing.JPanel();
 
  162         lbExaminerNameText = 
new javax.swing.JLabel();
 
  163         lbNotesLabel = 
new javax.swing.JLabel();
 
  164         examinerLabel = 
new javax.swing.JLabel();
 
  165         caseNotesScrollPane = 
new javax.swing.JScrollPane();
 
  166         taNotesText = 
new javax.swing.JTextArea();
 
  167         lbExaminerEmailLabel = 
new javax.swing.JLabel();
 
  168         lbExaminerPhoneLabel = 
new javax.swing.JLabel();
 
  169         lbExaminerPhoneText = 
new javax.swing.JLabel();
 
  170         lbExaminerEmailText = 
new javax.swing.JLabel();
 
  171         pnOrganization = 
new javax.swing.JPanel();
 
  172         lbOrganizationNameLabel = 
new javax.swing.JLabel();
 
  173         lbPointOfContactNameLabel = 
new javax.swing.JLabel();
 
  174         lbPointOfContactEmailLabel = 
new javax.swing.JLabel();
 
  175         lbPointOfContactPhoneLabel = 
new javax.swing.JLabel();
 
  176         lbPointOfContactNameText = 
new javax.swing.JLabel();
 
  177         lbPointOfContactEmailText = 
new javax.swing.JLabel();
 
  178         lbPointOfContactPhoneText = 
new javax.swing.JLabel();
 
  179         lbOrganizationNameText = 
new javax.swing.JLabel();
 
  181         jTextArea1.setColumns(20);
 
  182         jTextArea1.setRows(5);
 
  183         jScrollPane1.setViewportView(jTextArea1);
 
  185         casePanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.casePanel.border.title"))); 
 
  187         caseNameLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.caseNameLabel.text")); 
 
  188         caseNameLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  189         caseNameLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  190         caseNameLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  192         lbDbType.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbDbType.text")); 
 
  193         lbDbType.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  194         lbDbType.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  195         lbDbType.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  197         lbCaseUUIDLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbCaseUUIDLabel.text")); 
 
  198         lbCaseUUIDLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  199         lbCaseUUIDLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  200         lbCaseUUIDLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  202         caseTypeField.setMaximumSize(
new java.awt.Dimension(1, 0));
 
  204         dbNameField.setMinimumSize(
new java.awt.Dimension(25, 14));
 
  206         lbDbName.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbDbName.text")); 
 
  207         lbDbName.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  208         lbDbName.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  209         lbDbName.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  211         caseNumberLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.caseNumberLabel.text")); 
 
  213         caseDirLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.caseDirLabel.text")); 
 
  214         caseDirLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  215         caseDirLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  216         caseDirLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  218         caseDirField.setMinimumSize(
new java.awt.Dimension(25, 14));
 
  220         crDateLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.crDateLabel.text")); 
 
  221         crDateLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  222         crDateLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  223         crDateLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  225         lbCaseNameText.setMinimumSize(
new java.awt.Dimension(25, 14));
 
  227         lbCaseNumberText.setMinimumSize(
new java.awt.Dimension(25, 14));
 
  229         javax.swing.GroupLayout casePanelLayout = 
new javax.swing.GroupLayout(casePanel);
 
  230         casePanel.setLayout(casePanelLayout);
 
  231         casePanelLayout.setHorizontalGroup(
 
  232             casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  233             .addGroup(casePanelLayout.createSequentialGroup()
 
  235                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  236                     .addGroup(casePanelLayout.createSequentialGroup()
 
  237                         .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  238                             .addComponent(caseNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  239                             .addComponent(caseNumberLabel))
 
  241                         .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  242                             .addComponent(lbCaseNumberText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  243                             .addComponent(lbCaseNameText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
 
  244                     .addGroup(casePanelLayout.createSequentialGroup()
 
  245                         .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  246                             .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, 
false)
 
  247                                 .addComponent(lbCaseUUIDLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  248                                 .addComponent(lbDbType, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  249                                 .addComponent(caseDirLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  250                             .addComponent(crDateLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  251                             .addComponent(lbDbName, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  253                         .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  254                             .addComponent(crDateField, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  255                             .addComponent(caseDirField, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  256                             .addComponent(caseTypeField, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  257                             .addComponent(dbNameField, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  258                             .addComponent(lbCaseUIDText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
 
  262         casePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, 
new java.awt.Component[] {caseDirLabel, caseNameLabel, caseNumberLabel, crDateLabel, lbCaseUUIDLabel, lbDbName, lbDbType});
 
  264         casePanelLayout.setVerticalGroup(
 
  265             casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  266             .addGroup(casePanelLayout.createSequentialGroup()
 
  268                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  269                     .addComponent(caseNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  270                     .addComponent(lbCaseNameText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  271                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  272                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  273                     .addComponent(caseNumberLabel, javax.swing.GroupLayout.Alignment.TRAILING)
 
  274                     .addComponent(lbCaseNumberText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  275                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  276                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  277                     .addComponent(crDateLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  278                     .addComponent(crDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  279                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  280                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  281                     .addComponent(caseDirLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  282                     .addComponent(caseDirField, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  283                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  284                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  285                     .addComponent(caseTypeField, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  286                     .addComponent(lbDbType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  287                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  288                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 
  289                     .addComponent(lbDbName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  290                     .addComponent(dbNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  291                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  292                 .addGroup(casePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  293                     .addComponent(lbCaseUUIDLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  294                     .addComponent(lbCaseUIDText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  298         examinerPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.examinerPanel.border.title"))); 
 
  300         lbNotesLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbNotesLabel.text")); 
 
  301         lbNotesLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  302         lbNotesLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  303         lbNotesLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  304         lbNotesLabel.setRequestFocusEnabled(
false);
 
  306         examinerLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.examinerLabel.text")); 
 
  307         examinerLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  308         examinerLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  309         examinerLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  311         caseNotesScrollPane.setBorder(null);
 
  313         taNotesText.setEditable(
false);
 
  314         taNotesText.setBackground(
new java.awt.Color(240, 240, 240));
 
  315         taNotesText.setColumns(20);
 
  316         taNotesText.setLineWrap(
true);
 
  317         taNotesText.setRows(2);
 
  318         taNotesText.setWrapStyleWord(
true);
 
  319         taNotesText.setBorder(null);
 
  320         taNotesText.setFocusable(
false);
 
  321         taNotesText.setOpaque(
false);
 
  322         caseNotesScrollPane.setViewportView(taNotesText);
 
  324         lbExaminerEmailLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbExaminerEmailLabel.text")); 
 
  325         lbExaminerEmailLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  326         lbExaminerEmailLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  327         lbExaminerEmailLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  329         lbExaminerPhoneLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbExaminerPhoneLabel.text")); 
 
  330         lbExaminerPhoneLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  331         lbExaminerPhoneLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  332         lbExaminerPhoneLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  334         javax.swing.GroupLayout examinerPanelLayout = 
new javax.swing.GroupLayout(examinerPanel);
 
  335         examinerPanel.setLayout(examinerPanelLayout);
 
  336         examinerPanelLayout.setHorizontalGroup(
 
  337             examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  338             .addGroup(examinerPanelLayout.createSequentialGroup()
 
  340                 .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  341                     .addGroup(examinerPanelLayout.createSequentialGroup()
 
  342                         .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  343                             .addComponent(lbNotesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  344                             .addComponent(lbExaminerPhoneLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  346                         .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  347                             .addComponent(lbExaminerPhoneText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  348                             .addComponent(caseNotesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 704, Short.MAX_VALUE)))
 
  349                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, examinerPanelLayout.createSequentialGroup()
 
  350                         .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  351                             .addComponent(lbExaminerEmailLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  352                             .addComponent(examinerLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  353                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  354                         .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  355                             .addComponent(lbExaminerNameText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  356                             .addComponent(lbExaminerEmailText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
 
  360         examinerPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, 
new java.awt.Component[] {examinerLabel, lbExaminerEmailLabel, lbExaminerPhoneLabel, lbNotesLabel});
 
  362         examinerPanelLayout.setVerticalGroup(
 
  363             examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  364             .addGroup(examinerPanelLayout.createSequentialGroup()
 
  366                 .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  367                     .addComponent(examinerLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  368                     .addComponent(lbExaminerNameText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  369                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  370                 .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  371                     .addComponent(lbExaminerPhoneLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  372                     .addComponent(lbExaminerPhoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  373                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  374                 .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  375                     .addComponent(lbExaminerEmailLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  376                     .addComponent(lbExaminerEmailText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  377                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  378                 .addGroup(examinerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  379                     .addComponent(lbNotesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  380                     .addComponent(caseNotesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  384         pnOrganization.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.pnOrganization.border.title"))); 
 
  386         lbOrganizationNameLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbOrganizationNameLabel.text")); 
 
  387         lbOrganizationNameLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  388         lbOrganizationNameLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  389         lbOrganizationNameLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  391         lbPointOfContactNameLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbPointOfContactNameLabel.text")); 
 
  393         lbPointOfContactEmailLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbPointOfContactEmailLabel.text")); 
 
  394         lbPointOfContactEmailLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  395         lbPointOfContactEmailLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  396         lbPointOfContactEmailLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  398         lbPointOfContactPhoneLabel.setText(
org.openide.util.NbBundle.getMessage(CaseDetailsPanel.class, 
"CaseDetailsPanel.lbPointOfContactPhoneLabel.text")); 
 
  399         lbPointOfContactPhoneLabel.setMaximumSize(
new java.awt.Dimension(82, 14));
 
  400         lbPointOfContactPhoneLabel.setMinimumSize(
new java.awt.Dimension(82, 14));
 
  401         lbPointOfContactPhoneLabel.setPreferredSize(
new java.awt.Dimension(82, 14));
 
  403         javax.swing.GroupLayout pnOrganizationLayout = 
new javax.swing.GroupLayout(pnOrganization);
 
  404         pnOrganization.setLayout(pnOrganizationLayout);
 
  405         pnOrganizationLayout.setHorizontalGroup(
 
  406             pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  407             .addGroup(pnOrganizationLayout.createSequentialGroup()
 
  409                 .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  410                     .addGroup(pnOrganizationLayout.createSequentialGroup()
 
  411                         .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  412                             .addComponent(lbPointOfContactEmailLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  413                             .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  414                             .addComponent(lbPointOfContactNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  416                         .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 
  417                             .addComponent(lbPointOfContactNameText, javax.swing.GroupLayout.DEFAULT_SIZE, 704, Short.MAX_VALUE)
 
  418                             .addComponent(lbOrganizationNameText, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  419                             .addComponent(lbPointOfContactEmailText, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
 
  420                     .addGroup(pnOrganizationLayout.createSequentialGroup()
 
  421                         .addComponent(lbPointOfContactPhoneLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  422                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  423                         .addComponent(lbPointOfContactPhoneText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
 
  427         pnOrganizationLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, 
new java.awt.Component[] {lbOrganizationNameLabel, lbPointOfContactEmailLabel, lbPointOfContactNameLabel, lbPointOfContactPhoneLabel});
 
  429         pnOrganizationLayout.setVerticalGroup(
 
  430             pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  431             .addGroup(pnOrganizationLayout.createSequentialGroup()
 
  433                 .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  434                     .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  435                     .addComponent(lbOrganizationNameText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  436                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  437                 .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  438                     .addComponent(lbPointOfContactNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  439                     .addComponent(lbPointOfContactNameText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  440                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  441                 .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  442                     .addComponent(lbPointOfContactPhoneLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  443                     .addComponent(lbPointOfContactPhoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  444                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  445                 .addGroup(pnOrganizationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, 
false)
 
  446                     .addComponent(lbPointOfContactEmailLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  447                     .addComponent(lbPointOfContactEmailText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
 
  451         javax.swing.GroupLayout detailsPanelLayout = 
new javax.swing.GroupLayout(detailsPanel);
 
  452         detailsPanel.setLayout(detailsPanelLayout);
 
  453         detailsPanelLayout.setHorizontalGroup(
 
  454             detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  455             .addGroup(detailsPanelLayout.createSequentialGroup()
 
  457                 .addGroup(detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  458                     .addComponent(casePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  459                     .addComponent(examinerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  460                     .addComponent(pnOrganization, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  463         detailsPanelLayout.setVerticalGroup(
 
  464             detailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  465             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, detailsPanelLayout.createSequentialGroup()
 
  466                 .addComponent(casePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  468                 .addComponent(examinerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  470                 .addComponent(pnOrganization, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  474         javax.swing.GroupLayout layout = 
new javax.swing.GroupLayout(
this);
 
  475         this.setLayout(layout);
 
  476         layout.setHorizontalGroup(
 
  477             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  478             .addGroup(layout.createSequentialGroup()
 
  480                 .addComponent(detailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
  483         layout.setVerticalGroup(
 
  484             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  485             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
 
  487                 .addComponent(detailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 
  492     private javax.swing.JLabel caseDirField;
 
  493     private javax.swing.JLabel caseDirLabel;
 
  494     private javax.swing.JLabel caseNameLabel;
 
  495     private javax.swing.JScrollPane caseNotesScrollPane;
 
  496     private javax.swing.JLabel caseNumberLabel;
 
  497     private javax.swing.JPanel casePanel;
 
  498     private javax.swing.JLabel caseTypeField;
 
  499     private javax.swing.JLabel crDateField;
 
  500     private javax.swing.JLabel crDateLabel;
 
  501     private javax.swing.JLabel dbNameField;
 
  502     private javax.swing.JPanel detailsPanel;
 
  503     private javax.swing.JLabel examinerLabel;
 
  504     private javax.swing.JPanel examinerPanel;
 
  505     private javax.swing.JScrollPane jScrollPane1;
 
  506     private javax.swing.JTextArea jTextArea1;
 
  507     private javax.swing.JLabel lbCaseNameText;
 
  508     private javax.swing.JLabel lbCaseNumberText;
 
  509     private javax.swing.JLabel lbCaseUIDText;
 
  510     private javax.swing.JLabel lbCaseUUIDLabel;
 
  511     private javax.swing.JLabel lbDbName;
 
  512     private javax.swing.JLabel lbDbType;
 
  513     private javax.swing.JLabel lbExaminerEmailLabel;
 
  514     private javax.swing.JLabel lbExaminerEmailText;
 
  515     private javax.swing.JLabel lbExaminerNameText;
 
  516     private javax.swing.JLabel lbExaminerPhoneLabel;
 
  517     private javax.swing.JLabel lbExaminerPhoneText;
 
  518     private javax.swing.JLabel lbNotesLabel;
 
  519     private javax.swing.JLabel lbOrganizationNameLabel;
 
  520     private javax.swing.JLabel lbOrganizationNameText;
 
  521     private javax.swing.JLabel lbPointOfContactEmailLabel;
 
  522     private javax.swing.JLabel lbPointOfContactEmailText;
 
  523     private javax.swing.JLabel lbPointOfContactNameLabel;
 
  524     private javax.swing.JLabel lbPointOfContactNameText;
 
  525     private javax.swing.JLabel lbPointOfContactPhoneLabel;
 
  526     private javax.swing.JLabel lbPointOfContactPhoneText;
 
  527     private javax.swing.JPanel pnOrganization;
 
  528     private javax.swing.JTextArea taNotesText;