{"action":"created","comment":{"url":"https://api.github.com/repos/JabRef/jabref/pulls/comments/74071682","id":74071682,"diff_hunk":"@@ -0,0 +1,132 @@\n+/*  Copyright (C) 2016 JabRef contributors.\n+    This program is free software; you can redistribute it and/or modify\n+    it under the terms of the GNU General Public License as published by\n+    the Free Software Foundation; either version 2 of the License, or\n+    (at your option) any later version.\n+\n+    This program is distributed in the hope that it will be useful,\n+    but WITHOUT ANY WARRANTY; without even the implied warranty of\n+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+    GNU General Public License for more details.\n+\n+    You should have received a copy of the GNU General Public License along\n+    with this program; if not, write to the Free Software Foundation, Inc.,\n+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n+ */\n+package net.sf.jabref.gui.journals;\n+\n+import java.io.FileNotFoundException;\n+import java.io.IOException;\n+import java.io.OutputStream;\n+import java.io.OutputStreamWriter;\n+import java.nio.file.Files;\n+import java.nio.file.Path;\n+import java.nio.file.Paths;\n+import java.util.List;\n+import java.util.Objects;\n+\n+import javafx.beans.property.ReadOnlyBooleanProperty;\n+import javafx.beans.property.SimpleBooleanProperty;\n+import javafx.beans.property.SimpleListProperty;\n+import javafx.collections.FXCollections;\n+\n+import net.sf.jabref.Globals;\n+import net.sf.jabref.logic.journals.Abbreviation;\n+import net.sf.jabref.logic.journals.JournalAbbreviationLoader;\n+\n+/**\n+ * This class provides a model for abbreviation files.\n+ * It actually doesn't save the files as objects but rather saves\n+ * their paths. This also allows to specify pseudo files as placeholder objects.\n+ */\n+public class AbbreviationsFile {\n+\n+    private final SimpleListProperty<AbbreviationViewModel> abbreviations = new SimpleListProperty<>(\n+            FXCollections.observableArrayList());\n+    private final ReadOnlyBooleanProperty isPseudoFile;","path":"src/main/java/net/sf/jabref/gui/journals/AbbreviationsFile.java","position":46,"original_position":46,"commit_id":"d35d958f2640c0f0ca0891b5e862f493c6498337","original_commit_id":"d35d958f2640c0f0ca0891b5e862f493c6498337","user":{"login":"tobiasdiez","id":5037600,"avatar_url":"https://avatars.githubusercontent.com/u/5037600?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasdiez","html_url":"https://github.com/tobiasdiez","followers_url":"https://api.github.com/users/tobiasdiez/followers","following_url":"https://api.github.com/users/tobiasdiez/following{/other_user}","gists_url":"https://api.github.com/users/tobiasdiez/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasdiez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasdiez/subscriptions","organizations_url":"https://api.github.com/users/tobiasdiez/orgs","repos_url":"https://api.github.com/users/tobiasdiez/repos","events_url":"https://api.github.com/users/tobiasdiez/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasdiez/received_events","type":"User","site_admin":false},"body":"Maybe rename isPseudoFile -> isBuiltinList to better reflect what the actual purpose of this field is.","created_at":"2016-08-09T14:41:41Z","updated_at":"2016-08-09T14:41:41Z","html_url":"https://github.com/JabRef/jabref/pull/1526#discussion_r74071682","pull_request_url":"https://api.github.com/repos/JabRef/jabref/pulls/1526","_links":{"self":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/comments/74071682"},"html":{"href":"https://github.com/JabRef/jabref/pull/1526#discussion_r74071682"},"pull_request":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1526"}}},"pull_request":{"url":"https://api.github.com/repos/JabRef/jabref/pulls/1526","id":75652761,"html_url":"https://github.com/JabRef/jabref/pull/1526","diff_url":"https://github.com/JabRef/jabref/pull/1526.diff","patch_url":"https://github.com/JabRef/jabref/pull/1526.patch","issue_url":"https://api.github.com/repos/JabRef/jabref/issues/1526","number":1526,"state":"open","locked":false,"title":"Journal abbreviations dialog ported to JavaFX","user":{"login":"boceckts","id":15340757,"avatar_url":"https://avatars.githubusercontent.com/u/15340757?v=3","gravatar_id":"","url":"https://api.github.com/users/boceckts","html_url":"https://github.com/boceckts","followers_url":"https://api.github.com/users/boceckts/followers","following_url":"https://api.github.com/users/boceckts/following{/other_user}","gists_url":"https://api.github.com/users/boceckts/gists{/gist_id}","starred_url":"https://api.github.com/users/boceckts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boceckts/subscriptions","organizations_url":"https://api.github.com/users/boceckts/orgs","repos_url":"https://api.github.com/users/boceckts/repos","events_url":"https://api.github.com/users/boceckts/events{/privacy}","received_events_url":"https://api.github.com/users/boceckts/received_events","type":"User","site_admin":false},"body":"I tried to extract the logic in a test driven approach to completely separate ui and ui-model and to have a high code test coverage. The design of the dialog was made after the ui-model was finisehd and is close to what was specified in #1396.\r\n\r\n- [x] Change in CHANGELOG.md described\r\n- [x] Tests created for changes\r\n- [x] Screenshots added (for bigger UI changes)\r\n\r\n![listview](https://cloud.githubusercontent.com/assets/15340757/17297484/38b74016-5806-11e6-94ff-4d42c61e584c.PNG)\r\n![listvieweditname](https://cloud.githubusercontent.com/assets/15340757/17297485/39e412fc-5806-11e6-9ad4-bfeaa7aab699.png)\r\n![listviewbuiltinlist](https://cloud.githubusercontent.com/assets/15340757/17297543/6f7a067e-5806-11e6-8f1c-e3979922db16.png)\r\n","created_at":"2016-06-29T13:58:31Z","updated_at":"2016-08-09T14:41:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dedac75252397cdc2cb6bd9333bc0fac811bb3fe","assignee":{"login":"tobiasdiez","id":5037600,"avatar_url":"https://avatars.githubusercontent.com/u/5037600?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasdiez","html_url":"https://github.com/tobiasdiez","followers_url":"https://api.github.com/users/tobiasdiez/followers","following_url":"https://api.github.com/users/tobiasdiez/following{/other_user}","gists_url":"https://api.github.com/users/tobiasdiez/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasdiez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasdiez/subscriptions","organizations_url":"https://api.github.com/users/tobiasdiez/orgs","repos_url":"https://api.github.com/users/tobiasdiez/repos","events_url":"https://api.github.com/users/tobiasdiez/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasdiez/received_events","type":"User","site_admin":false},"assignees":[{"login":"tobiasdiez","id":5037600,"avatar_url":"https://avatars.githubusercontent.com/u/5037600?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasdiez","html_url":"https://github.com/tobiasdiez","followers_url":"https://api.github.com/users/tobiasdiez/followers","following_url":"https://api.github.com/users/tobiasdiez/following{/other_user}","gists_url":"https://api.github.com/users/tobiasdiez/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasdiez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasdiez/subscriptions","organizations_url":"https://api.github.com/users/tobiasdiez/orgs","repos_url":"https://api.github.com/users/tobiasdiez/repos","events_url":"https://api.github.com/users/tobiasdiez/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasdiez/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/JabRef/jabref/pulls/1526/commits","review_comments_url":"https://api.github.com/repos/JabRef/jabref/pulls/1526/comments","review_comment_url":"https://api.github.com/repos/JabRef/jabref/pulls/comments{/number}","comments_url":"https://api.github.com/repos/JabRef/jabref/issues/1526/comments","statuses_url":"https://api.github.com/repos/JabRef/jabref/statuses/d35d958f2640c0f0ca0891b5e862f493c6498337","head":{"label":"boceckts:JournalAbbreviationsFX","ref":"JournalAbbreviationsFX","sha":"d35d958f2640c0f0ca0891b5e862f493c6498337","user":{"login":"boceckts","id":15340757,"avatar_url":"https://avatars.githubusercontent.com/u/15340757?v=3","gravatar_id":"","url":"https://api.github.com/users/boceckts","html_url":"https://github.com/boceckts","followers_url":"https://api.github.com/users/boceckts/followers","following_url":"https://api.github.com/users/boceckts/following{/other_user}","gists_url":"https://api.github.com/users/boceckts/gists{/gist_id}","starred_url":"https://api.github.com/users/boceckts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boceckts/subscriptions","organizations_url":"https://api.github.com/users/boceckts/orgs","repos_url":"https://api.github.com/users/boceckts/repos","events_url":"https://api.github.com/users/boceckts/events{/privacy}","received_events_url":"https://api.github.com/users/boceckts/received_events","type":"User","site_admin":false},"repo":{"id":45689595,"name":"jabref","full_name":"boceckts/jabref","owner":{"login":"boceckts","id":15340757,"avatar_url":"https://avatars.githubusercontent.com/u/15340757?v=3","gravatar_id":"","url":"https://api.github.com/users/boceckts","html_url":"https://github.com/boceckts","followers_url":"https://api.github.com/users/boceckts/followers","following_url":"https://api.github.com/users/boceckts/following{/other_user}","gists_url":"https://api.github.com/users/boceckts/gists{/gist_id}","starred_url":"https://api.github.com/users/boceckts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boceckts/subscriptions","organizations_url":"https://api.github.com/users/boceckts/orgs","repos_url":"https://api.github.com/users/boceckts/repos","events_url":"https://api.github.com/users/boceckts/events{/privacy}","received_events_url":"https://api.github.com/users/boceckts/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/boceckts/jabref","description":"Graphical Java application for managing bibtex (.bib) databases","fork":true,"url":"https://api.github.com/repos/boceckts/jabref","forks_url":"https://api.github.com/repos/boceckts/jabref/forks","keys_url":"https://api.github.com/repos/boceckts/jabref/keys{/key_id}","collaborators_url":"https://api.github.com/repos/boceckts/jabref/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/boceckts/jabref/teams","hooks_url":"https://api.github.com/repos/boceckts/jabref/hooks","issue_events_url":"https://api.github.com/repos/boceckts/jabref/issues/events{/number}","events_url":"https://api.github.com/repos/boceckts/jabref/events","assignees_url":"https://api.github.com/repos/boceckts/jabref/assignees{/user}","branches_url":"https://api.github.com/repos/boceckts/jabref/branches{/branch}","tags_url":"https://api.github.com/repos/boceckts/jabref/tags","blobs_url":"https://api.github.com/repos/boceckts/jabref/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/boceckts/jabref/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/boceckts/jabref/git/refs{/sha}","trees_url":"https://api.github.com/repos/boceckts/jabref/git/trees{/sha}","statuses_url":"https://api.github.com/repos/boceckts/jabref/statuses/{sha}","languages_url":"https://api.github.com/repos/boceckts/jabref/languages","stargazers_url":"https://api.github.com/repos/boceckts/jabref/stargazers","contributors_url":"https://api.github.com/repos/boceckts/jabref/contributors","subscribers_url":"https://api.github.com/repos/boceckts/jabref/subscribers","subscription_url":"https://api.github.com/repos/boceckts/jabref/subscription","commits_url":"https://api.github.com/repos/boceckts/jabref/commits{/sha}","git_commits_url":"https://api.github.com/repos/boceckts/jabref/git/commits{/sha}","comments_url":"https://api.github.com/repos/boceckts/jabref/comments{/number}","issue_comment_url":"https://api.github.com/repos/boceckts/jabref/issues/comments{/number}","contents_url":"https://api.github.com/repos/boceckts/jabref/contents/{+path}","compare_url":"https://api.github.com/repos/boceckts/jabref/compare/{base}...{head}","merges_url":"https://api.github.com/repos/boceckts/jabref/merges","archive_url":"https://api.github.com/repos/boceckts/jabref/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/boceckts/jabref/downloads","issues_url":"https://api.github.com/repos/boceckts/jabref/issues{/number}","pulls_url":"https://api.github.com/repos/boceckts/jabref/pulls{/number}","milestones_url":"https://api.github.com/repos/boceckts/jabref/milestones{/number}","notifications_url":"https://api.github.com/repos/boceckts/jabref/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/boceckts/jabref/labels{/name}","releases_url":"https://api.github.com/repos/boceckts/jabref/releases{/id}","deployments_url":"https://api.github.com/repos/boceckts/jabref/deployments","created_at":"2015-11-06T15:22:41Z","updated_at":"2016-02-25T13:22:47Z","pushed_at":"2016-08-08T10:05:10Z","git_url":"git://github.com/boceckts/jabref.git","ssh_url":"git@github.com:boceckts/jabref.git","clone_url":"https://github.com/boceckts/jabref.git","svn_url":"https://github.com/boceckts/jabref","homepage":"http://jabref.sourceforge.net/","size":84467,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"JabRef:javafx","ref":"javafx","sha":"bc6f0c929ebc9730064e884c619805c94d0db1f9","user":{"login":"JabRef","id":3914421,"avatar_url":"https://avatars.githubusercontent.com/u/3914421?v=3","gravatar_id":"","url":"https://api.github.com/users/JabRef","html_url":"https://github.com/JabRef","followers_url":"https://api.github.com/users/JabRef/followers","following_url":"https://api.github.com/users/JabRef/following{/other_user}","gists_url":"https://api.github.com/users/JabRef/gists{/gist_id}","starred_url":"https://api.github.com/users/JabRef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JabRef/subscriptions","organizations_url":"https://api.github.com/users/JabRef/orgs","repos_url":"https://api.github.com/users/JabRef/repos","events_url":"https://api.github.com/users/JabRef/events{/privacy}","received_events_url":"https://api.github.com/users/JabRef/received_events","type":"Organization","site_admin":false},"repo":{"id":17634071,"name":"jabref","full_name":"JabRef/jabref","owner":{"login":"JabRef","id":3914421,"avatar_url":"https://avatars.githubusercontent.com/u/3914421?v=3","gravatar_id":"","url":"https://api.github.com/users/JabRef","html_url":"https://github.com/JabRef","followers_url":"https://api.github.com/users/JabRef/followers","following_url":"https://api.github.com/users/JabRef/following{/other_user}","gists_url":"https://api.github.com/users/JabRef/gists{/gist_id}","starred_url":"https://api.github.com/users/JabRef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JabRef/subscriptions","organizations_url":"https://api.github.com/users/JabRef/orgs","repos_url":"https://api.github.com/users/JabRef/repos","events_url":"https://api.github.com/users/JabRef/events{/privacy}","received_events_url":"https://api.github.com/users/JabRef/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/JabRef/jabref","description":"Graphical Java application for managing BibTeX and Biblatex (.bib) databases","fork":false,"url":"https://api.github.com/repos/JabRef/jabref","forks_url":"https://api.github.com/repos/JabRef/jabref/forks","keys_url":"https://api.github.com/repos/JabRef/jabref/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JabRef/jabref/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JabRef/jabref/teams","hooks_url":"https://api.github.com/repos/JabRef/jabref/hooks","issue_events_url":"https://api.github.com/repos/JabRef/jabref/issues/events{/number}","events_url":"https://api.github.com/repos/JabRef/jabref/events","assignees_url":"https://api.github.com/repos/JabRef/jabref/assignees{/user}","branches_url":"https://api.github.com/repos/JabRef/jabref/branches{/branch}","tags_url":"https://api.github.com/repos/JabRef/jabref/tags","blobs_url":"https://api.github.com/repos/JabRef/jabref/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JabRef/jabref/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JabRef/jabref/git/refs{/sha}","trees_url":"https://api.github.com/repos/JabRef/jabref/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JabRef/jabref/statuses/{sha}","languages_url":"https://api.github.com/repos/JabRef/jabref/languages","stargazers_url":"https://api.github.com/repos/JabRef/jabref/stargazers","contributors_url":"https://api.github.com/repos/JabRef/jabref/contributors","subscribers_url":"https://api.github.com/repos/JabRef/jabref/subscribers","subscription_url":"https://api.github.com/repos/JabRef/jabref/subscription","commits_url":"https://api.github.com/repos/JabRef/jabref/commits{/sha}","git_commits_url":"https://api.github.com/repos/JabRef/jabref/git/commits{/sha}","comments_url":"https://api.github.com/repos/JabRef/jabref/comments{/number}","issue_comment_url":"https://api.github.com/repos/JabRef/jabref/issues/comments{/number}","contents_url":"https://api.github.com/repos/JabRef/jabref/contents/{+path}","compare_url":"https://api.github.com/repos/JabRef/jabref/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JabRef/jabref/merges","archive_url":"https://api.github.com/repos/JabRef/jabref/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JabRef/jabref/downloads","issues_url":"https://api.github.com/repos/JabRef/jabref/issues{/number}","pulls_url":"https://api.github.com/repos/JabRef/jabref/pulls{/number}","milestones_url":"https://api.github.com/repos/JabRef/jabref/milestones{/number}","notifications_url":"https://api.github.com/repos/JabRef/jabref/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JabRef/jabref/labels{/name}","releases_url":"https://api.github.com/repos/JabRef/jabref/releases{/id}","deployments_url":"https://api.github.com/repos/JabRef/jabref/deployments","created_at":"2014-03-11T14:48:42Z","updated_at":"2016-08-08T17:43:01Z","pushed_at":"2016-08-09T14:37:43Z","git_url":"git://github.com/JabRef/jabref.git","ssh_url":"git@github.com:JabRef/jabref.git","clone_url":"https://github.com/JabRef/jabref.git","svn_url":"https://github.com/JabRef/jabref","homepage":"http://www.jabref.org","size":92908,"stargazers_count":321,"watchers_count":321,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":246,"mirror_url":null,"open_issues_count":179,"forks":246,"open_issues":179,"watchers":321,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1526"},"html":{"href":"https://github.com/JabRef/jabref/pull/1526"},"issue":{"href":"https://api.github.com/repos/JabRef/jabref/issues/1526"},"comments":{"href":"https://api.github.com/repos/JabRef/jabref/issues/1526/comments"},"review_comments":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1526/comments"},"review_comment":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1526/commits"},"statuses":{"href":"https://api.github.com/repos/JabRef/jabref/statuses/d35d958f2640c0f0ca0891b5e862f493c6498337"}}}}
{"actor":{"display_login":"tobiasdiez"}}