IteraciĆ³n 3(VersiĆ³n sin idiomas)
[ISBets21MAUBRY] / eclipse-workspace / ISBets21MAUBRY / src / main / java / dataAccess / ObjectdbManagerServer.java
1 package dataAccess;
2
3 import java.awt.BorderLayout;
4 import java.awt.FlowLayout;
5
6 import javax.swing.JButton;
7 import javax.swing.JDialog;
8 import javax.swing.JPanel;
9 import javax.swing.border.EmptyBorder;
10
11 import configuration.ConfigXML;
12
13 import javax.swing.JTextArea;
14
15
16
17 import java.awt.event.ActionListener;
18 import java.awt.event.ActionEvent;
19
20 /**
21  * It runs the database server as a separate process.
22  */
23 public class ObjectdbManagerServer extends JDialog {
24
25
26         private static final long serialVersionUID = 1L;
27         private final JPanel contentPanel = new JPanel();
28         JTextArea textArea;
29         ConfigXML c;
30
31
32         public static void main(String[] args) {
33                 try {
34                         ObjectdbManagerServer dialog = new ObjectdbManagerServer();
35                         dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
36                         dialog.setVisible(true);
37                 } catch (Exception e) {
38                         e.printStackTrace();
39                 }
40         }
41
42
43         public ObjectdbManagerServer() {
44                 setTitle("objectDBManagerServer: running the database server");
45                 setBounds(100, 100, 486, 180);
46                 getContentPane().setLayout(new BorderLayout());
47                 contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
48                 getContentPane().add(contentPanel, BorderLayout.CENTER);
49                 contentPanel.setLayout(new BorderLayout(0, 0));
50                 {
51                         textArea = new JTextArea();
52                         contentPanel.add(textArea);
53                 }
54                 {
55                         JPanel buttonPane = new JPanel();
56                         buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
57                         getContentPane().add(buttonPane, BorderLayout.SOUTH);
58                         {
59                                 JButton okButton = new JButton("OK");
60                                 okButton.addActionListener(new ActionListener() {
61                                         public void actionPerformed(ActionEvent e) {
62                                                 textArea.append("\n\n\nClosing the database... ");
63                                             try {
64                                                 System.out.println("Server close");
65                                                  try {
66                                                                 Runtime.getRuntime().exec("java -cp src\\main\\resources\\objectdb.jar com.objectdb.Server -port "+ c.getDatabasePort()+" stop");
67                                                             } catch (Exception ioe) {
68                                                                 System.out.println (ioe);
69                                                             }
70
71                                                                 System.exit(1);
72                                                         
73                                                 } catch (Exception e1) {
74                                                 }
75                                                 System.exit(1);
76                                         }
77                                 });
78                                 okButton.setActionCommand("OK");
79                                 buttonPane.add(okButton);
80                                 getRootPane().setDefaultButton(okButton);
81                         }
82                         {
83                                 JButton cancelButton = new JButton("Cancel");
84                                 cancelButton.setActionCommand("Cancel");
85                                 buttonPane.add(cancelButton);
86                         }
87                 }
88                 
89                 ConfigXML c=ConfigXML.getInstance();
90                 
91                 if (c.isDatabaseLocal()) {
92                         textArea.append("\nERROR, the database is configured as local");
93                 }
94                 else {
95                 try{
96                         System.out.println("Lauching objectdb server");
97
98                         
99                         try {
100                         Runtime.getRuntime().exec("java -cp src\\main\\resources\\objectdb.jar com.objectdb.Server -port "+ c.getDatabasePort()+" start");
101                     } catch (Exception ioe) {
102                         System.out.println (ioe);
103                     }
104
105                     textArea.append("\nAccess granted to: "+c.getUser());
106                     
107                         textArea.append("\nPress button to exit this database server... ");
108                         
109                 } catch (Exception e) {
110                         textArea.append("Something has happened in ObjectDbManagerServer: "+e.toString());
111
112                 }
113                 
114                 }
115         }
116
117 }
118