mirror of
https://github.com/apache/sqoop.git
synced 2025-05-08 02:50:38 +08:00
SQOOP-1960: Sqoop2: Share auth token across ResourceRequest in SqoopClient
(Richard Zhou via Abraham Elmahrek)
This commit is contained in:
parent
471e534ef6
commit
8d25d1fedf
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.ConnectorBean;
|
||||
import org.apache.sqoop.json.ConnectorsBean;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
@ -30,6 +31,14 @@
|
||||
public class ConnectorResourceRequest extends ResourceRequest {
|
||||
public static final String RESOURCE = "v1/connector/";
|
||||
|
||||
public ConnectorResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public ConnectorResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public ConnectorBean read(String serverUrl, Long cid) {
|
||||
String response;
|
||||
if (cid == null) {
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.DriverBean;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
import org.json.simple.JSONObject;
|
||||
@ -28,6 +29,14 @@ public class DriverResourceRequest extends ResourceRequest {
|
||||
|
||||
public static final String RESOURCE = "v1/driver/";
|
||||
|
||||
public DriverResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public DriverResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public DriverBean read(String serverUrl) {
|
||||
String response = null;
|
||||
response = super.get(serverUrl + RESOURCE);
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
import org.apache.sqoop.json.JobBean;
|
||||
import org.apache.sqoop.json.JobsBean;
|
||||
@ -39,6 +40,14 @@ public class JobResourceRequest extends ResourceRequest {
|
||||
private static final String STOP = "/stop";
|
||||
private static final String STATUS = "/status";
|
||||
|
||||
public JobResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public JobResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public JobBean read(String serverUrl, Long jobId) {
|
||||
String response;
|
||||
if (jobId == null) {
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
import org.apache.sqoop.json.LinkBean;
|
||||
import org.apache.sqoop.json.LinksBean;
|
||||
@ -35,6 +36,14 @@ public class LinkResourceRequest extends ResourceRequest {
|
||||
private static final String ENABLE = "/enable";
|
||||
private static final String DISABLE = "/disable";
|
||||
|
||||
public LinkResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public LinkResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public LinkBean read(String serverUrl, Long linkId) {
|
||||
String response;
|
||||
if (linkId == null) {
|
||||
|
@ -51,6 +51,14 @@ public class ResourceRequest {
|
||||
private DelegationTokenAuthenticatedURL.Token authToken;
|
||||
private String strURL;
|
||||
|
||||
public ResourceRequest() {
|
||||
this.authToken = new DelegationTokenAuthenticatedURL.Token();
|
||||
}
|
||||
|
||||
public ResourceRequest(DelegationTokenAuthenticatedURL.Token token) {
|
||||
this.authToken = token == null ? new DelegationTokenAuthenticatedURL.Token() : token;
|
||||
}
|
||||
|
||||
protected String doHttpRequest(String strURL, String method) {
|
||||
return doHttpRequest(strURL, method, "");
|
||||
}
|
||||
@ -59,7 +67,6 @@ protected String doHttpRequest(String strURL, String method, String data) {
|
||||
DataOutputStream wr = null;
|
||||
BufferedReader reader = null;
|
||||
try {
|
||||
this.authToken = new DelegationTokenAuthenticatedURL.Token();
|
||||
this.strURL = strURL;
|
||||
URL url = new URL(strURL);
|
||||
HttpURLConnection conn = new DelegationTokenAuthenticatedURL().openConnection(url, authToken);
|
||||
@ -212,4 +219,8 @@ private Text getDelegationTokenService() throws IOException {
|
||||
Text dtService = SecurityUtil.buildTokenService(addr);
|
||||
return dtService;
|
||||
}
|
||||
|
||||
public DelegationTokenAuthenticatedURL.Token getAuthToken() {
|
||||
return authToken;
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.ConnectorBean;
|
||||
import org.apache.sqoop.json.DriverBean;
|
||||
import org.apache.sqoop.json.JobBean;
|
||||
@ -39,6 +40,11 @@ public class SqoopResourceRequests {
|
||||
private LinkResourceRequest linkRequest;
|
||||
private JobResourceRequest jobRequest;
|
||||
private SubmissionResourceRequest submissionRequest;
|
||||
private DelegationTokenAuthenticatedURL.Token authToken;
|
||||
|
||||
public SqoopResourceRequests(){
|
||||
authToken = new DelegationTokenAuthenticatedURL.Token();
|
||||
}
|
||||
|
||||
public void setServerUrl(String serverUrl) {
|
||||
this.serverUrl = serverUrl;
|
||||
@ -46,7 +52,7 @@ public void setServerUrl(String serverUrl) {
|
||||
|
||||
public DriverResourceRequest getDriverResourceRequest() {
|
||||
if (driverRequest == null) {
|
||||
driverRequest = new DriverResourceRequest();
|
||||
driverRequest = new DriverResourceRequest(authToken);
|
||||
}
|
||||
|
||||
return driverRequest;
|
||||
@ -54,7 +60,7 @@ public DriverResourceRequest getDriverResourceRequest() {
|
||||
|
||||
public ConnectorResourceRequest getConnectorResourceRequest() {
|
||||
if (connectorRequest == null) {
|
||||
connectorRequest = new ConnectorResourceRequest();
|
||||
connectorRequest = new ConnectorResourceRequest(authToken);
|
||||
}
|
||||
|
||||
return connectorRequest;
|
||||
@ -62,7 +68,7 @@ public ConnectorResourceRequest getConnectorResourceRequest() {
|
||||
|
||||
public LinkResourceRequest getLinkResourceRequest() {
|
||||
if (linkRequest == null) {
|
||||
linkRequest = new LinkResourceRequest();
|
||||
linkRequest = new LinkResourceRequest(authToken);
|
||||
}
|
||||
|
||||
return linkRequest;
|
||||
@ -70,7 +76,7 @@ public LinkResourceRequest getLinkResourceRequest() {
|
||||
|
||||
public JobResourceRequest getJobResourceRequest() {
|
||||
if (jobRequest == null) {
|
||||
jobRequest = new JobResourceRequest();
|
||||
jobRequest = new JobResourceRequest(authToken);
|
||||
}
|
||||
|
||||
return jobRequest;
|
||||
@ -78,7 +84,7 @@ public JobResourceRequest getJobResourceRequest() {
|
||||
|
||||
public SubmissionResourceRequest getSubmissionResourceRequest() {
|
||||
if (submissionRequest == null) {
|
||||
submissionRequest = new SubmissionResourceRequest();
|
||||
submissionRequest = new SubmissionResourceRequest(authToken);
|
||||
}
|
||||
|
||||
return submissionRequest;
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
import org.apache.sqoop.json.SubmissionsBean;
|
||||
import org.json.simple.JSONObject;
|
||||
@ -29,6 +30,14 @@ public class SubmissionResourceRequest extends ResourceRequest {
|
||||
|
||||
public static final String RESOURCE = "v1/submissions/";
|
||||
|
||||
public SubmissionResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public SubmissionResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SubmissionsBean read(String serverUrl, Long jid) {
|
||||
String response;
|
||||
if (jid == null) {
|
||||
|
@ -17,12 +17,21 @@
|
||||
*/
|
||||
package org.apache.sqoop.client.request;
|
||||
|
||||
import org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL;
|
||||
import org.apache.sqoop.json.JSONUtils;
|
||||
import org.apache.sqoop.json.VersionBean;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class VersionResourceRequest extends ResourceRequest
|
||||
{
|
||||
public VersionResourceRequest(){
|
||||
super();
|
||||
}
|
||||
|
||||
public VersionResourceRequest(DelegationTokenAuthenticatedURL.Token token){
|
||||
super(token);
|
||||
}
|
||||
|
||||
public VersionBean read(String serverUrl) {
|
||||
String response = super.get(serverUrl + "version");
|
||||
JSONObject jsonObject = JSONUtils.parse(response);
|
||||
|
Loading…
Reference in New Issue
Block a user