RmiClient  1.0
 Alle Klassen Namensbereiche Dateien Funktionen Variablen
UnternehmenDialog.java
gehe zur Dokumentation dieser Datei
1 package view;
2 
3 import java.awt.BorderLayout;
4 import java.awt.Container;
5 import java.awt.FlowLayout;
6 import java.awt.HeadlessException;
7 import java.awt.event.ActionEvent;
8 import java.awt.event.ActionListener;
9 import java.rmi.RemoteException;
10 import java.util.List;
11 import java.util.Observable;
12 
13 import javax.swing.BoxLayout;
14 import javax.swing.JButton;
15 import javax.swing.JFrame;
16 import javax.swing.JLabel;
17 import javax.swing.JOptionPane;
18 import javax.swing.JPanel;
19 import javax.swing.JTextField;
20 import javax.swing.SwingUtilities;
21 
22 import main.ResultContent;
23 import main.TextLengthDocument;
24 import main.UserRole;
25 import controller.Controller;
26 import databaseModel.Ansprechpartner;
27 import databaseModel.Unternehmen;
28 
35 public class UnternehmenDialog extends AbstractDialog {
39  private Unternehmen changeingObject = null;
40 
44  private UnternehmenDialog unternehmenDialog = null;
45  private Container contentPane = null;
46 
50  private JLabel nameLabel = null;
51  private JTextField nameInputField = null;
52 
65  public UnternehmenDialog(JFrame owner, final Controller controller,
66  String label, final UserRole roleType) {
67  super(owner, controller, label, roleType);
68  this.unternehmenDialog = this;
69  this.activeDialog = this;
70 
71  JPanel unternehmenPanel = new JPanel();
72  unternehmenPanel.setLayout(new BoxLayout(unternehmenPanel,
73  BoxLayout.Y_AXIS));
74 
78  nameLabel = new JLabel("Bitte geben Sie den Namen ein:");
79  nameInputField = new JTextField(defaultVisibleFieldLength);
80  mandatoryComponentList.add(nameInputField);
81  nameInputField.setDocument(new TextLengthDocument(getColumnLength(
82  Unternehmen.class, "name")));
83 
87  unternehmenPanel.add(nameLabel);
88  unternehmenPanel.add(nameInputField);
89 
93  setLayout(new BorderLayout());
94  contentPane = getContentPane();
95  contentPane.add(unternehmenPanel, BorderLayout.CENTER);
96 
100  contentPane.add(buttonPanel, BorderLayout.SOUTH);
101  }
102 
111  @Override
112  public void initialize(final String label, final Object unternehmen) {
113  SwingUtilities.invokeLater(new Runnable() {
114  public void run() {
115  unternehmenDialog.setTitle(label);
116  unternehmenDialog.changeObject = unternehmen;
117  unternehmenDialog.changeingObject = (Unternehmen) unternehmen;
118  unternehmenDialog.newMode = (unternehmen == null);
119 
121 
125  if (newMode) {
126  nameInputField.setText("");
127  } else {
131  nameInputField.setText(unternehmenDialog.changeingObject
132  .getName());
133  }
134  }
135  });
136  };
137 
141  @Override
142  protected void saveData() {
146  checkExistingRecord(Unternehmen.class, "name", nameInputField);
147 
151  if (nameInputField.getText().trim().equals("")) {
152  errorList.add("Der Name wurde nicht eingegeben!");
153  nameInputField.setBackground(defaultColorMissingMandatoryField);
154  }
155 
159  if (errorList.size() > 0) {
160  showErrors();
161  } else {
165  if (changeingObject == null) {
166  changeingObject = new Unternehmen();
167  }
168 
172  changeingObject.setName(nameInputField.getText().trim());
173 
177  boolean saveError = false;
178  String errorString = "";
179  try {
183  if (newMode) {
187  if (Controller.rmiServer.insertData(changeingObject)) {
188  JOptionPane.showMessageDialog(null,
189  "Es wurde ein neues Unternehmen angelegt!",
190  "Information", JOptionPane.INFORMATION_MESSAGE);
191 
192  } else {
197  saveError = true;
198  }
199  } else {
207  if (Controller.rmiServer.changeData(changeingObject)) {
208  JOptionPane.showMessageDialog(null,
209  "Das Unternehmen wurde geändert!",
210  "Information", JOptionPane.INFORMATION_MESSAGE);
211 
212  } else {
217  saveError = true;
218  }
219  }
220  } catch (HeadlessException e) {
221  saveError = true;
222  errorString = e.getMessage();
223  } catch (RemoteException e) {
224  saveError = true;
225  errorString = e.getMessage();
226  }
227 
231  if (saveError) {
232  errorList.add("Beim Speichern ist ein Fehler aufgetreten!");
233  if (!errorString.equals("")) {
234  errorList.add(errorString);
235  }
236 
237  showErrors();
238  } else {
239  closeForm();
240  }
241  }
242  }
243 }