--- /dev/null
+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());
+
+ }
+
+ }
+ }
+
+}
+