+ Set<String> users = userAdminService.listUsers();
+ try {
+ Query query = session
+ .getWorkspace()
+ .getQueryManager()
+ .createQuery(
+ "select * from [" + ArgeoTypes.ARGEO_USER_HOME
+ + "]", Query.JCR_SQL2);
+ NodeIterator nit = query.execute().getNodes();
+ while (nit.hasNext()) {
+ Node node = nit.nextNode();
+ String username = node.getProperty(ArgeoNames.ARGEO_USER_ID)
+ .getString();
+ if (!users.contains(username))
+ node.remove();
+ }
+ session.save();
+ } catch (RepositoryException e) {
+ JcrUtils.discardQuietly(session);
+ throw new ArgeoException("Cannot list users", e);
+ }
+