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