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