diff --git a/src/main/java/ch/eitchnet/privilege/handler/DefaultEncryptionHandler.java b/src/main/java/ch/eitchnet/privilege/handler/DefaultEncryptionHandler.java
index 792e6b9bb..5c083dbbe 100644
--- a/src/main/java/ch/eitchnet/privilege/handler/DefaultEncryptionHandler.java
+++ b/src/main/java/ch/eitchnet/privilege/handler/DefaultEncryptionHandler.java
@@ -19,14 +19,15 @@ import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
+import java.text.MessageFormat;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.eitchnet.privilege.base.PrivilegeException;
-import ch.eitchnet.privilege.helper.HashHelper;
import ch.eitchnet.privilege.helper.XmlConstants;
+import ch.eitchnet.utils.helper.StringHelper;
/**
*
@@ -60,27 +61,25 @@ public class DefaultEncryptionHandler implements EncryptionHandler {
@Override
public String convertToHash(String string) {
- try {
-
- return HashHelper.stringToHash(this.hashAlgorithm, string);
-
- } catch (NoSuchAlgorithmException e) {
- throw new PrivilegeException("Algorithm " + this.hashAlgorithm + " was not found!", e);
- } catch (UnsupportedEncodingException e) {
- throw new PrivilegeException("Charset ASCII is not supported!", e);
- }
+ return convertToHash(string.getBytes());
}
@Override
public String convertToHash(byte[] bytes) {
try {
- return HashHelper.stringToHash(this.hashAlgorithm, bytes);
+ return StringHelper.hashAsHex(this.hashAlgorithm, bytes);
- } catch (NoSuchAlgorithmException e) {
- throw new PrivilegeException("Algorithm " + this.hashAlgorithm + " was not found!", e);
- } catch (UnsupportedEncodingException e) {
- throw new PrivilegeException("Charset ASCII is not supported!", e);
+ } catch (RuntimeException e) {
+ if (e.getCause() == null)
+ throw e;
+ if (e.getCause().getClass().equals(NoSuchAlgorithmException.class))
+ throw new PrivilegeException(
+ MessageFormat.format("Algorithm {0} was not found!", this.hashAlgorithm), e.getCause()); //$NON-NLS-1$
+ if (e.getCause().getClass().equals(UnsupportedEncodingException.class))
+ throw new PrivilegeException("Charset ASCII is not supported!", e.getCause()); //$NON-NLS-1$
+
+ throw e;
}
}
@@ -100,18 +99,21 @@ public class DefaultEncryptionHandler implements EncryptionHandler {
// get hash algorithm parameters
this.hashAlgorithm = parameterMap.get(XmlConstants.XML_PARAM_HASH_ALGORITHM);
if (this.hashAlgorithm == null || this.hashAlgorithm.isEmpty()) {
- throw new PrivilegeException("[" + EncryptionHandler.class.getName() + "] Defined parameter "
- + XmlConstants.XML_PARAM_HASH_ALGORITHM + " is invalid");
+ String msg = "[{0}] Defined parameter {1} is invalid"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, EncryptionHandler.class.getName(), XmlConstants.XML_PARAM_HASH_ALGORITHM);
+ throw new PrivilegeException(msg);
}
// test hash algorithm
try {
- convertToHash("test");
- DefaultEncryptionHandler.logger.info("Using hashing algorithm " + this.hashAlgorithm);
+ convertToHash("test"); //$NON-NLS-1$
+ DefaultEncryptionHandler.logger.info(MessageFormat
+ .format("Using hashing algorithm {0}", this.hashAlgorithm)); //$NON-NLS-1$
} catch (Exception e) {
- throw new PrivilegeException("[" + EncryptionHandler.class.getName() + "] Defined parameter "
- + XmlConstants.XML_PARAM_HASH_ALGORITHM + " is invalid because of underlying exception: "
- + e.getLocalizedMessage(), e);
+ String msg = "[{0}] Defined parameter {1} is invalid because of underlying exception: {2}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, EncryptionHandler.class.getName(), XmlConstants.XML_PARAM_HASH_ALGORITHM,
+ e.getLocalizedMessage());
+ throw new PrivilegeException(msg, e);
}
}
}
diff --git a/src/main/java/ch/eitchnet/privilege/handler/DefaultPrivilegeHandler.java b/src/main/java/ch/eitchnet/privilege/handler/DefaultPrivilegeHandler.java
index efdfd9f2d..66fdb4ef4 100644
--- a/src/main/java/ch/eitchnet/privilege/handler/DefaultPrivilegeHandler.java
+++ b/src/main/java/ch/eitchnet/privilege/handler/DefaultPrivilegeHandler.java
@@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory;
import ch.eitchnet.privilege.base.AccessDeniedException;
import ch.eitchnet.privilege.base.PrivilegeException;
-import ch.eitchnet.privilege.helper.ClassHelper;
import ch.eitchnet.privilege.model.Certificate;
import ch.eitchnet.privilege.model.IPrivilege;
import ch.eitchnet.privilege.model.PrivilegeContext;
@@ -42,6 +41,7 @@ import ch.eitchnet.privilege.model.internal.PrivilegeImpl;
import ch.eitchnet.privilege.model.internal.Role;
import ch.eitchnet.privilege.model.internal.User;
import ch.eitchnet.privilege.policy.PrivilegePolicy;
+import ch.eitchnet.utils.helper.ClassHelper;
/**
*
@@ -66,7 +66,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
/**
* configuration parameter to define automatic persisting on password change
*/
- private static final String PARAM_AUTO_PERSIST_ON_PASSWORD_CHANGE = "autoPersistOnPasswordChange";
+ private static final String PARAM_AUTO_PERSIST_ON_PASSWORD_CHANGE = "autoPersistOnPasswordChange"; //$NON-NLS-1$
/**
* slf4j logger
@@ -327,14 +327,16 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get role
Role role = this.persistenceHandler.getRole(roleName);
if (role == null) {
- throw new PrivilegeException("Role " + roleName + " does not exist!");
+ String msg = MessageFormat.format("Role {0} does not exist!", roleName); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
}
// validate that policy exists if needed
String policy = privilegeRep.getPolicy();
if (policy != null && !this.policyMap.containsKey(policy)) {
- throw new PrivilegeException("Policy " + policy + " for Privilege " + privilegeRep.getName()
- + " does not exist");
+ String msg = "Policy {0} for Privilege {1} does not exist"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, policy, privilegeRep.getName());
+ throw new PrivilegeException(msg);
}
// create new role with the additional privilege
@@ -364,19 +366,21 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get user
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
// ignore if user already has role
Set currentRoles = user.getRoles();
if (currentRoles.contains(roleName)) {
- DefaultPrivilegeHandler.logger.error("User " + username + " already has role " + roleName);
+ String msg = MessageFormat.format("User {0} already has role {1}", username, roleName); //$NON-NLS-1$
+ DefaultPrivilegeHandler.logger.error(msg);
return;
}
// validate that role exists
if (getRole(roleName) == null) {
- throw new PrivilegeException("Role " + roleName + " does not exist!");
+ String msg = MessageFormat.format("Role {0} does not exist!", roleName); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
}
// create new user
@@ -399,12 +403,14 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get role
Role role = this.persistenceHandler.getRole(roleName);
if (role == null) {
- throw new PrivilegeException("Role " + roleName + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("Role {0} does not exist!", roleName)); //$NON-NLS-1$
}
// ignore if role does not have privilege
- if (!role.hasPrivilege(privilegeName))
- throw new PrivilegeException("Role " + roleName + " does not have Privilege " + privilegeName);
+ if (!role.hasPrivilege(privilegeName)) {
+ String msg = MessageFormat.format("Role {0} does not have Privilege {1}", roleName, privilegeName); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
+ }
// create new set of privileges with out the to removed privilege
Set privilegeNames = role.getPrivilegeNames();
@@ -447,13 +453,14 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get User
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
// ignore if user does not have role
Set currentRoles = user.getRoles();
if (!currentRoles.contains(roleName)) {
- DefaultPrivilegeHandler.logger.error("User " + user + " does not have role " + roleName);
+ String msg = MessageFormat.format("User {0} does not have role {1}", user, roleName); //$NON-NLS-1$
+ logger.error(msg);
return;
}
@@ -494,7 +501,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get User
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
// create new user
@@ -514,7 +521,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get User
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
// create new user
@@ -548,7 +555,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get User
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
String passwordHash = null;
@@ -587,7 +594,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get User
User user = this.persistenceHandler.getUser(username);
if (user == null) {
- throw new PrivilegeException("User " + username + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("User {0} does not exist!", username)); //$NON-NLS-1$
}
// create new user
@@ -611,8 +618,10 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
Certificate certificate;
try {
// username must be at least 2 characters in length
- if (username == null || username.length() < 2)
- throw new PrivilegeException("The given username '" + username + "' is shorter than 2 characters");
+ if (username == null || username.length() < 2) {
+ String msg = MessageFormat.format("The given username ''{0}'' is shorter than 2 characters", username); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
+ }
// and validate the password
validatePassword(password);
@@ -623,26 +632,32 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get user object
User user = this.persistenceHandler.getUser(username);
// no user means no authentication
- if (user == null)
- throw new AccessDeniedException("There is no user defined with the username " + username);
+ if (user == null) {
+ String msg = MessageFormat.format("There is no user defined with the username {0}", username); //$NON-NLS-1$
+ throw new AccessDeniedException(msg);
+ }
// validate password
String pwHash = user.getPassword();
if (pwHash == null)
- throw new AccessDeniedException("User " + username + " has no password and may not login!");
+ throw new AccessDeniedException(MessageFormat.format(
+ "User {0} has no password and may not login!", username)); //$NON-NLS-1$
if (!pwHash.equals(passwordHash))
- throw new AccessDeniedException("Password is incorrect for " + username);
+ throw new AccessDeniedException(MessageFormat.format("Password is incorrect for {0}", username)); //$NON-NLS-1$
// validate if user is allowed to login
// this also capture the trying to login of SYSTEM user
- if (user.getUserState() != UserState.ENABLED)
- throw new AccessDeniedException("User " + username + " does not have state " + UserState.ENABLED
- + " and can not login!");
+ if (user.getUserState() != UserState.ENABLED) {
+ String msg = "User {0} does not have state {1} and can not login!"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, username, UserState.ENABLED);
+ throw new AccessDeniedException(msg);
+ }
// validate user has at least one role
Set userRoles = user.getRoles();
if (userRoles.isEmpty()) {
- throw new PrivilegeException("User " + username + " does not have any roles defined!");
+ throw new PrivilegeException(
+ MessageFormat.format("User {0} does not have any roles defined!", username)); //$NON-NLS-1$
}
// get 2 auth tokens
@@ -660,11 +675,13 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
this.privilegeContextMap.put(sessionId, privilegeContext);
// log
- DefaultPrivilegeHandler.logger.info("User " + username + " authenticated: " + certificate);
+ DefaultPrivilegeHandler.logger.info(MessageFormat.format(
+ "User {0} authenticated: {1}", username, certificate)); //$NON-NLS-1$
} catch (RuntimeException e) {
- DefaultPrivilegeHandler.logger.error("User " + username + " Failed to authenticate: "
- + e.getLocalizedMessage());
+ String msg = "User {0} Failed to authenticate: {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, username, e.getMessage());
+ DefaultPrivilegeHandler.logger.error(msg);
throw e;
} finally {
clearPassword(password);
@@ -700,8 +717,9 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
IPrivilege privilege = role.getPrivilege(privilegeName);
if (privilege == null) {
- throw new PrivilegeException(MessageFormat.format("The Privilege {0} does not exist for role {1}",
- privilegeName, roleName));
+ String msg = "The Privilege {0} does not exist for role {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, privilegeName, roleName);
+ throw new PrivilegeException(msg);
}
privileges.put(privilegeName, privilege);
@@ -712,8 +730,9 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
PrivilegePolicy policy = getPolicy(policyName);
if (policy == null) {
- throw new PrivilegeException(MessageFormat.format(
- "The Policy {0} does not exist for Privilege {1}", policyName, privilegeName));
+ String msg = "The Policy {0} does not exist for Privilege {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, policyName, privilegeName);
+ throw new PrivilegeException(msg);
}
policies.put(policyName, policy);
}
@@ -736,9 +755,10 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// return true if object was really removed
boolean loggedOut = privilegeContext != null;
if (loggedOut)
- DefaultPrivilegeHandler.logger.info("User " + certificate.getUsername() + " logged out.");
+ DefaultPrivilegeHandler.logger
+ .info(MessageFormat.format("User {0} logged out.", certificate.getUsername())); //$NON-NLS-1$
else
- DefaultPrivilegeHandler.logger.warn("User already logged out!");
+ DefaultPrivilegeHandler.logger.warn("User already logged out!"); //$NON-NLS-1$
return loggedOut;
}
@@ -747,25 +767,30 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// certificate must not be null
if (certificate == null)
- throw new PrivilegeException("Certificate may not be null!");
+ throw new PrivilegeException("Certificate may not be null!"); //$NON-NLS-1$
// first see if a session exists for this certificate
PrivilegeContext privilegeContext = this.privilegeContextMap.get(certificate.getSessionId());
- if (privilegeContext == null)
- throw new AccessDeniedException("There is no session information for " + certificate.toString());
+ if (privilegeContext == null) {
+ String msg = MessageFormat.format("There is no session information for {0}", certificate); //$NON-NLS-1$
+ throw new AccessDeniedException(msg);
+ }
// validate certificate has not been tampered with
Certificate sessionCertificate = privilegeContext.getCertificate();
- if (!sessionCertificate.equals(certificate))
- throw new PrivilegeException("Received illegal certificate for session id " + certificate.getSessionId());
+ if (!sessionCertificate.equals(certificate)) {
+ String msg = "Received illegal certificate for session id {0}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, certificate.getSessionId());
+ throw new PrivilegeException(msg);
+ }
// get user object
User user = this.persistenceHandler.getUser(privilegeContext.getUsername());
// if user exists, then certificate is valid
if (user == null) {
- throw new PrivilegeException(
- "Oh boy, how did this happen: No User in user map although the certificate is valid!");
+ String msg = "Oh boy, how did this happen: No User in user map although the certificate is valid!"; //$NON-NLS-1$
+ throw new PrivilegeException(msg);
}
// everything is ok
@@ -789,15 +814,16 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get user object
User user = this.persistenceHandler.getUser(certificate.getUsername());
if (user == null) {
- throw new PrivilegeException(
- "Oh boy, how did this happen: No User in user map although the certificate is valid! Certificate: "
- + certificate);
+ String msg = "Oh boy, how did this happen: No User in user map although the certificate is valid! Certificate: {0}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, certificate);
+ throw new PrivilegeException(msg);
}
// validate user has PrivilegeAdmin role
if (!user.hasRole(PrivilegeHandler.PRIVILEGE_ADMIN_ROLE)) {
- throw new AccessDeniedException("User does not have " + PrivilegeHandler.PRIVILEGE_ADMIN_ROLE
- + " role! Certificate: " + certificate);
+ String msg = "User does not have {0} role! Certificate: {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, PrivilegeHandler.PRIVILEGE_ADMIN_ROLE, certificate);
+ throw new AccessDeniedException(msg);
}
}
@@ -810,11 +836,11 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
public void validatePassword(byte[] password) throws PrivilegeException {
if (password == null || password.length == 0) {
- throw new PrivilegeException("A password may not be empty!");
+ throw new PrivilegeException("A password may not be empty!"); //$NON-NLS-1$
}
if (password.length < 3) {
- throw new PrivilegeException("The given password is shorter than 3 characters");
+ throw new PrivilegeException("The given password is shorter than 3 characters"); //$NON-NLS-1$
}
}
@@ -848,7 +874,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
PersistenceHandler persistenceHandler, Map> policyMap) {
if (this.initialized)
- throw new PrivilegeException("Already initialized!");
+ throw new PrivilegeException("Already initialized!"); //$NON-NLS-1$
this.policyMap = policyMap;
this.encryptionHandler = encryptionHandler;
@@ -859,10 +885,11 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
this.autoPersistOnPasswordChange = false;
} else if (autoPersistS.equals(Boolean.TRUE.toString())) {
this.autoPersistOnPasswordChange = true;
- logger.info("Enabling automatic persistence on password change.");
+ logger.info("Enabling automatic persistence on password change."); //$NON-NLS-1$
} else {
- logger.error("Parameter " + PARAM_AUTO_PERSIST_ON_PASSWORD_CHANGE + " has illegal value " + autoPersistS
- + ". Overriding with " + Boolean.FALSE.toString());
+ String msg = "Parameter {0} has illegal value {1}. Overriding with {2}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, PARAM_AUTO_PERSIST_ON_PASSWORD_CHANGE, autoPersistS, Boolean.FALSE);
+ logger.error(msg);
}
// validate policies on privileges of Roles
@@ -886,8 +913,9 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
IPrivilege privilege = role.getPrivilege(privilegeName);
String policy = privilege.getPolicy();
if (policy != null && !this.policyMap.containsKey(policy)) {
- throw new PrivilegeException("Policy " + policy + " for Privilege " + privilege.getName()
- + " does not exist on role " + role);
+ String msg = "Policy {0} for Privilege {1} does not exist on role {2}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, policy, privilege.getName(), role);
+ throw new PrivilegeException(msg);
}
}
}
@@ -918,18 +946,18 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
public void runAsSystem(String systemUsername, SystemUserAction action) throws PrivilegeException {
if (systemUsername == null)
- throw new PrivilegeException("systemUsername may not be null!");
+ throw new PrivilegeException("systemUsername may not be null!"); //$NON-NLS-1$
if (action == null)
- throw new PrivilegeException("action may not be null!");
+ throw new PrivilegeException("action may not be null!"); //$NON-NLS-1$
// get the system user
User systemUser = this.persistenceHandler.getUser(systemUsername);
if (systemUser == null)
- throw new PrivilegeException("System user " + systemUsername + " does not exist!");
+ throw new PrivilegeException(MessageFormat.format("System user {0} does not exist!", systemUsername)); //$NON-NLS-1$
// validate this is a system user
if (systemUser.getUserState() != UserState.SYSTEM)
- throw new PrivilegeException("User " + systemUsername + " is not a System user!");
+ throw new PrivilegeException(MessageFormat.format("User {0} is not a System user!", systemUsername)); //$NON-NLS-1$
// validate this system user may perform the given action
String actionClassname = action.getClass().getName();
@@ -966,7 +994,8 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
}
// default throw exception, as the user does not have the privilege
- throw new PrivilegeException("User " + user.getUsername() + " does not have Privilege " + privilegeName);
+ String msg = MessageFormat.format("User {0} does not have Privilege {1}", user.getUsername(), privilegeName); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
}
/**
@@ -986,24 +1015,33 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
// get user object
User user = this.persistenceHandler.getUser(systemUsername);
// no user means no authentication
- if (user == null)
- throw new AccessDeniedException("The system user with username " + systemUsername + " does not exist!");
+ if (user == null) {
+ String msg = MessageFormat.format("The system user with username {0} does not exist!", systemUsername); //$NON-NLS-1$
+ throw new AccessDeniedException(msg);
+ }
// validate password
String pwHash = user.getPassword();
- if (pwHash == null)
- throw new AccessDeniedException("System user " + systemUsername + " has no password and may not login!");
- if (!pwHash.equals(passwordHash))
- throw new AccessDeniedException("System user " + systemUsername + " has an incorrect password defined!");
+ if (pwHash == null) {
+ String msg = MessageFormat.format("System user {0} has no password and may not login!", systemUsername); //$NON-NLS-1$
+ throw new AccessDeniedException(msg);
+ }
+ if (!pwHash.equals(passwordHash)) {
+ String msg = MessageFormat.format("System user {0} has an incorrect password defined!", systemUsername); //$NON-NLS-1$
+ throw new AccessDeniedException(msg);
+ }
// validate user state is system
- if (user.getUserState() != UserState.SYSTEM)
- throw new PrivilegeException("The system " + systemUsername + " user does not have expected user state "
- + UserState.SYSTEM);
+ if (user.getUserState() != UserState.SYSTEM) {
+ String msg = "The system {0} user does not have expected user state {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, systemUsername, UserState.SYSTEM);
+ throw new PrivilegeException(msg);
+ }
// validate user has at least one role
if (user.getRoles().isEmpty()) {
- throw new PrivilegeException("The system user " + systemUsername + " does not have any roles defined!");
+ String msg = MessageFormat.format("The system user {0} does not have any roles defined!", systemUsername); //$NON-NLS-1$
+ throw new PrivilegeException(msg);
}
// get 2 auth tokens
@@ -1021,8 +1059,9 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
PrivilegeContext privilegeContext = buildPrivilegeContext(systemUserCertificate, user);
// log
- DefaultPrivilegeHandler.logger.info("The system user " + systemUsername + " is logged in with session "
- + systemUserCertificate);
+ String msg = "The system user {0} is logged in with session {1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, systemUsername, systemUserCertificate);
+ DefaultPrivilegeHandler.logger.info(msg);
return privilegeContext;
}
@@ -1055,8 +1094,9 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
try {
policy = ClassHelper.instantiateClass(policyClazz);
} catch (Exception e) {
- throw new PrivilegeException("The class for the policy with the name " + policyName + " does not exist!"
- + policyName, e);
+ String msg = "The class for the policy with the name {0} does not exist!{1}"; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, policyName, policyName);
+ throw new PrivilegeException(msg, e);
}
return policy;
diff --git a/src/main/java/ch/eitchnet/privilege/handler/PrivilegeHandler.java b/src/main/java/ch/eitchnet/privilege/handler/PrivilegeHandler.java
index 52832c2c8..fafd54bdc 100644
--- a/src/main/java/ch/eitchnet/privilege/handler/PrivilegeHandler.java
+++ b/src/main/java/ch/eitchnet/privilege/handler/PrivilegeHandler.java
@@ -43,7 +43,7 @@ public interface PrivilegeHandler {
/**
* PRIVILEGE_ADMIN_ROLE = PrivilegeAdmin: This is the role users must have, if they are allowed to modify objects
*/
- public static final String PRIVILEGE_ADMIN_ROLE = "PrivilegeAdmin";
+ public static final String PRIVILEGE_ADMIN_ROLE = "PrivilegeAdmin"; //$NON-NLS-1$
/**
* Returns a {@link UserRep} for the given username
diff --git a/src/main/java/ch/eitchnet/privilege/helper/BootstrapConfigurationHelper.java b/src/main/java/ch/eitchnet/privilege/helper/BootstrapConfigurationHelper.java
index c6a052942..f9d3b158b 100644
--- a/src/main/java/ch/eitchnet/privilege/helper/BootstrapConfigurationHelper.java
+++ b/src/main/java/ch/eitchnet/privilege/helper/BootstrapConfigurationHelper.java
@@ -40,6 +40,7 @@ import ch.eitchnet.privilege.xml.PrivilegeConfigDomWriter;
*
* @author Robert von Burg
*/
+@SuppressWarnings("nls")
public class BootstrapConfigurationHelper {
// private static final Logger logger = Loggerdoc.getLogger(BootstrapConfigurationHelper.class);
diff --git a/src/main/java/ch/eitchnet/privilege/helper/ClassHelper.java b/src/main/java/ch/eitchnet/privilege/helper/ClassHelper.java
deleted file mode 100644
index cad6e5fb5..000000000
--- a/src/main/java/ch/eitchnet/privilege/helper/ClassHelper.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2013 Robert von Burg
- *
- * Licensed 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package ch.eitchnet.privilege.helper;
-
-import ch.eitchnet.privilege.base.PrivilegeException;
-
-/**
- * The {@link ClassHelper} class is a helper to instantiate classes using reflection
- *
- * @author Robert von Burg
- */
-public class ClassHelper {
-
- /**
- * Returns an instance of the class' name given by instantiating the class through an empty arguments constructor
- *
- * @param
- * the type of the class to return
- * @param className
- * the name of a class to instantiate through an empty arguments constructor
- *
- * @return the newly instantiated object from the given class name
- *
- * @throws PrivilegeException
- * if the class could not be instantiated
- */
- @SuppressWarnings("unchecked")
- public static T instantiateClass(String className) throws PrivilegeException {
- try {
-
- Class clazz = (Class) Class.forName(className);
-
- return clazz.getConstructor().newInstance();
-
- } catch (Exception e) {
- throw new PrivilegeException("The class " + className + " could not be instantiated: ", e);
- }
- }
-
- /**
- * Instantiates an object for the given {@link Class} using an empty arguments constructor
- *
- * @param
- * the type of the class to return
- * @param clazz
- * the {@link Class} from which a new object is to be instantiated using an empty arguments constructor
- *
- * @return the newly instantiated object from the given {@link Class}
- *
- * @throws PrivilegeException
- * if the {@link Class} could not be instantiated
- */
- public static T instantiateClass(Class clazz) throws PrivilegeException {
- try {
-
- return clazz.getConstructor().newInstance();
-
- } catch (Exception e) {
- throw new PrivilegeException("The class " + clazz.getName() + " could not be instantiated: ", e);
- }
- }
-
- /**
- * Loads the {@link Class} object for the given class name
- *
- * @param
- * the type of {@link Class} to return
- * @param className
- * the name of the {@link Class} to load and return
- *
- * @return the {@link Class} object for the given class name
- *
- * @throws PrivilegeException
- * if the class could not be instantiated
- */
- @SuppressWarnings("unchecked")
- public static Class loadClass(String className) throws PrivilegeException {
- try {
-
- Class clazz = (Class) Class.forName(className);
-
- return clazz;
-
- } catch (Exception e) {
- throw new PrivilegeException("The class " + className + " could not be instantiated: ", e);
- }
- }
-}
diff --git a/src/main/java/ch/eitchnet/privilege/helper/HashHelper.java b/src/main/java/ch/eitchnet/privilege/helper/HashHelper.java
deleted file mode 100644
index 01fef9e5f..000000000
--- a/src/main/java/ch/eitchnet/privilege/helper/HashHelper.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2013 Robert von Burg
- *
- * Licensed 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package ch.eitchnet.privilege.helper;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * Helper class to hash a String for a certain hash algorithm, using the Java {@link MessageDigest} classes
- *
- * @author Robert von Burg
- */
-public class HashHelper {
-
- /**
- * Hex char table for fast calculating of hex values
- */
- private static final byte[] HEX_CHAR_TABLE = { (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4',
- (byte) '5', (byte) '6', (byte) '7', (byte) '8', (byte) '9', (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd',
- (byte) 'e', (byte) 'f' };
-
- /**
- * Creates the hash of the given string using {@link MessageDigest} and the defined hash algorithm
- *
- * @param hashAlgorithm
- * the algorithm to use for hashing
- * @param string
- * the string to hash
- *
- * @return a new string encrypted by the defined algorithm
- *
- * @throws NoSuchAlgorithmException
- * if the algorithm is not found
- * @throws UnsupportedEncodingException
- * if something is wrong with the given string to hash
- */
- public static String stringToHash(String hashAlgorithm, String string) throws NoSuchAlgorithmException,
- UnsupportedEncodingException {
- return HashHelper.stringToHash(hashAlgorithm, string.getBytes());
- }
-
- /**
- * Creates the hash of the given string using {@link MessageDigest} and the defined hash algorithm
- *
- * @param hashAlgorithm
- * the algorithm to use for hashing
- * @param bytes
- * the bytes to hash
- *
- * @return a new string encrypted by the defined algorithm
- *
- * @throws NoSuchAlgorithmException
- * if the algorithm is not found
- * @throws UnsupportedEncodingException
- * if something is wrong with the given string to hash
- */
- public static String stringToHash(String hashAlgorithm, byte[] bytes) throws NoSuchAlgorithmException,
- UnsupportedEncodingException {
-
- MessageDigest digest = MessageDigest.getInstance(hashAlgorithm);
- byte[] hashArray = digest.digest(bytes);
-
- byte[] hex = new byte[2 * hashArray.length];
- int index = 0;
-
- for (byte b : hashArray) {
- int v = b & 0xFF;
- hex[index++] = HashHelper.HEX_CHAR_TABLE[v >>> 4];
- hex[index++] = HashHelper.HEX_CHAR_TABLE[v & 0xF];
- }
-
- return new String(hex, "ASCII");
- }
-}
diff --git a/src/main/java/ch/eitchnet/privilege/helper/PasswordCreaterUI.java b/src/main/java/ch/eitchnet/privilege/helper/PasswordCreaterUI.java
index fe58b86f5..d409a196e 100644
--- a/src/main/java/ch/eitchnet/privilege/helper/PasswordCreaterUI.java
+++ b/src/main/java/ch/eitchnet/privilege/helper/PasswordCreaterUI.java
@@ -31,11 +31,14 @@ import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
+import ch.eitchnet.utils.helper.StringHelper;
+
/**
* Simple Swing UI to create passwords
*
* @author Robert von Burg
*/
+@SuppressWarnings("nls")
public class PasswordCreaterUI {
/**
@@ -91,7 +94,7 @@ public class PasswordCreaterUI {
String digest = (String) digestCombo.getSelectedItem();
char[] passwordChar = passwordField.getPassword();
String password = new String(passwordChar);
- String hash = HashHelper.stringToHash(digest, password);
+ String hash = StringHelper.hashAsHex(digest, password);
hashField.setText(hash);
} catch (Exception e1) {
e1.printStackTrace();
diff --git a/src/main/java/ch/eitchnet/privilege/helper/PasswordCreator.java b/src/main/java/ch/eitchnet/privilege/helper/PasswordCreator.java
index 6285b4d5a..81e3bf567 100644
--- a/src/main/java/ch/eitchnet/privilege/helper/PasswordCreator.java
+++ b/src/main/java/ch/eitchnet/privilege/helper/PasswordCreator.java
@@ -19,6 +19,8 @@ import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.security.MessageDigest;
+import ch.eitchnet.utils.helper.StringHelper;
+
/**
*
* Simple main class which can be used to create a hash from a password which the user must type in at the command line
@@ -38,6 +40,7 @@ public class PasswordCreator {
* @throws Exception
* thrown if anything goes wrong
*/
+ @SuppressWarnings("nls")
public static void main(String[] args) throws Exception {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
@@ -63,7 +66,7 @@ public class PasswordCreator {
System.out.print("Password: ");
String password = r.readLine().trim();
- System.out.print("Hash is: " + HashHelper.stringToHash(hashAlgorithm, password));
+ System.out.print("Hash is: " + StringHelper.hashAsHex(hashAlgorithm, password));
}
}
diff --git a/src/main/java/ch/eitchnet/privilege/helper/PrivilegeInitializationHelper.java b/src/main/java/ch/eitchnet/privilege/helper/PrivilegeInitializationHelper.java
index ba51d5556..03bc8d21e 100644
--- a/src/main/java/ch/eitchnet/privilege/helper/PrivilegeInitializationHelper.java
+++ b/src/main/java/ch/eitchnet/privilege/helper/PrivilegeInitializationHelper.java
@@ -29,6 +29,7 @@ import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.model.internal.PrivilegeContainerModel;
import ch.eitchnet.privilege.policy.PrivilegePolicy;
import ch.eitchnet.privilege.xml.PrivilegeConfigSaxReader;
+import ch.eitchnet.utils.helper.ClassHelper;
import ch.eitchnet.utils.helper.XmlHelper;
/**
diff --git a/src/main/java/ch/eitchnet/privilege/helper/XmlConstants.java b/src/main/java/ch/eitchnet/privilege/helper/XmlConstants.java
index 068fc01a7..079fe433d 100644
--- a/src/main/java/ch/eitchnet/privilege/helper/XmlConstants.java
+++ b/src/main/java/ch/eitchnet/privilege/helper/XmlConstants.java
@@ -20,6 +20,7 @@ package ch.eitchnet.privilege.helper;
*
* @author Robert von Burg
*/
+@SuppressWarnings("nls")
public class XmlConstants {
/**
diff --git a/src/main/java/ch/eitchnet/privilege/model/Certificate.java b/src/main/java/ch/eitchnet/privilege/model/Certificate.java
index 28ea2420f..503f49515 100644
--- a/src/main/java/ch/eitchnet/privilege/model/Certificate.java
+++ b/src/main/java/ch/eitchnet/privilege/model/Certificate.java
@@ -72,16 +72,16 @@ public final class Certificate implements Serializable {
// validate arguments are not null
if (StringHelper.isEmpty(sessionId)) {
- throw new PrivilegeException("sessionId is null!");
+ throw new PrivilegeException("sessionId is null!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(username)) {
- throw new PrivilegeException("username is null!");
+ throw new PrivilegeException("username is null!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(authToken)) {
- throw new PrivilegeException("authToken is null!");
+ throw new PrivilegeException("authToken is null!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(authPassword)) {
- throw new PrivilegeException("authPassword is null!");
+ throw new PrivilegeException("authPassword is null!"); //$NON-NLS-1$
}
this.sessionId = sessionId;
@@ -162,6 +162,7 @@ public final class Certificate implements Serializable {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/PrivilegeContext.java b/src/main/java/ch/eitchnet/privilege/model/PrivilegeContext.java
index 3889bfe11..d7780b635 100644
--- a/src/main/java/ch/eitchnet/privilege/model/PrivilegeContext.java
+++ b/src/main/java/ch/eitchnet/privilege/model/PrivilegeContext.java
@@ -94,7 +94,7 @@ public class PrivilegeContext {
String privilegeName = restrictable.getPrivilegeName();
IPrivilege privilege = this.privileges.get(privilegeName);
if (privilege == null) {
- String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"),
+ String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"), //$NON-NLS-1$
getUsername(), privilegeName, restrictable.getClass().getName());
throw new AccessDeniedException(msg);
}
@@ -103,7 +103,7 @@ public class PrivilegeContext {
String policyName = privilege.getPolicy();
PrivilegePolicy policy = this.policies.get(policyName);
if (policy == null) {
- String msg = "The PrivilegePolicy {0} does not exist on the PrivilegeContext!";
+ String msg = "The PrivilegePolicy {0} does not exist on the PrivilegeContext!"; //$NON-NLS-1$
throw new PrivilegeException(MessageFormat.format(msg, policyName));
}
@@ -130,7 +130,7 @@ public class PrivilegeContext {
public static PrivilegeContext get() throws PrivilegeException {
PrivilegeContext privilegeContext = PrivilegeContext.threadLocal.get();
if (privilegeContext == null) {
- throw new PrivilegeException("There is no PrivilegeContext currently bound to the ThreadLocal!");
+ throw new PrivilegeException("There is no PrivilegeContext currently bound to the ThreadLocal!"); //$NON-NLS-1$
}
return privilegeContext;
}
@@ -148,7 +148,7 @@ public class PrivilegeContext {
public static void set(PrivilegeContext privilegeContext) throws PrivilegeException {
PrivilegeContext currentContext = PrivilegeContext.threadLocal.get();
if (privilegeContext != null && currentContext != null) {
- throw new PrivilegeException("There already is a PrivilegeContext bound to the ThreadLocal!");
+ throw new PrivilegeException("There already is a PrivilegeContext bound to the ThreadLocal!"); //$NON-NLS-1$
}
PrivilegeContext.threadLocal.set(privilegeContext);
}
diff --git a/src/main/java/ch/eitchnet/privilege/model/PrivilegeRep.java b/src/main/java/ch/eitchnet/privilege/model/PrivilegeRep.java
index 10c20da2e..e2c1a3a39 100644
--- a/src/main/java/ch/eitchnet/privilege/model/PrivilegeRep.java
+++ b/src/main/java/ch/eitchnet/privilege/model/PrivilegeRep.java
@@ -72,18 +72,18 @@ public class PrivilegeRep implements Serializable {
public void validate() {
if (StringHelper.isEmpty(this.name)) {
- throw new PrivilegeException("No name defined!");
+ throw new PrivilegeException("No name defined!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(this.policy)) {
- throw new PrivilegeException("policy is null!");
+ throw new PrivilegeException("policy is null!"); //$NON-NLS-1$
}
if (this.denyList == null) {
- throw new PrivilegeException("denyList is null");
+ throw new PrivilegeException("denyList is null"); //$NON-NLS-1$
}
if (this.allowList == null) {
- throw new PrivilegeException("allowList is null");
+ throw new PrivilegeException("allowList is null"); //$NON-NLS-1$
}
}
@@ -167,6 +167,7 @@ public class PrivilegeRep implements Serializable {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/RoleRep.java b/src/main/java/ch/eitchnet/privilege/model/RoleRep.java
index 9a4fe7548..c32a226bc 100644
--- a/src/main/java/ch/eitchnet/privilege/model/RoleRep.java
+++ b/src/main/java/ch/eitchnet/privilege/model/RoleRep.java
@@ -57,7 +57,7 @@ public class RoleRep implements Serializable {
*/
public void validate() {
if (StringHelper.isEmpty(this.name))
- throw new PrivilegeException("name is null");
+ throw new PrivilegeException("name is null"); //$NON-NLS-1$
}
/**
@@ -87,6 +87,7 @@ public class RoleRep implements Serializable {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/UserRep.java b/src/main/java/ch/eitchnet/privilege/model/UserRep.java
index 2dd875b40..26bdc141e 100644
--- a/src/main/java/ch/eitchnet/privilege/model/UserRep.java
+++ b/src/main/java/ch/eitchnet/privilege/model/UserRep.java
@@ -85,22 +85,22 @@ public class UserRep implements Serializable {
public void validate() {
if (StringHelper.isEmpty(this.userId))
- throw new PrivilegeException("userId is null or empty");
+ throw new PrivilegeException("userId is null or empty"); //$NON-NLS-1$
if (StringHelper.isEmpty(this.username))
- throw new PrivilegeException("username is null or empty");
+ throw new PrivilegeException("username is null or empty"); //$NON-NLS-1$
if (StringHelper.isEmpty(this.firstname))
- throw new PrivilegeException("firstname is null or empty");
+ throw new PrivilegeException("firstname is null or empty"); //$NON-NLS-1$
if (StringHelper.isEmpty(this.surname))
- throw new PrivilegeException("surname is null or empty");
+ throw new PrivilegeException("surname is null or empty"); //$NON-NLS-1$
if (this.userState == null)
- throw new PrivilegeException("userState is null");
+ throw new PrivilegeException("userState is null"); //$NON-NLS-1$
if (this.roles == null)
- throw new PrivilegeException("roles is null");
+ throw new PrivilegeException("roles is null"); //$NON-NLS-1$
}
/**
@@ -247,6 +247,7 @@ public class UserRep implements Serializable {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeContainerModel.java b/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeContainerModel.java
index 39aabc5ae..efc2d7954 100644
--- a/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeContainerModel.java
+++ b/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeContainerModel.java
@@ -15,6 +15,7 @@
*/
package ch.eitchnet.privilege.model.internal;
+import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
@@ -139,14 +140,17 @@ public class PrivilegeContainerModel {
this.policies.put(privilegeName, clazz);
} catch (InstantiationException e) {
- throw new PrivilegeException("Configured Privilege Policy " + privilegeName + " with class "
- + policyClassName + " could not be instantiated.", e);
+ String msg = "Configured Privilege Policy {0} with class {1} could not be instantiated."; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, privilegeName, policyClassName);
+ throw new PrivilegeException(msg, e);
} catch (IllegalAccessException e) {
- throw new PrivilegeException("Configured Privilege Policy " + privilegeName + " with class "
- + policyClassName + " can not be accessed.", e);
+ String msg = "Configured Privilege Policy {0} with class {1} can not be accessed."; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, privilegeName, policyClassName);
+ throw new PrivilegeException(msg, e);
} catch (ClassNotFoundException e) {
- throw new PrivilegeException("Configured Privilege Policy " + privilegeName + " with class "
- + policyClassName + " does not exist.", e);
+ String msg = "Configured Privilege Policy {0} with class {1} does not exist."; //$NON-NLS-1$
+ msg = MessageFormat.format(msg, privilegeName, policyClassName);
+ throw new PrivilegeException(msg, e);
}
}
@@ -162,6 +166,7 @@ public class PrivilegeContainerModel {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeImpl.java b/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeImpl.java
index 8b28c442d..e9d2b937c 100644
--- a/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeImpl.java
+++ b/src/main/java/ch/eitchnet/privilege/model/internal/PrivilegeImpl.java
@@ -73,16 +73,16 @@ public final class PrivilegeImpl implements IPrivilege {
public PrivilegeImpl(String name, String policy, boolean allAllowed, Set denyList, Set allowList) {
if (StringHelper.isEmpty(name)) {
- throw new PrivilegeException("No name defined!");
+ throw new PrivilegeException("No name defined!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(policy)) {
- throw new PrivilegeException("Policy may not be empty!");
+ throw new PrivilegeException("Policy may not be empty!"); //$NON-NLS-1$
}
if (denyList == null) {
- throw new PrivilegeException("denyList is null!");
+ throw new PrivilegeException("denyList is null!"); //$NON-NLS-1$
}
if (allowList == null) {
- throw new PrivilegeException("allowList is null!");
+ throw new PrivilegeException("allowList is null!"); //$NON-NLS-1$
}
this.name = name;
@@ -189,6 +189,7 @@ public final class PrivilegeImpl implements IPrivilege {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/internal/Role.java b/src/main/java/ch/eitchnet/privilege/model/internal/Role.java
index 91ddbeb6a..b962095b7 100644
--- a/src/main/java/ch/eitchnet/privilege/model/internal/Role.java
+++ b/src/main/java/ch/eitchnet/privilege/model/internal/Role.java
@@ -55,10 +55,10 @@ public final class Role {
public Role(String name, Map privilegeMap) {
if (StringHelper.isEmpty(name)) {
- throw new PrivilegeException("No name defined!");
+ throw new PrivilegeException("No name defined!"); //$NON-NLS-1$
}
if (privilegeMap == null) {
- throw new PrivilegeException("No privileges defined!");
+ throw new PrivilegeException("No privileges defined!"); //$NON-NLS-1$
}
this.name = name;
@@ -75,11 +75,11 @@ public final class Role {
String name = roleRep.getName();
if (StringHelper.isEmpty(name)) {
- throw new PrivilegeException("No name defined!");
+ throw new PrivilegeException("No name defined!"); //$NON-NLS-1$
}
if (roleRep.getPrivilegeMap() == null) {
- throw new PrivilegeException("No privileges defined!");
+ throw new PrivilegeException("No privileges defined!"); //$NON-NLS-1$
}
// build privileges from reps
@@ -145,6 +145,7 @@ public final class Role {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/model/internal/User.java b/src/main/java/ch/eitchnet/privilege/model/internal/User.java
index 7fe3a0ed2..7d1402234 100644
--- a/src/main/java/ch/eitchnet/privilege/model/internal/User.java
+++ b/src/main/java/ch/eitchnet/privilege/model/internal/User.java
@@ -82,19 +82,19 @@ public final class User {
Set roles, Locale locale, Map propertyMap) {
if (StringHelper.isEmpty(userId)) {
- throw new PrivilegeException("No UserId defined!");
+ throw new PrivilegeException("No UserId defined!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(username)) {
- throw new PrivilegeException("No username defined!");
+ throw new PrivilegeException("No username defined!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(firstname)) {
- throw new PrivilegeException("No firstname defined!");
+ throw new PrivilegeException("No firstname defined!"); //$NON-NLS-1$
}
if (StringHelper.isEmpty(surname)) {
- throw new PrivilegeException("No surname defined!");
+ throw new PrivilegeException("No surname defined!"); //$NON-NLS-1$
}
if (userState == null) {
- throw new PrivilegeException("No userState defined!");
+ throw new PrivilegeException("No userState defined!"); //$NON-NLS-1$
}
// password may be null, meaning not able to login
@@ -240,6 +240,7 @@ public final class User {
*
* @see java.lang.Object#toString()
*/
+ @SuppressWarnings("nls")
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/src/main/java/ch/eitchnet/privilege/policy/DefaultPrivilege.java b/src/main/java/ch/eitchnet/privilege/policy/DefaultPrivilege.java
index 98c170bd6..2a10f3270 100644
--- a/src/main/java/ch/eitchnet/privilege/policy/DefaultPrivilege.java
+++ b/src/main/java/ch/eitchnet/privilege/policy/DefaultPrivilege.java
@@ -81,7 +81,7 @@ public class DefaultPrivilege implements PrivilegePolicy {
// first check values not allowed
if (privilege.isDenied(privilegeValue)) {
// then throw access denied
- String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"),
+ String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"), //$NON-NLS-1$
PrivilegeContext.get().getUsername(), privilegeName, restrictable.getClass().getName());
throw new AccessDeniedException(msg);
}
@@ -91,7 +91,7 @@ public class DefaultPrivilege implements PrivilegePolicy {
return;
// default is not allowed
- String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"),
+ String msg = MessageFormat.format(PrivilegeMessages.getString("Privilege.accessdenied.noprivilege"), //$NON-NLS-1$
PrivilegeContext.get().getUsername(), privilegeName, restrictable.getClass().getName());
throw new AccessDeniedException(msg);
}
diff --git a/src/main/java/ch/eitchnet/privilege/xml/PrivilegeConfigSaxReader.java b/src/main/java/ch/eitchnet/privilege/xml/PrivilegeConfigSaxReader.java
index 74547ea9e..f7e09a822 100644
--- a/src/main/java/ch/eitchnet/privilege/xml/PrivilegeConfigSaxReader.java
+++ b/src/main/java/ch/eitchnet/privilege/xml/PrivilegeConfigSaxReader.java
@@ -23,11 +23,11 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
+import ch.eitchnet.privilege.helper.XmlConstants;
import ch.eitchnet.privilege.model.internal.PrivilegeContainerModel;
/**
* @author Robert von Burg
- *
*/
public class PrivilegeConfigSaxReader extends DefaultHandler {
@@ -41,14 +41,18 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
this.containerModel = containerModel;
}
+ public PrivilegeContainerModel getContainerModel() {
+ return this.containerModel;
+ }
+
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Container")) {
+ if (qName.equals(XmlConstants.XML_CONTAINER)) {
this.buildersStack.add(new ContainerParser());
- } else if (qName.equals("Parameters")) {
+ } else if (qName.equals(XmlConstants.XML_PARAMETERS)) {
this.buildersStack.add(new ParametersParser());
- } else if (qName.equals("Policies")) {
+ } else if (qName.equals(XmlConstants.XML_POLICIES)) {
this.buildersStack.add(new PoliciesParser());
}
@@ -69,11 +73,11 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
this.buildersStack.peek().endElement(uri, localName, qName);
ElementParser elementParser = null;
- if (qName.equals("Container")) {
+ if (qName.equals(XmlConstants.XML_CONTAINER)) {
elementParser = this.buildersStack.pop();
- } else if (qName.equals("Parameters")) {
+ } else if (qName.equals(XmlConstants.XML_PARAMETERS)) {
elementParser = this.buildersStack.pop();
- } else if (qName.equals("Policies")) {
+ } else if (qName.equals(XmlConstants.XML_POLICIES)) {
elementParser = this.buildersStack.pop();
}
@@ -105,16 +109,16 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Container")) {
+ if (qName.equals(XmlConstants.XML_CONTAINER)) {
this.currentElement = qName;
- } else if (qName.equals("EncryptionHandler")) {
+ } else if (qName.equals(XmlConstants.XML_HANDLER_ENCRYPTION)) {
this.currentElement = qName;
- PrivilegeConfigSaxReader.this.containerModel
- .setEncryptionHandlerClassName(attributes.getValue("class"));
- } else if (qName.equals("PersistenceHandler")) {
+ String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS);
+ getContainerModel().setEncryptionHandlerClassName(className);
+ } else if (qName.equals(XmlConstants.XML_HANDLER_PERSISTENCE)) {
this.currentElement = qName;
- PrivilegeConfigSaxReader.this.containerModel.setPersistenceHandlerClassName(attributes
- .getValue("class"));
+ String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS);
+ getContainerModel().setPersistenceHandlerClassName(className);
}
}
@@ -125,14 +129,12 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
ParametersParser parametersChild = (ParametersParser) child;
- if (this.currentElement.equals("Container")) {
- PrivilegeConfigSaxReader.this.containerModel.setParameterMap(parametersChild.getParameterMap());
- } else if (this.currentElement.equals("EncryptionHandler")) {
- PrivilegeConfigSaxReader.this.containerModel.setEncryptionHandlerParameterMap(parametersChild
- .getParameterMap());
- } else if (this.currentElement.equals("PersistenceHandler")) {
- PrivilegeConfigSaxReader.this.containerModel.setPersistenceHandlerParameterMap(parametersChild
- .getParameterMap());
+ if (this.currentElement.equals(XmlConstants.XML_CONTAINER)) {
+ getContainerModel().setParameterMap(parametersChild.getParameterMap());
+ } else if (this.currentElement.equals(XmlConstants.XML_HANDLER_ENCRYPTION)) {
+ getContainerModel().setEncryptionHandlerParameterMap(parametersChild.getParameterMap());
+ } else if (this.currentElement.equals(XmlConstants.XML_HANDLER_PERSISTENCE)) {
+ getContainerModel().setPersistenceHandlerParameterMap(parametersChild.getParameterMap());
}
}
}
@@ -145,9 +147,9 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Parameter")) {
- String key = attributes.getValue("name");
- String value = attributes.getValue("value");
+ if (qName.equals(XmlConstants.XML_PARAMETER)) {
+ String key = attributes.getValue(XmlConstants.XML_ATTR_NAME);
+ String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE);
this.parameterMap.put(key, value);
}
}
@@ -166,11 +168,11 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Policy")) {
- String policyName = attributes.getValue("name");
- String policyClassName = attributes.getValue("class");
+ if (qName.equals(XmlConstants.XML_POLICY)) {
+ String policyName = attributes.getValue(XmlConstants.XML_ATTR_NAME);
+ String policyClassName = attributes.getValue(XmlConstants.XML_ATTR_CLASS);
- PrivilegeConfigSaxReader.this.containerModel.addPolicy(policyName, policyClassName);
+ getContainerModel().addPolicy(policyName, policyClassName);
}
}
}
diff --git a/src/main/java/ch/eitchnet/privilege/xml/PrivilegeModelSaxReader.java b/src/main/java/ch/eitchnet/privilege/xml/PrivilegeModelSaxReader.java
index b3add0f1b..df0b05460 100644
--- a/src/main/java/ch/eitchnet/privilege/xml/PrivilegeModelSaxReader.java
+++ b/src/main/java/ch/eitchnet/privilege/xml/PrivilegeModelSaxReader.java
@@ -15,6 +15,7 @@
*/
package ch.eitchnet.privilege.xml;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -30,6 +31,7 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
+import ch.eitchnet.privilege.helper.XmlConstants;
import ch.eitchnet.privilege.model.IPrivilege;
import ch.eitchnet.privilege.model.UserState;
import ch.eitchnet.privilege.model.internal.PrivilegeImpl;
@@ -42,7 +44,7 @@ import ch.eitchnet.utils.helper.StringHelper;
*/
public class PrivilegeModelSaxReader extends DefaultHandler {
- private static final Logger logger = LoggerFactory.getLogger(PrivilegeModelSaxReader.class);
+ protected static final Logger logger = LoggerFactory.getLogger(PrivilegeModelSaxReader.class);
private Stack buildersStack = new Stack();
@@ -73,12 +75,12 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Users")) {
+ if (qName.equals(XmlConstants.XML_USERS)) {
this.buildersStack.add(new UserParser());
this.insideUser = true;
- } else if (qName.equals("Properties")) {
+ } else if (qName.equals(XmlConstants.XML_PROPERTIES)) {
this.buildersStack.add(new PropertyParser());
- } else if (qName.equals("Roles") && !this.insideUser) {
+ } else if (qName.equals(XmlConstants.XML_ROLES) && !this.insideUser) {
this.buildersStack.add(new RoleParser());
}
@@ -99,16 +101,16 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
this.buildersStack.peek().endElement(uri, localName, qName);
ElementParser elementParser = null;
- if (qName.equals("Users")) {
+ if (qName.equals(XmlConstants.XML_USERS)) {
elementParser = this.buildersStack.pop();
this.insideUser = false;
- PrivilegeModelSaxReader.logger.info("Popping for Users");
- } else if (qName.equals("Properties")) {
+ logger.info("Popping for Users"); //$NON-NLS-1$
+ } else if (qName.equals(XmlConstants.XML_PROPERTIES)) {
elementParser = this.buildersStack.pop();
- PrivilegeModelSaxReader.logger.info("Popping for Properties");
- } else if (qName.equals("Roles") && !this.insideUser) {
+ logger.info("Popping for Properties"); //$NON-NLS-1$
+ } else if (qName.equals(XmlConstants.XML_ROLES) && !this.insideUser) {
elementParser = this.buildersStack.pop();
- PrivilegeModelSaxReader.logger.info("Popping for Roles");
+ logger.info("Popping for Roles"); //$NON-NLS-1$
}
if (!this.buildersStack.isEmpty() && elementParser != null)
@@ -142,16 +144,10 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
private Map privileges;
- /**
- *
- */
public RoleParser() {
init();
}
- /**
- *
- */
private void init() {
this.privileges = new HashMap();
@@ -170,11 +166,11 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
this.text = new StringBuilder();
- if (qName.equals("Role")) {
- this.roleName = attributes.getValue("name");
- } else if (qName.equals("Privilege")) {
- this.privilegeName = attributes.getValue("name");
- this.privilegePolicy = attributes.getValue("policy");
+ if (qName.equals(XmlConstants.XML_ROLE)) {
+ this.roleName = attributes.getValue(XmlConstants.XML_ATTR_NAME);
+ } else if (qName.equals(XmlConstants.XML_PRIVILEGE)) {
+ this.privilegeName = attributes.getValue(XmlConstants.XML_ATTR_NAME);
+ this.privilegePolicy = attributes.getValue(XmlConstants.XML_ATTR_POLICY);
}
}
@@ -187,24 +183,24 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
- if (qName.equals("AllAllowed")) {
+ if (qName.equals(XmlConstants.XML_ALL_ALLOWED)) {
this.allAllowed = StringHelper.parseBoolean(this.text.toString().trim());
- } else if (qName.equals("Allow")) {
+ } else if (qName.equals(XmlConstants.XML_ALLOW)) {
this.allowList.add(this.text.toString().trim());
- } else if (qName.equals("Deny")) {
+ } else if (qName.equals(XmlConstants.XML_DENY)) {
this.denyList.add(this.text.toString().trim());
- } else if (qName.equals("Privilege")) {
+ } else if (qName.equals(XmlConstants.XML_PRIVILEGE)) {
IPrivilege privilege = new PrivilegeImpl(this.privilegeName, this.privilegePolicy, this.allAllowed,
this.denyList, this.allowList);
this.privileges.put(this.privilegeName, privilege);
- } else if (qName.equals("Role")) {
+ } else if (qName.equals(XmlConstants.XML_ROLE)) {
Role role = new Role(this.roleName, this.privileges);
- PrivilegeModelSaxReader.this.roles.add(role);
- PrivilegeModelSaxReader.logger.info("New Role: " + role);
+ getRoles().add(role);
+ logger.info(MessageFormat.format("New Role: {0}", role)); //$NON-NLS-1$
init();
}
}
@@ -248,10 +244,10 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
this.text = new StringBuilder();
- if (qName.equals("User")) {
- this.userId = attributes.getValue("userId");
- this.username = attributes.getValue("username");
- this.password = attributes.getValue("password");
+ if (qName.equals(XmlConstants.XML_USER)) {
+ this.userId = attributes.getValue(XmlConstants.XML_ATTR_USER_ID);
+ this.username = attributes.getValue(XmlConstants.XML_ATTR_USERNAME);
+ this.password = attributes.getValue(XmlConstants.XML_ATTR_PASSWORD);
}
}
@@ -263,22 +259,22 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
- if (qName.equals("Firstname")) {
+ if (qName.equals(XmlConstants.XML_FIRSTNAME)) {
this.firstName = this.text.toString().trim();
- } else if (qName.equals("Surname")) {
+ } else if (qName.equals(XmlConstants.XML_SURNAME)) {
this.surname = this.text.toString().trim();
- } else if (qName.equals("State")) {
+ } else if (qName.equals(XmlConstants.XML_STATE)) {
this.userState = UserState.valueOf(this.text.toString().trim());
- } else if (qName.equals("Locale")) {
+ } else if (qName.equals(XmlConstants.XML_LOCALE)) {
this.locale = Locale.forLanguageTag(this.text.toString().trim());
- } else if (qName.equals("Role")) {
+ } else if (qName.equals(XmlConstants.XML_ROLE)) {
this.userRoles.add(this.text.toString().trim());
- } else if (qName.equals("User")) {
+ } else if (qName.equals(XmlConstants.XML_USER)) {
User user = new User(this.userId, this.username, this.password, this.firstName, this.surname,
this.userState, this.userRoles, this.locale, this.parameters);
- PrivilegeModelSaxReader.this.users.add(user);
+ getUsers().add(user);
}
}
@@ -294,20 +290,17 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
//
- private Map parameterMap = new HashMap();
+ public Map parameterMap = new HashMap();
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equals("Property")) {
- String key = attributes.getValue("name");
- String value = attributes.getValue("value");
+ if (qName.equals(XmlConstants.XML_PROPERTY)) {
+ String key = attributes.getValue(XmlConstants.XML_ATTR_NAME);
+ String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE);
this.parameterMap.put(key, value);
}
}
- /**
- * @return the parameterMap
- */
public Map getParameterMap() {
return this.parameterMap;
}
diff --git a/src/test/java/ch/eitchnet/privilege/test/XmlTest.java b/src/test/java/ch/eitchnet/privilege/test/XmlTest.java
index 7506a933b..cac5aef26 100644
--- a/src/test/java/ch/eitchnet/privilege/test/XmlTest.java
+++ b/src/test/java/ch/eitchnet/privilege/test/XmlTest.java
@@ -148,7 +148,7 @@ public class XmlTest {
configSaxWriter.write();
String fileHash = StringHelper.getHexString(FileHelper.hashFileSha256(configFile));
- assertEquals("2ABD3442EEC8BCEC5BEE365AAB6DB2FD4E1789325425CB1E017E900582525685", fileHash);
+ assertEquals("2abd3442eec8bcec5bee365aab6db2fd4e1789325425cb1e017e900582525685", fileHash);
}
@Test
@@ -210,6 +210,6 @@ public class XmlTest {
configSaxWriter.write();
String fileHash = StringHelper.getHexString(FileHelper.hashFileSha256(modelFile));
- assertEquals("A2127D20A61E00BCDBB61569CD2B200C4F0F111C972BAC3B1E54DF3B2FCDC8BE", fileHash);
+ assertEquals("a2127d20a61e00bcdbb61569cd2b200c4f0f111c972bac3b1e54df3b2fcdc8be", fileHash);
}
}