コード例 #1
0
        public override void RefreshData()
        {
            this.Text = "Search Engine Resolver - " + MainFormCurrentNodeText("") + " - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

            IndexName    = ("" + MainFormCurrentNode().Parent.Tag).ToString();
            ResolverName = ("" + MainFormCurrentNode().Tag).ToString();
            string providerName = "";

            // set defaults...

            txtName.Text                    = "";
            ddlMethod.SelectedIndex         = 0;
            ddlCacheMode.SelectedIndex      = 0;
            txtPrimaryKeyField.Text         = "";
            txtNodeCacheSize.Text           = "100";
            txtKeywordCacheSize.Text        = "100";
            txtFanoutSize.Text              = "100";
            txtEncoding.Text                = "UTF8";
            txtAverageKeywordSize.Text      = "11";
            chkEnabled.Checked              = true;
            chkAllowRealtimeUpdates.Checked = true;
            chkEnabled.Checked              = true;

            //txtMySQLSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtOracleSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtPostgreSQLSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtSQLServerSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";

            this.Text = "Search Engine Resolver - (New Resolver) for Index " + IndexName + " - " + AdminProxy.Connection.DatabaseEngineServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

            if (!String.IsNullOrEmpty(IndexName))
            {
                // DataTables returned are: indexer, index, index_field, resolver, and status.
                var ds = AdminProxy.GetSearchEngineInfoEx(true, IndexName, ResolverName);
                _dtResolver = stripNotInResolver(ds.Tables["resolver"], IndexName, ResolverName);

                //initHooksForMdiParent(dtResolver, "resolver_name", "resolver_name");

                if (_dtResolver.Rows.Count > 0)
                {
                    var dr = _dtResolver.Rows[0];

                    this.Text = "Search Engine Resolver - " + ResolverName + " for Index " + IndexName + " - " + AdminProxy.Connection.DatabaseEngineServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

                    // load general tab
                    txtName.Text                    = dr["resolver_name"].ToString();
                    txtForeignKeyField.Text         = dr["foreign_key_field"].ToString();
                    txtPrimaryKeyField.Text         = dr["primary_key_field"].ToString();
                    txtResolvedPrimaryKeyField.Text = dr["resolved_primary_key_field"].ToString();

                    ddlMethod.SelectedIndex = ddlMethod.FindStringExact(mapDropdownValue(dr["method"].ToString()));

                    initDataViewDropDown(ddlSearchDataviews, false, "(None)", -1, "Search Engine", null);
                    ddlSearchDataviews.SelectedIndex = ddlSearchDataviews.FindString(dr["dataview_name"].ToString());


                    chkEnabled.Checked = dr["enabled"].ToString().ToUpper() == "TRUE";
                    chkAllowRealtimeUpdates.Checked = dr["allow_realtime_updates"].ToString().ToUpper() == "TRUE";

                    // load advanced tab
                    ddlCacheMode.SelectedIndex = ddlCacheMode.FindStringExact(mapDropdownValue(dr["cache_mode"].ToString()));
                    txtNodeCacheSize.Text      = dr["node_cache_size"].ToString();
                    txtKeywordCacheSize.Text   = dr["keyword_cache_size"].ToString();
                    txtFanoutSize.Text         = dr["fanout_size"].ToString();
                    txtEncoding.Text           = dr["encoding"].ToString();
                    txtAverageKeywordSize.Text = dr["average_keyword_size"].ToString();
                }
            }

            MarkClean();
            syncGUI();
        }
コード例 #2
0
        public override void RefreshData()
        {
            this.Text = "Search Engine Index - " + MainFormCurrentNodeText("") + " - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

            initDropDowns();

            IndexName = ("" + MainFormCurrentNode().Tag).ToString();

            // set defaults...

            txtIndexName.Text             = "";
            txtPrimaryKeyField.Text       = "";
            txtNodeCacheSize.Text         = "100";
            txtKeywordCacheSize.Text      = "100";
            txtFanoutSize.Text            = "100";
            txtEncoding.Text              = "UTF8";
            txtAverageKeywordSize.Text    = "11";
            txtMaxSortSize.Text           = "16";
            chkEnabled.Checked            = true;
            chkIndexAllTextFields.Checked = true;
            chkStripHtml.Checked          = true;

            //txtMySQLSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtOracleSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtPostgreSQLSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";
            //txtSQLServerSQL.Text = "select * from TABLE /*_ WHERE src.pk_id in (:idlist) _*/";

            lvFields.Items.Clear();
            lvResolvers.Items.Clear();

            if (!String.IsNullOrEmpty(IndexName))
            {
                // DataTables returned are: indexer, index, index_field, resolver, and status.
                _dsIndex = AdminProxy.GetSearchEngineInfoEx(true, IndexName, null);
                var dtIndexer    = _dsIndex.Tables["indexer"];
                var dtIndex      = stripNotInIndex(_dsIndex.Tables["index"], IndexName);
                var dtIndexField = stripNotInIndex(_dsIndex.Tables["index_field"], IndexName);
                var dtResolver   = stripNotInIndex(_dsIndex.Tables["resolver"], IndexName);
                var dtStatus     = _dsIndex.Tables["status"];

                initHooksForMdiParent(dtResolver, "resolver_name", "resolver_name");

                if (dtIndex.Rows.Count > 0)
                {
                    var drIndex = dtIndex.Rows[0];

                    // load general tab
                    txtIndexName.Text             = drIndex["index_name"].ToString();
                    txtPrimaryKeyField.Text       = drIndex["primary_key_field"].ToString();
                    txtNodeCacheSize.Text         = drIndex["node_cache_size"].ToString();
                    txtKeywordCacheSize.Text      = drIndex["keyword_cache_size"].ToString();
                    txtFanoutSize.Text            = drIndex["fanout_size"].ToString();
                    txtEncoding.Text              = drIndex["encoding"].ToString();
                    txtAverageKeywordSize.Text    = drIndex["average_keyword_size"].ToString();
                    txtMaxSortSize.Text           = drIndex["max_sort_size_in_mb"].ToString();
                    chkEnabled.Checked            = drIndex["enabled"].ToString().ToUpper() == "TRUE";
                    chkIndexAllTextFields.Checked = drIndex["auto_index_string_fields"].ToString().ToUpper() == "TRUE";
                    chkStripHtml.Checked          = drIndex["strip_html"].ToString().ToUpper() == "TRUE";

                    //// load sql tab
                    //ddlSqlSource.SelectedIndex = ddlSqlSource.FindString(drIndex["sql_source"].ToString());

                    initDataViewDropDown(ddlSearchDataviews, false, "(None)", -1, "Search Engine", null);
                    ddlSearchDataviews.SelectedIndex = ddlSearchDataviews.FindString(drIndex["dataview_name"].ToString());

                    //txtMySQLSQL.Text = drIndex["mysql_sql_statement"].ToString();
                    //txtOracleSQL.Text = drIndex["oracle_sql_statement"].ToString();
                    //txtPostgreSQLSQL.Text = drIndex["postgresql_sql_statement"].ToString();
                    //txtSQLServerSQL.Text = drIndex["sqlserver_sql_statement"].ToString();

                    txtErrorOnRebuild.Text = drIndex["error_on_rebuild"].ToString();

                    var rebuildBeginDate = drIndex["last_rebuild_begin_date"];
                    var rebuildEndDate   = drIndex["last_rebuild_end_date"];
                    if (rebuildBeginDate == DBNull.Value)
                    {
                        lblLastRebuildBeginDate.Text   = "n/a";
                        lblLastRebuildEndDate.Text     = "n/a";
                        txtErrorOnRebuild.Text         = "n/a";
                        lblErrorsSinceLastRebuild.Text = "n/a";
                    }
                    else
                    {
                        var beginDate = Toolkit.ToDateTime(rebuildBeginDate, DateTime.MinValue);

                        lblLastRebuildBeginDate.Text = beginDate.ToLocalTime().ToString();

                        if (rebuildEndDate == DBNull.Value)
                        {
                            // began, not done yet.
                            lblErrorsSinceLastRebuild.Text = "n/a";
                            txtErrorOnRebuild.Text         = "n/a";
                            lblLastRebuildEndDate.Text     = "(Rebuilding now)";
                        }
                        else
                        {
                            lblErrorsSinceLastRebuild.Text  = "n/a";
                            txtErrorOnRebuild.Text          = "n/a";
                            lblLastRebuildEndDate.ForeColor = Color.Black;

                            var endDate = Toolkit.ToDateTime(rebuildEndDate, DateTime.MinValue);
                            if (endDate == DateTime.MinValue)
                            {
                                // began, not done yet
                                lblLastRebuildEndDate.Text = "(Rebuilding now)";
                            }
                            else
                            {
                                var errorText = drIndex["error_on_rebuild"].ToString();

                                if (!String.IsNullOrEmpty(errorText))
                                {
                                    // rebuild failed.
                                    txtErrorOnRebuild.Text          = errorText;
                                    lblLastRebuildEndDate.Text      = endDate.ToLocalTime().ToString() + " *** ERROR ***";
                                    lblLastRebuildEndDate.ForeColor = Color.Red;
                                }
                                else
                                {
                                    // rebuild worked and is done.
                                    txtErrorOnRebuild.Text         = "(none)";
                                    lblErrorsSinceLastRebuild.Text = Toolkit.ToInt32(drIndex["errors_since_last_rebuild"], 0).ToString();
                                    lblLastRebuildEndDate.Text     = endDate.ToLocalTime().ToString();
                                }
                            }
                        }
                    }


                    foreach (DataRow drIndexField in dtIndexField.Rows)
                    {
                        var lvi = new ListViewItem(drIndexField["field_name"].ToString());
                        lvi.Tag = lvi.Text;
                        lvi.SubItems.Add(drIndexField["is_stored_in_index"].ToString().ToUpper() == "TRUE" ? "Y" : "N");
                        lvi.SubItems.Add(drIndexField["is_searchable"].ToString().ToUpper() == "TRUE" ? "Y" : "N");
                        lvi.SubItems.Add(drIndexField["calculation"].ToString());
                        lvi.SubItems.Add(drIndexField["format"].ToString());
                        lvi.SubItems.Add(drIndexField["is_boolean"].ToString().ToUpper() == "TRUE" ? "Y" : "N");
                        lvi.SubItems.Add(drIndexField["true_value"].ToString());
                        lvFields.Items.Add(lvi);
                    }

                    foreach (DataRow drRes in dtResolver.Rows)
                    {
                        var lvi = new ListViewItem(drRes["resolver_name"].ToString());
                        lvi.Tag = lvi.Text;
                        lvi.SubItems.Add(drRes["enabled"].ToString().ToUpper() == "TRUE" ? "Y" : "N");
                        lvi.SubItems.Add(drRes["method"].ToString());
                        var valid = Toolkit.ToBoolean(drRes["is_valid"], false);
                        if (valid)
                        {
                            lvi.SubItems.Add("Y");
                        }
                        else
                        {
                            lvi.SubItems.Add("N - " + drRes["invalid_reason"]);
                            lvi.ForeColor = Color.Red;
                        }
                        lvResolvers.Items.Add(lvi);
                    }
                }
            }
            else
            {
                initHooksForMdiParent(null, null, null);
            }

            //switch (providerName) {
            //    case "mysql":
            //        tcSql.SelectedTab = tpMySQL;
            //        break;
            //    case "oracle":
            //        tcSql.SelectedTab = tpOracle;
            //        break;
            //    case "postgresql":
            //        tcSql.SelectedTab = tpPostgreSQL;
            //        break;
            //    case "sqlserver":
            //    default:
            //        tcSql.SelectedTab = tpSqlServer;
            //        break;
            //}

            MarkClean();
        }