From 87855a37681cd21cd26c06878465ba024ded425b Mon Sep 17 00:00:00 2001 From: Richard Zhou Date: Tue, 23 Jun 2015 15:51:06 +0800 Subject: [PATCH] SQOOP-2395: Sqoop2: Signature of method getConnectorIdFromIdentifier in HandlerUtils is inconsistent with other methods (Dian Fu via Richard Zhou) --- .../sqoop/connector/ConnectorManager.java | 6 ------ .../org/apache/sqoop/handler/HandlerUtils.java | 15 ++++++++++----- .../apache/sqoop/handler/JobRequestHandler.java | 17 +++++++---------- .../sqoop/handler/LinkRequestHandler.java | 8 ++++---- .../sqoop/handler/SubmissionRequestHandler.java | 4 +--- 5 files changed, 22 insertions(+), 28 deletions(-) diff --git a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java index d1537bf5..a16fceb9 100644 --- a/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java +++ b/core/src/main/java/org/apache/sqoop/connector/ConnectorManager.java @@ -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(); diff --git a/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java b/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java index 718b9e6f..68b13000 100644 --- a/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java +++ b/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java @@ -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); diff --git a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java index c96d66d8..d1621d8d 100644 --- a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java +++ b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java @@ -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)); diff --git a/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java index bf3a42a9..26a341b2 100644 --- a/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java +++ b/server/src/main/java/org/apache/sqoop/handler/LinkRequestHandler.java @@ -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)); diff --git a/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java index b4c16f13..5a1ab51e 100644 --- a/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java +++ b/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java @@ -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