Correct user modification detection.
Previous commit did not recognized users modification reliably and synchronization was skipped. This commit fix this situation and make sure that users modification in Wallix are reliably detected.
This commit is contained in:
@@ -37,7 +37,7 @@ public class WallixConfigSynchronizer implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void synchronizeUsers() throws Exception {
|
private void synchronizeUsers() throws Exception {
|
||||||
System.out.println("Synchronizing groups");
|
System.out.println("Synchronizing users");
|
||||||
System.out.println("Getting Wallix groups");
|
System.out.println("Getting Wallix groups");
|
||||||
Set<User> wallixUsers = Wallix.getInstance().getUsers();
|
Set<User> wallixUsers = Wallix.getInstance().getUsers();
|
||||||
DB db = DB.getInstance();
|
DB db = DB.getInstance();
|
||||||
@@ -48,8 +48,7 @@ public class WallixConfigSynchronizer implements Runnable {
|
|||||||
System.out.println("Adding user " + wallixUser.getName());
|
System.out.println("Adding user " + wallixUser.getName());
|
||||||
db.addUser(wallixUser);
|
db.addUser(wallixUser);
|
||||||
} else if (userNeedUpdate(dbUser, wallixUser)) {
|
} else if (userNeedUpdate(dbUser, wallixUser)) {
|
||||||
System.out.println("Updating user " + wallixUser.getName() + " - " + dbUser + " - " + dbUser.getName() + " - "
|
System.out.println("Updating user " + wallixUser);
|
||||||
+ dbUser.getId());
|
|
||||||
db.updateUser(wallixUser);
|
db.updateUser(wallixUser);
|
||||||
}
|
}
|
||||||
} catch (SQLException | GuacamoleException e) {
|
} catch (SQLException | GuacamoleException e) {
|
||||||
@@ -70,6 +69,8 @@ public class WallixConfigSynchronizer implements Runnable {
|
|||||||
if (fullName != null && ! fullName.isEmpty()) {
|
if (fullName != null && ! fullName.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return ! dbUser.getFullName().equals(wallixUser.getFullName());
|
||||||
}
|
}
|
||||||
return dbUser.isDisabled() != wallixUser.isDisabled();
|
return dbUser.isDisabled() != wallixUser.isDisabled();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -340,10 +340,10 @@ public class DB {
|
|||||||
DB db = DB.getInstance();
|
DB db = DB.getInstance();
|
||||||
Connection connection = db.getMySQLConnection();
|
Connection connection = db.getMySQLConnection();
|
||||||
PreparedStatement stmt = connection
|
PreparedStatement stmt = connection
|
||||||
.prepareStatement("update guacamole_user set full_name=?, disabled=? where user_id=? and organization=?");
|
.prepareStatement("update guacamole_user set full_name=?, disabled=? where user_id=(select user_id from guacamole_user where entity_id=(select entity_id from guacamole_entity where name=?)) and organization=?");
|
||||||
stmt.setString(1, wallixUser.getFullName());
|
stmt.setString(1, wallixUser.getFullName());
|
||||||
stmt.setBoolean(2, wallixUser.isDisabled());
|
stmt.setBoolean(2, wallixUser.isDisabled());
|
||||||
stmt.setInt(3, wallixUser.getUserId());
|
stmt.setString(3, wallixUser.getName());
|
||||||
stmt.setString(4, DB_ORGANIZATION);
|
stmt.setString(4, DB_ORGANIZATION);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user