[Minor] moved exceptions to base package

Exceptions were previously in package i18n, this didn't make sense, so
they were move to base
This commit is contained in:
Robert von Burg 2012-12-01 00:04:45 +01:00
parent eac0782810
commit f73d829822
18 changed files with 61 additions and 49 deletions

View File

@ -17,7 +17,7 @@
* along with Privilege. If not, see <http://www.gnu.org/licenses/>.
*
*/
package ch.eitchnet.privilege.i18n;
package ch.eitchnet.privilege.base;
/**
* Exception thrown if access is denied during login, or if a certain privilege is not granted

View File

@ -17,7 +17,7 @@
* along with Privilege. If not, see <http://www.gnu.org/licenses/>.
*
*/
package ch.eitchnet.privilege.i18n;
package ch.eitchnet.privilege.base;
/**
* Main {@link RuntimeException} thrown if something goes wrong in Privilege

View File

@ -28,9 +28,9 @@ 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.privilege.i18n.PrivilegeException;
/**
* <p>

View File

@ -31,9 +31,9 @@ import java.util.Set;
import org.slf4j.Logger;
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.i18n.AccessDeniedException;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.Certificate;
import ch.eitchnet.privilege.model.PrivilegeRep;
import ch.eitchnet.privilege.model.Restrictable;
@ -718,7 +718,8 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
DefaultPrivilegeHandler.logger.info("User " + username + " authenticated: " + session);
} catch (RuntimeException e) {
DefaultPrivilegeHandler.logger.error("User " + username + " Failed to authenticate: " + e.getLocalizedMessage());
DefaultPrivilegeHandler.logger.error("User " + username + " Failed to authenticate: "
+ e.getLocalizedMessage());
throw e;
} finally {
clearPassword(password);
@ -786,7 +787,8 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
Role role = this.persistenceHandler.getRole(roleName);
if (role == null) {
DefaultPrivilegeHandler.logger.error("No role is defined with name " + roleName + " which is configured for user " + user);
DefaultPrivilegeHandler.logger.error("No role is defined with name " + roleName
+ " which is configured for user " + user);
continue;
}
@ -1188,7 +1190,8 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
this.sessionMap.put(sessionId, new CertificateSessionPair(session, systemUserCertificate));
// log
DefaultPrivilegeHandler.logger.info("The system user " + systemUsername + " is logged in with session " + session);
DefaultPrivilegeHandler.logger.info("The system user " + systemUsername + " is logged in with session "
+ session);
return systemUserCertificate;
}

View File

@ -118,7 +118,7 @@ public interface PersistenceHandler {
/**
* Informs this {@link PersistenceHandler} to persist any changes which need to be saved
*
* @return true if changes were persisted successfully, false if something went wrong
* @return true if changes were persisted successfully, false if nothing needed to be persisted
*/
public boolean persist();

View File

@ -22,8 +22,8 @@ package ch.eitchnet.privilege.handler;
import java.util.List;
import java.util.Locale;
import ch.eitchnet.privilege.i18n.AccessDeniedException;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.AccessDeniedException;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.model.Certificate;
import ch.eitchnet.privilege.model.PrivilegeRep;
import ch.eitchnet.privilege.model.Restrictable;
@ -401,7 +401,7 @@ public interface PrivilegeHandler {
* </p>
*
* <p>
* If the user is not the administrator, then a {@link ch.eitchnet.privilege.i18n.PrivilegeException} is thrown
* If the user is not the administrator, then a {@link ch.eitchnet.privilege.base.PrivilegeException} is thrown
* </p>
*
* @param certificate

View File

@ -35,9 +35,9 @@ import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.helper.XmlConstants;
import ch.eitchnet.privilege.helper.XmlHelper;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.UserState;
import ch.eitchnet.privilege.model.internal.Privilege;
import ch.eitchnet.privilege.model.internal.Role;
@ -150,11 +150,13 @@ public class XmlPersistenceHandler implements PersistenceHandler {
throw new PrivilegeException("[" + PersistenceHandler.class.getName() + "] Defined parameter "
+ XmlConstants.XML_PARAM_MODEL_FILE + " is invalid");
}
// get model file
File modelFile = new File(this.modelPath);
boolean modelFileUnchanged = modelFile.exists() && modelFile.lastModified() == this.modelsFileDate;
if (!(modelFileUnchanged && this.roleMapDirty && this.userMapDirty)) {
XmlPersistenceHandler.logger.warn("Not persisting as current file is unchanged and model data is not dirty");
if (modelFileUnchanged && !this.roleMapDirty && !this.userMapDirty) {
XmlPersistenceHandler.logger
.warn("Not persisting as current file is unchanged and model data is not dirty");
return false;
}
@ -181,19 +183,14 @@ public class XmlPersistenceHandler implements PersistenceHandler {
}
rootElement.add(rolesElement);
// reset dirty states and return if something was dirty, false otherwise
if (this.userMapDirty || this.roleMapDirty) {
this.userMapDirty = false;
this.roleMapDirty = false;
return true;
}
// now write the file
XmlHelper.writeElement(rootElement, modelFile);
// reset dirty states
this.userMapDirty = false;
this.roleMapDirty = false;
return false;
return true;
}
/**
@ -259,10 +256,13 @@ public class XmlPersistenceHandler implements PersistenceHandler {
* @see ch.eitchnet.privilege.handler.PersistenceHandler#initialize(java.util.Map)
*/
@Override
public void initialize(Map<String, String> parameterMap) {
public void initialize(Map<String, String> paramsMap) {
// copy parameter map
this.parameterMap = Collections.unmodifiableMap(new HashMap<String, String>(paramsMap));
// get and validate base bath
String basePath = parameterMap.get(XmlConstants.XML_PARAM_BASE_PATH);
String basePath = this.parameterMap.get(XmlConstants.XML_PARAM_BASE_PATH);
File basePathF = new File(basePath);
if (!basePathF.exists() && !basePathF.isDirectory()) {
throw new PrivilegeException("[" + PersistenceHandler.class.getName() + "] Defined parameter "
@ -270,7 +270,7 @@ public class XmlPersistenceHandler implements PersistenceHandler {
}
// get model file name
String modelFileName = parameterMap.get(XmlConstants.XML_PARAM_MODEL_FILE);
String modelFileName = this.parameterMap.get(XmlConstants.XML_PARAM_MODEL_FILE);
if (modelFileName == null || modelFileName.isEmpty()) {
throw new PrivilegeException("[" + PersistenceHandler.class.getName() + "] Defined parameter "
+ XmlConstants.XML_PARAM_MODEL_FILE + " is invalid");
@ -321,9 +321,11 @@ public class XmlPersistenceHandler implements PersistenceHandler {
for (Element roleElement : rolesElementList) {
String roleName = roleElement.getTextTrim();
if (roleName.isEmpty()) {
XmlPersistenceHandler.logger.error("User " + username + " has a role defined with no name, Skipped.");
XmlPersistenceHandler.logger.error("User " + username
+ " has a role defined with no name, Skipped.");
} else if (!this.roleMap.containsKey(roleName)) {
XmlPersistenceHandler.logger.error("User " + username + " has a inexistant role " + roleName + ", Skipped.");
XmlPersistenceHandler.logger.error("User " + username + " has a inexistant role " + roleName
+ ", Skipped.");
} else {
roles.add(roleName);
}

View File

@ -19,7 +19,7 @@
*/
package ch.eitchnet.privilege.helper;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.PrivilegeException;
/**
* The {@link ClassHelper} class is a helper to instantiate classes using reflection

View File

@ -29,11 +29,11 @@ import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.handler.DefaultPrivilegeHandler;
import ch.eitchnet.privilege.handler.EncryptionHandler;
import ch.eitchnet.privilege.handler.PersistenceHandler;
import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.policy.PrivilegePolicy;
import ch.eitchnet.utils.helper.StringHelper;

View File

@ -37,7 +37,7 @@ import org.dom4j.io.XMLWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.PrivilegeException;
/**
* Helper class for performing XML based tasks using Dom4J

View File

@ -23,8 +23,8 @@ import java.io.Serializable;
import java.util.Locale;
import java.util.Map;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.internal.Session;
/**

View File

@ -22,8 +22,8 @@ package ch.eitchnet.privilege.model;
import java.io.Serializable;
import java.util.Set;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.internal.Privilege;
import ch.eitchnet.privilege.model.internal.Role;
import ch.eitchnet.privilege.policy.PrivilegePolicy;

View File

@ -23,8 +23,8 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.PrivilegeRep;
import ch.eitchnet.privilege.model.Restrictable;
import ch.eitchnet.privilege.policy.PrivilegePolicy;

View File

@ -23,7 +23,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.model.PrivilegeRep;
import ch.eitchnet.privilege.model.RoleRep;

View File

@ -19,8 +19,8 @@
*/
package ch.eitchnet.privilege.model.internal;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.handler.PrivilegeHandler;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.model.Certificate;
/**

View File

@ -26,7 +26,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.model.UserRep;
import ch.eitchnet.privilege.model.UserState;
@ -91,9 +91,6 @@ public final class User {
if (username == null || username.isEmpty()) {
throw new PrivilegeException("No username defined!");
}
// password may be null, meaning not able to login
if (firstname == null || firstname.isEmpty()) {
throw new PrivilegeException("No firstname defined!");
}
@ -104,9 +101,10 @@ public final class User {
throw new PrivilegeException("No userState defined!");
}
// password may be null, meaning not able to login
// roles may be null, meaning not able to login and must be added later
// local may be null, meaning use system default
// locale may be null, meaning use system default
// properties may be null, meaning no properties
this.userId = userId;
@ -117,11 +115,20 @@ public final class User {
this.firstname = firstname;
this.surname = surname;
this.roles = Collections.unmodifiableSet(roles);
if (roles == null)
this.roles = Collections.emptySet();
else
this.roles = Collections.unmodifiableSet(roles);
this.locale = locale;
if (locale == null)
this.locale = Locale.getDefault();
else
this.locale = locale;
this.propertyMap = Collections.unmodifiableMap(propertyMap);
if (propertyMap == null)
this.propertyMap = Collections.emptyMap();
else
this.propertyMap = Collections.unmodifiableMap(propertyMap);
}
/**

View File

@ -19,8 +19,8 @@
*/
package ch.eitchnet.privilege.policy;
import ch.eitchnet.privilege.i18n.AccessDeniedException;
import ch.eitchnet.privilege.i18n.PrivilegeException;
import ch.eitchnet.privilege.base.AccessDeniedException;
import ch.eitchnet.privilege.base.PrivilegeException;
import ch.eitchnet.privilege.model.Restrictable;
import ch.eitchnet.privilege.model.internal.Privilege;
import ch.eitchnet.privilege.model.internal.Role;

View File

@ -19,7 +19,7 @@
*/
package ch.eitchnet.privilege.policy;
import ch.eitchnet.privilege.i18n.AccessDeniedException;
import ch.eitchnet.privilege.base.AccessDeniedException;
import ch.eitchnet.privilege.model.Restrictable;
import ch.eitchnet.privilege.model.internal.Privilege;
import ch.eitchnet.privilege.model.internal.Role;