protected void DeployPackage(webLemmaTermPackage package) { meta = new webLemmaTermTableSufix(); if (package == null) { return; } lock (DeployPackageLock) { Clear(); if (name.isNullOrEmpty()) { name = package.name; } if (description.isNullOrEmpty()) { description = package.description; } foreach (webLemmaTerm term in package.lemmas) { meta.checkMinMax(term); DeployLemma(term); } } }
/// <summary> /// Saves the specified filepath. /// </summary> /// <param name="__filepath">The filepath.</param> /// <param name="logger">The logger.</param> public void Save(String __filepath = null, ILogBuilder logger = null) { lock (SaveLock) { Int32 retry = NumberOfRetry; if (!__filepath.isNullOrEmpty()) { filepath = __filepath; } webLemmaTermPackage package = new webLemmaTermPackage(name, description); package.lemmas.AddRange(index.Values.ToList(), true); while (retry > 0) { try { objectSerialization.saveObjectToXML(package, filepath); retry = 0; } catch (Exception ex) { retry--; Thread.Sleep(RetryDelay); if (logger != null) { logger.log("[" + retry.ToString("D2") + "] retring to save web lemma term table [" + __filepath + "] (" + ex.Message + ")"); } } } } }
/// <summary> /// Loads the specified filepath. /// </summary> /// <param name="__filepath">The filepath.</param> /// <param name="logger">The logger.</param> public void Load(String __filepath = null, ILogBuilder logger = null) { Int32 retry = NumberOfRetry; if (!__filepath.isNullOrEmpty()) { filepath = __filepath; } webLemmaTermPackage package = new webLemmaTermPackage(name, description); if (File.Exists(filepath)) { while (retry > 0) { try { package = objectSerialization.loadObjectFromXML <webLemmaTermPackage>(filepath); retry = 0; } catch (Exception ex) { retry--; Thread.Sleep(RetryDelay); if (logger != null) { logger.log("[" + retry.ToString("D2") + "] retring to load web lemma term table [" + filepath + "] (" + ex.Message + ")"); } } } } DeployPackage(package); }