diff --git a/src/umbraco.cms/businesslogic/Dictionary.cs b/src/umbraco.cms/businesslogic/Dictionary.cs index 225d49bfc7..1652e98695 100644 --- a/src/umbraco.cms/businesslogic/Dictionary.cs +++ b/src/umbraco.cms/businesslogic/Dictionary.cs @@ -103,101 +103,48 @@ namespace umbraco.cms.businesslogic { } + internal DictionaryItem(IDictionaryItem item) { _dictionaryItem = item; - //this.id = id; - //this._key = key; - //this.UniqueId = item.Key; - //this.ParentId = item.ParentId; } private readonly IDictionaryItem _dictionaryItem; private DictionaryItem _parent; - //private string _key; - - - //internal Guid UniqueId { get; private set; } - //internal Guid ParentId { get; private set; } - - ///// - ///// Used internally to construct a new item object and store in cache - ///// - ///// - ///// - ///// - ///// - //internal DictionaryItem(int id, string key, Guid uniqueKey, Guid parentId) - //{ - // this.id = id; - // this._key = key; - // this.UniqueId = uniqueKey; - // this.ParentId = parentId; - //} - + public DictionaryItem(string key) { - //EnsureCache(); - - //var item = DictionaryItems.Values.SingleOrDefault(x => x.key == key); _dictionaryItem = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemByKey(key); if (_dictionaryItem == null) { throw new ArgumentException("No key " + key + " exists in dictionary"); } - - //this.id = item.Id; - //this._key = item.ItemKey; - //this.ParentId = item.ParentId; - //this.UniqueId = item.Key; } public DictionaryItem(Guid id) { - //EnsureCache(); - - //var item = DictionaryItems.Values.SingleOrDefault(x => x.UniqueId == id); _dictionaryItem = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemById(id); if (_dictionaryItem == null) { throw new ArgumentException("No unique id " + id + " exists in dictionary"); } - - //this.id = item.Id; - //this._key = item.ItemKey; - //this.ParentId = item.ParentId; - //this.UniqueId = item.Key; } public DictionaryItem(int id) { - //EnsureCache(); - _dictionaryItem = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemById(id); if (_dictionaryItem == null) { throw new ArgumentException("No id " + id + " exists in dictionary"); } - - //this.id = item.Id; - //this._key = item.ItemKey; - //this.ParentId = item.ParentId; - //this.UniqueId = item.Key; } [Obsolete("This is no longer used and will be removed from the codebase in future versions")] public bool IsTopMostItem() - { - //EnsureCache(); - - //return DictionaryItems.Values - // .Where(x => x.id == id) - // .Select(x => x.ParentId) - // .SingleOrDefault() == TopLevelParent; - + { return _dictionaryItem.ParentId == new Guid(Constants.Conventions.Localization.DictionaryItemRootId); } @@ -211,8 +158,6 @@ namespace umbraco.cms.businesslogic //EnsureCache(); if (_parent == null) { - //var p = DictionaryItems.Values.SingleOrDefault(x => x.UniqueId == this.ParentId); - var p = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemById(_dictionaryItem.ParentId); if (p == null) @@ -245,31 +190,17 @@ namespace umbraco.cms.businesslogic .WhereNotNull() .Select(x => new DictionaryItem(x)) .ToArray(); - - //EnsureCache(); - //return DictionaryItems.Values - // .Where(x => x.ParentId == this.UniqueId).OrderBy(item => item.key) - // .ToArray(); } } public static bool hasKey(string key) { return ApplicationContext.Current.Services.LocalizationService.DictionaryItemExists(key); - - //EnsureCache(); - //return DictionaryItems.ContainsKey(key); } public bool hasChildren { - get - { - //EnsureCache(); - //return DictionaryItems.Values.Any(x => x.ParentId == UniqueId); - - return Children.Any(); - } + get { return Children.Any(); } } /// @@ -281,33 +212,7 @@ namespace umbraco.cms.businesslogic set { if (hasKey(value) == false) - { - //lock (Locker) - //{ - // SqlHelper.ExecuteNonQuery("Update cmsDictionary set [key] = @key WHERE pk = @Id", SqlHelper.CreateParameter("@key", value), - // SqlHelper.CreateParameter("@Id", id)); - - // using (IRecordsReader dr = - // SqlHelper.ExecuteReader("Select pk, id, [key], parent from cmsDictionary where id=@id", - // SqlHelper.CreateParameter("@id", this.UniqueId))) - // { - // if (dr.Read()) - // { - // //create new dictionaryitem object and put in cache - // var item = new DictionaryItem(dr.GetInt("pk"), - // dr.GetString("key"), - // dr.GetGuid("id"), - // dr.GetGuid("parent")); - // } - // else - // { - // throw new DataException("Could not load updated created dictionary item with id " + id); - // } - // } - - // //finally update this objects value - // this._key = value; - //} + { _dictionaryItem.ItemKey = value; } else @@ -322,11 +227,6 @@ namespace umbraco.cms.businesslogic var translation = _dictionaryItem.Translations.FirstOrDefault(x => x.Language.Id == languageId); return translation == null ? string.Empty : translation.Value; - - //if (Item.hasText(_dictionaryItem.Key, languageId)) - // return Item.Text(_dictionaryItem.Key, languageId); - - //return ""; } public void setValue(int languageId, string value) @@ -335,12 +235,6 @@ namespace umbraco.cms.businesslogic _dictionaryItem, ApplicationContext.Current.Services.LocalizationService.GetLanguageById(languageId), value); - - //if (Item.hasText(_dictionaryItem.Key, languageId)) - // Item.setText(languageId, _dictionaryItem.Key, value); - //else - // Item.addText(languageId, _dictionaryItem.Key, value); - // Calling Save method triggers the Saving event Save(); } @@ -353,13 +247,6 @@ namespace umbraco.cms.businesslogic { var defaultTranslation = _dictionaryItem.Translations.FirstOrDefault(x => x.Language.Id == 1); return defaultTranslation == null ? string.Empty : defaultTranslation.Value; - - //if (Item.hasText(_dictionaryItem.Key, 1)) - //{ - // return Item.Text(_dictionaryItem.Key, 1); - //} - - //return string.Empty; } [EditorBrowsable(EditorBrowsableState.Never)] @@ -371,7 +258,6 @@ namespace umbraco.cms.businesslogic else Item.addText(0, _dictionaryItem.Key, value); - // Calling Save method triggers the Saving event Save(); } @@ -390,8 +276,6 @@ namespace umbraco.cms.businesslogic public static int addKey(string key, string defaultValue) { - //EnsureCache(); - int retval = CreateKey(key, TopLevelParent, defaultValue); return retval; } @@ -402,16 +286,6 @@ namespace umbraco.cms.businesslogic ApplicationContext.Current.Services.LocalizationService.Delete(_dictionaryItem); - //// delete recursive - //foreach (DictionaryItem dd in Children) - // dd.delete(); - - //// remove all language values from key - //Item.removeText(_dictionaryItem.Key); - - //// remove key from database - //SqlHelper.ExecuteNonQuery("delete from cmsDictionary where [key] = @key", SqlHelper.CreateParameter("@key", key)); - OnDeleted(EventArgs.Empty); } @@ -515,36 +389,6 @@ namespace umbraco.cms.businesslogic key, parentId, defaultValue); return item.Id; - - //SqlHelper.ExecuteNonQuery("Insert into cmsDictionary (id,parent,[key]) values (@id, @parentId, @dictionaryKey)", - // SqlHelper.CreateParameter("@id", newId), - // SqlHelper.CreateParameter("@parentId", parentId), - // SqlHelper.CreateParameter("@dictionaryKey", key)); - - //using (IRecordsReader dr = - // SqlHelper.ExecuteReader("Select pk, id, [key], parent from cmsDictionary where id=@id", - // SqlHelper.CreateParameter("@id", newId))) - //{ - // if (dr.Read()) - // { - // //create new dictionaryitem object and put in cache - // var item = new DictionaryItem(dr.GetInt("pk"), - // dr.GetString("key"), - // dr.GetGuid("id"), - // dr.GetGuid("parent")); - - // item.setValue(defaultValue); - - // item.OnNew(EventArgs.Empty); - - // return item.id; - // } - // else - // { - // throw new DataException("Could not load newly created dictionary item with id " + newId.ToString()); - // } - //} - } else { diff --git a/src/umbraco.cms/businesslogic/language/Item.cs b/src/umbraco.cms/businesslogic/language/Item.cs index 3ea16bdfb3..7c519b776f 100644 --- a/src/umbraco.cms/businesslogic/language/Item.cs +++ b/src/umbraco.cms/businesslogic/language/Item.cs @@ -20,9 +20,6 @@ namespace umbraco.cms.businesslogic.language [Obsolete("This class is no longer used, nor should it ever be used, it will be removed from the codebase in future versions")] public class Item { - //private static readonly ConcurrentDictionary> Items = new ConcurrentDictionary>(); - //private static volatile bool _isInitialize; - //private static readonly object Locker = new object(); /// /// Gets the SQL helper. @@ -34,55 +31,6 @@ namespace umbraco.cms.businesslogic.language get { return Application.SqlHelper; } } - ///// - ///// Populates the global hash table with the data from the database. - ///// - //private static void EnsureCache() - //{ - // if (!_isInitialize) - // { - // lock (Locker) - // { - // //double check - // if (!_isInitialize) - // { - - // var dtos = ApplicationContext.Current.DatabaseContext.Database.Fetch("ORDER BY UniqueId"); - // foreach (var dto in dtos) - // { - // var languageId = dto.LanguageId; - // var uniqueId = dto.UniqueId; - // var text = dto.Value; - - // Items.AddOrUpdate(uniqueId, guid => - // { - // var languagevalues = new Dictionary { { languageId, text } }; - // return languagevalues; - // }, (guid, dictionary) => - // { - // // add/update the text for the id - // dictionary[languageId] = text; - // return dictionary; - // }); - // } - - // _isInitialize = true; - // } - // } - - // } - //} - - ///// - ///// Clears the cache, this is used for cache refreshers to ensure that the cache is up to date across all servers - ///// - //internal static void ClearCache() - //{ - // Items.Clear(); - // //reset the flag so that we re-lookup the cache - // _isInitialize = false; - //} - /// /// Retrieves the value of a languagetranslated item given the key /// @@ -91,13 +39,6 @@ namespace umbraco.cms.businesslogic.language /// The language translated text public static string Text(Guid key, int languageId) { - //EnsureCache(); - - //Dictionary val; - //if (Items.TryGetValue(key, out val)) - //{ - // return val[languageId]; - //} var item = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemById(key); if (item != null) @@ -120,15 +61,6 @@ namespace umbraco.cms.businesslogic.language /// returns True if there is a value associated to the unique identifier with the specified language public static bool hasText(Guid key, int languageId) { - //EnsureCache(); - - //Dictionary val; - //if (Items.TryGetValue(key, out val)) - //{ - // return val.ContainsKey(languageId); - //} - //return false; - try { return Text(key, languageId).IsNullOrWhiteSpace() == false; @@ -167,13 +99,6 @@ namespace umbraco.cms.businesslogic.language item.Translations = newTranslations; ApplicationContext.Current.Services.LocalizationService.Save(item); } - - //if (!hasText(key, languageId)) throw new ArgumentException("Key does not exist"); - - //ApplicationContext.Current.DatabaseContext.Database.Update( - // string.Format("set {0} = @value where LanguageId = @languageId And UniqueId = @key", - // SqlSyntaxContext.SqlSyntaxProvider.GetQuotedColumnName("value")), - // new {value = value, languageId = languageId, key = key}); } /// @@ -203,15 +128,6 @@ namespace umbraco.cms.businesslogic.language item.Translations = newTranslations; ApplicationContext.Current.Services.LocalizationService.Save(item); } - - //if (hasText(key, languageId)) throw new ArgumentException("Key being add'ed already exists"); - - //ApplicationContext.Current.DatabaseContext.Database.Insert(new LanguageTextDto - // { - // LanguageId = languageId, - // Value = value, - // UniqueId = key - // }); } /// @@ -220,8 +136,6 @@ namespace umbraco.cms.businesslogic.language /// Unique identifier public static void removeText(Guid key) { - //// remove from database - //ApplicationContext.Current.DatabaseContext.Database.Delete("where UniqueId = @UniqueId", new { UniqueId = key }); var found = ApplicationContext.Current.Services.LocalizationService.GetDictionaryItemById(key); if (found != null) { @@ -242,9 +156,6 @@ namespace umbraco.cms.businesslogic.language { ApplicationContext.Current.Services.LocalizationService.Delete(lang); } - - //// remove from database - //ApplicationContext.Current.DatabaseContext.Database.Delete("where languageId = @languageId", new { languageId = languageId }); } } } \ No newline at end of file