Beispiel #1
0
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            try
            {
                Hubble.Core.BigTable.ServerInfo serverInfo = comboBoxBalanceServers.SelectedItem as
                                                             Hubble.Core.BigTable.ServerInfo;

                if (serverInfo != null)
                {
                    Hubble.Core.BigTable.ServerType serverType = radioButtonBalance.Checked ? Hubble.Core.BigTable.ServerType.Balance :
                                                                 Hubble.Core.BigTable.ServerType.Failover;


                    foreach (string tableName in listBoxTable.SelectedItems)
                    {
                        _TempBigTableInfo.Add(tableName, serverType, serverInfo);
                    }
                }

                _BigTableInfo.Tablets = _TempBigTableInfo.Tablets;
                _Result = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                QAMessageBox.ShowErrorMessage(ex);
                _TempBigTableInfo = _BigTableInfo.Clone();
            }
        }
Beispiel #2
0
        public void Run()
        {
            Global.UserRightProvider.CanDo("", Right.RightItem.CreateTable);

            if (Parameters.Count > 3)
            {
                throw new ArgumentException("the number of parameters must be 3. Parameter 1 is table name, parameter 2 is xml string of bigtable.");
            }

            string bigTableName = Parameters[0];

            string tabletName = Parameters[1];

            string dbName = null;

            if (Parameters.Count == 3)
            {
                dbName = Parameters[2];
            }

            Data.DBProvider dbProvider = Data.DBProvider.GetDBProvider(bigTableName);

            if (dbProvider == null)
            {
                throw new StoredProcException(string.Format("BigTable name {0} does not exist!", bigTableName));
            }

            Hubble.Core.BigTable.BigTable bigTable = dbProvider.BigTableCfg;

            Hubble.Core.BigTable.TabletInfo tabletInfo =
                bigTable.Tablets.SingleOrDefault(s => s.TableName.Equals(tabletName, StringComparison.CurrentCultureIgnoreCase));

            if (tabletInfo == null)
            {
                throw new StoredProcException(
                          string.Format("Tablet:{0} of bigtable: {1} doesn't exist.", tabletName, bigTableName));
            }

            foreach (Hubble.Core.BigTable.ServerInfo serverInfo in tabletInfo.BalanceServers)
            {
                if (dbName == null)
                {
                    serverInfo.Enabled = true;
                }
                else if (serverInfo.ServerName.Equals(dbName, StringComparison.CurrentCultureIgnoreCase))
                {
                    serverInfo.Enabled = true;
                }
            }

            foreach (Hubble.Core.BigTable.ServerInfo serverInfo in tabletInfo.FailoverServers)
            {
                if (dbName == null)
                {
                    serverInfo.Enabled = true;
                }
                else if (serverInfo.ServerName.Equals(dbName, StringComparison.CurrentCultureIgnoreCase))
                {
                    serverInfo.Enabled = true;
                }
            }

            bigTable.TimeStamp = DateTime.Now.ToUniversalTime();

            dbProvider.BigTableCfg = bigTable;

            dbProvider.Table.Save(dbProvider.Directory);

            OutputMessage(string.Format("Enable tablet:{0} of bigtable: {1} successul.",
                                        tabletName, bigTableName));
        }