X-Git-Url: https://xp-dev.com/git/ISBets21MAUBRY/blobdiff_plain/cbae1464e51d90bc80afc97083afd6462fd3c54f..3cf4057e97448d401b49261033b8ab566105944e:/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 index 0000000..63a6648 --- /dev/null +++ b/eclipse-workspace/ISBets21MAUBRY/src/main/java/dataAccess/ObjectdbManagerServer.java @@ -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()); + + } + + } + } + +} +