5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-09 21:51:01 +08:00

SQOOP-2483: Sqoop2: Findbugs: Fix singleton class problem in AuthenticationManager and AuthorizationManager

(Colin Ma via Jarek Jarcec Cecho)
This commit is contained in:
Jarek Jarcec Cecho 2015-08-15 09:05:27 -07:00
parent bb7c350d55
commit 9ecd944dc5
7 changed files with 27 additions and 29 deletions

View File

@ -33,12 +33,6 @@ public class AuthenticationManager implements Reconfigurable {
*/
public static final String DEFAULT_AUTHENTICATION_HANDLER = "org.apache.sqoop.security.authentication.SimpleAuthenticationHandler";
/**
* Default authentication auto upgrade option value
*/
protected static boolean DEFAULT_AUTO_UPGRADE = false;
/**
* Private instance to singleton of this class.
*/
@ -51,6 +45,11 @@ public class AuthenticationManager implements Reconfigurable {
instance = new AuthenticationManager();
}
/**
* The private constructor for the singleton class,
*/
private AuthenticationManager(){}
/**
* Return current instance.
*
@ -73,16 +72,16 @@ public static void setInstance(AuthenticationManager newInstance) {
}
/**
* Private AuthenticiationHandler to singleton of this class.
* Private Authentication Handler to singleton of this class.
*/
private static AuthenticationHandler authenticationHandler;
private AuthenticationHandler authenticationHandler;
/**
* Return current authentication handler.
*
* @return Current authentication handler
*/
public static AuthenticationHandler getAuthenticationHandler() {
public AuthenticationHandler getAuthenticationHandler() {
return authenticationHandler;
}

View File

@ -18,7 +18,6 @@
package org.apache.sqoop.security;
import org.apache.log4j.Logger;
import org.apache.sqoop.common.MapContext;
import org.apache.sqoop.core.Reconfigurable;
import org.apache.sqoop.core.SqoopConfiguration;
@ -44,11 +43,6 @@ public class AuthorizationManager implements Reconfigurable {
*/
public static final String DEFAULT_SERVER_NAME = "SqoopServer1";
/**
* Default authorization auto upgrade option value
*/
protected static boolean DEFAULT_AUTO_UPGRADE = false;
/**
* Private instance to singleton of this class.
*/
@ -61,6 +55,11 @@ public class AuthorizationManager implements Reconfigurable {
instance = new AuthorizationManager();
}
/**
* The private constructor for the singleton class,
*/
private AuthorizationManager(){}
/**
* Return current instance.
*
@ -83,16 +82,16 @@ public static void setInstance(AuthorizationManager newInstance) {
}
/**
* Private AuthenticiationHandler to singleton of this class.
* Private Authorization Handler to singleton of this class.
*/
private static AuthorizationHandler authorizationHandler;
private AuthorizationHandler authorizationHandler;
/**
* Return current authorization handler.
*
* @return Current authorization handler
*/
public static AuthorizationHandler getAuthorizationHandler() {
public AuthorizationHandler getAuthorizationHandler() {
return authorizationHandler;
}

View File

@ -164,7 +164,7 @@ private static MPrivilege getPrivilege(MResource.TYPE resourceType,
}
private static void checkPrivilege(String doUserName, MPrivilege... privileges) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
MPrincipal principal = new MPrincipal(doUserName, MPrincipal.TYPE.USER);

View File

@ -133,7 +133,7 @@ public JsonBean handleEvent(RequestContext ctx) {
}
private JsonBean getRoles(RequestContext ctx) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
String principal_name = ctx.getParameterValue(PRINCIPAL_NAME_QUERY_PARAM);
String principal_type = ctx.getParameterValue(PRINCIPAL_TYPE_QUERY_PARAM);
@ -153,7 +153,7 @@ private JsonBean getRoles(RequestContext ctx) {
}
private JsonBean getPrincipal(RequestContext ctx) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
String role_name = ctx.getParameterValue(ROLE_NAME_QUERY_PARAM);
@ -201,7 +201,7 @@ private void checkResourceExists(MResource resource) {
}
private JsonBean getPrivilege(RequestContext ctx) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
String principal_name = ctx.getParameterValue(PRINCIPAL_NAME_QUERY_PARAM);
String principal_type = ctx.getParameterValue(PRINCIPAL_TYPE_QUERY_PARAM);
@ -225,7 +225,7 @@ private JsonBean getPrivilege(RequestContext ctx) {
}
private JsonBean createRole(RequestContext ctx) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
RoleBean bean = new RoleBean();
@ -253,7 +253,7 @@ private JsonBean createRole(RequestContext ctx) {
}
private JsonBean grantRevokeRole(RequestContext ctx, boolean isGrant) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
RolesBean rolesBean = new RolesBean();
@ -285,7 +285,7 @@ private JsonBean grantRevokeRole(RequestContext ctx, boolean isGrant) {
}
private JsonBean grantRevokePrivilege(RequestContext ctx, boolean isGrant) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
PrincipalsBean principalsBean = new PrincipalsBean();
@ -330,7 +330,7 @@ private JsonBean grantRevokePrivilege(RequestContext ctx, boolean isGrant) {
}
private JsonBean dropRole(RequestContext ctx) {
AuthorizationHandler handler = AuthorizationManager.getAuthorizationHandler();
AuthorizationHandler handler = AuthorizationManager.getInstance().getAuthorizationHandler();
AuditLoggerManager manager = AuditLoggerManager.getInstance();
String[] urlElements = ctx.getUrlElements();

View File

@ -147,7 +147,7 @@ private JsonBean deleteJob(RequestContext ctx) {
ctx.getRequest().getRemoteAddr(), "delete", "job", jobIdentifier);
repository.deleteJob(jobId);
MResource resource = new MResource(String.valueOf(jobId), MResource.TYPE.JOB);
AuthorizationManager.getAuthorizationHandler().removeResource(resource);
AuthorizationManager.getInstance().getAuthorizationHandler().removeResource(resource);
return JsonBean.EMPTY_BEAN;
}

View File

@ -102,7 +102,7 @@ private JsonBean deleteLink(RequestContext ctx) {
repository.deleteLink(linkId);
MResource resource = new MResource(String.valueOf(linkId), MResource.TYPE.LINK);
AuthorizationManager.getAuthorizationHandler().removeResource(resource);
AuthorizationManager.getInstance().getAuthorizationHandler().removeResource(resource);
return JsonBean.EMPTY_BEAN;
}

View File

@ -121,7 +121,7 @@ public Locale getAcceptLanguageHeader() {
* @return Name of user sending the request
*/
public String getUserName() {
if (AuthenticationManager.getAuthenticationHandler().isSecurityEnabled()) {
if (AuthenticationManager.getInstance().getAuthenticationHandler().isSecurityEnabled()) {
return HttpUserGroupInformation.get().getShortUserName();
} else {
return request.getParameter(PseudoAuthenticator.USER_NAME);