{"action":"created","comment":{"url":"https://api.github.com/repos/hi3g/freki/pulls/comments/36294567","id":36294567,"diff_hunk":"@@ -66,6 +111,97 @@ public void enterQualifier(@NotNull final se.tre.freki.query.SelectParser.Qualif\n         ctx.metric.getText(), LabelType.METRIC);\n   }\n \n+  @Override\n+  public void enterWildcardTag(\n+      @NotNull final se.tre.freki.query.SelectParser.WildcardTagContext ctx) {\n+    super.enterWildcardTag(ctx);\n+    if (isKey) {\n+      isKey = false;\n+      futurePredicateList.add(immediateFuture(WildcardTimeSeriesIdPredicate.wildcard()));\n+    } else {\n+      isKey = true;\n+      futurePredicateList.add(immediateFuture(WildcardTimeSeriesIdPredicate.wildcard()));\n+    }\n+  }\n+\n+  @Override\n+  public void enterAlternatingTag(\n+      @NotNull final se.tre.freki.query.SelectParser.AlternatingTagContext ctx) {\n+    super.enterAlternatingTag(ctx);\n+\n+    if (isKey) {\n+      isKey = false;\n+      final List<ListenableFuture<LabelId>> futureIds = new ArrayList<>();\n+      for (final TerminalNode terminalNode : ctx.LABEL_NAME()) {\n+        futureIds.add(labelClient.lookupId(terminalNode.getText(), TAGK));\n+      }\n+      futurePredicateList.add(Futures.transform(allAsList(futureIds),\n+          new AsyncFunction<List<LabelId>, TimeSeriesIdPredicate>() {\n+            @Override\n+            public ListenableFuture<TimeSeriesIdPredicate> apply(final List<LabelId> labelIds)\n+                throws Exception {\n+              return immediateFuture(AlternationTimeSeriesIdPredicate.ids(labelIds));\n+            }\n+          }));\n+    } else {\n+      isKey = true;\n+      final List<ListenableFuture<LabelId>> futureIds = new ArrayList<>();\n+      for (final TerminalNode terminalNode : ctx.LABEL_NAME()) {\n+        futureIds.add(labelClient.lookupId(terminalNode.getText(), TAGV));\n+      }\n+      futurePredicateList.add(Futures.transform(allAsList(futureIds),\n+          new AsyncFunction<List<LabelId>, TimeSeriesIdPredicate>() {\n+            @Override\n+            public ListenableFuture<TimeSeriesIdPredicate> apply(final List<LabelId> labelIds)\n+                throws Exception {\n+              return immediateFuture(AlternationTimeSeriesIdPredicate.ids(labelIds));\n+            }\n+          }));\n+    }\n+  }\n+\n+  @Override\n+  public void enterSimpleTag(@NotNull final se.tre.freki.query.SelectParser.SimpleTagContext ctx) {\n+    super.enterSimpleTag(ctx);\n+","path":"core/src/main/java/se/tre/freki/query/QueryStringTranslator.java","position":148,"original_position":148,"commit_id":"76aa8ace1a33ec725197920ac38aa429981cab89","original_commit_id":"76aa8ace1a33ec725197920ac38aa429981cab89","user":{"login":"jzeeck","id":1387446,"avatar_url":"https://avatars.githubusercontent.com/u/1387446?v=3","gravatar_id":"","url":"https://api.github.com/users/jzeeck","html_url":"https://github.com/jzeeck","followers_url":"https://api.github.com/users/jzeeck/followers","following_url":"https://api.github.com/users/jzeeck/following{/other_user}","gists_url":"https://api.github.com/users/jzeeck/gists{/gist_id}","starred_url":"https://api.github.com/users/jzeeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzeeck/subscriptions","organizations_url":"https://api.github.com/users/jzeeck/orgs","repos_url":"https://api.github.com/users/jzeeck/repos","events_url":"https://api.github.com/users/jzeeck/events{/privacy}","received_events_url":"https://api.github.com/users/jzeeck/received_events","type":"User","site_admin":false},"body":"same as above","created_at":"2015-08-05T12:14:23Z","updated_at":"2015-08-05T12:14:23Z","html_url":"https://github.com/hi3g/freki/pull/136#discussion_r36294567","pull_request_url":"https://api.github.com/repos/hi3g/freki/pulls/136","_links":{"self":{"href":"https://api.github.com/repos/hi3g/freki/pulls/comments/36294567"},"html":{"href":"https://github.com/hi3g/freki/pull/136#discussion_r36294567"},"pull_request":{"href":"https://api.github.com/repos/hi3g/freki/pulls/136"}}},"pull_request":{"url":"https://api.github.com/repos/hi3g/freki/pulls/136","id":41568223,"html_url":"https://github.com/hi3g/freki/pull/136","diff_url":"https://github.com/hi3g/freki/pull/136.diff","patch_url":"https://github.com/hi3g/freki/pull/136.patch","issue_url":"https://api.github.com/repos/hi3g/freki/issues/136","number":136,"state":"open","locked":false,"title":"Building a query now adds tag fields to our query object","user":{"login":"Kasidro","id":485569,"avatar_url":"https://avatars.githubusercontent.com/u/485569?v=3","gravatar_id":"","url":"https://api.github.com/users/Kasidro","html_url":"https://github.com/Kasidro","followers_url":"https://api.github.com/users/Kasidro/followers","following_url":"https://api.github.com/users/Kasidro/following{/other_user}","gists_url":"https://api.github.com/users/Kasidro/gists{/gist_id}","starred_url":"https://api.github.com/users/Kasidro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kasidro/subscriptions","organizations_url":"https://api.github.com/users/Kasidro/orgs","repos_url":"https://api.github.com/users/Kasidro/repos","events_url":"https://api.github.com/users/Kasidro/events{/privacy}","received_events_url":"https://api.github.com/users/Kasidro/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-08-04T13:16:22Z","updated_at":"2015-08-05T12:14:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4c55efa7a3565642ed7962faff615bad23177e82","assignee":{"login":"luuse","id":111528,"avatar_url":"https://avatars.githubusercontent.com/u/111528?v=3","gravatar_id":"","url":"https://api.github.com/users/luuse","html_url":"https://github.com/luuse","followers_url":"https://api.github.com/users/luuse/followers","following_url":"https://api.github.com/users/luuse/following{/other_user}","gists_url":"https://api.github.com/users/luuse/gists{/gist_id}","starred_url":"https://api.github.com/users/luuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luuse/subscriptions","organizations_url":"https://api.github.com/users/luuse/orgs","repos_url":"https://api.github.com/users/luuse/repos","events_url":"https://api.github.com/users/luuse/events{/privacy}","received_events_url":"https://api.github.com/users/luuse/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/hi3g/freki/milestones/3","html_url":"https://github.com/hi3g/freki/milestones/0.4","labels_url":"https://api.github.com/repos/hi3g/freki/milestones/3/labels","id":1211411,"number":3,"title":"0.4","description":"","creator":{"login":"luuse","id":111528,"avatar_url":"https://avatars.githubusercontent.com/u/111528?v=3","gravatar_id":"","url":"https://api.github.com/users/luuse","html_url":"https://github.com/luuse","followers_url":"https://api.github.com/users/luuse/followers","following_url":"https://api.github.com/users/luuse/following{/other_user}","gists_url":"https://api.github.com/users/luuse/gists{/gist_id}","starred_url":"https://api.github.com/users/luuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luuse/subscriptions","organizations_url":"https://api.github.com/users/luuse/orgs","repos_url":"https://api.github.com/users/luuse/repos","events_url":"https://api.github.com/users/luuse/events{/privacy}","received_events_url":"https://api.github.com/users/luuse/received_events","type":"User","site_admin":false},"open_issues":18,"closed_issues":19,"state":"open","created_at":"2015-07-16T15:26:03Z","updated_at":"2015-08-05T09:25:23Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/hi3g/freki/pulls/136/commits","review_comments_url":"https://api.github.com/repos/hi3g/freki/pulls/136/comments","review_comment_url":"https://api.github.com/repos/hi3g/freki/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hi3g/freki/issues/136/comments","statuses_url":"https://api.github.com/repos/hi3g/freki/statuses/76aa8ace1a33ec725197920ac38aa429981cab89","head":{"label":"hi3g:antlr","ref":"antlr","sha":"76aa8ace1a33ec725197920ac38aa429981cab89","user":{"login":"hi3g","id":8111300,"avatar_url":"https://avatars.githubusercontent.com/u/8111300?v=3","gravatar_id":"","url":"https://api.github.com/users/hi3g","html_url":"https://github.com/hi3g","followers_url":"https://api.github.com/users/hi3g/followers","following_url":"https://api.github.com/users/hi3g/following{/other_user}","gists_url":"https://api.github.com/users/hi3g/gists{/gist_id}","starred_url":"https://api.github.com/users/hi3g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hi3g/subscriptions","organizations_url":"https://api.github.com/users/hi3g/orgs","repos_url":"https://api.github.com/users/hi3g/repos","events_url":"https://api.github.com/users/hi3g/events{/privacy}","received_events_url":"https://api.github.com/users/hi3g/received_events","type":"Organization","site_admin":false},"repo":{"id":39054692,"name":"freki","full_name":"hi3g/freki","owner":{"login":"hi3g","id":8111300,"avatar_url":"https://avatars.githubusercontent.com/u/8111300?v=3","gravatar_id":"","url":"https://api.github.com/users/hi3g","html_url":"https://github.com/hi3g","followers_url":"https://api.github.com/users/hi3g/followers","following_url":"https://api.github.com/users/hi3g/following{/other_user}","gists_url":"https://api.github.com/users/hi3g/gists{/gist_id}","starred_url":"https://api.github.com/users/hi3g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hi3g/subscriptions","organizations_url":"https://api.github.com/users/hi3g/orgs","repos_url":"https://api.github.com/users/hi3g/repos","events_url":"https://api.github.com/users/hi3g/events{/privacy}","received_events_url":"https://api.github.com/users/hi3g/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hi3g/freki","description":"","fork":false,"url":"https://api.github.com/repos/hi3g/freki","forks_url":"https://api.github.com/repos/hi3g/freki/forks","keys_url":"https://api.github.com/repos/hi3g/freki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hi3g/freki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hi3g/freki/teams","hooks_url":"https://api.github.com/repos/hi3g/freki/hooks","issue_events_url":"https://api.github.com/repos/hi3g/freki/issues/events{/number}","events_url":"https://api.github.com/repos/hi3g/freki/events","assignees_url":"https://api.github.com/repos/hi3g/freki/assignees{/user}","branches_url":"https://api.github.com/repos/hi3g/freki/branches{/branch}","tags_url":"https://api.github.com/repos/hi3g/freki/tags","blobs_url":"https://api.github.com/repos/hi3g/freki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hi3g/freki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hi3g/freki/git/refs{/sha}","trees_url":"https://api.github.com/repos/hi3g/freki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hi3g/freki/statuses/{sha}","languages_url":"https://api.github.com/repos/hi3g/freki/languages","stargazers_url":"https://api.github.com/repos/hi3g/freki/stargazers","contributors_url":"https://api.github.com/repos/hi3g/freki/contributors","subscribers_url":"https://api.github.com/repos/hi3g/freki/subscribers","subscription_url":"https://api.github.com/repos/hi3g/freki/subscription","commits_url":"https://api.github.com/repos/hi3g/freki/commits{/sha}","git_commits_url":"https://api.github.com/repos/hi3g/freki/git/commits{/sha}","comments_url":"https://api.github.com/repos/hi3g/freki/comments{/number}","issue_comment_url":"https://api.github.com/repos/hi3g/freki/issues/comments{/number}","contents_url":"https://api.github.com/repos/hi3g/freki/contents/{+path}","compare_url":"https://api.github.com/repos/hi3g/freki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hi3g/freki/merges","archive_url":"https://api.github.com/repos/hi3g/freki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hi3g/freki/downloads","issues_url":"https://api.github.com/repos/hi3g/freki/issues{/number}","pulls_url":"https://api.github.com/repos/hi3g/freki/pulls{/number}","milestones_url":"https://api.github.com/repos/hi3g/freki/milestones{/number}","notifications_url":"https://api.github.com/repos/hi3g/freki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hi3g/freki/labels{/name}","releases_url":"https://api.github.com/repos/hi3g/freki/releases{/id}","created_at":"2015-07-14T05:05:40Z","updated_at":"2015-07-14T05:53:47Z","pushed_at":"2015-08-05T11:05:21Z","git_url":"git://github.com/hi3g/freki.git","ssh_url":"git@github.com:hi3g/freki.git","clone_url":"https://github.com/hi3g/freki.git","svn_url":"https://github.com/hi3g/freki","homepage":null,"size":1812,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":45,"forks":0,"open_issues":45,"watchers":0,"default_branch":"master"}},"base":{"label":"hi3g:master","ref":"master","sha":"5674b32ee3d0f7b230fbf6a9e0c446c9d2d4c7b3","user":{"login":"hi3g","id":8111300,"avatar_url":"https://avatars.githubusercontent.com/u/8111300?v=3","gravatar_id":"","url":"https://api.github.com/users/hi3g","html_url":"https://github.com/hi3g","followers_url":"https://api.github.com/users/hi3g/followers","following_url":"https://api.github.com/users/hi3g/following{/other_user}","gists_url":"https://api.github.com/users/hi3g/gists{/gist_id}","starred_url":"https://api.github.com/users/hi3g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hi3g/subscriptions","organizations_url":"https://api.github.com/users/hi3g/orgs","repos_url":"https://api.github.com/users/hi3g/repos","events_url":"https://api.github.com/users/hi3g/events{/privacy}","received_events_url":"https://api.github.com/users/hi3g/received_events","type":"Organization","site_admin":false},"repo":{"id":39054692,"name":"freki","full_name":"hi3g/freki","owner":{"login":"hi3g","id":8111300,"avatar_url":"https://avatars.githubusercontent.com/u/8111300?v=3","gravatar_id":"","url":"https://api.github.com/users/hi3g","html_url":"https://github.com/hi3g","followers_url":"https://api.github.com/users/hi3g/followers","following_url":"https://api.github.com/users/hi3g/following{/other_user}","gists_url":"https://api.github.com/users/hi3g/gists{/gist_id}","starred_url":"https://api.github.com/users/hi3g/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hi3g/subscriptions","organizations_url":"https://api.github.com/users/hi3g/orgs","repos_url":"https://api.github.com/users/hi3g/repos","events_url":"https://api.github.com/users/hi3g/events{/privacy}","received_events_url":"https://api.github.com/users/hi3g/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hi3g/freki","description":"","fork":false,"url":"https://api.github.com/repos/hi3g/freki","forks_url":"https://api.github.com/repos/hi3g/freki/forks","keys_url":"https://api.github.com/repos/hi3g/freki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hi3g/freki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hi3g/freki/teams","hooks_url":"https://api.github.com/repos/hi3g/freki/hooks","issue_events_url":"https://api.github.com/repos/hi3g/freki/issues/events{/number}","events_url":"https://api.github.com/repos/hi3g/freki/events","assignees_url":"https://api.github.com/repos/hi3g/freki/assignees{/user}","branches_url":"https://api.github.com/repos/hi3g/freki/branches{/branch}","tags_url":"https://api.github.com/repos/hi3g/freki/tags","blobs_url":"https://api.github.com/repos/hi3g/freki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hi3g/freki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hi3g/freki/git/refs{/sha}","trees_url":"https://api.github.com/repos/hi3g/freki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hi3g/freki/statuses/{sha}","languages_url":"https://api.github.com/repos/hi3g/freki/languages","stargazers_url":"https://api.github.com/repos/hi3g/freki/stargazers","contributors_url":"https://api.github.com/repos/hi3g/freki/contributors","subscribers_url":"https://api.github.com/repos/hi3g/freki/subscribers","subscription_url":"https://api.github.com/repos/hi3g/freki/subscription","commits_url":"https://api.github.com/repos/hi3g/freki/commits{/sha}","git_commits_url":"https://api.github.com/repos/hi3g/freki/git/commits{/sha}","comments_url":"https://api.github.com/repos/hi3g/freki/comments{/number}","issue_comment_url":"https://api.github.com/repos/hi3g/freki/issues/comments{/number}","contents_url":"https://api.github.com/repos/hi3g/freki/contents/{+path}","compare_url":"https://api.github.com/repos/hi3g/freki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hi3g/freki/merges","archive_url":"https://api.github.com/repos/hi3g/freki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hi3g/freki/downloads","issues_url":"https://api.github.com/repos/hi3g/freki/issues{/number}","pulls_url":"https://api.github.com/repos/hi3g/freki/pulls{/number}","milestones_url":"https://api.github.com/repos/hi3g/freki/milestones{/number}","notifications_url":"https://api.github.com/repos/hi3g/freki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hi3g/freki/labels{/name}","releases_url":"https://api.github.com/repos/hi3g/freki/releases{/id}","created_at":"2015-07-14T05:05:40Z","updated_at":"2015-07-14T05:53:47Z","pushed_at":"2015-08-05T11:05:21Z","git_url":"git://github.com/hi3g/freki.git","ssh_url":"git@github.com:hi3g/freki.git","clone_url":"https://github.com/hi3g/freki.git","svn_url":"https://github.com/hi3g/freki","homepage":null,"size":1812,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":45,"forks":0,"open_issues":45,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hi3g/freki/pulls/136"},"html":{"href":"https://github.com/hi3g/freki/pull/136"},"issue":{"href":"https://api.github.com/repos/hi3g/freki/issues/136"},"comments":{"href":"https://api.github.com/repos/hi3g/freki/issues/136/comments"},"review_comments":{"href":"https://api.github.com/repos/hi3g/freki/pulls/136/comments"},"review_comment":{"href":"https://api.github.com/repos/hi3g/freki/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hi3g/freki/pulls/136/commits"},"statuses":{"href":"https://api.github.com/repos/hi3g/freki/statuses/76aa8ace1a33ec725197920ac38aa429981cab89"}}}}