mirror of
https://github.com/apache/sqoop.git
synced 2025-05-09 07:30:04 +08:00
SQOOP-2395: Sqoop2: Signature of method getConnectorIdFromIdentifier in HandlerUtils is inconsistent with other methods
(Dian Fu via Richard Zhou)
This commit is contained in:
parent
d16566ace2
commit
87855a3768
@ -189,12 +189,6 @@ public synchronized void initialize(boolean autoUpgrade) {
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized Long getConnectorId(String connectorName) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
return repository.findConnector(connectorName) != null ? repository
|
||||
.findConnector(connectorName).getPersistenceId() : null;
|
||||
}
|
||||
|
||||
private synchronized void registerConnectors(boolean autoUpgrade) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
|
||||
|
@ -18,19 +18,21 @@
|
||||
package org.apache.sqoop.handler;
|
||||
|
||||
import org.apache.sqoop.common.SqoopException;
|
||||
import org.apache.sqoop.connector.ConnectorManager;
|
||||
import org.apache.sqoop.model.MConnector;
|
||||
import org.apache.sqoop.model.MJob;
|
||||
import org.apache.sqoop.model.MLink;
|
||||
import org.apache.sqoop.repository.Repository;
|
||||
import org.apache.sqoop.repository.RepositoryManager;
|
||||
import org.apache.sqoop.server.common.ServerError;
|
||||
|
||||
public class HandlerUtils {
|
||||
|
||||
public static long getJobIdFromIdentifier(String identifier, Repository repository) {
|
||||
public static long getJobIdFromIdentifier(String identifier) {
|
||||
// support jobName or jobId for the api
|
||||
// NOTE: jobId is a fallback for older sqoop clients if any, since we want
|
||||
// to primarily use unique jobNames
|
||||
long jobId;
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
MJob job = repository.findJob(identifier);
|
||||
if (job != null) {
|
||||
jobId = job.getPersistenceId();
|
||||
@ -47,11 +49,12 @@ public static long getJobIdFromIdentifier(String identifier, Repository reposito
|
||||
return jobId;
|
||||
}
|
||||
|
||||
public static long getLinkIdFromIdentifier(String identifier, Repository repository) {
|
||||
public static long getLinkIdFromIdentifier(String identifier) {
|
||||
// support linkName or linkId for the api
|
||||
// NOTE: linkId is a fallback for older sqoop clients if any, since we want
|
||||
// to primarily use unique linkNames
|
||||
long linkId;
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
MLink link = repository.findLink(identifier);
|
||||
if (link != null) {
|
||||
linkId = link.getPersistenceId();
|
||||
@ -70,8 +73,10 @@ public static long getLinkIdFromIdentifier(String identifier, Repository reposit
|
||||
|
||||
public static long getConnectorIdFromIdentifier(String identifier) {
|
||||
long connectorId;
|
||||
if (ConnectorManager.getInstance().getConnectorId(identifier) != null) {
|
||||
connectorId = ConnectorManager.getInstance().getConnectorId(identifier);
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
MConnector connector = repository.findConnector(identifier);
|
||||
if (connector != null) {
|
||||
connectorId = connector.getPersistenceId();
|
||||
} else {
|
||||
try {
|
||||
connectorId = Long.valueOf(identifier);
|
||||
|
@ -138,7 +138,7 @@ private JsonBean deleteJob(RequestContext ctx) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
|
||||
String jobIdentifier = ctx.getLastURLElement();
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.deleteJob(String.valueOf(jobId));
|
||||
@ -210,7 +210,7 @@ private JsonBean createUpdateJob(RequestContext ctx, boolean create) {
|
||||
if (!create) {
|
||||
String jobIdentifier = ctx.getLastURLElement();
|
||||
// support jobName or jobId for the api
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
if (postedJob.getPersistenceId() == MPersistableEntity.PERSISTANCE_ID_DEFAULT) {
|
||||
MJob existingJob = repository.findJob(jobId);
|
||||
postedJob.setPersistenceId(existingJob.getPersistenceId());
|
||||
@ -305,7 +305,7 @@ private JsonBean getJobs(RequestContext ctx) {
|
||||
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
|
||||
ctx.getRequest().getRemoteAddr(), "get", "job", connectorIdentifier);
|
||||
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(connectorIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(connectorIdentifier);
|
||||
MJob job = repository.findJob(jobId);
|
||||
|
||||
// Authorization check
|
||||
@ -349,7 +349,7 @@ private JsonBean enableJob(RequestContext ctx, boolean enabled) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String[] elements = ctx.getUrlElements();
|
||||
String jobIdentifier = elements[elements.length - 2];
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.enableDisableJob(String.valueOf(jobId));
|
||||
@ -359,10 +359,9 @@ private JsonBean enableJob(RequestContext ctx, boolean enabled) {
|
||||
}
|
||||
|
||||
private JsonBean startJob(RequestContext ctx) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String[] elements = ctx.getUrlElements();
|
||||
String jobIdentifier = elements[elements.length - 2];
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.startJob(String.valueOf(jobId));
|
||||
@ -383,10 +382,9 @@ private JsonBean startJob(RequestContext ctx) {
|
||||
}
|
||||
|
||||
private JsonBean stopJob(RequestContext ctx) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String[] elements = ctx.getUrlElements();
|
||||
String jobIdentifier = elements[elements.length - 2];
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.stopJob(String.valueOf(jobId));
|
||||
@ -398,10 +396,9 @@ private JsonBean stopJob(RequestContext ctx) {
|
||||
}
|
||||
|
||||
private JsonBean getJobStatus(RequestContext ctx) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String[] elements = ctx.getUrlElements();
|
||||
String jobIdentifier = elements[elements.length - 2];
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.statusJob(String.valueOf(jobId));
|
||||
|
@ -92,7 +92,7 @@ private JsonBean deleteLink(RequestContext ctx) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String linkIdentifier = ctx.getLastURLElement();
|
||||
// support linkName or linkId for the api
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier, repository);
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.deleteLink(String.valueOf(linkId));
|
||||
@ -152,7 +152,7 @@ private JsonBean createUpdateLink(RequestContext ctx, boolean create) {
|
||||
if (!create) {
|
||||
String linkIdentifier = ctx.getLastURLElement();
|
||||
// support linkName or linkId for the api
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier, repository);
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier);
|
||||
if (postedLink.getPersistenceId() == MPersistableEntity.PERSISTANCE_ID_DEFAULT) {
|
||||
MLink existingLink = repository.findLink(linkId);
|
||||
postedLink.setPersistenceId(existingLink.getPersistenceId());
|
||||
@ -233,7 +233,7 @@ private JsonBean getLinks(RequestContext ctx) {
|
||||
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
|
||||
ctx.getRequest().getRemoteAddr(), "get", "link", identifier);
|
||||
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(identifier, repository);
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(identifier);
|
||||
MLink link = repository.findLink(linkId);
|
||||
|
||||
// Authorization check
|
||||
@ -271,7 +271,7 @@ private JsonBean enableLink(RequestContext ctx, boolean enabled) {
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
String[] elements = ctx.getUrlElements();
|
||||
String linkIdentifier = elements[elements.length - 2];
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier, repository);
|
||||
long linkId = HandlerUtils.getLinkIdFromIdentifier(linkIdentifier);
|
||||
|
||||
// Authorization check
|
||||
AuthorizationEngine.enableDisableLink(String.valueOf(linkId));
|
||||
|
@ -25,7 +25,6 @@
|
||||
import org.apache.sqoop.json.JsonBean;
|
||||
import org.apache.sqoop.json.SubmissionsBean;
|
||||
import org.apache.sqoop.model.MSubmission;
|
||||
import org.apache.sqoop.repository.Repository;
|
||||
import org.apache.sqoop.repository.RepositoryManager;
|
||||
import org.apache.sqoop.security.authorization.AuthorizationEngine;
|
||||
import org.apache.sqoop.server.RequestContext;
|
||||
@ -50,14 +49,13 @@ public JsonBean handleEvent(RequestContext ctx) {
|
||||
+ ctx.getMethod());
|
||||
}
|
||||
String jobIdentifier = ctx.getLastURLElement();
|
||||
Repository repository = RepositoryManager.getInstance().getRepository();
|
||||
// submissions per job are ordered by update time
|
||||
// hence the latest submission is on the top
|
||||
if (ctx.getParameterValue(JOB_NAME_QUERY_PARAM) != null) {
|
||||
jobIdentifier = ctx.getParameterValue(JOB_NAME_QUERY_PARAM);
|
||||
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
|
||||
ctx.getRequest().getRemoteAddr(), "get", "submissionsByJob", jobIdentifier);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier, repository);
|
||||
long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
|
||||
return getSubmissionsForJob(jobId);
|
||||
} else {
|
||||
// all submissions in the system
|
||||
|
Loading…
Reference in New Issue
Block a user