IteraciĆ³n 3(VersiĆ³n sin idiomas)
[ISBets21MAUBRY] / eclipse-workspace / ISBets21MAUBRY / src / main / java / dataAccess / ObjectdbManagerServer.java
diff --git a/eclipse-workspace/ISBets21MAUBRY/src/main/java/dataAccess/ObjectdbManagerServer.java b/eclipse-workspace/ISBets21MAUBRY/src/main/java/dataAccess/ObjectdbManagerServer.java
new file mode 100644 (file)
index 0000000..63a6648
--- /dev/null
@@ -0,0 +1,118 @@
+package dataAccess;
+
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+import javax.swing.border.EmptyBorder;
+
+import configuration.ConfigXML;
+
+import javax.swing.JTextArea;
+
+
+
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+/**
+ * It runs the database server as a separate process.
+ */
+public class ObjectdbManagerServer extends JDialog {
+
+
+       private static final long serialVersionUID = 1L;
+       private final JPanel contentPanel = new JPanel();
+       JTextArea textArea;
+       ConfigXML c;
+
+
+       public static void main(String[] args) {
+               try {
+                       ObjectdbManagerServer dialog = new ObjectdbManagerServer();
+                       dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+                       dialog.setVisible(true);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+
+       public ObjectdbManagerServer() {
+               setTitle("objectDBManagerServer: running the database server");
+               setBounds(100, 100, 486, 180);
+               getContentPane().setLayout(new BorderLayout());
+               contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
+               getContentPane().add(contentPanel, BorderLayout.CENTER);
+               contentPanel.setLayout(new BorderLayout(0, 0));
+               {
+                       textArea = new JTextArea();
+                       contentPanel.add(textArea);
+               }
+               {
+                       JPanel buttonPane = new JPanel();
+                       buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
+                       getContentPane().add(buttonPane, BorderLayout.SOUTH);
+                       {
+                               JButton okButton = new JButton("OK");
+                               okButton.addActionListener(new ActionListener() {
+                                       public void actionPerformed(ActionEvent e) {
+                                               textArea.append("\n\n\nClosing the database... ");
+                                           try {
+                                               System.out.println("Server close");
+                                                try {
+                                                               Runtime.getRuntime().exec("java -cp src\\main\\resources\\objectdb.jar com.objectdb.Server -port "+ c.getDatabasePort()+" stop");
+                                                           } catch (Exception ioe) {
+                                                               System.out.println (ioe);
+                                                           }
+
+                                                               System.exit(1);
+                                                       
+                                               } catch (Exception e1) {
+                                               }
+                                               System.exit(1);
+                                       }
+                               });
+                               okButton.setActionCommand("OK");
+                               buttonPane.add(okButton);
+                               getRootPane().setDefaultButton(okButton);
+                       }
+                       {
+                               JButton cancelButton = new JButton("Cancel");
+                               cancelButton.setActionCommand("Cancel");
+                               buttonPane.add(cancelButton);
+                       }
+               }
+               
+               ConfigXML c=ConfigXML.getInstance();
+               
+               if (c.isDatabaseLocal()) {
+                       textArea.append("\nERROR, the database is configured as local");
+               }
+               else {
+               try{
+                       System.out.println("Lauching objectdb server");
+
+                       
+                       try {
+                       Runtime.getRuntime().exec("java -cp src\\main\\resources\\objectdb.jar com.objectdb.Server -port "+ c.getDatabasePort()+" start");
+                   } catch (Exception ioe) {
+                       System.out.println (ioe);
+                   }
+
+                   textArea.append("\nAccess granted to: "+c.getUser());
+                   
+                       textArea.append("\nPress button to exit this database server... ");
+                       
+               } catch (Exception e) {
+                       textArea.append("Something has happened in ObjectDbManagerServer: "+e.toString());
+
+               }
+               
+               }
+       }
+
+}
+