[Fix] Only overwrite Privilege*.xml if changed in memory
This commit is contained in:
parent
242b0584bd
commit
3bae4ace13
|
@ -54,8 +54,6 @@ public class XmlPersistenceHandler implements PersistenceHandler {
|
||||||
|
|
||||||
private Map<String, String> parameterMap;
|
private Map<String, String> parameterMap;
|
||||||
|
|
||||||
private long usersFileDate;
|
|
||||||
private long rolesFileDate;
|
|
||||||
private File usersPath;
|
private File usersPath;
|
||||||
private File rolesPath;
|
private File rolesPath;
|
||||||
|
|
||||||
|
@ -227,9 +225,6 @@ public class XmlPersistenceHandler implements PersistenceHandler {
|
||||||
PrivilegeRolesSaxReader rolesXmlHandler = new PrivilegeRolesSaxReader();
|
PrivilegeRolesSaxReader rolesXmlHandler = new PrivilegeRolesSaxReader();
|
||||||
XmlHelper.parseDocument(this.rolesPath, rolesXmlHandler);
|
XmlHelper.parseDocument(this.rolesPath, rolesXmlHandler);
|
||||||
|
|
||||||
this.usersFileDate = this.usersPath.lastModified();
|
|
||||||
this.rolesFileDate = this.rolesPath.lastModified();
|
|
||||||
|
|
||||||
// ROLES
|
// ROLES
|
||||||
List<Role> roles = rolesXmlHandler.getRoles();
|
List<Role> roles = rolesXmlHandler.getRoles();
|
||||||
for (Role role : roles) {
|
for (Role role : roles) {
|
||||||
|
@ -292,12 +287,7 @@ public class XmlPersistenceHandler implements PersistenceHandler {
|
||||||
boolean saved = false;
|
boolean saved = false;
|
||||||
|
|
||||||
// get users file
|
// get users file
|
||||||
boolean usersFileUnchanged = this.usersPath.exists() && this.usersPath.lastModified() == this.usersFileDate;
|
if (this.userMapDirty) {
|
||||||
if (usersFileUnchanged && !this.userMapDirty) {
|
|
||||||
logger.warn(
|
|
||||||
"Not persisting of users as current file is unchanged and users data is not dirty"); //$NON-NLS-1$
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// delegate writing
|
// delegate writing
|
||||||
PrivilegeUsersDomWriter modelWriter = new PrivilegeUsersDomWriter(getAllUsers(), this.usersPath);
|
PrivilegeUsersDomWriter modelWriter = new PrivilegeUsersDomWriter(getAllUsers(), this.usersPath);
|
||||||
modelWriter.write();
|
modelWriter.write();
|
||||||
|
@ -307,12 +297,7 @@ public class XmlPersistenceHandler implements PersistenceHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
// get roles file
|
// get roles file
|
||||||
boolean rolesFileUnchanged = this.rolesPath.exists() && this.rolesPath.lastModified() == this.rolesFileDate;
|
if (this.roleMapDirty) {
|
||||||
if (rolesFileUnchanged && !this.roleMapDirty) {
|
|
||||||
logger.warn(
|
|
||||||
"Not persisting of roles as current file is unchanged and roles data is not dirty"); //$NON-NLS-1$
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// delegate writing
|
// delegate writing
|
||||||
PrivilegeRolesDomWriter modelWriter = new PrivilegeRolesDomWriter(getAllRoles(), this.rolesPath);
|
PrivilegeRolesDomWriter modelWriter = new PrivilegeRolesDomWriter(getAllRoles(), this.rolesPath);
|
||||||
modelWriter.write();
|
modelWriter.write();
|
||||||
|
|
Loading…
Reference in New Issue