diff --git a/src/main/java/cm/soungui/guacamole/ext/wallix/sync/WallixConfigSynchronizer.java b/src/main/java/cm/soungui/guacamole/ext/wallix/sync/WallixConfigSynchronizer.java index ca10885..1dc14f0 100644 --- a/src/main/java/cm/soungui/guacamole/ext/wallix/sync/WallixConfigSynchronizer.java +++ b/src/main/java/cm/soungui/guacamole/ext/wallix/sync/WallixConfigSynchronizer.java @@ -37,7 +37,7 @@ public class WallixConfigSynchronizer implements Runnable { } private void synchronizeUsers() throws Exception { - System.out.println("Synchronizing groups"); + System.out.println("Synchronizing users"); System.out.println("Getting Wallix groups"); Set wallixUsers = Wallix.getInstance().getUsers(); DB db = DB.getInstance(); @@ -48,8 +48,7 @@ public class WallixConfigSynchronizer implements Runnable { System.out.println("Adding user " + wallixUser.getName()); db.addUser(wallixUser); } else if (userNeedUpdate(dbUser, wallixUser)) { - System.out.println("Updating user " + wallixUser.getName() + " - " + dbUser + " - " + dbUser.getName() + " - " - + dbUser.getId()); + System.out.println("Updating user " + wallixUser); db.updateUser(wallixUser); } } catch (SQLException | GuacamoleException e) { @@ -70,6 +69,8 @@ public class WallixConfigSynchronizer implements Runnable { if (fullName != null && ! fullName.isEmpty()) { return true; } + } else { + return ! dbUser.getFullName().equals(wallixUser.getFullName()); } return dbUser.isDisabled() != wallixUser.isDisabled(); } diff --git a/src/main/java/cm/soungui/guacamole/ext/wallix/sync/db/DB.java b/src/main/java/cm/soungui/guacamole/ext/wallix/sync/db/DB.java index 0239bc3..8ed33e7 100644 --- a/src/main/java/cm/soungui/guacamole/ext/wallix/sync/db/DB.java +++ b/src/main/java/cm/soungui/guacamole/ext/wallix/sync/db/DB.java @@ -340,10 +340,10 @@ public class DB { DB db = DB.getInstance(); Connection connection = db.getMySQLConnection(); 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.setBoolean(2, wallixUser.isDisabled()); - stmt.setInt(3, wallixUser.getUserId()); + stmt.setString(3, wallixUser.getName()); stmt.setString(4, DB_ORGANIZATION); stmt.executeUpdate(); }