diff --git a/util/src/main/java/org/killbill/billing/util/security/api/DefaultSecurityApi.java b/util/src/main/java/org/killbill/billing/util/security/api/DefaultSecurityApi.java
index f807229..22edced 100644
--- a/util/src/main/java/org/killbill/billing/util/security/api/DefaultSecurityApi.java
+++ b/util/src/main/java/org/killbill/billing/util/security/api/DefaultSecurityApi.java
@@ -1,7 +1,9 @@
/*
* Copyright 2010-2013 Ning, Inc.
+ * Copyright 2014-2016 Groupon, Inc
+ * Copyright 2014-2016 The Billing Project, LLC
*
- * Ning licenses this file to you under the Apache License, version 2.0
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
* (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
*
@@ -21,6 +23,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
@@ -32,8 +35,6 @@ import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authz.AuthorizationException;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.Realm;
-import org.apache.shiro.realm.jdbc.JdbcRealm;
-import org.apache.shiro.subject.PrincipalCollection;
import org.apache.shiro.subject.SimplePrincipalCollection;
import org.apache.shiro.subject.Subject;
import org.killbill.billing.ErrorCode;
@@ -157,7 +158,7 @@ public class DefaultSecurityApi implements SecurityApi {
subject.checkPermission(permissionsString[0]);
}
}
- } catch (AuthorizationException e) {
+ } catch (final AuthorizationException e) {
throw new SecurityApiException(e, ErrorCode.SECURITY_NOT_ENOUGH_PERMISSIONS);
}
}
@@ -178,7 +179,6 @@ public class DefaultSecurityApi implements SecurityApi {
invalidateJDBCAuthorizationCache(username);
}
-
@Override
public void invalidateUser(final String username, final CallContext callContext) throws SecurityApiException {
userDao.invalidateUser(username, callContext.getUserName());
@@ -220,10 +220,9 @@ public class DefaultSecurityApi implements SecurityApi {
throw new SecurityApiException(ErrorCode.SECURITY_INVALID_PERMISSIONS, "null");
}
- final HashMap<String, Set<String>> groupToValues = new HashMap<String, Set<String>>();
+ final Map<String, Set<String>> groupToValues = new HashMap<String, Set<String>>();
for (final String curPerm : permissions) {
-
- if (curPerm.equals("*")) {
+ if ("*".equals(curPerm)) {
return ImmutableList.of("*");
}
@@ -234,9 +233,6 @@ public class DefaultSecurityApi implements SecurityApi {
boolean resolved = false;
for (final Permission cur : Permission.values()) {
- if (resolved) {
- break;
- }
if (!cur.getGroup().equals(permissionParts[0])) {
continue;
}
@@ -246,7 +242,7 @@ public class DefaultSecurityApi implements SecurityApi {
groupPermissions = new HashSet<String>();
groupToValues.put(permissionParts[0], groupPermissions);
}
- if (permissionParts.length == 1 || permissionParts[1].equals("*")) {
+ if (permissionParts.length == 1 || "*".equals(permissionParts[1])) {
groupPermissions.clear();
groupPermissions.add("*");
resolved = true;
@@ -265,9 +261,9 @@ public class DefaultSecurityApi implements SecurityApi {
}
final List<String> sanitizedPermissions = new ArrayList<String>();
- for (String group : groupToValues.keySet()) {
+ for (final String group : groupToValues.keySet()) {
final Set<String> groupPermissions = groupToValues.get(group);
- for (String value : groupPermissions) {
+ for (final String value : groupPermissions) {
sanitizedPermissions.add(String.format("%s:%s", group, value));
}
}
@@ -298,7 +294,7 @@ public class DefaultSecurityApi implements SecurityApi {
}).orNull();
if (killBillJdbcRealm != null) {
- SimplePrincipalCollection principals = new SimplePrincipalCollection();
+ final SimplePrincipalCollection principals = new SimplePrincipalCollection();
principals.add(username, killBillJdbcRealm.getName());
killBillJdbcRealm.clearCachedAuthorizationInfo(principals);
}
diff --git a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/DefaultUserDao.java b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/DefaultUserDao.java
index b5c4363..26644fe 100644
--- a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/DefaultUserDao.java
+++ b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/DefaultUserDao.java
@@ -1,6 +1,6 @@
/*
- * Copyright 2014-2015 Groupon, Inc
- * Copyright 2014-2015 The Billing Project, LLC
+ * Copyright 2014-2016 Groupon, Inc
+ * Copyright 2014-2016 The Billing Project, LLC
*
* The Billing Project licenses this file to you under the Apache License, version 2.0
* (the "License"); you may not use this file except in compliance with the
@@ -61,7 +61,6 @@ public class DefaultUserDao implements UserDao {
@Override
public void insertUser(final String username, final String password, final List<String> roles, final String createdBy) throws SecurityApiException {
-
final ByteSource salt = rng.nextBytes();
final String hashedPasswordBase64 = new SimpleHash(KillbillCredentialsMatcher.HASH_ALGORITHM_NAME,
password, salt.toBase64(), securityConfig.getShiroNbHashIterations()).toBase64();
@@ -99,7 +98,6 @@ public class DefaultUserDao implements UserDao {
return userRolesSqlDao.getByUsername(username);
}
});
-
}
@Override
@@ -108,13 +106,12 @@ public class DefaultUserDao implements UserDao {
dbi.inTransaction(new TransactionCallback<Void>() {
@Override
public Void inTransaction(final Handle handle, final TransactionStatus status) throws Exception {
-
final RolesPermissionsSqlDao rolesPermissionsSqlDao = handle.attach(RolesPermissionsSqlDao.class);
- final List<RolesPermissionsModelDao> existingRole = rolesPermissionsSqlDao.getByRoleName(role);
+ final List<RolesPermissionsModelDao> existingRole = rolesPermissionsSqlDao.getByRoleName(role);
if (!existingRole.isEmpty()) {
throw new SecurityApiException(ErrorCode.SECURITY_ROLE_ALREADY_EXISTS, role);
}
- for (String permission : permissions) {
+ for (final String permission : permissions) {
rolesPermissionsSqlDao.create(new RolesPermissionsModelDao(role, permission, createdDate, createdBy));
}
return null;
@@ -136,7 +133,6 @@ public class DefaultUserDao implements UserDao {
@Override
public void updateUserPassword(final String username, final String password, final String updatedBy) throws SecurityApiException {
-
final ByteSource salt = rng.nextBytes();
final String hashedPasswordBase64 = new SimpleHash(KillbillCredentialsMatcher.HASH_ALGORITHM_NAME,
password, salt.toBase64(), securityConfig.getShiroNbHashIterations()).toBase64();
@@ -204,7 +200,6 @@ public class DefaultUserDao implements UserDao {
dbi.inTransaction(new TransactionCallback<Void>() {
@Override
public Void inTransaction(final Handle handle, final TransactionStatus status) throws Exception {
-
final DateTime updatedDate = clock.getUTCNow();
final UsersSqlDao usersSqlDao = handle.attach(UsersSqlDao.class);
final UserModelDao userModelDao = usersSqlDao.getByUsername(username);