{"action":"created","comment":{"url":"https://api.github.com/repos/codice/ddf/pulls/comments/89162087","pull_request_review_id":9710669,"id":89162087,"diff_hunk":"@@ -69,46 +75,29 @@ public ConfigurationFileProxy(ConfigurationStore configurationStore) {\n         }\n     }\n \n-    protected BundleContext getContext() {\n-        Bundle cxfBundle = FrameworkUtil.getBundle(ConfigurationFileProxy.class);\n-        if (cxfBundle != null) {\n-            return cxfBundle.getBundleContext();\n-        }\n-        return null;\n+    public void writeSolrConfiguration(String core) {\n+        writeSolrConfiguration(Paths.get(this.dataDirectory.getAbsolutePath(), core, \"conf\")\n+                .toFile());\n     }\n \n     /**\n-     * Writes the solr configuration files out of the bundle onto the disk. This method requires\n-     * that the dataDirectoryPath has been set. If the code is run in an OSGi container, it will\n-     * automatically have a default dataDirectory location set and will not require setting\n-     * dataDirectory ahead of time.\n+     * Writes the solr configuration files out of the classpath onto the disk.\n      */\n-    public void writeBundleFilesTo(File configDir) {\n-        BundleContext bundleContext = getContext();\n-        if (bundleContext != null && configDir != null) {\n-            boolean directoriesMade = configDir.mkdirs();\n-            LOGGER.debug(\"Solr Config directories made?  {}\", directoriesMade);\n-\n-            @SuppressWarnings(\"rawtypes\")\n-            Enumeration entries = bundleContext.getBundle()\n-                    .findEntries(SOLR_CONFIG_LOCATION_IN_BUNDLE, \"*.*\", false);\n-\n-            while (entries.hasMoreElements()) {\n-                URL resourceURL = (URL) (entries.nextElement());\n-                LOGGER.debug(\"Found {}\", resourceURL);\n-\n-                try (InputStream inputStream = resourceURL.openStream()) {\n-                    String fileName = FilenameUtils.getName(resourceURL.getPath());\n-                    File currentFile = new File(configDir, fileName);\n-\n-                    if (!currentFile.exists()) {\n-                        try (FileOutputStream outputStream = new FileOutputStream(currentFile)) {\n-                            long byteCount = IOUtils.copyLarge(inputStream, outputStream);\n-                            LOGGER.debug(\"Wrote out {} bytes.\", byteCount);\n-                        }\n-                    }\n+    public void writeSolrConfiguration(File configDir) {","path":"platform/solr/solr-factory/src/main/java/org/codice/solr/factory/impl/ConfigurationFileProxy.java","position":99,"original_position":99,"commit_id":"778852ea172c3ca40ea4c6c1055b448fc1fffde5","original_commit_id":"778852ea172c3ca40ea4c6c1055b448fc1fffde5","user":{"login":"pklinef","id":700518,"avatar_url":"https://avatars.githubusercontent.com/u/700518?v=3","gravatar_id":"","url":"https://api.github.com/users/pklinef","html_url":"https://github.com/pklinef","followers_url":"https://api.github.com/users/pklinef/followers","following_url":"https://api.github.com/users/pklinef/following{/other_user}","gists_url":"https://api.github.com/users/pklinef/gists{/gist_id}","starred_url":"https://api.github.com/users/pklinef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pklinef/subscriptions","organizations_url":"https://api.github.com/users/pklinef/orgs","repos_url":"https://api.github.com/users/pklinef/repos","events_url":"https://api.github.com/users/pklinef/events{/privacy}","received_events_url":"https://api.github.com/users/pklinef/received_events","type":"User","site_admin":false},"body":"It shouldn't affect configuration export.  This method will create the default Solr core configuration files.  We do not officially support direct changes to these files.  These files should be generated on a version upgrade to to the latest configuration changes.\r\n\r\nI will merge the two `writeSolrConfiguration` methods and make them package private.","created_at":"2016-11-22T17:00:23Z","updated_at":"2016-11-22T17:00:23Z","html_url":"https://github.com/codice/ddf/pull/1426#discussion_r89162087","pull_request_url":"https://api.github.com/repos/codice/ddf/pulls/1426","_links":{"self":{"href":"https://api.github.com/repos/codice/ddf/pulls/comments/89162087"},"html":{"href":"https://github.com/codice/ddf/pull/1426#discussion_r89162087"},"pull_request":{"href":"https://api.github.com/repos/codice/ddf/pulls/1426"}}},"pull_request":{"url":"https://api.github.com/repos/codice/ddf/pulls/1426","id":93630968,"html_url":"https://github.com/codice/ddf/pull/1426","diff_url":"https://github.com/codice/ddf/pull/1426.diff","patch_url":"https://github.com/codice/ddf/pull/1426.patch","issue_url":"https://api.github.com/repos/codice/ddf/issues/1426","number":1426,"state":"open","locked":false,"title":"DDF-2467 Solr Cloud","user":{"login":"pklinef","id":700518,"avatar_url":"https://avatars.githubusercontent.com/u/700518?v=3","gravatar_id":"","url":"https://api.github.com/users/pklinef","html_url":"https://github.com/pklinef","followers_url":"https://api.github.com/users/pklinef/followers","following_url":"https://api.github.com/users/pklinef/following{/other_user}","gists_url":"https://api.github.com/users/pklinef/gists{/gist_id}","starred_url":"https://api.github.com/users/pklinef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pklinef/subscriptions","organizations_url":"https://api.github.com/users/pklinef/orgs","repos_url":"https://api.github.com/users/pklinef/repos","events_url":"https://api.github.com/users/pklinef/events{/privacy}","received_events_url":"https://api.github.com/users/pklinef/received_events","type":"User","site_admin":false},"body":"#### What does this PR do?\r\nAdds support for Solr Cloud and replaces default Solr Provider with a provider that can use either embedded, HTTP, or cloud instances of Solr based on system properties.\r\n\r\n#### Who is reviewing it (please choose AT LEAST two reviewers that need to approve the PR before it can get merged)?\r\n@brendan-hofmann \r\n@Lambeaux \r\n\r\n#### Select at least one member from relevant component team(s) from below (at least one component team member needs to approve the PR).\r\n[Solr](https://github.com/orgs/codice/teams/solr)\r\n\r\n#### Choose 2 committers to review/merge the PR (please choose ONLY two committers from below, delete the rest).\r\n@figliold\r\n@lessarderic\r\n\r\n#### How should this be tested? (List steps with links to updated documentation)\r\nUse new solr.* properties in etc/system.properties to verify that all available system properties work as intended.  This includes trying the embedded, HTTP, and Cloud modes as well as changing the data directory.  You will need to restart DDF after changing the system.properties file.  You can also set the system property in the console and restart the Solr Provider bundle.\r\n\r\n#### Any background context you want to provide?\r\n\r\n#### What are the relevant tickets?\r\n[DDF-2467](https://codice.atlassian.net/browse/DDF-2467)\r\n\r\n#### Screenshots (if appropriate)\r\n\r\n#### Checklist:\r\n- [X] Documentation Updated\r\n- [X] Change Log Updated\r\n- [X] Update / Add Unit Tests\r\n- [ n/a ] Update / Add Integration Tests\r\n","created_at":"2016-11-14T19:28:42Z","updated_at":"2016-11-22T17:00:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"75a843332c0e67291d442932e7c963d1c8921dd3","assignee":{"login":"figliold","id":4838043,"avatar_url":"https://avatars.githubusercontent.com/u/4838043?v=3","gravatar_id":"","url":"https://api.github.com/users/figliold","html_url":"https://github.com/figliold","followers_url":"https://api.github.com/users/figliold/followers","following_url":"https://api.github.com/users/figliold/following{/other_user}","gists_url":"https://api.github.com/users/figliold/gists{/gist_id}","starred_url":"https://api.github.com/users/figliold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/figliold/subscriptions","organizations_url":"https://api.github.com/users/figliold/orgs","repos_url":"https://api.github.com/users/figliold/repos","events_url":"https://api.github.com/users/figliold/events{/privacy}","received_events_url":"https://api.github.com/users/figliold/received_events","type":"User","site_admin":false},"assignees":[{"login":"figliold","id":4838043,"avatar_url":"https://avatars.githubusercontent.com/u/4838043?v=3","gravatar_id":"","url":"https://api.github.com/users/figliold","html_url":"https://github.com/figliold","followers_url":"https://api.github.com/users/figliold/followers","following_url":"https://api.github.com/users/figliold/following{/other_user}","gists_url":"https://api.github.com/users/figliold/gists{/gist_id}","starred_url":"https://api.github.com/users/figliold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/figliold/subscriptions","organizations_url":"https://api.github.com/users/figliold/orgs","repos_url":"https://api.github.com/users/figliold/repos","events_url":"https://api.github.com/users/figliold/events{/privacy}","received_events_url":"https://api.github.com/users/figliold/received_events","type":"User","site_admin":false},{"login":"lessarderic","id":11377558,"avatar_url":"https://avatars.githubusercontent.com/u/11377558?v=3","gravatar_id":"","url":"https://api.github.com/users/lessarderic","html_url":"https://github.com/lessarderic","followers_url":"https://api.github.com/users/lessarderic/followers","following_url":"https://api.github.com/users/lessarderic/following{/other_user}","gists_url":"https://api.github.com/users/lessarderic/gists{/gist_id}","starred_url":"https://api.github.com/users/lessarderic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lessarderic/subscriptions","organizations_url":"https://api.github.com/users/lessarderic/orgs","repos_url":"https://api.github.com/users/lessarderic/repos","events_url":"https://api.github.com/users/lessarderic/events{/privacy}","received_events_url":"https://api.github.com/users/lessarderic/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/codice/ddf/pulls/1426/commits","review_comments_url":"https://api.github.com/repos/codice/ddf/pulls/1426/comments","review_comment_url":"https://api.github.com/repos/codice/ddf/pulls/comments{/number}","comments_url":"https://api.github.com/repos/codice/ddf/issues/1426/comments","statuses_url":"https://api.github.com/repos/codice/ddf/statuses/778852ea172c3ca40ea4c6c1055b448fc1fffde5","head":{"label":"pklinef:ddf-2467-solr-cloud","ref":"ddf-2467-solr-cloud","sha":"778852ea172c3ca40ea4c6c1055b448fc1fffde5","user":{"login":"pklinef","id":700518,"avatar_url":"https://avatars.githubusercontent.com/u/700518?v=3","gravatar_id":"","url":"https://api.github.com/users/pklinef","html_url":"https://github.com/pklinef","followers_url":"https://api.github.com/users/pklinef/followers","following_url":"https://api.github.com/users/pklinef/following{/other_user}","gists_url":"https://api.github.com/users/pklinef/gists{/gist_id}","starred_url":"https://api.github.com/users/pklinef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pklinef/subscriptions","organizations_url":"https://api.github.com/users/pklinef/orgs","repos_url":"https://api.github.com/users/pklinef/repos","events_url":"https://api.github.com/users/pklinef/events{/privacy}","received_events_url":"https://api.github.com/users/pklinef/received_events","type":"User","site_admin":false},"repo":{"id":25168751,"name":"ddf","full_name":"pklinef/ddf","owner":{"login":"pklinef","id":700518,"avatar_url":"https://avatars.githubusercontent.com/u/700518?v=3","gravatar_id":"","url":"https://api.github.com/users/pklinef","html_url":"https://github.com/pklinef","followers_url":"https://api.github.com/users/pklinef/followers","following_url":"https://api.github.com/users/pklinef/following{/other_user}","gists_url":"https://api.github.com/users/pklinef/gists{/gist_id}","starred_url":"https://api.github.com/users/pklinef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pklinef/subscriptions","organizations_url":"https://api.github.com/users/pklinef/orgs","repos_url":"https://api.github.com/users/pklinef/repos","events_url":"https://api.github.com/users/pklinef/events{/privacy}","received_events_url":"https://api.github.com/users/pklinef/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pklinef/ddf","description":"The Distributed Data Framework - Distribution, SDK, and Test","fork":true,"url":"https://api.github.com/repos/pklinef/ddf","forks_url":"https://api.github.com/repos/pklinef/ddf/forks","keys_url":"https://api.github.com/repos/pklinef/ddf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pklinef/ddf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pklinef/ddf/teams","hooks_url":"https://api.github.com/repos/pklinef/ddf/hooks","issue_events_url":"https://api.github.com/repos/pklinef/ddf/issues/events{/number}","events_url":"https://api.github.com/repos/pklinef/ddf/events","assignees_url":"https://api.github.com/repos/pklinef/ddf/assignees{/user}","branches_url":"https://api.github.com/repos/pklinef/ddf/branches{/branch}","tags_url":"https://api.github.com/repos/pklinef/ddf/tags","blobs_url":"https://api.github.com/repos/pklinef/ddf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pklinef/ddf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pklinef/ddf/git/refs{/sha}","trees_url":"https://api.github.com/repos/pklinef/ddf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pklinef/ddf/statuses/{sha}","languages_url":"https://api.github.com/repos/pklinef/ddf/languages","stargazers_url":"https://api.github.com/repos/pklinef/ddf/stargazers","contributors_url":"https://api.github.com/repos/pklinef/ddf/contributors","subscribers_url":"https://api.github.com/repos/pklinef/ddf/subscribers","subscription_url":"https://api.github.com/repos/pklinef/ddf/subscription","commits_url":"https://api.github.com/repos/pklinef/ddf/commits{/sha}","git_commits_url":"https://api.github.com/repos/pklinef/ddf/git/commits{/sha}","comments_url":"https://api.github.com/repos/pklinef/ddf/comments{/number}","issue_comment_url":"https://api.github.com/repos/pklinef/ddf/issues/comments{/number}","contents_url":"https://api.github.com/repos/pklinef/ddf/contents/{+path}","compare_url":"https://api.github.com/repos/pklinef/ddf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pklinef/ddf/merges","archive_url":"https://api.github.com/repos/pklinef/ddf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pklinef/ddf/downloads","issues_url":"https://api.github.com/repos/pklinef/ddf/issues{/number}","pulls_url":"https://api.github.com/repos/pklinef/ddf/pulls{/number}","milestones_url":"https://api.github.com/repos/pklinef/ddf/milestones{/number}","notifications_url":"https://api.github.com/repos/pklinef/ddf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pklinef/ddf/labels{/name}","releases_url":"https://api.github.com/repos/pklinef/ddf/releases{/id}","deployments_url":"https://api.github.com/repos/pklinef/ddf/deployments","created_at":"2014-10-13T17:07:54Z","updated_at":"2015-08-07T01:47:44Z","pushed_at":"2016-11-15T20:14:49Z","git_url":"git://github.com/pklinef/ddf.git","ssh_url":"git@github.com:pklinef/ddf.git","clone_url":"https://github.com/pklinef/ddf.git","svn_url":"https://github.com/pklinef/ddf","homepage":"","size":149054,"stargazers_count":0,"watchers_count":0,"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":0,"default_branch":"master"}},"base":{"label":"codice:master","ref":"master","sha":"23cd2e63105c8bb657717fd24ed69245c2d8bfce","user":{"login":"codice","id":2386734,"avatar_url":"https://avatars.githubusercontent.com/u/2386734?v=3","gravatar_id":"","url":"https://api.github.com/users/codice","html_url":"https://github.com/codice","followers_url":"https://api.github.com/users/codice/followers","following_url":"https://api.github.com/users/codice/following{/other_user}","gists_url":"https://api.github.com/users/codice/gists{/gist_id}","starred_url":"https://api.github.com/users/codice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codice/subscriptions","organizations_url":"https://api.github.com/users/codice/orgs","repos_url":"https://api.github.com/users/codice/repos","events_url":"https://api.github.com/users/codice/events{/privacy}","received_events_url":"https://api.github.com/users/codice/received_events","type":"Organization","site_admin":false},"repo":{"id":15173563,"name":"ddf","full_name":"codice/ddf","owner":{"login":"codice","id":2386734,"avatar_url":"https://avatars.githubusercontent.com/u/2386734?v=3","gravatar_id":"","url":"https://api.github.com/users/codice","html_url":"https://github.com/codice","followers_url":"https://api.github.com/users/codice/followers","following_url":"https://api.github.com/users/codice/following{/other_user}","gists_url":"https://api.github.com/users/codice/gists{/gist_id}","starred_url":"https://api.github.com/users/codice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codice/subscriptions","organizations_url":"https://api.github.com/users/codice/orgs","repos_url":"https://api.github.com/users/codice/repos","events_url":"https://api.github.com/users/codice/events{/privacy}","received_events_url":"https://api.github.com/users/codice/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/codice/ddf","description":"Distributed Data Framework - an open source, modular integration framework.","fork":false,"url":"https://api.github.com/repos/codice/ddf","forks_url":"https://api.github.com/repos/codice/ddf/forks","keys_url":"https://api.github.com/repos/codice/ddf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/codice/ddf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/codice/ddf/teams","hooks_url":"https://api.github.com/repos/codice/ddf/hooks","issue_events_url":"https://api.github.com/repos/codice/ddf/issues/events{/number}","events_url":"https://api.github.com/repos/codice/ddf/events","assignees_url":"https://api.github.com/repos/codice/ddf/assignees{/user}","branches_url":"https://api.github.com/repos/codice/ddf/branches{/branch}","tags_url":"https://api.github.com/repos/codice/ddf/tags","blobs_url":"https://api.github.com/repos/codice/ddf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/codice/ddf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/codice/ddf/git/refs{/sha}","trees_url":"https://api.github.com/repos/codice/ddf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/codice/ddf/statuses/{sha}","languages_url":"https://api.github.com/repos/codice/ddf/languages","stargazers_url":"https://api.github.com/repos/codice/ddf/stargazers","contributors_url":"https://api.github.com/repos/codice/ddf/contributors","subscribers_url":"https://api.github.com/repos/codice/ddf/subscribers","subscription_url":"https://api.github.com/repos/codice/ddf/subscription","commits_url":"https://api.github.com/repos/codice/ddf/commits{/sha}","git_commits_url":"https://api.github.com/repos/codice/ddf/git/commits{/sha}","comments_url":"https://api.github.com/repos/codice/ddf/comments{/number}","issue_comment_url":"https://api.github.com/repos/codice/ddf/issues/comments{/number}","contents_url":"https://api.github.com/repos/codice/ddf/contents/{+path}","compare_url":"https://api.github.com/repos/codice/ddf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/codice/ddf/merges","archive_url":"https://api.github.com/repos/codice/ddf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/codice/ddf/downloads","issues_url":"https://api.github.com/repos/codice/ddf/issues{/number}","pulls_url":"https://api.github.com/repos/codice/ddf/pulls{/number}","milestones_url":"https://api.github.com/repos/codice/ddf/milestones{/number}","notifications_url":"https://api.github.com/repos/codice/ddf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/codice/ddf/labels{/name}","releases_url":"https://api.github.com/repos/codice/ddf/releases{/id}","deployments_url":"https://api.github.com/repos/codice/ddf/deployments","created_at":"2013-12-13T20:38:28Z","updated_at":"2016-11-08T16:53:10Z","pushed_at":"2016-11-22T15:34:12Z","git_url":"git://github.com/codice/ddf.git","ssh_url":"git@github.com:codice/ddf.git","clone_url":"https://github.com/codice/ddf.git","svn_url":"https://github.com/codice/ddf","homepage":"http://ddf.codice.org","size":295804,"stargazers_count":49,"watchers_count":49,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":99,"mirror_url":null,"open_issues_count":32,"forks":99,"open_issues":32,"watchers":49,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/codice/ddf/pulls/1426"},"html":{"href":"https://github.com/codice/ddf/pull/1426"},"issue":{"href":"https://api.github.com/repos/codice/ddf/issues/1426"},"comments":{"href":"https://api.github.com/repos/codice/ddf/issues/1426/comments"},"review_comments":{"href":"https://api.github.com/repos/codice/ddf/pulls/1426/comments"},"review_comment":{"href":"https://api.github.com/repos/codice/ddf/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/codice/ddf/pulls/1426/commits"},"statuses":{"href":"https://api.github.com/repos/codice/ddf/statuses/778852ea172c3ca40ea4c6c1055b448fc1fffde5"}}}}
{"actor":{"display_login":"pklinef"}}