diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..a5936bc
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,22 @@
+ Changelog for "ldap-export-servlet"
+
+
+## [v1.2.1] [r4.23.0] - 2020-05-29
+
+### Fixes
+- This release fixes a potential bug in the export of the users to LDAP. See Incident #19348
+
+## [v1.2.0] [r unknown] - 2016-09-12
+### New Features
+- Feature #4999: LDAP Export script to export SSH public key
+
+### Fixes
+- Bug fix for #4916: LDAP Export fails if user surname is empty
+
+## [v1.2.0] [r unknown] - 2016-07-04
+### New Features
+- Updated to use Liferay 6.2 API
+
+## [v1.0.0] [r unknown] - 2015-12-11
+
+- First Release
diff --git a/pom.xml b/pom.xml
index f7246c9..b899b8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.portal
ldap-export-servlet
war
- 1.2.0-SNAPSHOT
+ 1.2.1-SNAPSHOT
ldap-export-servlet Maven Webapp
This component read periodically exports users and their groups in LDAP
diff --git a/src/main/java/org/gcube/portal/ldapexport/LDAPSync.java b/src/main/java/org/gcube/portal/ldapexport/LDAPSync.java
index adeef01..1ae2fda 100644
--- a/src/main/java/org/gcube/portal/ldapexport/LDAPSync.java
+++ b/src/main/java/org/gcube/portal/ldapexport/LDAPSync.java
@@ -22,16 +22,17 @@ import org.gcube.vomanagement.usermanagement.GroupManager;
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.liferay.portal.kernel.cache.CacheRegistryUtil;
import com.liferay.portal.kernel.exception.SystemException;
+import com.liferay.portal.kernel.log.Log;
+import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.model.User;
import com.liferay.portal.service.UserLocalServiceUtil;
public class LDAPSync implements Runnable {
- private static final Logger _log = LoggerFactory.getLogger(LDAPSync.class);
+
+ private static Log _log = LogFactoryUtil.getLog(LDAPSync.class);
private static final String LDAP_ORG_FILTER = "(objectClass=organizationalUnit)";
private static final String LDAP_GROUP_FILTER = "(objectClass=posixGroup)";
@@ -82,7 +83,7 @@ public class LDAPSync implements Runnable {
List users = null;
try {
users = getAllLiferayUsers();
- _log.debug("\n***Read " + users.size() + " from LR DB\n");
+ _log.info("***Read " + users.size() + " from LR DB\n");
} catch (Exception e1) {
e1.printStackTrace();
}
@@ -185,7 +186,13 @@ public class LDAPSync implements Runnable {
* @throws SystemException
*/
private void updateUsersInGroup(DirContext ctx, String vreSubCtx, GCubeGroup vre) throws NamingException, SystemException {
- List users = UserLocalServiceUtil.getGroupUsers(vre.getGroupId());
+ _log.debug("updateUsersInGroup: " + vre.getGroupName() );
+ List users = new ArrayList<>();
+ try {
+ users = UserLocalServiceUtil.getGroupUsers(vre.getGroupId());
+ } catch (Exception e) {
+ _log.error("Could not retrieve members of vre: " + vre.getGroupName() + " having groupid: "+vre.getGroupId(), e);
+ }
for (User userObj : users) {
String user = userObj.getScreenName();
try {