コード例 #1
0
        private LanguageDomainSupport loadEngineConf(EngineConf engineConf)
        {
            var config = new LanguageDomainSupport
            {
                EngineConf            = engineConf,
                UpdateSuccessful      = true,
                FormattingAndTagUsage = engineConf.xml_support,
                SupportedDomains      = new Dictionary <string, string>(),
                SupportedLanguages    = new Dictionary <string, Dictionary <string, List <string> > >()
            };

            foreach (var domain in engineConf.domains)
            {
                config.SupportedDomains.Add(domain.name, domain.code);
                config.SupportedLanguages.Add(domain.code, new Dictionary <string, List <string> >());
                foreach (var language in domain.languages)
                {
                    var languagePair = language.Split('-');
                    if (!config.SupportedLanguages[domain.code].ContainsKey(languagePair[0]))
                    {
                        config.SupportedLanguages[domain.code].Add(languagePair[0], new List <string>());
                    }

                    config.SupportedLanguages[domain.code][languagePair[0]].Add(languagePair[1]);
                }
            }

            return(config);
        }
コード例 #2
0
        private async Task <LanguageDomainSupport> updateConfig(string url, string auth)
        {
            var config = new LanguageDomainSupport();

            try
            {
                // try to get Configuration
                // Do not call any blocking service in the user interface thread; it has to use background threads.
                var engineConf = await Task.Run(() => TartuNLPServiceHelper.getConfig(url, auth));

                if (engineConf == null)
                {
                    //invalid user name or password
                    config.UpdateSuccessful = false;
                }
                else
                {
                    config = loadEngineConf(engineConf);
                }
            }
            catch (Exception ex)
            {
                config.Exception = ex;
            }

            return(config);
        }
コード例 #3
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            btnOK.Enabled = false;
            lbLanguages.Items.Clear();

            // do the update in the background
            languageDomainSupport = updateConfig(tbURL.Text, tbAuth.Text);
            handleUpdateFinished();
        }
コード例 #4
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            btnOK.Enabled = false;
            srcLanguages.Items.Clear();
            tgtLanguages.Items.Clear();

            languageDomainSupport = UpdateConfig(tbURL.Text, tbAuth.Text);
            HandleUpdateFinished();
        }
コード例 #5
0
        private async void btnUpdate_Click(object sender, EventArgs e)
        {
            //setControlsEnabledState(false);
            btnOK.Enabled = false;
            srcLanguages.Items.Clear();
            tgtLanguages.Items.Clear();

            // do the update in the background
            languageDomainSupport = await updateConfig(tbURL.Text, tbAuth.Text);

            handleUpdateFinished();
        }
コード例 #6
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            btnUpdate.Enabled = false;
            tbURL.Text        = Options.SecureSettings.URL;
            tbAuth.Text       = Options.SecureSettings.Auth;
            btnOK.Enabled     = !string.IsNullOrEmpty(Options.SecureSettings.URL);
            cbDomain.Items.Clear();
            if (Options.GeneralSettings.EngineConf != null)
            {
                languageDomainSupport = loadEngineConf(Options.GeneralSettings.EngineConf);
                cbDomain.Items.Clear();
                foreach (var domainName in languageDomainSupport.SupportedDomains.Keys)
                {
                    cbDomain.Items.Add(domainName);
                }

                cbDomain.SelectedItem = Options.GeneralSettings.SelectedDomainName;
            }
        }
コード例 #7
0
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     btnUpdate.Enabled = true;
     btnOK.Enabled     = false;
     cbDomain.Items.Clear();
     if (Options.EngineConf != null && Options.URL != null && Options.Auth != null)
     {
         tbURL.Text            = Options.URL;
         tbAuth.Text           = Options.Auth;
         languageDomainSupport = loadEngineConf(Options.EngineConf);
         cbDomain.Items.Clear();
         foreach (var domainName in languageDomainSupport.SupportedDomains.Keys)
         {
             cbDomain.Items.Add(domainName);
         }
         cbDomain.SelectedItem = Options.SelectedDomainName;
         btnOK.Enabled         = true;
     }
 }
コード例 #8
0
        private async Task <LanguageDomainSupport> updateConfig(string url, string auth)
        {
            var languageDomainSupport = new LanguageDomainSupport()
            {
                URL  = url,
                Auth = auth
            };

            try
            {
                // try to get Configuration
                // Do not call any blocking service in the user interface thread; it has to use background threads.
                languageDomainSupport.JSON = await Task.Run(() => TartuNLPServiceHelper.getConfig(url, auth));

                if (languageDomainSupport.JSON == null)
                {
                    //invalid user name or password
                    languageDomainSupport.UpdateSuccessful = false;
                }
                else
                {
                    //successful login
                    languageDomainSupport.UpdateSuccessful = true;

                    //try to get the list of the Domain in the background
                    languageDomainSupport.SupportedDomains   = new Dictionary <string, string>();
                    languageDomainSupport.SupportedLanguages = new Dictionary <string, string[]>();
                    foreach (string key in languageDomainSupport.JSON.Keys)
                    {
                        languageDomainSupport.SupportedDomains.Add(languageDomainSupport.JSON[key][0], key);
                        languageDomainSupport.SupportedLanguages.Add(languageDomainSupport.JSON[key][0], languageDomainSupport.JSON[key]);
                    }
                }
            }
            catch (Exception ex)
            {
                languageDomainSupport.Exception = ex;
            }

            return(languageDomainSupport);
        }