arjun4084346 commented on a change in pull request #2971: URL: https://github.com/apache/incubator-gobblin/pull/2971#discussion_r416126824
########## File path: gobblin-modules/gobblin-azkaban/src/main/java/org/apache/gobblin/service/modules/orchestration/AzkabanMultiCallables.java ########## @@ -375,4 +375,44 @@ public AzkabanClientStatus call() } } } + + /** + * A callable that will add a proxy user to a project on Azkaban + */ + @Builder + static class addProxyUserCallable implements Callable<AzkabanClientStatus> { + private AzkabanClient client; + private String projectName; + private String proxyUserName; + private boolean invalidSession = false; + + @Override + public AzkabanClientStatus call() + throws AzkabanClientException { + try (Closer closer = Closer.create()) { + client.refreshSession(this.invalidSession); + List<NameValuePair> nvps = new ArrayList<>(); + nvps.add(new BasicNameValuePair(AzkabanClientParams.AJAX, "addProxyUser")); + nvps.add(new BasicNameValuePair(AzkabanClientParams.SESSION_ID, client.sessionId)); + nvps.add(new BasicNameValuePair(AzkabanClientParams.PROJECT, projectName)); + nvps.add(new BasicNameValuePair(AzkabanClientParams.NAME, proxyUserName)); + + Header contentType = new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded"); + Header requestType = new BasicHeader("X-Requested-With", "XMLHttpRequest"); + + HttpGet httpGet = new HttpGet(client.url + "/manager?" + URLEncodedUtils.format(nvps, "UTF-8")); + httpGet.setHeaders(new Header[]{contentType, requestType}); + + CloseableHttpResponse response = client.httpClient.execute(httpGet); + closer.register(response); + client.handleResponse(response); Review comment: this can be called as AzkabanClient.handleResponse() intellij shows codestyle issue ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org