{"action":"created","comment":{"url":"https://api.github.com/repos/eclipse/smarthome/pulls/comments/71277850","id":71277850,"diff_hunk":"@@ -0,0 +1,32 @@\n+/**\n+ * Copyright (c) 2014-2015 openHAB UG (haftungsbeschraenkt) and others.\n+ * All rights reserved. This program and the accompanying materials\n+ * are made available under the terms of the Eclipse Public License v1.0\n+ * which accompanies this distribution, and is available at\n+ * http://www.eclipse.org/legal/epl-v10.html\n+ */\n+package org.eclipse.smarthome.core.persistence;\n+\n+/**\n+ * This class provides an interface to the a {@link PersistenceService} to allow data to be stored\n+ * at a specific time. This allows bindings that interface to devices that store data internally,\n+ * and then periodically provide it to the server to be accommodated.\n+ *\n+ * @author Chris Jackson - Initial implementation and API\n+ *\n+ */\n+public interface HistoricalPersistenceStoreService {","path":"bundles/core/org.eclipse.smarthome.core.persistence/src/main/java/org/eclipse/smarthome/core/persistence/HistoricalPersistenceStoreService.java","position":18,"original_position":18,"commit_id":"12c7c317a8b4eb8f69672ccb9717b132626cbbb7","original_commit_id":"12c7c317a8b4eb8f69672ccb9717b132626cbbb7","user":{"login":"cdjackson","id":1041475,"avatar_url":"https://avatars.githubusercontent.com/u/1041475?v=3","gravatar_id":"","url":"https://api.github.com/users/cdjackson","html_url":"https://github.com/cdjackson","followers_url":"https://api.github.com/users/cdjackson/followers","following_url":"https://api.github.com/users/cdjackson/following{/other_user}","gists_url":"https://api.github.com/users/cdjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/cdjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdjackson/subscriptions","organizations_url":"https://api.github.com/users/cdjackson/orgs","repos_url":"https://api.github.com/users/cdjackson/repos","events_url":"https://api.github.com/users/cdjackson/events{/privacy}","received_events_url":"https://api.github.com/users/cdjackson/received_events","type":"User","site_admin":false},"body":"> So \"Store\" is definitely too much here.\r\n\r\nOk - ```HistoricalPersistenceService```?\r\n\r\n> How about ModifiablePersistenceService?\r\n\r\nBut it's not modifyable - it just allows you to store information with a time - you can't update anything in the store so in this respect it's no different than the other services.\r\n\r\n> Should this interface directly extend QueryablePersistenceService\r\n\r\nYes - you're probably right - I don't think it makes sense without query.\r\n\r\n> The PersistenceAdminService also wants to address removal of entries. If I remember our past discussions right, you probably want to add some delete/remove methods to this interface as well, don't you?\r\n\r\nYes - I split those into a separate interface though. I'm happy to consolidate into a single interface if you prefer, but I recall in the past you wanted to keep admin (delete) functions separate.","created_at":"2016-07-19T06:21:00Z","updated_at":"2016-07-19T06:21:00Z","html_url":"https://github.com/eclipse/smarthome/pull/1872#discussion_r71277850","pull_request_url":"https://api.github.com/repos/eclipse/smarthome/pulls/1872","_links":{"self":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/comments/71277850"},"html":{"href":"https://github.com/eclipse/smarthome/pull/1872#discussion_r71277850"},"pull_request":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/1872"}}},"pull_request":{"url":"https://api.github.com/repos/eclipse/smarthome/pulls/1872","id":77741940,"html_url":"https://github.com/eclipse/smarthome/pull/1872","diff_url":"https://github.com/eclipse/smarthome/pull/1872.diff","patch_url":"https://github.com/eclipse/smarthome/pull/1872.patch","issue_url":"https://api.github.com/repos/eclipse/smarthome/issues/1872","number":1872,"state":"open","locked":false,"title":"Initial commit of persistence extensions","user":{"login":"cdjackson","id":1041475,"avatar_url":"https://avatars.githubusercontent.com/u/1041475?v=3","gravatar_id":"","url":"https://api.github.com/users/cdjackson","html_url":"https://github.com/cdjackson","followers_url":"https://api.github.com/users/cdjackson/followers","following_url":"https://api.github.com/users/cdjackson/following{/other_user}","gists_url":"https://api.github.com/users/cdjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/cdjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdjackson/subscriptions","organizations_url":"https://api.github.com/users/cdjackson/orgs","repos_url":"https://api.github.com/users/cdjackson/repos","events_url":"https://api.github.com/users/cdjackson/events{/privacy}","received_events_url":"https://api.github.com/users/cdjackson/received_events","type":"User","site_admin":false},"body":"This contains initial thoughts for persistence extensions.\r\n\r\nTwo extensions are considered -:\r\n\r\n1. An interface to write an HistoricState. This allows bindings to write data with a timestamp that is not the current time. This is needed to support devices that periodically provide a dump of historic data.\r\n2. An admin interface that allows the database to be administered. This supports methods to return the current list of items that are persisted, and supports deleting items from the database and deleting data from an item.\r\n\r\nI'm sure there are other ideas that can improve this, but hopefully this will help to prompt some discussion...\r\n\r\nSigned-off-by: Chris Jackson <chris@cd-jackson.com>","created_at":"2016-07-17T18:13:52Z","updated_at":"2016-07-19T06:21:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4062a96068e185707e366f5faa960ab5ccba0dc0","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/eclipse/smarthome/pulls/1872/commits","review_comments_url":"https://api.github.com/repos/eclipse/smarthome/pulls/1872/comments","review_comment_url":"https://api.github.com/repos/eclipse/smarthome/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eclipse/smarthome/issues/1872/comments","statuses_url":"https://api.github.com/repos/eclipse/smarthome/statuses/12c7c317a8b4eb8f69672ccb9717b132626cbbb7","head":{"label":"cdjackson:persistence-extensions","ref":"persistence-extensions","sha":"12c7c317a8b4eb8f69672ccb9717b132626cbbb7","user":{"login":"cdjackson","id":1041475,"avatar_url":"https://avatars.githubusercontent.com/u/1041475?v=3","gravatar_id":"","url":"https://api.github.com/users/cdjackson","html_url":"https://github.com/cdjackson","followers_url":"https://api.github.com/users/cdjackson/followers","following_url":"https://api.github.com/users/cdjackson/following{/other_user}","gists_url":"https://api.github.com/users/cdjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/cdjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdjackson/subscriptions","organizations_url":"https://api.github.com/users/cdjackson/orgs","repos_url":"https://api.github.com/users/cdjackson/repos","events_url":"https://api.github.com/users/cdjackson/events{/privacy}","received_events_url":"https://api.github.com/users/cdjackson/received_events","type":"User","site_admin":false},"repo":{"id":17073319,"name":"smarthome","full_name":"cdjackson/smarthome","owner":{"login":"cdjackson","id":1041475,"avatar_url":"https://avatars.githubusercontent.com/u/1041475?v=3","gravatar_id":"","url":"https://api.github.com/users/cdjackson","html_url":"https://github.com/cdjackson","followers_url":"https://api.github.com/users/cdjackson/followers","following_url":"https://api.github.com/users/cdjackson/following{/other_user}","gists_url":"https://api.github.com/users/cdjackson/gists{/gist_id}","starred_url":"https://api.github.com/users/cdjackson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdjackson/subscriptions","organizations_url":"https://api.github.com/users/cdjackson/orgs","repos_url":"https://api.github.com/users/cdjackson/repos","events_url":"https://api.github.com/users/cdjackson/events{/privacy}","received_events_url":"https://api.github.com/users/cdjackson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cdjackson/smarthome","description":"Eclipse SmartHome project","fork":true,"url":"https://api.github.com/repos/cdjackson/smarthome","forks_url":"https://api.github.com/repos/cdjackson/smarthome/forks","keys_url":"https://api.github.com/repos/cdjackson/smarthome/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cdjackson/smarthome/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cdjackson/smarthome/teams","hooks_url":"https://api.github.com/repos/cdjackson/smarthome/hooks","issue_events_url":"https://api.github.com/repos/cdjackson/smarthome/issues/events{/number}","events_url":"https://api.github.com/repos/cdjackson/smarthome/events","assignees_url":"https://api.github.com/repos/cdjackson/smarthome/assignees{/user}","branches_url":"https://api.github.com/repos/cdjackson/smarthome/branches{/branch}","tags_url":"https://api.github.com/repos/cdjackson/smarthome/tags","blobs_url":"https://api.github.com/repos/cdjackson/smarthome/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cdjackson/smarthome/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cdjackson/smarthome/git/refs{/sha}","trees_url":"https://api.github.com/repos/cdjackson/smarthome/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cdjackson/smarthome/statuses/{sha}","languages_url":"https://api.github.com/repos/cdjackson/smarthome/languages","stargazers_url":"https://api.github.com/repos/cdjackson/smarthome/stargazers","contributors_url":"https://api.github.com/repos/cdjackson/smarthome/contributors","subscribers_url":"https://api.github.com/repos/cdjackson/smarthome/subscribers","subscription_url":"https://api.github.com/repos/cdjackson/smarthome/subscription","commits_url":"https://api.github.com/repos/cdjackson/smarthome/commits{/sha}","git_commits_url":"https://api.github.com/repos/cdjackson/smarthome/git/commits{/sha}","comments_url":"https://api.github.com/repos/cdjackson/smarthome/comments{/number}","issue_comment_url":"https://api.github.com/repos/cdjackson/smarthome/issues/comments{/number}","contents_url":"https://api.github.com/repos/cdjackson/smarthome/contents/{+path}","compare_url":"https://api.github.com/repos/cdjackson/smarthome/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cdjackson/smarthome/merges","archive_url":"https://api.github.com/repos/cdjackson/smarthome/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cdjackson/smarthome/downloads","issues_url":"https://api.github.com/repos/cdjackson/smarthome/issues{/number}","pulls_url":"https://api.github.com/repos/cdjackson/smarthome/pulls{/number}","milestones_url":"https://api.github.com/repos/cdjackson/smarthome/milestones{/number}","notifications_url":"https://api.github.com/repos/cdjackson/smarthome/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cdjackson/smarthome/labels{/name}","releases_url":"https://api.github.com/repos/cdjackson/smarthome/releases{/id}","deployments_url":"https://api.github.com/repos/cdjackson/smarthome/deployments","created_at":"2014-02-21T23:24:18Z","updated_at":"2016-01-23T18:32:58Z","pushed_at":"2016-07-17T17:52:14Z","git_url":"git://github.com/cdjackson/smarthome.git","ssh_url":"git@github.com:cdjackson/smarthome.git","clone_url":"https://github.com/cdjackson/smarthome.git","svn_url":"https://github.com/cdjackson/smarthome","homepage":null,"size":19657,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":2,"default_branch":"master"}},"base":{"label":"eclipse:master","ref":"master","sha":"83a8ecf2435decea6d0d8c49a9d56fbe1f9168a2","user":{"login":"eclipse","id":56974,"avatar_url":"https://avatars.githubusercontent.com/u/56974?v=3","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"repo":{"id":15778981,"name":"smarthome","full_name":"eclipse/smarthome","owner":{"login":"eclipse","id":56974,"avatar_url":"https://avatars.githubusercontent.com/u/56974?v=3","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/eclipse/smarthome","description":"Eclipse SmartHome project","fork":false,"url":"https://api.github.com/repos/eclipse/smarthome","forks_url":"https://api.github.com/repos/eclipse/smarthome/forks","keys_url":"https://api.github.com/repos/eclipse/smarthome/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eclipse/smarthome/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eclipse/smarthome/teams","hooks_url":"https://api.github.com/repos/eclipse/smarthome/hooks","issue_events_url":"https://api.github.com/repos/eclipse/smarthome/issues/events{/number}","events_url":"https://api.github.com/repos/eclipse/smarthome/events","assignees_url":"https://api.github.com/repos/eclipse/smarthome/assignees{/user}","branches_url":"https://api.github.com/repos/eclipse/smarthome/branches{/branch}","tags_url":"https://api.github.com/repos/eclipse/smarthome/tags","blobs_url":"https://api.github.com/repos/eclipse/smarthome/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eclipse/smarthome/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eclipse/smarthome/git/refs{/sha}","trees_url":"https://api.github.com/repos/eclipse/smarthome/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eclipse/smarthome/statuses/{sha}","languages_url":"https://api.github.com/repos/eclipse/smarthome/languages","stargazers_url":"https://api.github.com/repos/eclipse/smarthome/stargazers","contributors_url":"https://api.github.com/repos/eclipse/smarthome/contributors","subscribers_url":"https://api.github.com/repos/eclipse/smarthome/subscribers","subscription_url":"https://api.github.com/repos/eclipse/smarthome/subscription","commits_url":"https://api.github.com/repos/eclipse/smarthome/commits{/sha}","git_commits_url":"https://api.github.com/repos/eclipse/smarthome/git/commits{/sha}","comments_url":"https://api.github.com/repos/eclipse/smarthome/comments{/number}","issue_comment_url":"https://api.github.com/repos/eclipse/smarthome/issues/comments{/number}","contents_url":"https://api.github.com/repos/eclipse/smarthome/contents/{+path}","compare_url":"https://api.github.com/repos/eclipse/smarthome/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eclipse/smarthome/merges","archive_url":"https://api.github.com/repos/eclipse/smarthome/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eclipse/smarthome/downloads","issues_url":"https://api.github.com/repos/eclipse/smarthome/issues{/number}","pulls_url":"https://api.github.com/repos/eclipse/smarthome/pulls{/number}","milestones_url":"https://api.github.com/repos/eclipse/smarthome/milestones{/number}","notifications_url":"https://api.github.com/repos/eclipse/smarthome/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eclipse/smarthome/labels{/name}","releases_url":"https://api.github.com/repos/eclipse/smarthome/releases{/id}","deployments_url":"https://api.github.com/repos/eclipse/smarthome/deployments","created_at":"2014-01-09T20:47:19Z","updated_at":"2016-07-19T01:13:55Z","pushed_at":"2016-07-19T01:24:10Z","git_url":"git://github.com/eclipse/smarthome.git","ssh_url":"git@github.com:eclipse/smarthome.git","clone_url":"https://github.com/eclipse/smarthome.git","svn_url":"https://github.com/eclipse/smarthome","homepage":null,"size":33538,"stargazers_count":325,"watchers_count":325,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":322,"mirror_url":null,"open_issues_count":201,"forks":322,"open_issues":201,"watchers":325,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/1872"},"html":{"href":"https://github.com/eclipse/smarthome/pull/1872"},"issue":{"href":"https://api.github.com/repos/eclipse/smarthome/issues/1872"},"comments":{"href":"https://api.github.com/repos/eclipse/smarthome/issues/1872/comments"},"review_comments":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/1872/comments"},"review_comment":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eclipse/smarthome/pulls/1872/commits"},"statuses":{"href":"https://api.github.com/repos/eclipse/smarthome/statuses/12c7c317a8b4eb8f69672ccb9717b132626cbbb7"}}}}
{"actor":{"display_login":"cdjackson"}}