summaryrefslogtreecommitdiff
path: root/storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs
diff options
context:
space:
mode:
Diffstat (limited to 'storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs')
-rw-r--r--storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs251
1 files changed, 251 insertions, 0 deletions
diff --git a/storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs b/storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs
new file mode 100644
index 00000000000..cecfcaeb0f3
--- /dev/null
+++ b/storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs
@@ -0,0 +1,251 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using NDB_CPC.simpleparser;
+
+namespace NDB_CPC
+{
+ /// <summary>
+ /// Summary description for startDatabase.
+ /// </summary>
+ public class startDatabaseDlg : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.TextBox textAction;
+ private System.Windows.Forms.Label label1;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+ private System.Windows.Forms.ProgressBar progressBar;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button buttonGo;
+ private Database m_db;
+ public startDatabaseDlg(Database db)
+ {
+
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ m_db=db;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.textAction = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.progressBar = new System.Windows.Forms.ProgressBar();
+ this.label2 = new System.Windows.Forms.Label();
+ this.buttonGo = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // textAction
+ //
+ this.textAction.Location = new System.Drawing.Point(104, 40);
+ this.textAction.Name = "textAction";
+ this.textAction.ReadOnly = true;
+ this.textAction.Size = new System.Drawing.Size(256, 20);
+ this.textAction.TabIndex = 0;
+ this.textAction.Text = "";
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(8, 40);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(96, 16);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Current activity:";
+ this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // progressBar
+ //
+ this.progressBar.Location = new System.Drawing.Point(104, 88);
+ this.progressBar.Name = "progressBar";
+ this.progressBar.Size = new System.Drawing.Size(152, 16);
+ this.progressBar.TabIndex = 2;
+ //
+ // label2
+ //
+ this.label2.Location = new System.Drawing.Point(8, 88);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(96, 16);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "Activity progress:";
+ this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // buttonGo
+ //
+ this.buttonGo.Location = new System.Drawing.Point(152, 136);
+ this.buttonGo.Name = "buttonGo";
+ this.buttonGo.Size = new System.Drawing.Size(96, 24);
+ this.buttonGo.TabIndex = 4;
+ this.buttonGo.Text = "Go!";
+ this.buttonGo.Click += new System.EventHandler(this.buttonGo_Click);
+ //
+ // startDatabaseDlg
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(378, 167);
+ this.Controls.AddRange(new System.Windows.Forms.Control[] {
+ this.buttonGo,
+ this.label2,
+ this.progressBar,
+ this.label1,
+ this.textAction});
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "startDatabaseDlg";
+ this.Text = "Starting database";
+ this.Load += new System.EventHandler(this.startDatabase_Load);
+ this.Paint += new System.Windows.Forms.PaintEventHandler(this.startDatabase_Paint);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void startDatabase_Load(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void startDatabase_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+
+
+
+ }
+ private void defineProcesses()
+ {
+ ArrayList processes = m_db.getProcesses();
+ progressBar.Maximum = processes.Count;
+ progressBar.Minimum = 0;
+
+ int retry=0;
+ //sc.connect("130.100.232.7");
+ foreach (Process p in processes)
+ {
+ Computer comp;
+ retry=0;
+ //if(p.getName().StartsWith("ndb") || p.getName().StartsWith("mgm"))
+ //{
+ textAction.Text="Defining process " + p.getName();
+ textAction.Refresh();
+ comp=p.getComputer();
+ while(retry<10)
+ {
+ if(!comp.isConnected())
+ {
+ comp.connectToCpcd();
+
+ }
+ else
+ {
+ if(comp.defineProcess(p)<0)
+ {
+ ;
+ }
+ else
+ break;
+ }
+ if(retry==9)
+ {
+ if(MessageBox.Show(this,"Failed to define process. Try again?","Warning!!!",MessageBoxButtons.YesNo)==DialogResult.Yes)
+ retry=0;
+ }
+ retry++;
+ //comp.undefineProcess(p);
+ }
+ //}
+ progressBar.PerformStep();
+ }
+ }
+
+ private void startProcesses()
+ {
+
+ ArrayList processes = m_db.getProcesses();
+ progressBar.Maximum = processes.Count;
+ progressBar.Minimum = 0;
+ string start = "start process \n";
+
+ int retry=0;
+ //sc.connect("130.100.232.7");
+ foreach (Process p in processes)
+ {
+ Computer comp;
+ if((p.getName().StartsWith("ndb")) || (p.getName().StartsWith("mgm")))
+ {
+ textAction.Text="Starting process " + p.getName();
+ textAction.Refresh();
+ start = start + "id:" + p.getId() + "\n\n";
+ comp=p.getComputer();
+ while(retry<10)
+ {
+ if(!comp.isConnected())
+ {
+ comp.connectToCpcd();
+ }
+ else
+ {
+ if(comp.startProcess(p)<0)
+ {
+ ;
+ }
+ else
+ break;
+ }
+ if(retry==9)
+ {
+ if(MessageBox.Show(this,"Failed to start process. Retry again?","Warning!!!",MessageBoxButtons.YesNo)==DialogResult.Yes)
+ retry=0;
+ }
+
+ retry++;
+ }
+ }
+ progressBar.PerformStep();
+
+ }
+
+ }
+
+ private void buttonGo_Click(object sender, System.EventArgs e)
+ {
+ buttonGo.Enabled=false;
+ progressBar.Step=1;
+ defineProcesses();
+ progressBar.Value=0;
+ startProcesses();
+
+ }
+
+
+ }
+}