Autopsy  4.5.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
ManageOrganizationsDialog.java
Go to the documentation of this file.
1 /*
2  * Central Repository
3  *
4  * Copyright 2015-2017 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.awt.Component;
22 import java.awt.Dimension;
23 import java.awt.Toolkit;
24 import java.util.List;
25 import java.util.logging.Level;
26 import javax.swing.DefaultListCellRenderer;
27 import javax.swing.DefaultListModel;
28 import javax.swing.JDialog;
29 import javax.swing.JFrame;
30 import javax.swing.JOptionPane;
31 import javax.swing.event.ListSelectionEvent;
32 import javax.swing.event.ListSelectionListener;
33 import org.openide.util.Exceptions;
34 import org.openide.util.NbBundle.Messages;
35 import org.openide.windows.WindowManager;
41 
42 public final class ManageOrganizationsDialog extends JDialog {
43 
44  private static final long serialVersionUID = 1L;
45 
46  private EamDb dbManager;
48  private final DefaultListModel<EamOrganization> rulesListModel = new DefaultListModel<>();
49  private final static Logger LOGGER = Logger.getLogger(ManageOrganizationsDialog.class.getName());
50 
51  @Messages({"ManageOrganizationsDialog.title.text=Manage Organizations"})
56  super((JFrame) WindowManager.getDefault().getMainWindow(),
57  Bundle.ManageOrganizationsDialog_title_text(),
58  true); // NON-NLS
60  try {
61  this.dbManager = EamDb.getInstance();
62  organizationList.setCellRenderer(new DefaultListCellRenderer() {
63  private static final long serialVersionUID = 1L;
64 
65  @SuppressWarnings("rawtypes")
66  @Override
67  public Component getListCellRendererComponent(javax.swing.JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
68  Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
69  setText(((EamOrganization) value).getName());
70  return c;
71  }
72  });
73  organizationList.setModel(rulesListModel);
74  organizationList.addListSelectionListener(new OrganizationListSelectionListener());
75  populateList();
76  setButtonsEnabled(organizationList.getSelectedValue());
77  newOrg = null;
78  } catch (EamDbException ex) {
79  Exceptions.printStackTrace(ex);
80  }
81  display();
82  }
83 
84  private void display() {
85  Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
86  setLocation((screenDimension.width - getSize().width) / 2, (screenDimension.height - getSize().height) / 2);
87  setVisible(true);
88  }
89 
90  private void populateListAndSelect(EamOrganization selected) throws EamDbException {
91  rulesListModel.clear();
92  List<EamOrganization> orgs = dbManager.getOrganizations();
93  if (orgs.size() > 0) {
94  for (EamOrganization org : orgs) {
95  rulesListModel.addElement(org);
96  if (selected != null && org.getOrgID() == selected.getOrgID()) {
97  selected = org;
98  }
99  }
100  if (orgs.contains(selected)) {
101  organizationList.setSelectedValue(selected, true);
102  } else {
103  organizationList.setSelectedIndex(0);
104  }
105  organizationList.validate();
106  organizationList.repaint();
107  }
108  }
109 
110  private void populateList() throws EamDbException {
111  EamOrganization selected = organizationList.getSelectedValue();
112  populateListAndSelect(selected);
113  }
114 
115  @Messages({"ManageOrganizationsDialog.pocNameLabel.text=Point of Contact Name:",
116  "ManageOrganizationsDialog.deleteButton.text=Delete",
117  "ManageOrganizationsDialog.newButton.text=New",
118  "ManageOrganizationsDialog.closeButton.text=Close",
119  "ManageOrganizationsDialog.orgNameLabel.text=Organization Name:",
120  "ManageOrganizationsDialog.pocEmailLabel.text=Point of Contact Email:",
121  "ManageOrganizationsDialog.editButton.text=Edit",
122  "ManageOrganizationsDialog.pocPhoneLabel.text=Point of Contact Phone:",
123  "ManageOrganizationsDialog.orgDescriptionTextArea.text=Organizations are used to provide additional contact information for the content they are associated with.",
124  "ManageOrganizationsDialog.orgListLabel.text=Organizations",
125  "ManageOrganizationsDialog.orgDetailsLabel.text=Organization Details",
126  "ManageOrganizationsDialog.confirmDeletion.title=Confirm Deletion",
127  "ManageOrganizationsDialog.confirmDeletion.message=Are you sure you want to delete the selected organization from the central repo?",
128  "ManageOrganizationsDialog.unableToDeleteOrg.title=Unable to Delete",
129  "ManageOrganizationsDialog.unableToDeleteOrg.message=Unable to delete selected organizaiton."})
135  @SuppressWarnings("unchecked")
136  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
137  private void initComponents() {
138 
139  manageOrganizationsScrollPane = new javax.swing.JScrollPane();
140  manageOrganizationsPanel = new javax.swing.JPanel();
141  orgListScrollPane = new javax.swing.JScrollPane();
142  organizationList = new javax.swing.JList<>();
143  orgDescriptionScrollPane = new javax.swing.JScrollPane();
144  orgDescriptionTextArea = new javax.swing.JTextArea();
145  newButton = new javax.swing.JButton();
146  deleteButton = new javax.swing.JButton();
147  closeButton = new javax.swing.JButton();
148  orgListLabel = new javax.swing.JLabel();
149  jSeparator1 = new javax.swing.JSeparator();
150  pocNameLabel = new javax.swing.JLabel();
151  pocPhoneLabel = new javax.swing.JLabel();
152  pocEmailLabel = new javax.swing.JLabel();
153  orgNameLabel = new javax.swing.JLabel();
154  orgNameTextField = new javax.swing.JTextField();
155  pocNameTextField = new javax.swing.JTextField();
156  pocPhoneTextField = new javax.swing.JTextField();
157  pocEmailTextField = new javax.swing.JTextField();
158  editButton = new javax.swing.JButton();
159  orgDetailsLabel = new javax.swing.JLabel();
160 
161  setMinimumSize(new java.awt.Dimension(545, 450));
162 
163  manageOrganizationsScrollPane.setMinimumSize(null);
164  manageOrganizationsScrollPane.setPreferredSize(new java.awt.Dimension(535, 415));
165 
166  manageOrganizationsPanel.setPreferredSize(new java.awt.Dimension(527, 407));
167 
168  organizationList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
169  orgListScrollPane.setViewportView(organizationList);
170 
171  orgDescriptionTextArea.setEditable(false);
172  orgDescriptionTextArea.setBackground(new java.awt.Color(240, 240, 240));
173  orgDescriptionTextArea.setColumns(20);
174  orgDescriptionTextArea.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
175  orgDescriptionTextArea.setLineWrap(true);
176  orgDescriptionTextArea.setRows(3);
177  orgDescriptionTextArea.setText(org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.orgDescriptionTextArea.text")); // NOI18N
178  orgDescriptionTextArea.setWrapStyleWord(true);
180 
181  org.openide.awt.Mnemonics.setLocalizedText(newButton, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.newButton.text")); // NOI18N
182  newButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
183  newButton.setMaximumSize(new java.awt.Dimension(70, 23));
184  newButton.setMinimumSize(new java.awt.Dimension(70, 23));
185  newButton.setPreferredSize(new java.awt.Dimension(70, 23));
186  newButton.addActionListener(new java.awt.event.ActionListener() {
187  public void actionPerformed(java.awt.event.ActionEvent evt) {
189  }
190  });
191 
192  org.openide.awt.Mnemonics.setLocalizedText(deleteButton, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.deleteButton.text")); // NOI18N
193  deleteButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
194  deleteButton.setMaximumSize(new java.awt.Dimension(70, 23));
195  deleteButton.setMinimumSize(new java.awt.Dimension(70, 23));
196  deleteButton.setPreferredSize(new java.awt.Dimension(70, 23));
197  deleteButton.addActionListener(new java.awt.event.ActionListener() {
198  public void actionPerformed(java.awt.event.ActionEvent evt) {
200  }
201  });
202 
203  org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.closeButton.text")); // NOI18N
204  closeButton.addActionListener(new java.awt.event.ActionListener() {
205  public void actionPerformed(java.awt.event.ActionEvent evt) {
207  }
208  });
209 
210  org.openide.awt.Mnemonics.setLocalizedText(orgListLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.orgListLabel.text")); // NOI18N
211 
212  jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
213 
214  org.openide.awt.Mnemonics.setLocalizedText(pocNameLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.pocNameLabel.text")); // NOI18N
215 
216  org.openide.awt.Mnemonics.setLocalizedText(pocPhoneLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.pocPhoneLabel.text")); // NOI18N
217 
218  org.openide.awt.Mnemonics.setLocalizedText(pocEmailLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.pocEmailLabel.text")); // NOI18N
219 
220  org.openide.awt.Mnemonics.setLocalizedText(orgNameLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.orgNameLabel.text")); // NOI18N
221 
222  orgNameTextField.setEditable(false);
223 
224  pocNameTextField.setEditable(false);
225 
226  pocPhoneTextField.setEditable(false);
227 
228  pocEmailTextField.setEditable(false);
229 
230  org.openide.awt.Mnemonics.setLocalizedText(editButton, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.editButton.text")); // NOI18N
231  editButton.setMaximumSize(new java.awt.Dimension(70, 23));
232  editButton.setMinimumSize(new java.awt.Dimension(70, 23));
233  editButton.setPreferredSize(new java.awt.Dimension(70, 23));
234  editButton.addActionListener(new java.awt.event.ActionListener() {
235  public void actionPerformed(java.awt.event.ActionEvent evt) {
237  }
238  });
239 
240  org.openide.awt.Mnemonics.setLocalizedText(orgDetailsLabel, org.openide.util.NbBundle.getMessage(ManageOrganizationsDialog.class, "ManageOrganizationsDialog.orgDetailsLabel.text")); // NOI18N
241 
242  javax.swing.GroupLayout manageOrganizationsPanelLayout = new javax.swing.GroupLayout(manageOrganizationsPanel);
243  manageOrganizationsPanel.setLayout(manageOrganizationsPanelLayout);
244  manageOrganizationsPanelLayout.setHorizontalGroup(
245  manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
246  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
247  .addContainerGap()
248  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
249  .addComponent(orgDescriptionScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE)
250  .addComponent(orgListLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
251  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
252  .addComponent(newButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
253  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
254  .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
255  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
256  .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
257  .addComponent(orgListScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
258  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
259  .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
260  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
261  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
262  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
263  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
264  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
265  .addComponent(closeButton))
266  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
267  .addGap(29, 29, 29)
268  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
269  .addComponent(pocNameLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
270  .addComponent(orgNameLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
271  .addComponent(pocPhoneLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
272  .addComponent(pocEmailLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
273  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
274  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
275  .addComponent(pocNameTextField)
276  .addComponent(pocPhoneTextField)
277  .addComponent(pocEmailTextField, javax.swing.GroupLayout.Alignment.TRAILING)
278  .addComponent(orgNameTextField))))
279  .addContainerGap())
280  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
281  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
282  .addComponent(orgDetailsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
283  .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
284  );
285  manageOrganizationsPanelLayout.setVerticalGroup(
286  manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
287  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
288  .addContainerGap()
289  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
290  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
291  .addComponent(orgDetailsLabel)
292  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
293  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
294  .addComponent(orgNameLabel)
295  .addComponent(orgNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
296  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
297  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
298  .addComponent(pocNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
299  .addComponent(pocNameLabel))
300  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
301  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
302  .addComponent(pocPhoneTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
303  .addComponent(pocPhoneLabel))
304  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
305  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
306  .addComponent(pocEmailTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
307  .addComponent(pocEmailLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
308  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 235, Short.MAX_VALUE)
309  .addComponent(closeButton))
310  .addComponent(jSeparator1)
311  .addGroup(manageOrganizationsPanelLayout.createSequentialGroup()
312  .addComponent(orgDescriptionScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
313  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
314  .addComponent(orgListLabel)
315  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
316  .addComponent(orgListScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 288, Short.MAX_VALUE)
317  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
318  .addGroup(manageOrganizationsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
319  .addComponent(newButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
320  .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
321  .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
322  .addContainerGap())
323  );
324 
326 
327  javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
328  getContentPane().setLayout(layout);
329  layout.setHorizontalGroup(
330  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
331  .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
332  .addGap(0, 0, 0)
333  .addComponent(manageOrganizationsScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
334  );
335  layout.setVerticalGroup(
336  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
337  .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
338  .addGap(0, 0, 0)
339  .addComponent(manageOrganizationsScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
340  );
341  }// </editor-fold>//GEN-END:initComponents
342 
343  private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed
344  EamOrganization orgToDelete = organizationList.getSelectedValue();
345  if (orgToDelete != null) {
346  if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(WindowManager.getDefault().getMainWindow(),
347  Bundle.ManageOrganizationsDialog_confirmDeletion_message(),
348  Bundle.ManageOrganizationsDialog_confirmDeletion_title(),
349  JOptionPane.YES_NO_OPTION)) {
350  try {
351  EamDb.getInstance().deleteOrganization(orgToDelete);
352  populateList();
353  } catch (EamDbException ex) {
354  JOptionPane.showMessageDialog(null,
355  ex.getMessage(), Bundle.ManageOrganizationsDialog_unableToDeleteOrg_title(), JOptionPane.WARNING_MESSAGE);
356  LOGGER.log(Level.INFO, "Was unable to delete organization from central repository", ex);
357  }
358  }
359  }
360  }//GEN-LAST:event_deleteButtonActionPerformed
361 
362  private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
363  dispose();
364  }//GEN-LAST:event_closeButtonActionPerformed
365 
366  private void newButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newButtonActionPerformed
368  if (dialogO.isChanged()) {
369  try {
370  newOrg = dialogO.getNewOrg();
371  populateListAndSelect(dialogO.getNewOrg());
372  } catch (EamDbException ex) {
373 
374  }
375  }
376  }//GEN-LAST:event_newButtonActionPerformed
377 
378  private void editButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editButtonActionPerformed
379  EamOrganization orgToEdit = organizationList.getSelectedValue();
380  if (orgToEdit != null) {
381  AddNewOrganizationDialog dialogO = new AddNewOrganizationDialog(orgToEdit);
382  if (dialogO.isChanged()) {
383  try {
384  newOrg = dialogO.getNewOrg();
385  populateListAndSelect(dialogO.getNewOrg());
386  } catch (EamDbException ex) {
387 
388  }
389  }
390  }
391  }//GEN-LAST:event_editButtonActionPerformed
392 
393 
394  // Variables declaration - do not modify//GEN-BEGIN:variables
395  private javax.swing.JButton closeButton;
396  private javax.swing.JButton deleteButton;
397  private javax.swing.JButton editButton;
398  private javax.swing.JSeparator jSeparator1;
399  private javax.swing.JPanel manageOrganizationsPanel;
400  private javax.swing.JScrollPane manageOrganizationsScrollPane;
401  private javax.swing.JButton newButton;
402  private javax.swing.JScrollPane orgDescriptionScrollPane;
403  private javax.swing.JTextArea orgDescriptionTextArea;
404  private javax.swing.JLabel orgDetailsLabel;
405  private javax.swing.JLabel orgListLabel;
406  private javax.swing.JScrollPane orgListScrollPane;
407  private javax.swing.JLabel orgNameLabel;
408  private javax.swing.JTextField orgNameTextField;
409  private javax.swing.JList<EamOrganization> organizationList;
410  private javax.swing.JLabel pocEmailLabel;
411  private javax.swing.JTextField pocEmailTextField;
412  private javax.swing.JLabel pocNameLabel;
413  private javax.swing.JTextField pocNameTextField;
414  private javax.swing.JLabel pocPhoneLabel;
415  private javax.swing.JTextField pocPhoneTextField;
416  // End of variables declaration//GEN-END:variables
417  public boolean isChanged() {
418  return newOrg != null;
419  }
420 
422  return newOrg;
423  }
424 
425  private void setButtonsEnabled(EamOrganization selectedOrg) {
426  boolean isSelected = (selectedOrg != null);
427  boolean isDefaultOrg = false;
428  if(selectedOrg != null){
429  isDefaultOrg = EamDbUtil.isDefaultOrg(selectedOrg);
430  }
431 
432  editButton.setEnabled(isSelected && (! isDefaultOrg));
433  deleteButton.setEnabled(isSelected && (! isDefaultOrg));
434  }
435 
439  private final class OrganizationListSelectionListener implements ListSelectionListener {
440 
441  @Override
442  public void valueChanged(ListSelectionEvent e) {
443  if (e.getValueIsAdjusting()) {
444  return;
445  }
446  EamOrganization selected = organizationList.getSelectedValue();
447  setButtonsEnabled(selected);
448  if (selected != null) {
449  orgNameTextField.setText(selected.getName());
450  pocNameTextField.setText(selected.getPocName());
451  pocPhoneTextField.setText(selected.getPocPhone());
452  pocEmailTextField.setText(selected.getPocEmail());
453  } else {
454  orgNameTextField.setText("");
455  pocNameTextField.setText("");
456  pocPhoneTextField.setText("");
457  pocEmailTextField.setText("");
458  }
459  }
460  }
461 
462 }
static boolean isDefaultOrg(EamOrganization org)
Definition: EamDbUtil.java:260
synchronized static Logger getLogger(String name)
Definition: Logger.java:124
void deleteOrganization(EamOrganization organizationToDelete)

Copyright © 2012-2016 Basis Technology. Generated on: Tue Feb 20 2018
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.