{"action":"created","comment":{"url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/comments/243523426","pull_request_review_id":187315845,"id":243523426,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MzUyMzQyNg==","diff_hunk":"@@ -0,0 +1,225 @@\n+﻿using System;\n+using System.Collections;\n+using System.Linq;\n+using System.ComponentModel;\n+using System.Collections.Generic;\n+using System.Collections.Specialized;\n+\n+namespace FluentNHibernate.Utils {\n+\n+    public class ObservableDictionary<TKey, TValue> : IDictionary<TKey, TValue>, INotifyCollectionChanged, INotifyPropertyChanged {\n+        private const string CountString = \"Count\";\n+        private const string IndexerName = \"Item[]\";\n+        private const string KeysName = \"Keys\";\n+        private const string ValuesName = \"Values\";\n+\n+        private IDictionary<TKey, TValue> _dictionary;\n+\n+        protected IDictionary<TKey, TValue> Dictionary {\n+            get { return _dictionary; }\n+        }\n+\n+        #region Constructors\n+\n+        public ObservableDictionary() {\n+            _dictionary = new Dictionary<TKey, TValue>();\n+        }\n+\n+        public ObservableDictionary(IDictionary<TKey, TValue> dictionary) {\n+            _dictionary = new Dictionary<TKey, TValue>(dictionary);\n+        }\n+\n+        public ObservableDictionary(IEqualityComparer<TKey> comparer) {\n+            _dictionary = new Dictionary<TKey, TValue>(comparer);\n+        }\n+\n+        public ObservableDictionary(int capacity) {\n+            _dictionary = new Dictionary<TKey, TValue>(capacity);\n+        }\n+\n+        public ObservableDictionary(IDictionary<TKey, TValue> dictionary, IEqualityComparer<TKey> comparer) {\n+            _dictionary = new Dictionary<TKey, TValue>(dictionary, comparer);\n+        }\n+\n+        public ObservableDictionary(int capacity, IEqualityComparer<TKey> comparer) {\n+            _dictionary = new Dictionary<TKey, TValue>(capacity, comparer);\n+        }\n+\n+        #endregion\n+\n+        #region IDictionary<TKey,TValue> Members\n+\n+        public void Add(TKey key, TValue value) {\n+            Insert(key, value, true);\n+        }\n+\n+        public bool ContainsKey(TKey key) {\n+            return Dictionary.ContainsKey(key);\n+        }\n+\n+        public ICollection<TKey> Keys {\n+            get { return Dictionary.Keys; }\n+        }\n+\n+        public bool Remove(TKey key) {\n+            if (key == null) throw new ArgumentNullException(\"key\");\n+\n+            TValue value;\n+            Dictionary.TryGetValue(key, out value);\n+            var removed = Dictionary.Remove(key);\n+            if (removed)\n+                //OnCollectionChanged(NotifyCollectionChangedAction.Remove, new KeyValuePair<TKey, TValue>(key, value));","path":"src/FluentNHibernate/Utils/ObservableDictionary.cs","position":71,"original_position":71,"commit_id":"6db9bb2466b3e8822caaa274237c481788ed3d36","original_commit_id":"6db9bb2466b3e8822caaa274237c481788ed3d36","user":{"login":"jrgcubano","id":3245617,"node_id":"MDQ6VXNlcjMyNDU2MTc=","avatar_url":"https://avatars0.githubusercontent.com/u/3245617?v=4","gravatar_id":"","url":"https://api.github.com/users/jrgcubano","html_url":"https://github.com/jrgcubano","followers_url":"https://api.github.com/users/jrgcubano/followers","following_url":"https://api.github.com/users/jrgcubano/following{/other_user}","gists_url":"https://api.github.com/users/jrgcubano/gists{/gist_id}","starred_url":"https://api.github.com/users/jrgcubano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrgcubano/subscriptions","organizations_url":"https://api.github.com/users/jrgcubano/orgs","repos_url":"https://api.github.com/users/jrgcubano/repos","events_url":"https://api.github.com/users/jrgcubano/events{/privacy}","received_events_url":"https://api.github.com/users/jrgcubano/received_events","type":"User","site_admin":false},"body":"Please remove this unused comment.","created_at":"2018-12-21T09:01:38Z","updated_at":"2018-12-21T09:02:32Z","html_url":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425#discussion_r243523426","pull_request_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/comments/243523426"},"html":{"href":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425#discussion_r243523426"},"pull_request":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425"}}},"pull_request":{"url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425","id":239354435,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5MzU0NDM1","html_url":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425","diff_url":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425.diff","patch_url":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425.patch","issue_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/425","number":425,"state":"open","locked":false,"title":"Generate all mappings in the order they were declared.","user":{"login":"HermanSchoenfeld","id":2360504,"node_id":"MDQ6VXNlcjIzNjA1MDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/2360504?v=4","gravatar_id":"","url":"https://api.github.com/users/HermanSchoenfeld","html_url":"https://github.com/HermanSchoenfeld","followers_url":"https://api.github.com/users/HermanSchoenfeld/followers","following_url":"https://api.github.com/users/HermanSchoenfeld/following{/other_user}","gists_url":"https://api.github.com/users/HermanSchoenfeld/gists{/gist_id}","starred_url":"https://api.github.com/users/HermanSchoenfeld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HermanSchoenfeld/subscriptions","organizations_url":"https://api.github.com/users/HermanSchoenfeld/orgs","repos_url":"https://api.github.com/users/HermanSchoenfeld/repos","events_url":"https://api.github.com/users/HermanSchoenfeld/events{/privacy}","received_events_url":"https://api.github.com/users/HermanSchoenfeld/received_events","type":"User","site_admin":false},"body":"This is a long-awaited feature for many users. Prior pull request had unit test errors. The code has been re-done, all tests pass and has been QA'd on my end. \r\n\r\nAll mappings are DB-generated in the order they were declared, which is useful for cosmetic purposes as well as some legacy compatibility use-cases. ","created_at":"2018-12-18T03:32:25Z","updated_at":"2018-12-21T09:02:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ba300d5bdd805d4ab5c11e5cb4463d6258be1fb6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425/commits","review_comments_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425/comments","review_comment_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/comments{/number}","comments_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/425/comments","statuses_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/statuses/6db9bb2466b3e8822caaa274237c481788ed3d36","head":{"label":"Sphere10:master","ref":"master","sha":"6db9bb2466b3e8822caaa274237c481788ed3d36","user":{"login":"Sphere10","id":7510685,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1MTA2ODU=","avatar_url":"https://avatars0.githubusercontent.com/u/7510685?v=4","gravatar_id":"","url":"https://api.github.com/users/Sphere10","html_url":"https://github.com/Sphere10","followers_url":"https://api.github.com/users/Sphere10/followers","following_url":"https://api.github.com/users/Sphere10/following{/other_user}","gists_url":"https://api.github.com/users/Sphere10/gists{/gist_id}","starred_url":"https://api.github.com/users/Sphere10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sphere10/subscriptions","organizations_url":"https://api.github.com/users/Sphere10/orgs","repos_url":"https://api.github.com/users/Sphere10/repos","events_url":"https://api.github.com/users/Sphere10/events{/privacy}","received_events_url":"https://api.github.com/users/Sphere10/received_events","type":"Organization","site_admin":false},"repo":{"id":7014223,"node_id":"MDEwOlJlcG9zaXRvcnk3MDE0MjIz","name":"fluent-nhibernate","full_name":"Sphere10/fluent-nhibernate","private":false,"owner":{"login":"Sphere10","id":7510685,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1MTA2ODU=","avatar_url":"https://avatars0.githubusercontent.com/u/7510685?v=4","gravatar_id":"","url":"https://api.github.com/users/Sphere10","html_url":"https://github.com/Sphere10","followers_url":"https://api.github.com/users/Sphere10/followers","following_url":"https://api.github.com/users/Sphere10/following{/other_user}","gists_url":"https://api.github.com/users/Sphere10/gists{/gist_id}","starred_url":"https://api.github.com/users/Sphere10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sphere10/subscriptions","organizations_url":"https://api.github.com/users/Sphere10/orgs","repos_url":"https://api.github.com/users/Sphere10/repos","events_url":"https://api.github.com/users/Sphere10/events{/privacy}","received_events_url":"https://api.github.com/users/Sphere10/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Sphere10/fluent-nhibernate","description":"Fluent NHibernate!","fork":true,"url":"https://api.github.com/repos/Sphere10/fluent-nhibernate","forks_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/forks","keys_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/teams","hooks_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/hooks","issue_events_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/issues/events{/number}","events_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/events","assignees_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/assignees{/user}","branches_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/branches{/branch}","tags_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/tags","blobs_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/git/refs{/sha}","trees_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/statuses/{sha}","languages_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/languages","stargazers_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/stargazers","contributors_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/contributors","subscribers_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/subscribers","subscription_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/subscription","commits_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/commits{/sha}","git_commits_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/git/commits{/sha}","comments_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/comments{/number}","issue_comment_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/issues/comments{/number}","contents_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/contents/{+path}","compare_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/merges","archive_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/downloads","issues_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/issues{/number}","pulls_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/pulls{/number}","milestones_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/milestones{/number}","notifications_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/labels{/name}","releases_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/releases{/id}","deployments_url":"https://api.github.com/repos/Sphere10/fluent-nhibernate/deployments","created_at":"2012-12-05T08:39:12Z","updated_at":"2018-12-18T03:27:05Z","pushed_at":"2018-12-18T03:26:58Z","git_url":"git://github.com/Sphere10/fluent-nhibernate.git","ssh_url":"git@github.com:Sphere10/fluent-nhibernate.git","clone_url":"https://github.com/Sphere10/fluent-nhibernate.git","svn_url":"https://github.com/Sphere10/fluent-nhibernate","homepage":"http://fluentnhibernate.org","size":49427,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"FluentNHibernate:master","ref":"master","sha":"161ffa1fef09306126692760b1c5a194b8d5df01","user":{"login":"FluentNHibernate","id":36532054,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTMyMDU0","avatar_url":"https://avatars0.githubusercontent.com/u/36532054?v=4","gravatar_id":"","url":"https://api.github.com/users/FluentNHibernate","html_url":"https://github.com/FluentNHibernate","followers_url":"https://api.github.com/users/FluentNHibernate/followers","following_url":"https://api.github.com/users/FluentNHibernate/following{/other_user}","gists_url":"https://api.github.com/users/FluentNHibernate/gists{/gist_id}","starred_url":"https://api.github.com/users/FluentNHibernate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FluentNHibernate/subscriptions","organizations_url":"https://api.github.com/users/FluentNHibernate/orgs","repos_url":"https://api.github.com/users/FluentNHibernate/repos","events_url":"https://api.github.com/users/FluentNHibernate/events{/privacy}","received_events_url":"https://api.github.com/users/FluentNHibernate/received_events","type":"Organization","site_admin":false},"repo":{"id":126652,"node_id":"MDEwOlJlcG9zaXRvcnkxMjY2NTI=","name":"fluent-nhibernate","full_name":"FluentNHibernate/fluent-nhibernate","private":false,"owner":{"login":"FluentNHibernate","id":36532054,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2NTMyMDU0","avatar_url":"https://avatars0.githubusercontent.com/u/36532054?v=4","gravatar_id":"","url":"https://api.github.com/users/FluentNHibernate","html_url":"https://github.com/FluentNHibernate","followers_url":"https://api.github.com/users/FluentNHibernate/followers","following_url":"https://api.github.com/users/FluentNHibernate/following{/other_user}","gists_url":"https://api.github.com/users/FluentNHibernate/gists{/gist_id}","starred_url":"https://api.github.com/users/FluentNHibernate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FluentNHibernate/subscriptions","organizations_url":"https://api.github.com/users/FluentNHibernate/orgs","repos_url":"https://api.github.com/users/FluentNHibernate/repos","events_url":"https://api.github.com/users/FluentNHibernate/events{/privacy}","received_events_url":"https://api.github.com/users/FluentNHibernate/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/FluentNHibernate/fluent-nhibernate","description":"Fluent NHibernate!","fork":false,"url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate","forks_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/forks","keys_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/keys{/key_id}","collaborators_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/teams","hooks_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/hooks","issue_events_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/events{/number}","events_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/events","assignees_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/assignees{/user}","branches_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/branches{/branch}","tags_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/tags","blobs_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/git/refs{/sha}","trees_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/git/trees{/sha}","statuses_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/statuses/{sha}","languages_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/languages","stargazers_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/stargazers","contributors_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/contributors","subscribers_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/subscribers","subscription_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/subscription","commits_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/commits{/sha}","git_commits_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/git/commits{/sha}","comments_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/comments{/number}","issue_comment_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/comments{/number}","contents_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/contents/{+path}","compare_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/compare/{base}...{head}","merges_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/merges","archive_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/downloads","issues_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues{/number}","pulls_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls{/number}","milestones_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/milestones{/number}","notifications_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/labels{/name}","releases_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/releases{/id}","deployments_url":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/deployments","created_at":"2009-02-11T14:18:04Z","updated_at":"2018-12-18T08:02:10Z","pushed_at":"2018-12-18T03:32:26Z","git_url":"git://github.com/FluentNHibernate/fluent-nhibernate.git","ssh_url":"git@github.com:FluentNHibernate/fluent-nhibernate.git","clone_url":"https://github.com/FluentNHibernate/fluent-nhibernate.git","svn_url":"https://github.com/FluentNHibernate/fluent-nhibernate","homepage":"http://fluentnhibernate.org","size":49486,"stargazers_count":1468,"watchers_count":1468,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":699,"mirror_url":null,"archived":false,"open_issues_count":169,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":699,"open_issues":169,"watchers":1468,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425"},"html":{"href":"https://github.com/FluentNHibernate/fluent-nhibernate/pull/425"},"issue":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/425"},"comments":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/issues/425/comments"},"review_comments":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425/comments"},"review_comment":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/pulls/425/commits"},"statuses":{"href":"https://api.github.com/repos/FluentNHibernate/fluent-nhibernate/statuses/6db9bb2466b3e8822caaa274237c481788ed3d36"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jrgcubano"}}