Free cookie consent management tool by TermsFeed Policy Generator

Changeset 1483


Ignore:
Timestamp:
04/02/09 14:07:16 (16 years ago)
Author:
aleitner
Message:

merged brunch into trunk (#565)

Location:
trunk/sources/HeuristicLab.Hive.Server.Console
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.Designer.cs

    r1089 r1483  
    8383      // btnClose
    8484      //
     85      this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    8586      this.btnClose.Location = new System.Drawing.Point(254, 65);
    8687      this.btnClose.Name = "btnClose";
     
    118119      // AddJobForm
    119120      //
     121      this.AcceptButton = this.btnAdd;
    120122      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    121123      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     124      this.CancelButton = this.btnClose;
    122125      this.ClientSize = new System.Drawing.Size(344, 100);
    123126      this.Controls.Add(this.lblError);
  • trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj

    r1474 r1483  
    9595      <DependentUpon>AddJobForm.cs</DependentUpon>
    9696    </Compile>
     97    <Compile Include="Changes.cs" />
    9798    <Compile Include="HiveServerConsole.cs">
    9899      <SubType>Form</SubType>
  • trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.Designer.cs

    r1164 r1483  
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.msServerConsole = new System.Windows.Forms.MenuStrip();
    48       this.tsmiConsole = new System.Windows.Forms.ToolStripMenuItem();
    49       this.tsmiExit = new System.Windows.Forms.ToolStripMenuItem();
    50       this.gbManager = new System.Windows.Forms.GroupBox();
     47      this.gbConfiguration = new System.Windows.Forms.GroupBox();
    5148      this.lblPort = new System.Windows.Forms.Label();
    5249      this.lblIp = new System.Windows.Forms.Label();
     
    5451      this.tbIp = new System.Windows.Forms.TextBox();
    5552      this.btnLogin = new System.Windows.Forms.Button();
    56       this.groupBox1 = new System.Windows.Forms.GroupBox();
     53      this.gpUser = new System.Windows.Forms.GroupBox();
    5754      this.tbUserName = new System.Windows.Forms.TextBox();
    5855      this.lblPwd = new System.Windows.Forms.Label();
     
    6057      this.tbPwd = new System.Windows.Forms.TextBox();
    6158      this.lblError = new System.Windows.Forms.Label();
    62       this.msServerConsole.SuspendLayout();
    63       this.gbManager.SuspendLayout();
    64       this.groupBox1.SuspendLayout();
     59      this.gbConfiguration.SuspendLayout();
     60      this.gpUser.SuspendLayout();
    6561      this.SuspendLayout();
    6662      //
    67       // msServerConsole
    68       //
    69       this.msServerConsole.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
    70             this.tsmiConsole});
    71       this.msServerConsole.Location = new System.Drawing.Point(0, 0);
    72       this.msServerConsole.Name = "msServerConsole";
    73       this.msServerConsole.Size = new System.Drawing.Size(311, 24);
    74       this.msServerConsole.TabIndex = 0;
    75       this.msServerConsole.Text = "menuStrip1";
    76       //
    77       // tsmiConsole
    78       //
    79       this.tsmiConsole.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
    80             this.tsmiExit});
    81       this.tsmiConsole.Name = "tsmiConsole";
    82       this.tsmiConsole.Size = new System.Drawing.Size(87, 20);
    83       this.tsmiConsole.Text = "Serverconsole";
    84       //
    85       // tsmiExit
    86       //
    87       this.tsmiExit.Name = "tsmiExit";
    88       this.tsmiExit.Size = new System.Drawing.Size(103, 22);
    89       this.tsmiExit.Text = "Exit";
    90       this.tsmiExit.Click += new System.EventHandler(this.tsmiExit_Click);
    91       //
    92       // gbManager
    93       //
    94       this.gbManager.Controls.Add(this.lblPort);
    95       this.gbManager.Controls.Add(this.lblIp);
    96       this.gbManager.Controls.Add(this.tbPort);
    97       this.gbManager.Controls.Add(this.tbIp);
    98       this.gbManager.Location = new System.Drawing.Point(16, 124);
    99       this.gbManager.Name = "gbManager";
    100       this.gbManager.Size = new System.Drawing.Size(283, 82);
    101       this.gbManager.TabIndex = 4;
    102       this.gbManager.TabStop = false;
    103       this.gbManager.Text = "Manager";
     63      // gbConfiguration
     64      //
     65      this.gbConfiguration.Controls.Add(this.lblPort);
     66      this.gbConfiguration.Controls.Add(this.lblIp);
     67      this.gbConfiguration.Controls.Add(this.tbPort);
     68      this.gbConfiguration.Controls.Add(this.tbIp);
     69      this.gbConfiguration.Location = new System.Drawing.Point(12, 100);
     70      this.gbConfiguration.Name = "gbConfiguration";
     71      this.gbConfiguration.Size = new System.Drawing.Size(283, 82);
     72      this.gbConfiguration.TabIndex = 4;
     73      this.gbConfiguration.TabStop = false;
     74      this.gbConfiguration.Text = "Configuration";
    10475      //
    10576      // lblPort
     
    139110      // btnLogin
    140111      //
    141       this.btnLogin.Location = new System.Drawing.Point(183, 212);
     112      this.btnLogin.Location = new System.Drawing.Point(179, 188);
    142113      this.btnLogin.Name = "btnLogin";
    143114      this.btnLogin.Size = new System.Drawing.Size(116, 23);
     
    148119      this.btnLogin.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.HiveServerConsole_KeyPress);
    149120      //
    150       // groupBox1
    151       //
    152       this.groupBox1.Controls.Add(this.tbUserName);
    153       this.groupBox1.Controls.Add(this.lblPwd);
    154       this.groupBox1.Controls.Add(this.lblUsername);
    155       this.groupBox1.Controls.Add(this.tbPwd);
    156       this.groupBox1.Location = new System.Drawing.Point(16, 36);
    157       this.groupBox1.Name = "groupBox1";
    158       this.groupBox1.Size = new System.Drawing.Size(283, 82);
    159       this.groupBox1.TabIndex = 1;
    160       this.groupBox1.TabStop = false;
    161       this.groupBox1.Text = "Manager";
     121      // gpUser
     122      //
     123      this.gpUser.Controls.Add(this.tbUserName);
     124      this.gpUser.Controls.Add(this.lblPwd);
     125      this.gpUser.Controls.Add(this.lblUsername);
     126      this.gpUser.Controls.Add(this.tbPwd);
     127      this.gpUser.Location = new System.Drawing.Point(12, 12);
     128      this.gpUser.Name = "gpUser";
     129      this.gpUser.Size = new System.Drawing.Size(283, 82);
     130      this.gpUser.TabIndex = 1;
     131      this.gpUser.TabStop = false;
     132      this.gpUser.Text = "User";
    162133      //
    163134      // tbUserName
     
    207178      // HiveServerConsole
    208179      //
     180      this.AcceptButton = this.btnLogin;
    209181      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    210182      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    211       this.ClientSize = new System.Drawing.Size(311, 263);
     183      this.ClientSize = new System.Drawing.Size(311, 225);
    212184      this.Controls.Add(this.lblError);
    213       this.Controls.Add(this.groupBox1);
     185      this.Controls.Add(this.gpUser);
    214186      this.Controls.Add(this.btnLogin);
    215       this.Controls.Add(this.gbManager);
    216       this.Controls.Add(this.msServerConsole);
    217       this.MainMenuStrip = this.msServerConsole;
     187      this.Controls.Add(this.gbConfiguration);
    218188      this.Name = "HiveServerConsole";
    219189      this.Text = "Server Console";
    220190      this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.HiveServerConsole_KeyPress);
    221       this.msServerConsole.ResumeLayout(false);
    222       this.msServerConsole.PerformLayout();
    223       this.gbManager.ResumeLayout(false);
    224       this.gbManager.PerformLayout();
    225       this.groupBox1.ResumeLayout(false);
    226       this.groupBox1.PerformLayout();
     191      this.gbConfiguration.ResumeLayout(false);
     192      this.gbConfiguration.PerformLayout();
     193      this.gpUser.ResumeLayout(false);
     194      this.gpUser.PerformLayout();
    227195      this.ResumeLayout(false);
    228196      this.PerformLayout();
     
    232200    #endregion
    233201
    234     private System.Windows.Forms.MenuStrip msServerConsole;
    235     private System.Windows.Forms.ToolStripMenuItem tsmiConsole;
    236     private System.Windows.Forms.ToolStripMenuItem tsmiExit;
    237     private System.Windows.Forms.GroupBox gbManager;
     202    private System.Windows.Forms.GroupBox gbConfiguration;
    238203    private System.Windows.Forms.Label lblPort;
    239204    private System.Windows.Forms.Label lblIp;
     
    241206    private System.Windows.Forms.TextBox tbIp;
    242207    private System.Windows.Forms.Button btnLogin;
    243     private System.Windows.Forms.GroupBox groupBox1;
     208    private System.Windows.Forms.GroupBox gpUser;
    244209    private System.Windows.Forms.TextBox tbUserName;
    245210    private System.Windows.Forms.Label lblPwd;
  • trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.resx

    r778 r1483  
    118118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
    120   <metadata name="msServerConsole.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    121     <value>17, 17</value>
    122   </metadata>
    123120</root>
  • trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.Designer.cs

    r1377 r1483  
    3131      this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    3232      this.jobToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    33       this.userToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    34       this.userToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
    35       this.groupToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
    36       this.tcManagementConsole = new System.Windows.Forms.TabControl();
    37       this.tpClientControl = new System.Windows.Forms.TabPage();
    38       this.scClientControl = new System.Windows.Forms.SplitContainer();
    39       this.tvClientControl = new System.Windows.Forms.TreeView();
    40       this.lvClientControl = new System.Windows.Forms.ListView();
    4133      this.ilClientControl = new System.Windows.Forms.ImageList(this.components);
    42       this.tpJobControl = new System.Windows.Forms.TabPage();
    43       this.scJobControl = new System.Windows.Forms.SplitContainer();
    44       this.tvJobControl = new System.Windows.Forms.TreeView();
    45       this.lvJobControl = new System.Windows.Forms.ListView();
    4634      this.ilJobControl = new System.Windows.Forms.ImageList(this.components);
    47       this.tpUserControl = new System.Windows.Forms.TabPage();
    48       this.scUserControl = new System.Windows.Forms.SplitContainer();
    49       this.tvUserControl = new System.Windows.Forms.TreeView();
    50       this.lvUserControl = new System.Windows.Forms.ListView();
    5135      this.ilUserControl = new System.Windows.Forms.ImageList(this.components);
    5236      this.plClientDetails = new System.Windows.Forms.Panel();
     
    8569      this.fileSystemWatcher1 = new System.IO.FileSystemWatcher();
    8670      this.updaterWoker = new System.ComponentModel.BackgroundWorker();
     71      this.tpJobControl = new System.Windows.Forms.TabPage();
     72      this.scJobControl = new System.Windows.Forms.SplitContainer();
     73      this.tvJobControl = new System.Windows.Forms.TreeView();
     74      this.lvJobControl = new System.Windows.Forms.ListView();
     75      this.tpClientControl = new System.Windows.Forms.TabPage();
     76      this.scClientControl = new System.Windows.Forms.SplitContainer();
     77      this.tvClientControl = new System.Windows.Forms.TreeView();
     78      this.lvClientControl = new System.Windows.Forms.ListView();
     79      this.tcManagementConsole = new System.Windows.Forms.TabControl();
    8780      this.menuStrip1.SuspendLayout();
    88       this.tcManagementConsole.SuspendLayout();
    89       this.tpClientControl.SuspendLayout();
    90       this.scClientControl.Panel1.SuspendLayout();
    91       this.scClientControl.Panel2.SuspendLayout();
    92       this.scClientControl.SuspendLayout();
    93       this.tpJobControl.SuspendLayout();
    94       this.scJobControl.Panel1.SuspendLayout();
    95       this.scJobControl.Panel2.SuspendLayout();
    96       this.scJobControl.SuspendLayout();
    97       this.tpUserControl.SuspendLayout();
    98       this.scUserControl.Panel1.SuspendLayout();
    99       this.scUserControl.Panel2.SuspendLayout();
    100       this.scUserControl.SuspendLayout();
    10181      this.plClientDetails.SuspendLayout();
    10282      ((System.ComponentModel.ISupportInitialize)(this.pbClientControl)).BeginInit();
     
    10686      ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).BeginInit();
    10787      ((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).BeginInit();
     88      this.tpJobControl.SuspendLayout();
     89      this.scJobControl.Panel1.SuspendLayout();
     90      this.scJobControl.Panel2.SuspendLayout();
     91      this.scJobControl.SuspendLayout();
     92      this.tpClientControl.SuspendLayout();
     93      this.scClientControl.Panel1.SuspendLayout();
     94      this.scClientControl.Panel2.SuspendLayout();
     95      this.scClientControl.SuspendLayout();
     96      this.tcManagementConsole.SuspendLayout();
    10897      this.SuspendLayout();
    10998      //
     
    137126      //
    138127      this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
    139             this.jobToolStripMenuItem,
    140             this.userToolStripMenuItem});
     128            this.jobToolStripMenuItem});
    141129      this.addToolStripMenuItem.Name = "addToolStripMenuItem";
    142130      this.addToolStripMenuItem.Size = new System.Drawing.Size(38, 20);
     
    146134      //
    147135      this.jobToolStripMenuItem.Name = "jobToolStripMenuItem";
    148       this.jobToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
     136      this.jobToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
    149137      this.jobToolStripMenuItem.Text = "Job";
    150138      this.jobToolStripMenuItem.Click += new System.EventHandler(this.AddJob_Click);
    151       //
    152       // userToolStripMenuItem
    153       //
    154       this.userToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
    155             this.userToolStripMenuItem1,
    156             this.groupToolStripMenuItem2});
    157       this.userToolStripMenuItem.Name = "userToolStripMenuItem";
    158       this.userToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
    159       this.userToolStripMenuItem.Text = "User";
    160       //
    161       // userToolStripMenuItem1
    162       //
    163       this.userToolStripMenuItem1.Name = "userToolStripMenuItem1";
    164       this.userToolStripMenuItem1.Size = new System.Drawing.Size(114, 22);
    165       this.userToolStripMenuItem1.Text = "User";
    166       //
    167       // groupToolStripMenuItem2
    168       //
    169       this.groupToolStripMenuItem2.Name = "groupToolStripMenuItem2";
    170       this.groupToolStripMenuItem2.Size = new System.Drawing.Size(114, 22);
    171       this.groupToolStripMenuItem2.Text = "Group";
    172       //
    173       // tcManagementConsole
    174       //
    175       this.tcManagementConsole.Controls.Add(this.tpClientControl);
    176       this.tcManagementConsole.Controls.Add(this.tpJobControl);
    177       this.tcManagementConsole.Controls.Add(this.tpUserControl);
    178       this.tcManagementConsole.Dock = System.Windows.Forms.DockStyle.Fill;
    179       this.tcManagementConsole.Location = new System.Drawing.Point(0, 24);
    180       this.tcManagementConsole.Name = "tcManagementConsole";
    181       this.tcManagementConsole.SelectedIndex = 0;
    182       this.tcManagementConsole.Size = new System.Drawing.Size(651, 378);
    183       this.tcManagementConsole.TabIndex = 1;
    184       //
    185       // tpClientControl
    186       //
    187       this.tpClientControl.AllowDrop = true;
    188       this.tpClientControl.Controls.Add(this.scClientControl);
    189       this.tpClientControl.Location = new System.Drawing.Point(4, 22);
    190       this.tpClientControl.Name = "tpClientControl";
    191       this.tpClientControl.Padding = new System.Windows.Forms.Padding(3);
    192       this.tpClientControl.Size = new System.Drawing.Size(643, 352);
    193       this.tpClientControl.TabIndex = 0;
    194       this.tpClientControl.Text = "Client Control";
    195       this.tpClientControl.UseVisualStyleBackColor = true;
    196       //
    197       // scClientControl
    198       //
    199       this.scClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
    200       this.scClientControl.Location = new System.Drawing.Point(3, 3);
    201       this.scClientControl.Name = "scClientControl";
    202       //
    203       // scClientControl.Panel1
    204       //
    205       this.scClientControl.Panel1.Controls.Add(this.tvClientControl);
    206       //
    207       // scClientControl.Panel2
    208       //
    209       this.scClientControl.Panel2.Controls.Add(this.lvClientControl);
    210       this.scClientControl.Size = new System.Drawing.Size(637, 346);
    211       this.scClientControl.SplitterDistance = 139;
    212       this.scClientControl.TabIndex = 0;
    213       //
    214       // tvClientControl
    215       //
    216       this.tvClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
    217       this.tvClientControl.Location = new System.Drawing.Point(0, 0);
    218       this.tvClientControl.Name = "tvClientControl";
    219       this.tvClientControl.Size = new System.Drawing.Size(139, 346);
    220       this.tvClientControl.TabIndex = 0;
    221       this.tvClientControl.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnTVClientClicked);
    222       //
    223       // lvClientControl
    224       //
    225       this.lvClientControl.AllowDrop = true;
    226       this.lvClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
    227       this.lvClientControl.ImeMode = System.Windows.Forms.ImeMode.Off;
    228       this.lvClientControl.LargeImageList = this.ilClientControl;
    229       this.lvClientControl.Location = new System.Drawing.Point(0, 0);
    230       this.lvClientControl.MultiSelect = false;
    231       this.lvClientControl.Name = "lvClientControl";
    232       this.lvClientControl.Size = new System.Drawing.Size(494, 346);
    233       this.lvClientControl.TabIndex = 0;
    234       this.lvClientControl.UseCompatibleStateImageBehavior = false;
    235       this.lvClientControl.Click += new System.EventHandler(this.OnLVClientClicked);
    236139      //
    237140      // ilClientControl
     
    242145      this.ilClientControl.Images.SetKeyName(1, "monitor-orange.png");
    243146      this.ilClientControl.Images.SetKeyName(2, "monitor-red.png");
    244       //
    245       // tpJobControl
    246       //
    247       this.tpJobControl.Controls.Add(this.scJobControl);
    248       this.tpJobControl.Location = new System.Drawing.Point(4, 22);
    249       this.tpJobControl.Name = "tpJobControl";
    250       this.tpJobControl.Padding = new System.Windows.Forms.Padding(3);
    251       this.tpJobControl.Size = new System.Drawing.Size(643, 352);
    252       this.tpJobControl.TabIndex = 1;
    253       this.tpJobControl.Text = "Job Control";
    254       this.tpJobControl.UseVisualStyleBackColor = true;
    255       //
    256       // scJobControl
    257       //
    258       this.scJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
    259       this.scJobControl.Location = new System.Drawing.Point(3, 3);
    260       this.scJobControl.Name = "scJobControl";
    261       //
    262       // scJobControl.Panel1
    263       //
    264       this.scJobControl.Panel1.Controls.Add(this.tvJobControl);
    265       //
    266       // scJobControl.Panel2
    267       //
    268       this.scJobControl.Panel2.Controls.Add(this.lvJobControl);
    269       this.scJobControl.Size = new System.Drawing.Size(637, 346);
    270       this.scJobControl.SplitterDistance = 139;
    271       this.scJobControl.TabIndex = 1;
    272       //
    273       // tvJobControl
    274       //
    275       this.tvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
    276       this.tvJobControl.Location = new System.Drawing.Point(0, 0);
    277       this.tvJobControl.Name = "tvJobControl";
    278       this.tvJobControl.Size = new System.Drawing.Size(139, 346);
    279       this.tvJobControl.TabIndex = 2;
    280       this.tvJobControl.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnTVJobControlClicked);
    281       //
    282       // lvJobControl
    283       //
    284       this.lvJobControl.AllowDrop = true;
    285       this.lvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
    286       this.lvJobControl.LargeImageList = this.ilJobControl;
    287       this.lvJobControl.Location = new System.Drawing.Point(0, 0);
    288       this.lvJobControl.MultiSelect = false;
    289       this.lvJobControl.Name = "lvJobControl";
    290       this.lvJobControl.Size = new System.Drawing.Size(494, 346);
    291       this.lvJobControl.TabIndex = 0;
    292       this.lvJobControl.UseCompatibleStateImageBehavior = false;
    293       this.lvJobControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lvJobControl_MouseMove);
    294       this.lvJobControl.Click += new System.EventHandler(this.OnLVJobControlClicked);
     147      this.ilClientControl.Images.SetKeyName(3, "monitor-gray.png");
    295148      //
    296149      // ilJobControl
     
    299152      this.ilJobControl.TransparentColor = System.Drawing.Color.Transparent;
    300153      this.ilJobControl.Images.SetKeyName(0, "PlayHS.png");
    301       //
    302       // tpUserControl
    303       //
    304       this.tpUserControl.Controls.Add(this.scUserControl);
    305       this.tpUserControl.Location = new System.Drawing.Point(4, 22);
    306       this.tpUserControl.Name = "tpUserControl";
    307       this.tpUserControl.Padding = new System.Windows.Forms.Padding(3);
    308       this.tpUserControl.Size = new System.Drawing.Size(643, 352);
    309       this.tpUserControl.TabIndex = 2;
    310       this.tpUserControl.Text = "User Control";
    311       this.tpUserControl.UseVisualStyleBackColor = true;
    312       //
    313       // scUserControl
    314       //
    315       this.scUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
    316       this.scUserControl.Location = new System.Drawing.Point(3, 3);
    317       this.scUserControl.Name = "scUserControl";
    318       //
    319       // scUserControl.Panel1
    320       //
    321       this.scUserControl.Panel1.Controls.Add(this.tvUserControl);
    322       //
    323       // scUserControl.Panel2
    324       //
    325       this.scUserControl.Panel2.Controls.Add(this.lvUserControl);
    326       this.scUserControl.Size = new System.Drawing.Size(637, 346);
    327       this.scUserControl.SplitterDistance = 139;
    328       this.scUserControl.TabIndex = 1;
    329       //
    330       // tvUserControl
    331       //
    332       this.tvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
    333       this.tvUserControl.Location = new System.Drawing.Point(0, 0);
    334       this.tvUserControl.Name = "tvUserControl";
    335       this.tvUserControl.Size = new System.Drawing.Size(139, 346);
    336       this.tvUserControl.TabIndex = 1;
    337       //
    338       // lvUserControl
    339       //
    340       this.lvUserControl.AllowDrop = true;
    341       this.lvUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
    342       this.lvUserControl.LargeImageList = this.ilUserControl;
    343       this.lvUserControl.Location = new System.Drawing.Point(0, 0);
    344       this.lvUserControl.Name = "lvUserControl";
    345       this.lvUserControl.Size = new System.Drawing.Size(494, 346);
    346       this.lvUserControl.TabIndex = 1;
    347       this.lvUserControl.UseCompatibleStateImageBehavior = false;
    348154      //
    349155      // ilUserControl
     
    461267      this.btnUserControlClose.Text = "Close";
    462268      this.btnUserControlClose.UseVisualStyleBackColor = true;
    463       this.btnUserControlClose.Click += new System.EventHandler(this.btnUserControlClose_Click);
    464269      //
    465270      // pbUserControl
     
    665470      //
    666471      this.updaterWoker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.updaterWoker_DoWork);
     472      this.updaterWoker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.updaterWoker_RunWorkerCompleted);
     473      //
     474      // tpJobControl
     475      //
     476      this.tpJobControl.Controls.Add(this.scJobControl);
     477      this.tpJobControl.Location = new System.Drawing.Point(4, 22);
     478      this.tpJobControl.Name = "tpJobControl";
     479      this.tpJobControl.Padding = new System.Windows.Forms.Padding(3);
     480      this.tpJobControl.Size = new System.Drawing.Size(643, 352);
     481      this.tpJobControl.TabIndex = 1;
     482      this.tpJobControl.Text = "Job Control";
     483      this.tpJobControl.UseVisualStyleBackColor = true;
     484      //
     485      // scJobControl
     486      //
     487      this.scJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
     488      this.scJobControl.Location = new System.Drawing.Point(3, 3);
     489      this.scJobControl.Name = "scJobControl";
     490      //
     491      // scJobControl.Panel1
     492      //
     493      this.scJobControl.Panel1.Controls.Add(this.tvJobControl);
     494      //
     495      // scJobControl.Panel2
     496      //
     497      this.scJobControl.Panel2.Controls.Add(this.lvJobControl);
     498      this.scJobControl.Size = new System.Drawing.Size(637, 346);
     499      this.scJobControl.SplitterDistance = 139;
     500      this.scJobControl.TabIndex = 1;
     501      //
     502      // tvJobControl
     503      //
     504      this.tvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
     505      this.tvJobControl.Location = new System.Drawing.Point(0, 0);
     506      this.tvJobControl.Name = "tvJobControl";
     507      this.tvJobControl.Size = new System.Drawing.Size(139, 346);
     508      this.tvJobControl.TabIndex = 2;
     509      this.tvJobControl.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnTVJobControlClicked);
     510      //
     511      // lvJobControl
     512      //
     513      this.lvJobControl.AllowDrop = true;
     514      this.lvJobControl.Dock = System.Windows.Forms.DockStyle.Fill;
     515      this.lvJobControl.LargeImageList = this.ilJobControl;
     516      this.lvJobControl.Location = new System.Drawing.Point(0, 0);
     517      this.lvJobControl.MultiSelect = false;
     518      this.lvJobControl.Name = "lvJobControl";
     519      this.lvJobControl.Size = new System.Drawing.Size(494, 346);
     520      this.lvJobControl.TabIndex = 0;
     521      this.lvJobControl.UseCompatibleStateImageBehavior = false;
     522      this.lvJobControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lvJobControl_MouseMove);
     523      this.lvJobControl.Click += new System.EventHandler(this.OnLVJobControlClicked);
     524      //
     525      // tpClientControl
     526      //
     527      this.tpClientControl.AllowDrop = true;
     528      this.tpClientControl.Controls.Add(this.scClientControl);
     529      this.tpClientControl.Location = new System.Drawing.Point(4, 22);
     530      this.tpClientControl.Name = "tpClientControl";
     531      this.tpClientControl.Padding = new System.Windows.Forms.Padding(3);
     532      this.tpClientControl.Size = new System.Drawing.Size(643, 352);
     533      this.tpClientControl.TabIndex = 0;
     534      this.tpClientControl.Text = "Client Control";
     535      this.tpClientControl.UseVisualStyleBackColor = true;
     536      //
     537      // scClientControl
     538      //
     539      this.scClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
     540      this.scClientControl.Location = new System.Drawing.Point(3, 3);
     541      this.scClientControl.Name = "scClientControl";
     542      //
     543      // scClientControl.Panel1
     544      //
     545      this.scClientControl.Panel1.Controls.Add(this.tvClientControl);
     546      //
     547      // scClientControl.Panel2
     548      //
     549      this.scClientControl.Panel2.Controls.Add(this.lvClientControl);
     550      this.scClientControl.Size = new System.Drawing.Size(637, 346);
     551      this.scClientControl.SplitterDistance = 139;
     552      this.scClientControl.TabIndex = 0;
     553      //
     554      // tvClientControl
     555      //
     556      this.tvClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
     557      this.tvClientControl.Location = new System.Drawing.Point(0, 0);
     558      this.tvClientControl.Name = "tvClientControl";
     559      this.tvClientControl.Size = new System.Drawing.Size(139, 346);
     560      this.tvClientControl.TabIndex = 0;
     561      this.tvClientControl.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnTVClientClicked);
     562      //
     563      // lvClientControl
     564      //
     565      this.lvClientControl.AllowDrop = true;
     566      this.lvClientControl.Dock = System.Windows.Forms.DockStyle.Fill;
     567      this.lvClientControl.ImeMode = System.Windows.Forms.ImeMode.Off;
     568      this.lvClientControl.LargeImageList = this.ilClientControl;
     569      this.lvClientControl.Location = new System.Drawing.Point(0, 0);
     570      this.lvClientControl.MultiSelect = false;
     571      this.lvClientControl.Name = "lvClientControl";
     572      this.lvClientControl.Size = new System.Drawing.Size(494, 346);
     573      this.lvClientControl.TabIndex = 0;
     574      this.lvClientControl.UseCompatibleStateImageBehavior = false;
     575      this.lvClientControl.Click += new System.EventHandler(this.OnLVClientClicked);
     576      //
     577      // tcManagementConsole
     578      //
     579      this.tcManagementConsole.Controls.Add(this.tpClientControl);
     580      this.tcManagementConsole.Controls.Add(this.tpJobControl);
     581      this.tcManagementConsole.Dock = System.Windows.Forms.DockStyle.Fill;
     582      this.tcManagementConsole.Location = new System.Drawing.Point(0, 24);
     583      this.tcManagementConsole.Name = "tcManagementConsole";
     584      this.tcManagementConsole.SelectedIndex = 0;
     585      this.tcManagementConsole.Size = new System.Drawing.Size(651, 378);
     586      this.tcManagementConsole.TabIndex = 1;
    667587      //
    668588      // HiveServerManagementConsole
     
    679599      this.menuStrip1.ResumeLayout(false);
    680600      this.menuStrip1.PerformLayout();
    681       this.tcManagementConsole.ResumeLayout(false);
    682       this.tpClientControl.ResumeLayout(false);
    683       this.scClientControl.Panel1.ResumeLayout(false);
    684       this.scClientControl.Panel2.ResumeLayout(false);
    685       this.scClientControl.ResumeLayout(false);
    686       this.tpJobControl.ResumeLayout(false);
    687       this.scJobControl.Panel1.ResumeLayout(false);
    688       this.scJobControl.Panel2.ResumeLayout(false);
    689       this.scJobControl.ResumeLayout(false);
    690       this.tpUserControl.ResumeLayout(false);
    691       this.scUserControl.Panel1.ResumeLayout(false);
    692       this.scUserControl.Panel2.ResumeLayout(false);
    693       this.scUserControl.ResumeLayout(false);
    694601      this.plClientDetails.ResumeLayout(false);
    695602      this.plClientDetails.PerformLayout();
     
    702609      ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).EndInit();
    703610      ((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).EndInit();
     611      this.tpJobControl.ResumeLayout(false);
     612      this.scJobControl.Panel1.ResumeLayout(false);
     613      this.scJobControl.Panel2.ResumeLayout(false);
     614      this.scJobControl.ResumeLayout(false);
     615      this.tpClientControl.ResumeLayout(false);
     616      this.scClientControl.Panel1.ResumeLayout(false);
     617      this.scClientControl.Panel2.ResumeLayout(false);
     618      this.scClientControl.ResumeLayout(false);
     619      this.tcManagementConsole.ResumeLayout(false);
    704620      this.ResumeLayout(false);
    705621      this.PerformLayout();
     
    712628    private System.Windows.Forms.ToolStripMenuItem informationToolStripMenuItem;
    713629    private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
    714     private System.Windows.Forms.TabControl tcManagementConsole;
    715     private System.Windows.Forms.TabPage tpClientControl;
    716     private System.Windows.Forms.TabPage tpJobControl;
    717     private System.Windows.Forms.SplitContainer scClientControl;
    718     private System.Windows.Forms.TabPage tpUserControl;
    719     private System.Windows.Forms.TreeView tvClientControl;
    720     private System.Windows.Forms.ListView lvClientControl;
    721     private System.Windows.Forms.SplitContainer scJobControl;
    722     private System.Windows.Forms.ListView lvJobControl;
    723     private System.Windows.Forms.SplitContainer scUserControl;
    724630    private System.Windows.Forms.TreeView treeView2;
    725631    private System.Windows.Forms.ListView listView2;
    726     private System.Windows.Forms.TreeView tvJobControl;
    727     private System.Windows.Forms.TreeView tvUserControl;
    728     private System.Windows.Forms.ListView lvUserControl;
    729632    private System.Windows.Forms.ImageList ilClientControl;
    730633    private System.Windows.Forms.ToolStripMenuItem addToolStripMenuItem;
    731634    private System.Windows.Forms.ToolStripMenuItem jobToolStripMenuItem;
    732     private System.Windows.Forms.ToolStripMenuItem userToolStripMenuItem;
    733     private System.Windows.Forms.ToolStripMenuItem userToolStripMenuItem1;
    734     private System.Windows.Forms.ToolStripMenuItem groupToolStripMenuItem2;
    735635    private System.Windows.Forms.ImageList ilUserControl;
    736636    private System.Windows.Forms.Timer timerSyncronize;
     
    768668    private System.Windows.Forms.Label lblState;
    769669    private System.ComponentModel.BackgroundWorker updaterWoker;
     670    private System.Windows.Forms.TabControl tcManagementConsole;
     671    private System.Windows.Forms.TabPage tpClientControl;
     672    private System.Windows.Forms.SplitContainer scClientControl;
     673    private System.Windows.Forms.TreeView tvClientControl;
     674    private System.Windows.Forms.ListView lvClientControl;
     675    private System.Windows.Forms.TabPage tpJobControl;
     676    private System.Windows.Forms.SplitContainer scJobControl;
     677    private System.Windows.Forms.TreeView tvJobControl;
     678    private System.Windows.Forms.ListView lvJobControl;
    770679  }
    771680}
  • trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs

    r1449 r1483  
    4848    private Dictionary<Guid, ListViewItem> clientInfoObjects;
    4949    private Dictionary<Guid, ListViewItem> jobObjects;
    50     private Dictionary<Guid, ListViewGroup> userGroupsObjects;
    51     private Dictionary<Guid, ListViewItem> userListObjects;
    5250
    5351    private Job currentJob = null;
     
    6058    private bool flagUser = false;
    6159
     60    private List<Changes> changes = new List<Changes>();
     61
    6262    private ToolTip tt = new ToolTip();
    6363    #endregion
     
    7676    /// <param name="e"></param>
    7777    private void TickSync(object obj, EventArgs e) {
    78       Refresh();
    79       //updaterWoker.RunWorkerAsync();
     78      if (!updaterWoker.IsBusy) {
     79        updaterWoker.RunWorkerAsync();
     80      }
    8081    }
    8182
     
    9495        tvClientControl.Nodes.Clear();
    9596        int count = 0;
     97        List<Guid> inGroup = new List<Guid>();
    9698        foreach (ClientGroup cg in clients.List) {
    9799          tvClientControl.Nodes.Add(cg.Name);
    98100          ListViewGroup lvg = new ListViewGroup(cg.Name, HorizontalAlignment.Left);
    99           foreach (ClientInfo ci in clientManager.GetAllClients().List) {
     101          foreach (ClientInfo ci in cg.Resources) {
    100102            tvClientControl.Nodes[tvClientControl.Nodes.Count - 1].Nodes.Add(ci.Name);
    101             ListViewItem item = new ListViewItem(ci.Name, count, lvg);
     103            ListViewItem item = null;
     104            if ((ci.State == State.offline) || (ci.State == State.nullState)) {
     105              item = new ListViewItem(ci.Name, 3, lvg);
     106            } else {
     107              item = new ListViewItem(ci.Name, count, lvg);
     108            }
     109            item.Tag = ci.Id;
    102110            lvClientControl.Items.Add(item);
    103111            clientInfoObjects.Add(ci.Id, item);
    104112            count = (count + 1) % 3;
    105           }
     113            inGroup.Add(ci.Id);
     114           
     115          }
     116          lvClientControl.BeginUpdate();
    106117          lvClientControl.Groups.Add(lvg);
     118          lvClientControl.EndUpdate();
    107119          clientObjects.Add(cg.Id, lvg);
    108120        } // Groups
    109121
    110122        clientInfo = clientManager.GetAllClients();
    111         ListViewGroup lvunsorted = new ListViewGroup("unsorted", HorizontalAlignment.Left);
     123        ListViewGroup lvunsorted = new ListViewGroup("no group", HorizontalAlignment.Left);
    112124        foreach (ClientInfo ci in clientInfo.List) {
    113           tvClientControl.Nodes.Add(ci.Name);
    114           lvClientControl.Items.Add(new ListViewItem(ci.Name, count, lvunsorted));
    115           count = (count + 1) % 3;
    116         }
     125          bool help = false;
     126          foreach (Guid client in inGroup) {
     127            if (client == ci.Id) {
     128              help = true;
     129              break;
     130            }
     131          }
     132          if (!help) {
     133            tvClientControl.Nodes.Add(ci.Name);
     134            ListViewItem item = null;
     135            if ((ci.State == State.offline) || (ci.State == State.nullState)) {
     136              item = new ListViewItem(ci.Name, 3, lvunsorted);
     137            } else {
     138              item = new ListViewItem(ci.Name, count, lvunsorted);
     139            }
     140            item.Tag = ci.Id;
     141            lvClientControl.Items.Add(item);
     142            count = (count + 1) % 3;
     143          }
     144        }
     145        lvClientControl.BeginUpdate();
    117146        lvClientControl.Groups.Add(lvunsorted);
     147        lvClientControl.EndUpdate();
    118148        if (flagClient) {
    119149          ClientClicked();
     
    126156    }
    127157
     158
     159    List<ListViewGroup> jobGroup;
    128160    /// <summary>
    129161    /// Adds jobs to ListView and TreeView
     
    142174        ListViewGroup lvJobFinished = new ListViewGroup("finished", HorizontalAlignment.Left);
    143175        ListViewGroup lvJobPending = new ListViewGroup("pending", HorizontalAlignment.Left);
     176
     177        jobGroup = new List<ListViewGroup>();
     178        jobGroup.Add(lvJobCalculating);
     179        jobGroup.Add(lvJobFinished);
     180        jobGroup.Add(lvJobPending);
     181       
    144182        tvJobControl.Nodes.Add("calculating");
    145183        tvJobControl.Nodes.Add("finished");
     
    150188            jobObjects.Add(job.Id, lvi);
    151189            tvJobControl.Nodes[0].Nodes.Add(job.Id.ToString());
    152             lvJobControl.Items.Add(lvi);
     190
     191            //lvJobControl.Items.Add(lvi);
     192           
    153193            lvi.ToolTipText = (job.Percentage * 100) + "% of job calculated";
    154194          } else if (job.State == State.finished) {
     
    156196            jobObjects.Add(job.Id, lvi);
    157197            tvJobControl.Nodes[1].Nodes.Add(job.Id.ToString());
    158             lvJobControl.Items.Add(lvi);
     198            //lvJobControl.Items.Add(lvi);
    159199          } else if (job.State == State.offline) {
    160200            ListViewItem lvi = new ListViewItem(job.Id.ToString(), 0, lvJobPending);
    161201            jobObjects.Add(job.Id, lvi);
    162202            tvJobControl.Nodes[2].Nodes.Add(job.Id.ToString());
    163             lvJobControl.Items.Add(lvi);
     203            //lvJobControl.Items.Add(lvi);
    164204          }
    165205        } // Jobs
     206        lvJobControl.BeginUpdate();
     207        foreach (ListViewItem lvi in jobObjects.Values) {
     208          lvJobControl.Items.Add(lvi);
     209        }
    166210        lvJobControl.Groups.Add(lvJobCalculating);
    167211        lvJobControl.Groups.Add(lvJobFinished);
    168212        lvJobControl.Groups.Add(lvJobPending);
     213        lvJobControl.EndUpdate();
    169214        if (flagJob) {
    170215          JobClicked();
     
    267312    }
    268313
     314    private void Refresh() {
     315      foreach (Changes change in changes) {
     316        if (change.Types == Type.Job) {
     317          RefreshJob(change);
     318        } else if (change.Types == Type.Client) {
     319          RefreshClient(change);
     320        } else if (change.Types == Type.ClientGroup) {
     321          RefreshClientGroup(change);
     322        }
     323      }
     324    }
     325
     326    private void RefreshJob(Changes change) {
     327      if (change.ChangeType == Change.Update) {
     328        for (int i = 0; i < lvJobControl.Items.Count; i++) {
     329          if (lvJobControl.Items[i].Text == change.ID.ToString()) {
     330            State state = jobs.List[change.Position].State;
     331            System.Diagnostics.Debug.WriteLine(lvJobControl.Items[i].Text.ToString());
     332            if (state == State.finished) {
     333              lvJobControl.Items[i].Group = jobGroup[1];
     334              System.Diagnostics.Debug.WriteLine("finished");
     335            } else if (state == State.calculating) {
     336              lvJobControl.Items[i].Group = jobGroup[0];
     337              System.Diagnostics.Debug.WriteLine("calculating");
     338            } else if (state == State.offline) {
     339              lvJobControl.Items[i].Group = jobGroup[2];
     340              System.Diagnostics.Debug.WriteLine("offline");
     341
     342            }
     343            lvJobControl.Refresh();
     344          }
     345        }
     346      } else if (change.ChangeType == Change.Create) {
     347        ListViewItem lvi = new ListViewItem(
     348          change.ID.ToString(), 0, jobGroup[2]);
     349        jobObjects.Add(change.ID, lvi);
     350        lvJobControl.Items.Add(lvi);
     351
     352      } else if (change.ChangeType == Change.Delete) {
     353        jobObjects.Remove(change.ID);
     354        for (int i = 0; i < lvJobControl.Items.Count; i++) {
     355          if (change.ID.ToString() == lvJobControl.Items[i].Text.ToString()) {
     356            lvJobControl.Items[i].Remove();
     357            break;
     358          }
     359        }
     360      }
     361    }
     362
     363    private void RefreshClient(Changes change) {
     364      if (change.ChangeType == Change.Update) {
     365        for (int i = 0; i < lvClientControl.Items.Count; i++) {
     366          if (lvClientControl.Items[i].Tag.ToString() == change.ID.ToString()) {
     367            State state = clientInfo.List[change.Position].State;
     368            System.Diagnostics.Debug.WriteLine(lvClientControl.Items[i].Text.ToString());
     369            if ((state == State.offline) || (state == State.nullState)) {
     370              lvClientControl.Items[i].ImageIndex = 3;
     371            } else {
     372              lvClientControl.Items[i].ImageIndex = 1;
     373            }
     374            lvClientControl.Refresh();
     375          }
     376        }
     377
     378
     379      } else if (change.ChangeType == Change.Create) {
     380       
     381      } else if (change.ChangeType == Change.Delete) {
     382        clientInfoObjects.Remove(change.ID);
     383        for (int i = 0; i < lvClientControl.Items.Count; i++) {
     384          if (change.ID.ToString() == lvClientControl.Items[i].Text.ToString()) {
     385            lvClientControl.Items[i].Remove();
     386            break;
     387          }
     388        }
     389
     390      }
     391    }
     392
     393    private void RefreshClientGroup(Changes change) {
     394
     395    }
     396
    269397    #region Eventhandlers
    270398    /// <summary>
     
    294422      AddJobForm newForm = new AddJobForm();
    295423      newForm.Show();
    296       newForm.addJobEvent += new addDelegate(Refresh);
    297     }
    298 
    299     private void Refresh() {
    300       AddClients();
    301       AddJobs();
     424      //newForm.addJobEvent += new addDelegate(updaterWoker.RunWorkerAsync);
    302425    }
    303426
     
    351474    }
    352475
    353     private void btnUserControlClose_Click(object sender, EventArgs e) {
    354       scUserControl.Panel2.Controls.Clear();
    355       scUserControl.Panel2.Controls.Add(lvUserControl);
    356       flagUser = false;
    357     }
    358 
    359476    private void lvJobControl_MouseMove(object sender, MouseEventArgs e) {
    360477      if ((lvJobControl.GetItemAt(e.X, e.Y) != null) &&
     
    365482
    366483    private void updaterWoker_DoWork(object sender, DoWorkEventArgs e) {
    367       ResponseList<ClientInfo> clientInfoOld = clientInfo;
     484
     485        changes.Clear();
    368486      IClientManager clientManager =
    369487          ServiceLocator.GetClientManager();
     488     
     489      #region ClientInfo
     490      ResponseList<ClientInfo> clientInfoOld = clientInfo;
    370491      clientInfo = clientManager.GetAllClients();
    371       foreach (ClientInfo ci in clientInfo.List) {
    372         foreach (ClientInfo cio in clientInfoOld.List) {
    373           ci.Id.Equals(cio.Id);
    374         }
    375       }
    376      
     492
     493      IDictionary<int, ClientInfo> clientInfoOldHelp;
     494
     495      CloneList(clientInfoOld, out clientInfoOldHelp);
     496
     497      GetDelta(clientInfoOld.List, clientInfoOldHelp);
     498      #endregion
     499
     500      #region Clients
     501      ResponseList<ClientGroup> clientsOld = clients;
     502     
     503      clients = clientManager.GetAllClientGroups();
     504
     505      IDictionary<int, ClientGroup> clientsOldHelp;
     506
     507      CloneList(clientsOld, out clientsOldHelp);
     508
     509      GetDelta(clientsOld.List, clientsOldHelp);
     510      #endregion
     511
     512      #region Job
     513      ResponseList<Job> jobsOld = jobs;
     514      IJobManager jobManager =
     515          ServiceLocator.GetJobManager();
     516
     517      jobs = jobManager.GetAllJobs();
     518
     519      IDictionary<int, Job> jobsOldHelp;
     520      CloneList(jobsOld, out jobsOldHelp);
     521
     522      GetDelta(jobsOld.List, jobsOldHelp);
     523
     524      #endregion
     525
     526      foreach (Changes change in changes) {
     527        System.Diagnostics.Debug.WriteLine(change.ID + " " + change.ChangeType);
     528      }
     529
    377530    }
    378531    #endregion
     532
     533    #region Helper methods
     534
     535    private void CloneList(ResponseList<Job> oldList, out IDictionary<int, Job> newList) {
     536      newList = new Dictionary<int, Job>();
     537      for (int i = 0; i < oldList.List.Count; i++) {
     538        newList.Add(i, oldList.List[i]);
     539      }
     540    }
     541
     542    private void CloneList(ResponseList<ClientInfo> oldList, out IDictionary<int, ClientInfo> newList) {
     543      newList = new Dictionary<int, ClientInfo>();
     544      for (int i = 0; i < oldList.List.Count; i ++) {
     545        newList.Add(i, oldList.List[i]);
     546      }
     547    }
     548
     549    private void CloneList(ResponseList<ClientGroup> oldList, out IDictionary<int, ClientGroup> newList) {
     550      newList = new Dictionary<int, ClientGroup>();
     551      for (int i = 0; i < oldList.List.Count; i++) {
     552        newList.Add(i, oldList.List[i]);
     553      }
     554    }
     555
     556    private bool IsEqual(ClientInfo ci1, ClientInfo ci2) {
     557      if (ci2 == null) {
     558        return false;
     559      }
     560      if (ci1.Id.Equals(ci2.Id)) {
     561        return true;
     562      } else return false;
     563    }
     564
     565    private void GetDelta(IList<ClientInfo> oldClient, IDictionary<int, ClientInfo> helpClients) {
     566      bool found = false;
     567
     568      for (int i = 0; i < clientInfo.List.Count; i ++) {
     569        ClientInfo ci = clientInfo.List[i];
     570        for (int j = 0; j < oldClient.Count; j++) {
     571          ClientInfo cio = oldClient[j];
     572          if (ci.Id.Equals(cio.Id)) {
     573            found = true;
     574            if (ci.State != cio.State) {
     575              changes.Add(new Changes { Types = Type.Client, ID = ci.Id, ChangeType = Change.Update, Position = i });
     576            }
     577            int removeAt = -1;
     578            foreach (KeyValuePair<int, ClientInfo> kvp in helpClients) {
     579              if (cio.Id.Equals(kvp.Value.Id)) {
     580                removeAt = kvp.Key;
     581                break;
     582              }
     583            }
     584            if (removeAt >= 0) {
     585              helpClients.Remove(removeAt);
     586            }
     587            break;
     588          }
     589        }
     590        if (found == false) {
     591          changes.Add(new Changes { Types = Type.Client, ID = ci.Id, ChangeType = Change.Create });
     592        }
     593        found = false;
     594      }
     595      foreach (KeyValuePair<int, ClientInfo> kvp in helpClients) {
     596        changes.Add(new Changes { Types = Type.Client, ID = kvp.Value.Id, ChangeType = Change.Delete, Position = kvp.Key });
     597      }
     598
     599    }
     600
     601    private void GetDelta(IList<ClientGroup> oldClient, IDictionary<int, ClientGroup> helpClients) {
     602
     603      bool found = false;
     604      for (int i = 0; i < clients.List.Count; i++) {
     605        ClientGroup cg = clients.List[i];
     606        for (int j = 0; j < oldClient.Count; i++) {
     607          ClientGroup cgo = oldClient[j];
     608          if (cg.Id.Equals(cgo.Id)) {
     609            found = true;
     610            foreach (Resource resource in cg.Resources) {
     611              foreach (Resource resourceold in cgo.Resources) {
     612                if (resource.Id.Equals(resourceold.Id)) {
     613                  if (resourceold.Name != resource.Name) {
     614                    changes.Add(new Changes { Types = Type.Client, ID = cg.Id, ChangeType = Change.Update, Position = i });
     615                  }
     616                }
     617              }
     618            }
     619            for (int k = 0; k < helpClients.Count; k++) {
     620              if (cgo.Id.Equals(helpClients[k].Id)) {
     621                helpClients.Remove(k);
     622                break;
     623              }
     624            }
     625            break;
     626          }
     627        }
     628        if (found == false) {
     629          changes.Add(new Changes { Types = Type.ClientGroup, ID = cg.Id, ChangeType = Change.Create });
     630        }
     631        found = false;
     632      }
     633      foreach (KeyValuePair<int, ClientGroup> kvp in helpClients) {
     634        changes.Add(new Changes { Types = Type.ClientGroup, ID = kvp.Value.Id, ChangeType = Change.Delete, Position = kvp.Key });
     635      }
     636    }
     637
     638    private void GetDelta(IList<Job> oldJobs, IDictionary<int, Job> helpJobs) {
     639      bool found = false;
     640      for (int i = 0; i < jobs.List.Count; i ++ ) {
     641        Job job = jobs.List[i];
     642        for (int j = 0; j < oldJobs.Count; j++) {
     643
     644          Job jobold = oldJobs[j];
     645
     646          if (job.Id.Equals(jobold.Id)) {
     647
     648            found = true;
     649            if (job.State != State.offline) {
     650              if (!IsEqual(job.Client, jobold.Client)) {
     651                changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Update, Position = i });
     652              } else if (job.State != jobold.State) {
     653                changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Update, Position = i });
     654              }
     655            } else if (job.DateCalculated != jobold.DateCalculated) {
     656              changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Update, Position = i });
     657            }
     658
     659            int removeAt = -1;
     660            foreach (KeyValuePair<int, Job> kvp in helpJobs) {
     661              if (job.Id.Equals(kvp.Value.Id)) {
     662                removeAt = kvp.Key;
     663                break;
     664              }
     665            }
     666            if (removeAt >= 0) {
     667              helpJobs.Remove(removeAt);
     668            }
     669            break;
     670          }
     671
     672        }
     673        if (found == false) {
     674          changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Create });
     675          System.Diagnostics.Debug.WriteLine("new Job: " + job.Id);
     676        }
     677        found = false;
     678      }
     679      foreach (KeyValuePair<int, Job> kvp in helpJobs) {
     680        changes.Add(new Changes { Types = Type.Job, ID = kvp.Value.Id, ChangeType = Change.Delete, Position = kvp.Key });
     681        System.Diagnostics.Debug.WriteLine("delete Job: " + kvp.Value.Id);
     682      }
     683    }
     684
     685
     686    #endregion
     687
     688    private void updaterWoker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
     689      Refresh();
     690    }
     691
     692
    379693  }
    380694}
  • trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.resx

    r1261 r1483  
    128128        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
    129129        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
    130         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACo
    131         EwAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
    132         AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
     130        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB0
     131        FwAAAk1TRnQBSQFMAgEBBAEAAQkBAAEEAQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
     132        AwABgAMAAUADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
    133133        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
    134134        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
     
    157157        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
    158158        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
    159         AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEACzUCVgGXA3gBlwNW
    160         CjUBNAssAlMFdAFSAUwBTQssDEABRgFpBG8CRgxAIAAJNQJWAZgBBwG8A/ACvAHvAXgCVgQ1ATQDNQE0
    161         CSwBTQFSAZMBBwG8A/ACvAHvAXQBUgFNCSwKQAFpAZMBBwG8A/ACvAHvAW8BRgpAIAAINQFWAZgBvAHw
    162         BPEC8AHxAfACBwGYAVYFNAI1ATQILAFSAZMBvAHwBPEC8AHxAfACBwGTAUwCLAErBSwIQAFGAZMBvAHw
    163         BPEC8AHxAfACBwGTAUYCQAEgBUAgAAc1AVYB7wO8AfAD8QPwBAcB9wFQAi4FNAcsAVIBmQO8AfAD8QPw
    164         BAcB7wFuBCsDLAdAAUYBkwO8AfAD8QPwBAcB7wFoAukCIANAIAAGNQFWAZgDBwG8AfAC8QHwA7wCBwHv
    165         AvcB7QFPAi4ENAYsAU0BkwMHAbwB8ALxAfADvAIHAe8C9wHtAUsDKwMsB0ABkwMHAbwB8ALxAfADvAIH
    166         Ae8C9wHtAukCIANAIAAGNQFWAZgEBwG8A/ABvAMHAe8B9wHtAZIB7QFPBjQGLAFTAZMEBwG8A/ABvAMH
    167         Ae8B9wHtAZIBHAFLAysDLAdAAZMEBwG8A/ABvAMHAe8B9wHtAZIB7QHpAyADQCAABzUBlwHvBQcBvAIH
    168         Au8B7QLsAe0BkgFyAi4FNAcsAXQB7wUHAbwCBwLvAe0C7AHtAfcBcwErAUwCKwMsB0ABaQGTBQcBvAIH
    169         Au8B7QLsAe0BkgFuAukFQCAACDUBVgEcAe8BBwPvAZIC7AJtAesB7AH3Ae8B9wLvAXIENAgsAUwBHAIH
    170         A+8BkgLsAm0B6wHsAfcB7wEcAu8BdAQsCEABRgGTAe8BBwPvAZIC7AJtAesB7AH3Ae8BHALvAW8EQCAA
    171         CTUBNAFQAXIC7QXsAZIC7wEHAbwB8AG8Ae8BcwM1ATQJLAErAUwBbgHtAZIF7AGSAu8BBwG8AfABvAEH
    172         AXQELApAAUUBbgHsAe0F7AGSAu8BBwG8AfABvAHvAW8EQCAACjUBNAFVAVAD7AHtAfcBBwO8AQcB7wH3
    173         AgcBcwM1ATQLLAJMA+wB7QH3AQcDvAEHAe8B9wIHARwELAxAAUUD7AHtAfcBBwO8AQcB7wH3AgcBjQRA
    174         IAAFNQI0AlABcgHtAZIB9wPvAgcB7wHtAW0BEwEVAREBFQHsAbwB7QFWAjUBNAUsASsCTAFLAXMB7QL3
    175         A+8CBwHvAe0BbQETARUBEQEVAewBvAEcAU0DLAdAAUYBRQFuAe0BkgH3A+8CBwHvAe0BbQETARUBEQEV
    176         AewBvAHtBEAgAAE1AlYBcgHsAe0B9wUHAe8B9wHsAW0BFAJDAhEDQwEUAewBvAHtAVYCNQE0ASwBTQFM
    177         AXMB7AHtAe8FBwHvAfcB7AFtARQCQwIRA0MBFAHsAbwBHAFTAywBQAJGAm4B7QH3BQcB7wH3AewBbQEU
    178         AkMCEQNDARQB7AG8AZIBRgNAIAABNQGXAe0C7wMHAfcB7AHqARUBEQMQARECFQUUARMB7AG8ARwBVgI1
    179         ATQBLAF0Ae0C7wMHAfcB7AHqARUBEQMQARECFQUUARMB7AG8ARwBUgMsAUABaQHtAu8DBwH3AewB6gEV
    180         AREDEAERAhUFFAETAewBvAGSAUYDQCAAATUBeAH3Ae0B7AFtARUBEAMPAxACEQEVARQCEwUSAewBvAH3
    181         AVYCNQE0ASwBdAH3Ae0B7AFtARUBEAMPAxACEQEVARQCEwUSAewBvAEcAVIDLAFAAW8B9wHtAewBbQEV
    182         ARADDwMQAhEBFQEUAhMFEgHsAbwB9wFGA0AgAAE1AXgB9wERCBADEQFDARQBEgLqBW0B7AG8Ae8BVgI1
    183         ATQBLAF1AfcBEQgQAxEBQwEUARIC6gVtAewBvAHvAVIDLAFAAW8B9wERCBADEQFDARQBEgLqBW0B7AG8
    184         Ae8BaQNAIAABNQFWAe8BFQERAUMDEQIQAxECQwETBG0E6wHsAQcB7wGXAjUBNAEsAVMB7wEVAREBQwMR
    185         AhADEQJDARMEbQTrAewBBwHvAXQDLAFAARcB7wEVAREBQwMRAhADEQJDARMEbQTrAewBBwHvAW8DQCAA
    186         ATUBVgHvARMBQwEVAkMBEQEQAxECQwEVAeoJ7AIHAXMCNQE0ASwBUwHvARMBQwEVAkMBEQEQAxECQwEV
    187         AeoJ7AIHAXQDLAFAAUYB7wETAUMBFQJDAREBEAMRAkMBFQHqCewBBwHvAW8DQCAAATUBVgHvAW0BFQIU
    188         ARUEEQNDARQBbQXsA+0B7AIHAXMCNQE0ASwBUwHvAW0BFQIUARUEEQNDARQBbQXsA+0B7AIHARwDLAJA
    189         Ae8BbQEVAhQBFQQRA0MBFAFtBewD7QHsAgcBbgNAIAACNQHvAesBFQETARIBFAMRBEMBEwHsBpIB9wKS
    190         Ae8BvAHtAjUBNAIsAe8B6wEVARMBEgEUAxEEQwETAewGkgH3ApIB7wG8ARwDLAJAAZMB6wEVARMBEgEU
    191         AxEEQwETAewGkgH3ApIB7wG8Ae0DQCAAAjUBmAHsARQC6gEVAxEDQwEVARIB7AHvAvcF7wH3Ae8B8AHt
    192         AjUBNAIsAZkB7AEUAuoBFQMRA0MBFQESAewB7wL3Be8B9wHvAfABHAFNAiwCQAGTAewBFALqARUDEQND
    193         ARUBEgHsAe8C9wXvAfcB7wHwAe0DQCAAAjUBmAH3ARQBbQHqAUMCEQNDAhUBbQGSBe8DBwLvAfABkgFW
    194         ATUBNAIsAZMB9wEUAW0B6gFDAhEDQwIVAW0BkgXvAwcC7wHwARwBUgIsAkABkwH3ARQBbQHqAUMCEQND
    195         AhUBbQGSBe8DBwLvAfAB7QFGAkAgAAI1AXgB9wETAW0BEgIRA0MCFQEUAewB7wYHArwCBwHwAZIBVgE1
    196         ATQCLAF0Ae8BEwFtARICEQNDAhUBFAHsAe8GBwK8AgcB8AEcAVICLAJAAW8B9wETAW0BEgIRA0MCFQEU
    197         AewB7wYHArwCBwHwAZIBRgJAIAACNQF4Ae8BEwFtARUBEQJDAhUCFAETAewFvATwAbwBBwHwAfcBlwE1
    198         ATQCLAF0Ae8BEwFtARUBEQJDAhUCFAETAewFvATwAbwBBwHwARwBdAIsAkABbwH3ARMBbQEVARECQwIV
    199         AhQBEwHsBbwE8AG8AQcB8AH3AWkCQCAAAjUBVgHvAhIBQwERAkMCFQIUAeoB9wXwBfEBBwHwAe8BlwE1
    200         ATQCLAFTAe8CEgFDARECQwIVAhQB6gH3BfAF8QEHAfAB7wF0AiwCQAFGAe8CEgFDARECQwIVAhQB6gH3
    201         BfAF8QEHAfAB7wFvAkAgAAI1AVYB7wESARUBEQJDAhUDFAFtAQcB8gTxBfIBvAHxAe8BcgE1ATQCLAFT
    202         Ae8BEgEVARECQwIVAxQBbQEHAfIE8QXyAbwB8QHvAXQCLAJAAUYB7wESARUBEQJDAhUDFAFtAQcB8gTx
    203         BfIBvAHxAe8BbwJAIAADNQEcARICEQJDAhUCFAETAewB8AXyBfMC8QG8AXMBNQE0AiwBTQGTARICEQJD
    204         AhUCFAETAewB8AXyBfMC8QG8AXQCLANAAZMBEgIRAkMCFQIUARMB7AHwBfIF8wLxAbwBbgJAIAADNQGY
    205         AW0CEQJDAhUCFAETAZIB8gjzAfIB8QEHAvAB7QE1ATQDLAGTAW0CEQJDAhUCFAETAZIB8gjzAfIB8QEH
    206         AvAB7QFNASwDQAGTAW0CEQJDAhUCFAETAZIB8gjzAfIB8QEHAvAB7AJAIAADNQGYAewBQwERAkMCFQIU
    207         ARIB7wHyAfEB8AO8BQcBvALxARwBNQE0AywBHAHsAUMBEQJDAhUCFAESAe8B8gHxAfADvAUHAbwC8QEc
    208         AU0BLANAAZMB7AFDARECQwIVAhQBEgHvAfIB8QHwA7wFBwG8AvEB7QJAIAADNQGYAe0BFQIRAkMBFQIU
    209         AeoB7QPvAgcEvAEIApkCmAFWATUBNAMsAZMB7QEVAhECQwEVAhQB6gHtA+8CBwW8A5kBkwFTAiwDQAGO
    210         Ae0BFQIRAkMBFQIUAeoB7QPvAgcEvAEHA5MBjgFGAkAgAAM1AXgB9wIUAeoBbQHsAZIB7wEHArwBBwII
    211         AZkDmAN4BVYBNQE0AywBdAH3AhQB6gFtAewBkgHvAQcDvAEHA5kCkwJ0AXUFUwIsA0ABbwH3AhQB6gFt
    212         AewBkgHvAQcCvAIHBZMBjgJvAWkERgJAIAADNQF4Ae8BBwG8AQcCCAGZApgCeAZWCjUBNAMsAXQCBwK8
    213         AQcDmQGTAXQBdQVTAU0LLANAAW8B7wEHAbwDBwOTAm8BaQNGDUAgAAQ1AVYBlwNWFjUBNAQsAVMBdQNT
    214         FywEQANpAkYXQCAAAUIBTQE+BwABPgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA///AP8AAwAL
     159        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8A/wD/AP8A
     160        /wD/AP8A/wD/AP8A/wD/AP8AEQALNQJWAZcDeAGXA1YKNQE0CywCUwV0AVIBTAFNCywMQAFGAWkEbwJG
     161        DEAfkgHtCTUCVgGYAQcBvAPwArwB7wF4AlYENQE0AzUBNAksAU0BUgGTAQcBvAPwArwB7wF0AVIBTQks
     162        CkABaQGTAQcBvAPwArwB7wFvAUYKQAuSAfcBBwG8AvACvAHuAe8LkgHtCDUBVgGYAbwB8ATxAvAB8QHw
     163        AgcBmAFWBTQCNQE0CCwBUgGTAbwB8ATxAvAB8QHwAgcBkwFMAiwBKwUsCEABRgGTAbwB8ATxAvAB8QHw
     164        AgcBkwFGAkABIAVACZIB7wG8AfAE8QLwAfEBvAIHAe8IkgHtBzUBVgHvA7wB8APxA/AEBwH3AVACLgU0
     165        BywBUgGZA7wB8APxA/AEBwHvAW4EKwMsB0ABRgGTA7wB8APxA/AEBwHvAWgC6QIgA0AIkgEHA7wB8APx
     166        A/AEBwHvAewGkgHtBjUBVgGYAwcBvAHwAvEB8AO8AgcB7wL3Ae0BTwIuBDQGLAFNAZMDBwG8AfAC8QHw
     167        A7wCBwHvAvcB7QFLAysDLAdAAZMDBwG8AfAC8QHwA7wCBwHvAvcB7QLpAiADQAeSAe8DBwG8AfAC8QHw
     168        A7wCBwHvA/cB7QWSAe0GNQFWAZgEBwG8A/ABvAMHAe8B9wHtAZIB7QFPBjQGLAFTAZMEBwG8A/ABvAMH
     169        Ae8B9wHtAZIBHAFLAysDLAdAAZMEBwG8A/ABvAMHAe8B9wHtAZIB7QHpAyADQAeSAe8EBwG8A/ABvAMH
     170        Ae8B9wHtAZIB9waSAe0HNQGXAe8FBwG8AgcC7wHtAuwB7QGSAXICLgU0BywBdAHvBQcBvAIHAu8B7QLs
     171        Ae0B9wFzASsBTAIrAywHQAFpAZMFBwG8AgcC7wHtAuwB7QGSAW4C6QVAB5IB7QHvBQcBvAIHAu8B7QLs
     172        Ae0IkgHtCDUBVgEcAe8BBwPvAZIC7AJtAesB7AH3Ae8B9wLvAXIENAgsAUwBHAIHA+8BkgLsAm0B6wHs
     173        AfcB7wEcAu8BdAQsCEABRgGTAe8BBwPvAZIC7AJtAesB7AH3Ae8BHALvAW8EQAmSAfcF7wGSAewB+AJt
     174        AesB7AH3Ae8B9wLvAe0DkgHtCTUBNAFQAXIC7QXsAZIC7wEHAbwB8AG8Ae8BcwM1ATQJLAErAUwBbgHt
     175        AZIF7AGSAu8BBwG8AfABvAEHAXQELApAAUUBbgHsAe0F7AGSAu8BBwG8AfABvAHvAW8EQAuSA+0B7AL4
     176        AuwBkgLvAQcBvAHwAbwBBwHtA5IB7Qo1ATQBVQFQA+wB7QH3AQcDvAEHAe8B9wIHAXMDNQE0CywCTAPs
     177        Ae0B9wEHA7wBBwHvAfcCBwEcBCwMQAFFA+wB7QH3AQcDvAEHAe8B9wIHAY0EQA2SAe0C7AHtAfcBBwO8
     178        AQcB7wH3AgcEkgHtBTUCNAJQAXIB7QGSAfcD7wIHAe8B7QFtARMBFQERARUB7AG8Ae0BVgI1ATQFLAEr
     179        AkwBSwFzAe0C9wPvAgcB7wHtAW0BEwEVAREBFQHsAbwBHAFNAywHQAFGAUUBbgHtAZIB9wPvAgcB7wHt
     180        AW0BEwEVAREBFQHsAbwB7QRACZIC7QGSAfcD7wIHAe8B7QFtARMBFQERARUB7AG8BJIB7QE1AlYBcgHs
     181        Ae0B9wUHAe8B9wHsAW0BFAJDAhEDQwEUAewBvAHtAVYCNQE0ASwBTQFMAXMB7AHtAe8FBwHvAfcB7AFt
     182        ARQCQwIRA0MBFAHsAbwBHAFTAywBQAJGAm4B7QH3BQcB7wH3AewBbQEUAkMCEQNDARQB7AG8AZIBRgNA
     183        BJIB7AHtAfcFBwHvAfcB7AFtARQCQwIRA0MBFAHsAbwB9wOSAe0BNQGXAe0C7wMHAfcB7AHqARUBEQMQ
     184        ARECFQUUARMB7AG8ARwBVgI1ATQBLAF0Ae0C7wMHAfcB7AHqARUBEQMQARECFQUUARMB7AG8ARwBUgMs
     185        AUABaQHtAu8DBwH3AewB6gEVAREDEAERAhUFFAETAewBvAGSAUYDQAKSAe0C7wMHAfcB7AHqARUBEQMQ
     186        ARECFQUUARMB7AG8AfcDkgHtATUBeAH3Ae0B7AFtARUBEAMPAxACEQEVARQCEwUSAewBvAH3AVYCNQE0
     187        ASwBdAH3Ae0B7AFtARUBEAMPAxACEQEVARQCEwUSAewBvAEcAVIDLAFAAW8B9wHtAewBbQEVARADDwMQ
     188        AhEBFQEUAhMFEgHsAbwB9wFGA0ACkgH3Ae0B7AFtARUBEAMPAxACEQEVARQCEwUSAfgBvAHvA5IB7QE1
     189        AXgB9wERCBADEQFDARQBEgLqBW0B7AG8Ae8BVgI1ATQBLAF1AfcBEQgQAxEBQwEUARIC6gVtAewBvAHv
     190        AVIDLAFAAW8B9wERCBADEQFDARQBEgLqBW0B7AG8Ae8BaQNAAZIB7QH3AREIEAMRAUMBFAESAuoFbQH4
     191        AbwB7wOSAe0BNQFWAe8BFQERAUMDEQIQAxECQwETBG0E6wHsAQcB7wGXAjUBNAEsAVMB7wEVAREBQwMR
     192        AhADEQJDARMEbQTrAewBBwHvAXQDLAFAARcB7wEVAREBQwMRAhADEQJDARMEbQTrAewBBwHvAW8DQAKS
     193        Ae8BFQERAUMDEQIQAxECQwETBG0E6wHsAQcB7wHtApIB7QE1AVYB7wETAUMBFQJDAREBEAMRAkMBFQHq
     194        CewCBwFzAjUBNAEsAVMB7wETAUMBFQJDAREBEAMRAkMBFQHqCewCBwF0AywBQAFGAe8BEwFDARUCQwER
     195        ARADEQJDARUB6gnsAQcB7wFvA0ACkgHvARMBQwEVAkMBEQEQAxECQwEVAeoF+ATsAgcB7QKSAe0BNQFW
     196        Ae8BbQEVAhQBFQQRA0MBFAFtBewD7QHsAgcBcwI1ATQBLAFTAe8BbQEVAhQBFQQRA0MBFAFtBewD7QHs
     197        AgcBHAMsAkAB7wFtARUCFAEVBBEDQwEUAW0F7APtAewCBwFuA0ACkgHvAW0BFQIUARUEEQNDARQBbQXs
     198        A+0B7AIHAe0CkgHtAjUB7wHrARUBEwESARQDEQRDARMB7AaSAfcCkgHvAbwB7QI1ATQCLAHvAesBFQET
     199        ARIBFAMRBEMBEwHsBpIB9wKSAe8BvAEcAywCQAGTAesBFQETARIBFAMRBEMBEwHsBpIB9wKSAe8BvAHt
     200        A0ACkgHvAesBFQETARIBFAMRBEMBEwH4BpIB9wKSAe8BvAHtApIB7QI1AZgB7AEUAuoBFQMRA0MBFQES
     201        AewB7wL3Be8B9wHvAfAB7QI1ATQCLAGZAewBFALqARUDEQNDARUBEgHsAe8C9wXvAfcB7wHwARwBTQIs
     202        AkABkwHsARQC6gEVAxEDQwEVARIB7AHvAvcF7wH3Ae8B8AHtA0ACkgHvAewBFALqARUDEQNDARUBEgHs
     203        Ae8C9wXvAfcB7wHwAfcCkgHtAjUBmAH3ARQBbQHqAUMCEQNDAhUBbQGSBe8DBwLvAfABkgFWATUBNAIs
     204        AZMB9wEUAW0B6gFDAhEDQwIVAW0BkgXvAwcC7wHwARwBUgIsAkABkwH3ARQBbQHqAUMCEQNDAhUBbQGS
     205        Be8DBwLvAfAB7QFGAkAB7QGSAfcBkgEUAW0B6gFDAhEDQwIVAW0BkgXvAwcC7wHwAfcCkgHtAjUBeAH3
     206        ARMBbQESAhEDQwIVARQB7AHvBgcCvAIHAfABkgFWATUBNAIsAXQB7wETAW0BEgIRA0MCFQEUAewB7wYH
     207        ArwCBwHwARwBUgIsAkABbwH3ARMBbQESAhEDQwIVARQB7AHvBgcCvAIHAfABkgFGAkAB7QKSAfcBEwFt
     208        ARICEQNDAhUBFAH4Ae8GBwK8AgcB8AH3ApIB7QI1AXgB7wETAW0BFQERAkMCFQIUARMB7AW8BPABvAEH
     209        AfAB9wGXATUBNAIsAXQB7wETAW0BFQERAkMCFQIUARMB7AW8BPABvAEHAfABHAF0AiwCQAFvAfcBEwFt
     210        ARUBEQJDAhUCFAETAewFvATwAbwBBwHwAfcBaQJAAe0CkgHvARMBbQEVARECQwIVAhQBEwHsBbwE8AG8
     211        AQcB8AH3ApIB7QI1AVYB7wISAUMBEQJDAhUCFAHqAfcF8AXxAQcB8AHvAZcBNQE0AiwBUwHvAhIBQwER
     212        AkMCFQIUAeoB9wXwBfEBBwHwAe8BdAIsAkABRgHvAhIBQwERAkMCFQIUAeoB9wXwBfEBBwHwAe8BbwJA
     213        Ae0CkgHvAhIBQwERAkMCFQIUAeoB9wXwBfEBBwHwAe8B7QGSAe0CNQFWAe8BEgEVARECQwIVAxQBbQEH
     214        AfIE8QXyAbwB8QHvAXIBNQE0AiwBUwHvARIBFQERAkMCFQMUAW0BBwHyBPEF8gG8AfEB7wF0AiwCQAFG
     215        Ae8BEgEVARECQwIVAxQBbQEHAfIE8QXyAbwB8QHvAW8CQAHtApIB7wESARUBEQJDAhUDFAFtAQcB8gTx
     216        BfIBvAHxAQcB7QGSAe0DNQEcARICEQJDAhUCFAETAewB8AXyBfMC8QG8AXMBNQE0AiwBTQGTARICEQJD
     217        AhUCFAETAewB8AXyBfMC8QG8AXQCLANAAZMBEgIRAkMCFQIUARMB7AHwBfIF8wLxAbwBbgJAA5IB7wES
     218        AhECQwIVAhQBEwHsAfAF8gXzAvEB7gHtAZIB7QM1AZgBbQIRAkMCFQIUARMBkgHyCPMB8gHxAQcC8AHt
     219        ATUBNAMsAZMBbQIRAkMCFQIUARMBkgHyCPMB8gHxAQcC8AHtAU0BLANAAZMBbQIRAkMCFQIUARMBkgHy
     220        CPMB8gHxAQcC8AHsAkADkgHvAW0CEQJDAhUCFAETAZIB8gjzAfIB8QEHAvAB7QGSAe0DNQGYAewBQwER
     221        AkMCFQIUARIB7wHyAfEB8AO8BQcBvALxARwBNQE0AywBHAHsAUMBEQJDAhUCFAESAe8B8gHxAfADvAUH
     222        AbwC8QEcAU0BLANAAZMB7AFDARECQwIVAhQBEgHvAfIB8QHwA7wFBwG8AvEB7QJABJIB+AFDARECQwIV
     223        AhQBEgHvAfIB8QHwA7wGBwLxApIB7QM1AZgB7QEVAhECQwEVAhQB6gHtA+8CBwS8AQgCmQKYAVYBNQE0
     224        AywBkwHtARUCEQJDARUCFAHqAe0D7wIHBbwDmQGTAVMCLANAAY4B7QEVAhECQwEVAhQB6gHtA+8CBwS8
     225        AQcDkwGOAUYCQASSAe0BFQIRAkMBFQIUAeoB7QPvAgcEvAEIAe8B9wSSAe0DNQF4AfcCFAHqAW0B7AGS
     226        Ae8BBwK8AQcCCAGZA5gDeAVWATUBNAMsAXQB9wIUAeoBbQHsAZIB7wEHA7wBBwOZApMCdAF1BVMCLANA
     227        AW8B9wIUAeoBbQHsAZIB7wEHArwCBwWTAY4CbwFpBEYCQASSAfcCFAHqAW0B7AGSAe8BBwG8Ae4BBwEI
     228        Ae8C9wuSAe0DNQF4Ae8BBwG8AQcCCAGZApgCeAZWCjUBNAMsAXQCBwK8AQcDmQGTAXQBdQVTAU0LLANA
     229        AW8B7wEHAbwDBwOTAm8BaQNGDUACkgLtAe8BBwHuAQcCCAHvAfcTkgHtBDUBVgGXA1YWNQE0BCwBUwF1
     230        A1MXLARAA2kCRhdAA5IB7RuSAe0BQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEEFgAD//8A
     231        /wD/AP8ABQAL
    215232</value>
    216233  </data>
Note: See TracChangeset for help on using the changeset viewer.