{"action":"created","comment":{"url":"https://api.github.com/repos/radargun/radargun/pulls/comments/88188404","pull_request_review_id":8768091,"id":88188404,"diff_hunk":"@@ -0,0 +1,43 @@\n+package org.radargun.utils;\n+\n+import java.lang.reflect.Type;\n+import java.util.Map;\n+import java.util.TreeMap;\n+import org.radargun.config.Converter;\n+import org.radargun.logging.Log;\n+import org.radargun.logging.LogFactory;\n+\n+public class EnvsConverter implements Converter<Map<String, String>> {\n+   private static Log log = LogFactory.getLog(EnvsConverter.class);\n+\n+   @Override\n+   public Map<String, String> convert(String string, Type type) {\n+      Map<String, String> env = new TreeMap<String, String>();\n+      String[] lines = string.split(\"\\n\");\n+      for (String line : lines) {\n+         int eqIndex = line.indexOf('=');\n+         if (eqIndex < 0) {\n+            if (line.trim().length() > 0) {\n+               log.warn(\"Cannot parse env \" + line);\n+            }\n+         } else {\n+            env.put(line.substring(0, eqIndex).trim(), line.substring(eqIndex + 1).trim());\n+         }\n+      }\n+      return env;\n+   }\n+\n+   @Override\n+   public String convertToString(Map<String, String> value) {\n+      StringBuilder sb = new StringBuilder();\n+      for (Map.Entry<String, String> envVar : value.entrySet()) {\n+         sb.append(envVar.getKey()).append('=').append(envVar.getValue()).append('\\n');\n+      }\n+      return sb.toString();\n+   }\n+\n+   @Override\n+   public String allowedPattern(Type type) {\n+      return Converter.ANY_MULTI_LINE;","path":"core/src/main/java/org/radargun/utils/EnvsConverter.java","position":41,"original_position":41,"commit_id":"6a4c4d429164a6969d55eb61e7b05cb378773697","original_commit_id":"6a4c4d429164a6969d55eb61e7b05cb378773697","user":{"login":"mgencur","id":336823,"avatar_url":"https://avatars.githubusercontent.com/u/336823?v=3","gravatar_id":"","url":"https://api.github.com/users/mgencur","html_url":"https://github.com/mgencur","followers_url":"https://api.github.com/users/mgencur/followers","following_url":"https://api.github.com/users/mgencur/following{/other_user}","gists_url":"https://api.github.com/users/mgencur/gists{/gist_id}","starred_url":"https://api.github.com/users/mgencur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgencur/subscriptions","organizations_url":"https://api.github.com/users/mgencur/orgs","repos_url":"https://api.github.com/users/mgencur/repos","events_url":"https://api.github.com/users/mgencur/events{/privacy}","received_events_url":"https://api.github.com/users/mgencur/received_events","type":"User","site_admin":false},"body":"I was just moving the existing code but OK.This one should be close to what we want: \r\n\"([A-Z_]+[A-Z0-9_]*=.*(\\n|\\r)*)+\"\r\n\r\nIt could be even slightly better but it would be too complicated and unreadable","created_at":"2016-11-16T08:28:32Z","updated_at":"2016-11-16T08:28:32Z","html_url":"https://github.com/radargun/radargun/pull/433#discussion_r88188404","pull_request_url":"https://api.github.com/repos/radargun/radargun/pulls/433","_links":{"self":{"href":"https://api.github.com/repos/radargun/radargun/pulls/comments/88188404"},"html":{"href":"https://github.com/radargun/radargun/pull/433#discussion_r88188404"},"pull_request":{"href":"https://api.github.com/repos/radargun/radargun/pulls/433"}}},"pull_request":{"url":"https://api.github.com/repos/radargun/radargun/pulls/433","id":91810904,"html_url":"https://github.com/radargun/radargun/pull/433","diff_url":"https://github.com/radargun/radargun/pull/433.diff","patch_url":"https://github.com/radargun/radargun/pull/433.patch","issue_url":"https://api.github.com/repos/radargun/radargun/issues/433","number":433,"state":"open","locked":false,"title":"Change required for testing Tomcat with mod_cluster","user":{"login":"mgencur","id":336823,"avatar_url":"https://avatars.githubusercontent.com/u/336823?v=3","gravatar_id":"","url":"https://api.github.com/users/mgencur","html_url":"https://github.com/mgencur","followers_url":"https://api.github.com/users/mgencur/followers","following_url":"https://api.github.com/users/mgencur/following{/other_user}","gists_url":"https://api.github.com/users/mgencur/gists{/gist_id}","starred_url":"https://api.github.com/users/mgencur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgencur/subscriptions","organizations_url":"https://api.github.com/users/mgencur/orgs","repos_url":"https://api.github.com/users/mgencur/repos","events_url":"https://api.github.com/users/mgencur/events{/privacy}","received_events_url":"https://api.github.com/users/mgencur/received_events","type":"User","site_admin":false},"body":"The main changes include:\r\n* Tomcat 8 plugin\r\n* Docker plugin for running docker containers.\r\n* Example config files for both Tomcat and Docker plugins and for testing stateful web applications","created_at":"2016-11-01T16:02:24Z","updated_at":"2016-11-16T08:28:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8d92f506e6f4418048eababa8eeafb21d01abbbe","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/radargun/radargun/pulls/433/commits","review_comments_url":"https://api.github.com/repos/radargun/radargun/pulls/433/comments","review_comment_url":"https://api.github.com/repos/radargun/radargun/pulls/comments{/number}","comments_url":"https://api.github.com/repos/radargun/radargun/issues/433/comments","statuses_url":"https://api.github.com/repos/radargun/radargun/statuses/6a4c4d429164a6969d55eb61e7b05cb378773697","head":{"label":"mgencur:jws_extension","ref":"jws_extension","sha":"6a4c4d429164a6969d55eb61e7b05cb378773697","user":{"login":"mgencur","id":336823,"avatar_url":"https://avatars.githubusercontent.com/u/336823?v=3","gravatar_id":"","url":"https://api.github.com/users/mgencur","html_url":"https://github.com/mgencur","followers_url":"https://api.github.com/users/mgencur/followers","following_url":"https://api.github.com/users/mgencur/following{/other_user}","gists_url":"https://api.github.com/users/mgencur/gists{/gist_id}","starred_url":"https://api.github.com/users/mgencur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgencur/subscriptions","organizations_url":"https://api.github.com/users/mgencur/orgs","repos_url":"https://api.github.com/users/mgencur/repos","events_url":"https://api.github.com/users/mgencur/events{/privacy}","received_events_url":"https://api.github.com/users/mgencur/received_events","type":"User","site_admin":false},"repo":{"id":7259287,"name":"radargun","full_name":"mgencur/radargun","owner":{"login":"mgencur","id":336823,"avatar_url":"https://avatars.githubusercontent.com/u/336823?v=3","gravatar_id":"","url":"https://api.github.com/users/mgencur","html_url":"https://github.com/mgencur","followers_url":"https://api.github.com/users/mgencur/followers","following_url":"https://api.github.com/users/mgencur/following{/other_user}","gists_url":"https://api.github.com/users/mgencur/gists{/gist_id}","starred_url":"https://api.github.com/users/mgencur/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgencur/subscriptions","organizations_url":"https://api.github.com/users/mgencur/orgs","repos_url":"https://api.github.com/users/mgencur/repos","events_url":"https://api.github.com/users/mgencur/events{/privacy}","received_events_url":"https://api.github.com/users/mgencur/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mgencur/radargun","description":"The RadarGun benchmarking framework for data grids and distributed caches","fork":true,"url":"https://api.github.com/repos/mgencur/radargun","forks_url":"https://api.github.com/repos/mgencur/radargun/forks","keys_url":"https://api.github.com/repos/mgencur/radargun/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mgencur/radargun/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mgencur/radargun/teams","hooks_url":"https://api.github.com/repos/mgencur/radargun/hooks","issue_events_url":"https://api.github.com/repos/mgencur/radargun/issues/events{/number}","events_url":"https://api.github.com/repos/mgencur/radargun/events","assignees_url":"https://api.github.com/repos/mgencur/radargun/assignees{/user}","branches_url":"https://api.github.com/repos/mgencur/radargun/branches{/branch}","tags_url":"https://api.github.com/repos/mgencur/radargun/tags","blobs_url":"https://api.github.com/repos/mgencur/radargun/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mgencur/radargun/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mgencur/radargun/git/refs{/sha}","trees_url":"https://api.github.com/repos/mgencur/radargun/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mgencur/radargun/statuses/{sha}","languages_url":"https://api.github.com/repos/mgencur/radargun/languages","stargazers_url":"https://api.github.com/repos/mgencur/radargun/stargazers","contributors_url":"https://api.github.com/repos/mgencur/radargun/contributors","subscribers_url":"https://api.github.com/repos/mgencur/radargun/subscribers","subscription_url":"https://api.github.com/repos/mgencur/radargun/subscription","commits_url":"https://api.github.com/repos/mgencur/radargun/commits{/sha}","git_commits_url":"https://api.github.com/repos/mgencur/radargun/git/commits{/sha}","comments_url":"https://api.github.com/repos/mgencur/radargun/comments{/number}","issue_comment_url":"https://api.github.com/repos/mgencur/radargun/issues/comments{/number}","contents_url":"https://api.github.com/repos/mgencur/radargun/contents/{+path}","compare_url":"https://api.github.com/repos/mgencur/radargun/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mgencur/radargun/merges","archive_url":"https://api.github.com/repos/mgencur/radargun/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mgencur/radargun/downloads","issues_url":"https://api.github.com/repos/mgencur/radargun/issues{/number}","pulls_url":"https://api.github.com/repos/mgencur/radargun/pulls{/number}","milestones_url":"https://api.github.com/repos/mgencur/radargun/milestones{/number}","notifications_url":"https://api.github.com/repos/mgencur/radargun/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mgencur/radargun/labels{/name}","releases_url":"https://api.github.com/repos/mgencur/radargun/releases{/id}","deployments_url":"https://api.github.com/repos/mgencur/radargun/deployments","created_at":"2012-12-20T14:51:51Z","updated_at":"2013-12-11T13:16:58Z","pushed_at":"2016-11-03T09:35:02Z","git_url":"git://github.com/mgencur/radargun.git","ssh_url":"git@github.com:mgencur/radargun.git","clone_url":"https://github.com/mgencur/radargun.git","svn_url":"https://github.com/mgencur/radargun","homepage":"http://radargun.github.com/radargun/","size":6047,"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":"radargun:master","ref":"master","sha":"34561e675a2a2d8c84ac1de94498200e0544365b","user":{"login":"radargun","id":517796,"avatar_url":"https://avatars.githubusercontent.com/u/517796?v=3","gravatar_id":"","url":"https://api.github.com/users/radargun","html_url":"https://github.com/radargun","followers_url":"https://api.github.com/users/radargun/followers","following_url":"https://api.github.com/users/radargun/following{/other_user}","gists_url":"https://api.github.com/users/radargun/gists{/gist_id}","starred_url":"https://api.github.com/users/radargun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radargun/subscriptions","organizations_url":"https://api.github.com/users/radargun/orgs","repos_url":"https://api.github.com/users/radargun/repos","events_url":"https://api.github.com/users/radargun/events{/privacy}","received_events_url":"https://api.github.com/users/radargun/received_events","type":"Organization","site_admin":false},"repo":{"id":1156136,"name":"radargun","full_name":"radargun/radargun","owner":{"login":"radargun","id":517796,"avatar_url":"https://avatars.githubusercontent.com/u/517796?v=3","gravatar_id":"","url":"https://api.github.com/users/radargun","html_url":"https://github.com/radargun","followers_url":"https://api.github.com/users/radargun/followers","following_url":"https://api.github.com/users/radargun/following{/other_user}","gists_url":"https://api.github.com/users/radargun/gists{/gist_id}","starred_url":"https://api.github.com/users/radargun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radargun/subscriptions","organizations_url":"https://api.github.com/users/radargun/orgs","repos_url":"https://api.github.com/users/radargun/repos","events_url":"https://api.github.com/users/radargun/events{/privacy}","received_events_url":"https://api.github.com/users/radargun/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/radargun/radargun","description":"The RadarGun benchmarking framework for data grids and distributed caches","fork":false,"url":"https://api.github.com/repos/radargun/radargun","forks_url":"https://api.github.com/repos/radargun/radargun/forks","keys_url":"https://api.github.com/repos/radargun/radargun/keys{/key_id}","collaborators_url":"https://api.github.com/repos/radargun/radargun/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/radargun/radargun/teams","hooks_url":"https://api.github.com/repos/radargun/radargun/hooks","issue_events_url":"https://api.github.com/repos/radargun/radargun/issues/events{/number}","events_url":"https://api.github.com/repos/radargun/radargun/events","assignees_url":"https://api.github.com/repos/radargun/radargun/assignees{/user}","branches_url":"https://api.github.com/repos/radargun/radargun/branches{/branch}","tags_url":"https://api.github.com/repos/radargun/radargun/tags","blobs_url":"https://api.github.com/repos/radargun/radargun/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/radargun/radargun/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/radargun/radargun/git/refs{/sha}","trees_url":"https://api.github.com/repos/radargun/radargun/git/trees{/sha}","statuses_url":"https://api.github.com/repos/radargun/radargun/statuses/{sha}","languages_url":"https://api.github.com/repos/radargun/radargun/languages","stargazers_url":"https://api.github.com/repos/radargun/radargun/stargazers","contributors_url":"https://api.github.com/repos/radargun/radargun/contributors","subscribers_url":"https://api.github.com/repos/radargun/radargun/subscribers","subscription_url":"https://api.github.com/repos/radargun/radargun/subscription","commits_url":"https://api.github.com/repos/radargun/radargun/commits{/sha}","git_commits_url":"https://api.github.com/repos/radargun/radargun/git/commits{/sha}","comments_url":"https://api.github.com/repos/radargun/radargun/comments{/number}","issue_comment_url":"https://api.github.com/repos/radargun/radargun/issues/comments{/number}","contents_url":"https://api.github.com/repos/radargun/radargun/contents/{+path}","compare_url":"https://api.github.com/repos/radargun/radargun/compare/{base}...{head}","merges_url":"https://api.github.com/repos/radargun/radargun/merges","archive_url":"https://api.github.com/repos/radargun/radargun/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/radargun/radargun/downloads","issues_url":"https://api.github.com/repos/radargun/radargun/issues{/number}","pulls_url":"https://api.github.com/repos/radargun/radargun/pulls{/number}","milestones_url":"https://api.github.com/repos/radargun/radargun/milestones{/number}","notifications_url":"https://api.github.com/repos/radargun/radargun/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/radargun/radargun/labels{/name}","releases_url":"https://api.github.com/repos/radargun/radargun/releases{/id}","deployments_url":"https://api.github.com/repos/radargun/radargun/deployments","created_at":"2010-12-10T13:35:42Z","updated_at":"2016-10-25T13:59:05Z","pushed_at":"2016-11-11T14:20:20Z","git_url":"git://github.com/radargun/radargun.git","ssh_url":"git@github.com:radargun/radargun.git","clone_url":"https://github.com/radargun/radargun.git","svn_url":"https://github.com/radargun/radargun","homepage":"http://radargun.github.io/","size":7395,"stargazers_count":83,"watchers_count":83,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":51,"mirror_url":null,"open_issues_count":47,"forks":51,"open_issues":47,"watchers":83,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/radargun/radargun/pulls/433"},"html":{"href":"https://github.com/radargun/radargun/pull/433"},"issue":{"href":"https://api.github.com/repos/radargun/radargun/issues/433"},"comments":{"href":"https://api.github.com/repos/radargun/radargun/issues/433/comments"},"review_comments":{"href":"https://api.github.com/repos/radargun/radargun/pulls/433/comments"},"review_comment":{"href":"https://api.github.com/repos/radargun/radargun/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/radargun/radargun/pulls/433/commits"},"statuses":{"href":"https://api.github.com/repos/radargun/radargun/statuses/6a4c4d429164a6969d55eb61e7b05cb378773697"}}}}
{"actor":{"display_login":"mgencur"}}