You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2018/12/25 11:59:15 UTC

[directory-studio] branch remove-jndi-provider-and-jndi-layer updated: Switch to common lang3 and collections4

This is an automated email from the ASF dual-hosted git repository.

seelmann pushed a commit to branch remove-jndi-provider-and-jndi-layer
in repository https://gitbox.apache.org/repos/asf/directory-studio.git


The following commit(s) were added to refs/heads/remove-jndi-provider-and-jndi-layer by this push:
     new b7a6f37  Switch to common lang3 and collections4
b7a6f37 is described below

commit b7a6f37e6a30751ec3179361a5092eb65d1a3b38
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Tue Dec 25 12:58:44 2018 +0100

    Switch to common lang3 and collections4
---
 eclipse-trgt-platform/pom-first.xml                | 12 +++---
 ...directory.studio.eclipse-trgt-platform.template |  6 +--
 features/rcp.feature/feature.xml                   |  4 +-
 plugins/common.core/pom-first.xml                  |  2 +-
 .../common/core/jobs/StudioProgressMonitor.java    |  2 +-
 plugins/connection.core/pom-first.xml              |  2 +-
 .../connection/core/io/api/LdifSearchLogger.java   |  2 +-
 plugins/connection.ui/pom-first.xml                |  4 +-
 .../connection/ui/RunnableContextRunner.java       |  2 +-
 .../studio/connection/ui/UIAuthHandler.java        |  2 +-
 .../ui/actions/NewConnectionFolderAction.java      |  2 +-
 .../studio/connection/ui/actions/PasteAction.java  |  2 +-
 .../connection/ui/dialogs/PasswordDialog.java      |  2 +-
 .../connection/ui/dialogs/ResetPasswordDialog.java |  2 +-
 .../connection/ui/dialogs/SetupPasswordDialog.java |  2 +-
 .../PasswordsKeystorePreferencePage.java           |  2 +-
 .../ui/widgets/AuthenticationParameterPage.java    |  2 +-
 .../ui/widgets/CertificateInfoComposite.java       |  4 +-
 .../ui/widgets/ConnectionLabelProvider.java        |  2 +-
 .../ui/widgets/NetworkParameterPage.java           |  2 +-
 .../ui/wizards/ExportCertificateWizardPage.java    |  2 +-
 plugins/ldapbrowser.common/pom-first.xml           |  2 +-
 .../common/dialogs/RenameEntryDialog.java          |  2 +-
 .../widgets/connection/BrowserParameterPage.java   |  2 +-
 .../common/wizards/NewEntryDnWizardPage.java       |  2 +-
 plugins/ldapbrowser.core/pom-first.xml             |  4 +-
 .../ldapbrowser/core/model/schema/Schema.java      |  2 +-
 .../ldapbrowser/core/model/schema/SchemaUtils.java |  2 +-
 .../core/utils/CompoundModification.java           |  6 +--
 plugins/ldapbrowser.ui/pom-first.xml               |  2 +-
 .../ui/dialogs/properties/RootDSEPropertyPage.java |  2 +-
 plugins/ldapservers/pom-first.xml                  |  3 +-
 ...LdapServerAdapterExtensionsContentProvider.java |  7 ++--
 plugins/schemaeditor/pom-first.xml                 |  4 +-
 .../schemaeditor/controller/ProjectsHandler.java   | 11 +++---
 .../schemaeditor/controller/SchemaHandler.java     | 24 ++++++------
 .../schemaeditor/model/DependenciesComputer.java   | 22 +++++------
 .../model/hierarchy/HierarchyManager.java          | 43 +++++++++++-----------
 .../model/schemachecker/SchemaChecker.java         |  8 ++--
 .../view/views/SchemaViewContentProvider.java      | 25 +++++++------
 plugins/templateeditor/pom-first.xml               |  3 +-
 .../templateeditor/EntryTemplatePluginUtils.java   |  5 ++-
 .../studio/templateeditor/TemplatesManager.java    |  5 ++-
 .../view/preferences/TemplatesContentProvider.java |  9 +++--
 plugins/valueeditors/pom-first.xml                 |  4 +-
 pom.xml                                            |  8 ++--
 tests/test.integration.core/pom-first.xml          |  3 +-
 tests/test.integration.ui/pom-first.xml            |  2 +-
 .../studio/test/integration/ui/BrowserTest.java    |  2 +-
 .../test/integration/ui/EntryEditorTest.java       |  4 +-
 50 files changed, 143 insertions(+), 137 deletions(-)

diff --git a/eclipse-trgt-platform/pom-first.xml b/eclipse-trgt-platform/pom-first.xml
index 7496532..ca1d92d 100644
--- a/eclipse-trgt-platform/pom-first.xml
+++ b/eclipse-trgt-platform/pom-first.xml
@@ -51,9 +51,9 @@
     </dependency>
 
     <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-      <version>${org.apache.commons.collections.version}</version>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-collections4</artifactId>
+      <version>${org.apache.commons.collections4.version}</version>
     </dependency>
 
     <dependency>
@@ -63,9 +63,9 @@
     </dependency>
 
     <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>${org.apache.commons.lang.version}</version>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>${org.apache.commons.lang3.version}</version>
     </dependency>
 
     <dependency>
diff --git a/eclipse-trgt-platform/template/org.apache.directory.studio.eclipse-trgt-platform.template b/eclipse-trgt-platform/template/org.apache.directory.studio.eclipse-trgt-platform.template
index 74248c7..d269be6 100644
--- a/eclipse-trgt-platform/template/org.apache.directory.studio.eclipse-trgt-platform.template
+++ b/eclipse-trgt-platform/template/org.apache.directory.studio.eclipse-trgt-platform.template
@@ -19,7 +19,7 @@
   @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
 -->
 <?pde version="3.8"?>
-<target name="Apache Directory Studio Platform" sequenceNumber="363">
+<target name="Apache Directory Studio Platform" sequenceNumber="369">
   <locations>
 
     <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
@@ -31,9 +31,9 @@
 
       <!-- Commons jars -->
       <unit id="org.apache.commons.codec" version="${org.apache.commons.codec.bundleversion}"/>
-      <unit id="org.apache.commons.collections" version="${org.apache.commons.collections.bundleversion}"/>
+      <unit id="org.apache.commons.commons-collections4" version="${org.apache.commons.collections4.bundleversion}"/>
       <unit id="org.apache.commons.io" version="${org.apache.commons.io.bundleversion}"/>
-      <unit id="org.apache.commons.lang" version="${org.apache.commons.lang.bundleversion}"/>
+      <unit id="org.apache.commons.lang3" version="${org.apache.commons.lang3.bundleversion}"/>
       <unit id="org.apache.commons.commons-pool2" version="${org.apache.commons.pool.bundleversion}"/>
 
       <!-- LDAP API modules -->
diff --git a/features/rcp.feature/feature.xml b/features/rcp.feature/feature.xml
index 1aab93b..728a738 100644
--- a/features/rcp.feature/feature.xml
+++ b/features/rcp.feature/feature.xml
@@ -218,7 +218,7 @@ http://www.apache.org/licenses/
          unpack="false"/>
 
    <plugin
-         id="org.apache.commons.collections"
+         id="org.apache.commons.commons-collections4"
          download-size="0"
          install-size="0"
          version="0.0.0"
@@ -232,7 +232,7 @@ http://www.apache.org/licenses/
          unpack="false"/>
 
    <plugin
-         id="org.apache.commons.lang"
+         id="org.apache.commons.lang3"
          download-size="0"
          install-size="0"
          version="0.0.0"
diff --git a/plugins/common.core/pom-first.xml b/plugins/common.core/pom-first.xml
index 05ae0c3..b7eaea7 100644
--- a/plugins/common.core/pom-first.xml
+++ b/plugins/common.core/pom-first.xml
@@ -50,7 +50,7 @@
             <Export-Package>org.apache.directory.studio.common.core.jobs</Export-Package>
             
             <Import-Package>
- org.apache.commons.lang
+ org.apache.commons.lang3
             </Import-Package>
             
             <Require-Bundle>
diff --git a/plugins/common.core/src/main/java/org/apache/directory/studio/common/core/jobs/StudioProgressMonitor.java b/plugins/common.core/src/main/java/org/apache/directory/studio/common/core/jobs/StudioProgressMonitor.java
index ac937a5..3214067 100644
--- a/plugins/common.core/src/main/java/org/apache/directory/studio/common/core/jobs/StudioProgressMonitor.java
+++ b/plugins/common.core/src/main/java/org/apache/directory/studio/common/core/jobs/StudioProgressMonitor.java
@@ -27,7 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.MultiStatus;
diff --git a/plugins/connection.core/pom-first.xml b/plugins/connection.core/pom-first.xml
index 4d75427..0337d13 100644
--- a/plugins/connection.core/pom-first.xml
+++ b/plugins/connection.core/pom-first.xml
@@ -53,7 +53,7 @@
  org.apache.directory.studio.connection.core.jobs</Export-Package>
             
             <Import-Package>
- org.apache.commons.lang,
+ org.apache.commons.lang3,
  org.apache.commons.codec.digest,
  org.apache.http.conn.ssl,
  org.dom4j,
diff --git a/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/LdifSearchLogger.java b/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/LdifSearchLogger.java
index 473e1cc..ce4b825 100644
--- a/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/LdifSearchLogger.java
+++ b/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/LdifSearchLogger.java
@@ -41,7 +41,7 @@ import java.util.logging.Logger;
 import javax.naming.directory.SearchControls;
 import javax.naming.ldap.Control;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.entry.Entry;
 import org.apache.directory.api.ldap.model.entry.Modification;
 import org.apache.directory.api.ldap.model.exception.LdapException;
diff --git a/plugins/connection.ui/pom-first.xml b/plugins/connection.ui/pom-first.xml
index 2463ff9..dc80f06 100644
--- a/plugins/connection.ui/pom-first.xml
+++ b/plugins/connection.ui/pom-first.xml
@@ -57,8 +57,8 @@
  org.apache.directory.studio.utils</Export-Package>
             
             <Import-Package>
- org.apache.commons.lang,
- org.apache.commons.lang.time,
+ org.apache.commons.lang3,
+ org.apache.commons.lang3.time,
  org.apache.commons.codec.binary,
  org.apache.commons.codec.digest,
  org.bouncycastle.asn1,
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/RunnableContextRunner.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/RunnableContextRunner.java
index 0f36030..f6bf39c 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/RunnableContextRunner.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/RunnableContextRunner.java
@@ -24,7 +24,7 @@ package org.apache.directory.studio.connection.ui;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.common.core.jobs.StudioProgressMonitor;
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/UIAuthHandler.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/UIAuthHandler.java
index 7e3465b..bbf0384 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/UIAuthHandler.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/UIAuthHandler.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
 import org.apache.directory.studio.connection.core.ConnectionParameter;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/NewConnectionFolderAction.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/NewConnectionFolderAction.java
index 37eb7a0..6943354 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/NewConnectionFolderAction.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/NewConnectionFolderAction.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.actions;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
 import org.apache.directory.studio.connection.core.ConnectionFolder;
 import org.apache.directory.studio.connection.ui.ConnectionUIConstants;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/PasteAction.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/PasteAction.java
index 4c64445..238ea84 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/PasteAction.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/actions/PasteAction.java
@@ -24,7 +24,7 @@ package org.apache.directory.studio.connection.ui.actions;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.exception.LdapURLEncodingException;
 import org.apache.directory.api.ldap.model.url.LdapUrl;
 import org.apache.directory.studio.connection.core.Connection;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/PasswordDialog.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/PasswordDialog.java
index ce625a3..ade10ef 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/PasswordDialog.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/PasswordDialog.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.dialogs;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
 import org.eclipse.jface.dialogs.Dialog;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/ResetPasswordDialog.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/ResetPasswordDialog.java
index f9ea777..e29189b 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/ResetPasswordDialog.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/ResetPasswordDialog.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.dialogs;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/SetupPasswordDialog.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/SetupPasswordDialog.java
index 2a5a137..84d1561 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/SetupPasswordDialog.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/dialogs/SetupPasswordDialog.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.dialogs;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/preferences/PasswordsKeystorePreferencePage.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/preferences/PasswordsKeystorePreferencePage.java
index 99223e9..3c636de 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/preferences/PasswordsKeystorePreferencePage.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/preferences/PasswordsKeystorePreferencePage.java
@@ -29,7 +29,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.directory.api.util.FileUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
 import org.apache.directory.studio.connection.core.Connection;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java
index cd62a29..87842a5 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/AuthenticationParameterPage.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.widgets;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.constants.SaslQoP;
 import org.apache.directory.api.ldap.model.constants.SaslSecurityStrength;
 import org.apache.directory.api.ldap.model.url.LdapUrl;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/CertificateInfoComposite.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/CertificateInfoComposite.java
index 0d971bd..993732d 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/CertificateInfoComposite.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/CertificateInfoComposite.java
@@ -31,8 +31,8 @@ import javax.security.auth.x500.X500Principal;
 
 import org.apache.commons.codec.binary.Hex;
 import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.api.ldap.model.name.Rdn;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionLabelProvider.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionLabelProvider.java
index 982862a..4b6f2eb 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionLabelProvider.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/ConnectionLabelProvider.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.connection.ui.widgets;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.ConnectionFolder;
 import org.apache.directory.studio.connection.core.ConnectionParameter.EncryptionMethod;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/NetworkParameterPage.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/NetworkParameterPage.java
index 561c84a..5bcd3d7 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/NetworkParameterPage.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/widgets/NetworkParameterPage.java
@@ -24,7 +24,7 @@ package org.apache.directory.studio.connection.ui.widgets;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.url.LdapUrl;
 import org.apache.directory.api.ldap.model.url.LdapUrl.Extension;
 import org.apache.directory.api.util.Strings;
diff --git a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/wizards/ExportCertificateWizardPage.java b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/wizards/ExportCertificateWizardPage.java
index 4f43c11..45c707f 100644
--- a/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/wizards/ExportCertificateWizardPage.java
+++ b/plugins/connection.ui/src/main/java/org/apache/directory/studio/connection/ui/wizards/ExportCertificateWizardPage.java
@@ -23,7 +23,7 @@ package org.apache.directory.studio.connection.ui.wizards;
 
 import java.io.File;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
diff --git a/plugins/ldapbrowser.common/pom-first.xml b/plugins/ldapbrowser.common/pom-first.xml
index 477c27b..61fcd9e 100644
--- a/plugins/ldapbrowser.common/pom-first.xml
+++ b/plugins/ldapbrowser.common/pom-first.xml
@@ -62,7 +62,7 @@
  org.apache.directory.studio.valueeditors</Export-Package>
 
             <Import-Package>
- org.apache.commons.lang
+ org.apache.commons.lang3
             </Import-Package>
 
             <Require-Bundle>
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/RenameEntryDialog.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/RenameEntryDialog.java
index 9ce81ae..4893c3f 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/RenameEntryDialog.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/RenameEntryDialog.java
@@ -23,7 +23,7 @@ package org.apache.directory.studio.ldapbrowser.common.dialogs;
 
 import java.util.Collection;
 
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.directory.api.ldap.model.name.Rdn;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java
index 2f83c19..f795284 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java
@@ -23,7 +23,7 @@ package org.apache.directory.studio.ldapbrowser.common.widgets.connection;
 
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.api.ldap.model.url.LdapUrl;
 import org.apache.directory.api.ldap.model.url.LdapUrl.Extension;
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/wizards/NewEntryDnWizardPage.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/wizards/NewEntryDnWizardPage.java
index 2960746..ec9684e 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/wizards/NewEntryDnWizardPage.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/wizards/NewEntryDnWizardPage.java
@@ -25,7 +25,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
 import org.apache.directory.api.ldap.model.name.Ava;
diff --git a/plugins/ldapbrowser.core/pom-first.xml b/plugins/ldapbrowser.core/pom-first.xml
index 0b1b1a2..3d9abd7 100644
--- a/plugins/ldapbrowser.core/pom-first.xml
+++ b/plugins/ldapbrowser.core/pom-first.xml
@@ -127,8 +127,8 @@
  org.apache.directory.studio.ldapbrowser.core.utils</Export-Package>
  
             <Import-Package>
- org.apache.commons.lang,
- org.apache.commons.collections,
+ org.apache.commons.lang3,
+ org.apache.commons.collections4,
  org.apache.commons.codec.digest,
  org.dom4j,
  org.dom4j.io,
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/Schema.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/Schema.java
index 56a553a..3e2dfb1 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/Schema.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/Schema.java
@@ -34,7 +34,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/SchemaUtils.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/SchemaUtils.java
index d2c6dca..a62756c 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/SchemaUtils.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/schema/SchemaUtils.java
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.schema.AbstractSchemaObject;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/utils/CompoundModification.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/utils/CompoundModification.java
index c7e5301..0fc060c 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/utils/CompoundModification.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/utils/CompoundModification.java
@@ -23,9 +23,9 @@ package org.apache.directory.studio.ldapbrowser.core.utils;
 
 import java.util.Collection;
 
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
 import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
 import org.apache.directory.studio.ldapbrowser.core.events.ValueAddedEvent;
diff --git a/plugins/ldapbrowser.ui/pom-first.xml b/plugins/ldapbrowser.ui/pom-first.xml
index 532e1fd..1c314f8 100644
--- a/plugins/ldapbrowser.ui/pom-first.xml
+++ b/plugins/ldapbrowser.ui/pom-first.xml
@@ -66,7 +66,7 @@
  org.apache.directory.studio.ldapbrowser.ui.wizards</Export-Package>
  
             <Import-Package>
- org.apache.commons.lang
+ org.apache.commons.lang3
             </Import-Package>
             
             <Require-Bundle>
diff --git a/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/RootDSEPropertyPage.java b/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/RootDSEPropertyPage.java
index 4b9ecdf..ac80801 100644
--- a/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/RootDSEPropertyPage.java
+++ b/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/RootDSEPropertyPage.java
@@ -21,7 +21,7 @@
 package org.apache.directory.studio.ldapbrowser.ui.dialogs.properties;
 
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.ConnectionServerType;
diff --git a/plugins/ldapservers/pom-first.xml b/plugins/ldapservers/pom-first.xml
index 50a6d62..5f84f9a 100644
--- a/plugins/ldapservers/pom-first.xml
+++ b/plugins/ldapservers/pom-first.xml
@@ -54,7 +54,8 @@
  org.apache.directory.studio.ldapservers.actions</Export-Package>
  
             <Import-Package>
- org.apache.commons.collections.map,
+ org.apache.commons.collections4,
+ org.apache.commons.collections4.multimap,
  org.apache.commons.io.input,
  org.apache.mina.util,
  org.dom4j,
diff --git a/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/wizards/LdapServerAdapterExtensionsContentProvider.java b/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/wizards/LdapServerAdapterExtensionsContentProvider.java
index 80f8aa1..3b015a3 100644
--- a/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/wizards/LdapServerAdapterExtensionsContentProvider.java
+++ b/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/wizards/LdapServerAdapterExtensionsContentProvider.java
@@ -22,7 +22,8 @@ package org.apache.directory.studio.ldapservers.wizards;
 
 import java.util.List;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.studio.ldapservers.LdapServerAdapterExtensionsManager;
 import org.apache.directory.studio.ldapservers.model.LdapServerAdapterExtension;
 import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -38,7 +39,7 @@ import org.eclipse.jface.viewers.Viewer;
 public class LdapServerAdapterExtensionsContentProvider implements ITreeContentProvider
 {
     /** The {@link MultiValueMap} used to store LDAP Server Adapter Extensions and order them by vendor (used as key) */
-    private MultiValueMap ldapServerAdapterExtensionsMap = new MultiValueMap();
+    private MultiValuedMap<String, LdapServerAdapterExtension> ldapServerAdapterExtensionsMap = new ArrayListValuedHashMap<>();
 
 
     /**
@@ -68,7 +69,7 @@ public class LdapServerAdapterExtensionsContentProvider implements ITreeContentP
      */
     public Object[] getChildren( Object parentElement )
     {
-        Object children = ldapServerAdapterExtensionsMap.get( parentElement );
+        Object children = ldapServerAdapterExtensionsMap.get( (String) parentElement );
         if ( children != null )
         {
             if ( children instanceof List )
diff --git a/plugins/schemaeditor/pom-first.xml b/plugins/schemaeditor/pom-first.xml
index 9b65ee9..8832bd3 100644
--- a/plugins/schemaeditor/pom-first.xml
+++ b/plugins/schemaeditor/pom-first.xml
@@ -69,8 +69,8 @@
  org.apache.directory.studio.schemaeditor.view.wrappers</Export-Package>
 
             <Import-Package>
- org.apache.commons.collections, 
- org.apache.commons.collections.map,
+ org.apache.commons.collections4,
+ org.apache.commons.collections4.multimap,
  org.dom4j,
  org.dom4j.io
             </Import-Package>
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/ProjectsHandler.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/ProjectsHandler.java
index 1f39c03..3e59f2a 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/ProjectsHandler.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/ProjectsHandler.java
@@ -25,7 +25,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.studio.schemaeditor.model.Project;
 import org.apache.directory.studio.schemaeditor.model.Project.ProjectState;
@@ -53,7 +54,7 @@ public class ProjectsHandler
     private List<ProjectsHandlerListener> projectsHandlerListeners;
 
     /** The projects listeners */
-    private MultiValueMap projectsListeners;
+    private MultiValuedMap<Project, ProjectListener> projectsListeners;
 
     /** The open project */
     private Project openProject;
@@ -84,7 +85,7 @@ public class ProjectsHandler
         projectsList = new ArrayList<Project>();
         projectsMap = new HashMap<String, Project>();
         projectsHandlerListeners = new ArrayList<ProjectsHandlerListener>();
-        projectsListeners = new MultiValueMap();
+        projectsListeners = new ArrayListValuedHashMap();
     }
 
 
@@ -274,7 +275,7 @@ public class ProjectsHandler
      */
     public void addListener( Project project, ProjectListener listener )
     {
-        if ( !projectsListeners.containsValue( project, listener ) )
+        if ( !projectsListeners.containsMapping( project, listener ) )
         {
             projectsListeners.put( project, listener );
         }
@@ -291,7 +292,7 @@ public class ProjectsHandler
      */
     public void removeListener( Project project, ProjectListener listener )
     {
-        projectsListeners.remove( project, listener );
+        projectsListeners.removeMapping( project, listener );
     }
 
 
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/SchemaHandler.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/SchemaHandler.java
index 01c7daa..8edd467 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/SchemaHandler.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/controller/SchemaHandler.java
@@ -23,8 +23,8 @@ package org.apache.directory.studio.schemaeditor.controller;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.collections.MultiMap;
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.api.ldap.model.schema.LdapSyntax;
 import org.apache.directory.api.ldap.model.schema.MatchingRule;
@@ -64,15 +64,15 @@ public class SchemaHandler
     // The MultiMap (for fast searching)
     //
     /** The schemas MultiMap */
-    private MultiMap schemasMap;
+    private MultiValuedMap<String, Schema> schemasMap;
     /** The attribute types MultiMap */
-    private MultiMap attributeTypesMap;
+    private MultiValuedMap<String, AttributeType> attributeTypesMap;
     /** The matching rules MultiMap */
-    private MultiMap matchingRulesMap;
+    private MultiValuedMap<String, MatchingRule> matchingRulesMap;
     /** The object classes MultiMap */
-    private MultiMap objectClassesMap;
+    private MultiValuedMap<String, ObjectClass> objectClassesMap;
     /** The syntaxes MultiMap */
-    private MultiMap syntaxesMap;
+    private MultiValuedMap<String, LdapSyntax> syntaxesMap;
 
     //
     // The Listeners Lists
@@ -93,11 +93,11 @@ public class SchemaHandler
         syntaxesList = new ArrayList<LdapSyntax>();
 
         // Maps
-        schemasMap = new MultiValueMap();
-        attributeTypesMap = new MultiValueMap();
-        matchingRulesMap = new MultiValueMap();
-        objectClassesMap = new MultiValueMap();
-        syntaxesMap = new MultiValueMap();
+        schemasMap = new ArrayListValuedHashMap<>();
+        attributeTypesMap = new ArrayListValuedHashMap<>();
+        matchingRulesMap = new ArrayListValuedHashMap<>();
+        objectClassesMap = new ArrayListValuedHashMap<>();
+        syntaxesMap = new ArrayListValuedHashMap<>();
 
         // Listeners
         schemaHandlerListeners = new ArrayList<SchemaHandlerListener>();
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/DependenciesComputer.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/DependenciesComputer.java
index 6e8de42..28d60e3 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/DependenciesComputer.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/DependenciesComputer.java
@@ -25,8 +25,8 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 
-import org.apache.commons.collections.MultiMap;
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.api.ldap.model.schema.LdapSyntax;
 import org.apache.directory.api.ldap.model.schema.MatchingRule;
@@ -53,9 +53,9 @@ public class DependenciesComputer
     private SchemaHandler schemaHandler;
 
     // The dependencies MultiMaps
-    private MultiMap schemasDependencies;
-    private MultiMap attributeTypesDependencies;
-    private MultiMap objectClassesDependencies;
+    private MultiValuedMap schemasDependencies;
+    private MultiValuedMap attributeTypesDependencies;
+    private MultiValuedMap objectClassesDependencies;
 
 
     /**
@@ -73,9 +73,9 @@ public class DependenciesComputer
         schemaHandler = new SchemaHandler();
 
         // Creating the dependencies MultiMaps
-        schemasDependencies = new MultiValueMap();
-        attributeTypesDependencies = new MultiValueMap();
-        objectClassesDependencies = new MultiValueMap();
+        schemasDependencies = new ArrayListValuedHashMap<>();
+        attributeTypesDependencies = new ArrayListValuedHashMap<>();
+        objectClassesDependencies = new ArrayListValuedHashMap<>();
 
         if ( schemas != null )
         {
@@ -425,7 +425,7 @@ public class DependenciesComputer
      * @return
      *      the schemasList dependencies MultiMap
      */
-    public MultiMap getSchemasDependencies()
+    public MultiValuedMap getSchemasDependencies()
     {
         return schemasDependencies;
     }
@@ -437,7 +437,7 @@ public class DependenciesComputer
      * @return
      *      the attribute types dependencies MultiMap
      */
-    public MultiMap getAttributeTypesDependencies()
+    public MultiValuedMap getAttributeTypesDependencies()
     {
         return attributeTypesDependencies;
     }
@@ -449,7 +449,7 @@ public class DependenciesComputer
      * @return
      *      the object classes dependencies MultiMap
      */
-    public MultiMap getObjectClassesDependencies()
+    public MultiValuedMap getObjectClassesDependencies()
     {
         return objectClassesDependencies;
     }
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/hierarchy/HierarchyManager.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/hierarchy/HierarchyManager.java
index 12a0231..f8d6511 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/hierarchy/HierarchyManager.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/hierarchy/HierarchyManager.java
@@ -22,7 +22,8 @@ package org.apache.directory.studio.schemaeditor.model.hierarchy;
 
 import java.util.List;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.api.ldap.model.schema.ObjectClass;
 import org.apache.directory.api.ldap.model.schema.SchemaObject;
@@ -40,10 +41,10 @@ import org.apache.directory.studio.schemaeditor.model.Schema;
 public class HierarchyManager
 {
     /** The parents map is used to store for each element its parents */
-    private MultiValueMap parentsMap;
+    private MultiValuedMap<Object, Object> parentsMap;
 
     /** The parents map is used to store for each element its children */
-    private MultiValueMap childrenMap;
+    private MultiValuedMap<Object, Object> childrenMap;
 
     /** The SchemaHandler */
     private SchemaHandler schemaHandler;
@@ -58,8 +59,8 @@ public class HierarchyManager
     public HierarchyManager()
     {
         // Initializing the maps
-        parentsMap = new MultiValueMap();
-        childrenMap = new MultiValueMap();
+        parentsMap = new ArrayListValuedHashMap<>();
+        childrenMap = new ArrayListValuedHashMap<>();
 
         // Getting the SchemaHandler
         schemaHandler = Activator.getDefault().getSchemaHandler();
@@ -200,7 +201,7 @@ public class HierarchyManager
         {
             for ( Object parent : parents )
             {
-                childrenMap.remove( parent, at );
+                childrenMap.removeMapping( parent, at );
             }
 
             parentsMap.remove( at );
@@ -245,7 +246,7 @@ public class HierarchyManager
                     for ( Object value : children )
                     {
                         childrenMap.put( object, value );
-                        parentsMap.remove( value, Strings.toLowerCase( alias ) );
+                        parentsMap.removeMapping( value, Strings.toLowerCase( alias ) );
                         parentsMap.put( value, object );
                     }
                     childrenMap.remove( Strings.toLowerCase( alias ) );
@@ -267,9 +268,9 @@ public class HierarchyManager
                     childrenMap.put( object, value );
                     if ( oid.equals( "2.5.6.0" ) ) //$NON-NLS-1$
                     {
-                        childrenMap.remove( root, value );
+                        childrenMap.removeMapping( root, value );
                     }
-                    parentsMap.remove( value, Strings.toLowerCase( oid ) );
+                    parentsMap.removeMapping( value, Strings.toLowerCase( oid ) );
                     parentsMap.put( value, object );
 
                 }
@@ -376,7 +377,7 @@ public class HierarchyManager
         {
             for ( Object parent : parents )
             {
-                childrenMap.remove( parent, oc );
+                childrenMap.removeMapping( parent, oc );
             }
 
             parentsMap.remove( oc );
@@ -414,16 +415,16 @@ public class HierarchyManager
             AttributeType superiorAT = schemaHandler.getAttributeType( superiorName );
             if ( superiorAT == null )
             {
-                childrenMap.remove( Strings.toLowerCase( superiorName ), at );
+                childrenMap.removeMapping( Strings.toLowerCase( superiorName ), at );
             }
             else
             {
-                childrenMap.remove( superiorAT, at );
+                childrenMap.removeMapping( superiorAT, at );
             }
         }
         else
         {
-            childrenMap.remove( root, at );
+            childrenMap.removeMapping( root, at );
         }
 
         // Attaching each child (if there are children) to the RootObject
@@ -434,7 +435,7 @@ public class HierarchyManager
             {
                 AttributeType childAT = ( AttributeType ) child;
 
-                parentsMap.remove( child, at );
+                parentsMap.removeMapping( child, at );
 
                 parentsMap.put( child, root );
                 childrenMap.put( root, child );
@@ -465,12 +466,12 @@ public class HierarchyManager
                     ObjectClass superClassOC = schemaHandler.getObjectClass( superClassName );
                     if ( superClassOC == null )
                     {
-                        childrenMap.remove( Strings.toLowerCase( superClassName ), oc );
-                        childrenMap.remove( root, oc );
+                        childrenMap.removeMapping( Strings.toLowerCase( superClassName ), oc );
+                        childrenMap.removeMapping( root, oc );
                     }
                     else
                     {
-                        childrenMap.remove( superClassOC, oc );
+                        childrenMap.removeMapping( superClassOC, oc );
                     }
                 }
             }
@@ -480,7 +481,7 @@ public class HierarchyManager
             if ( oc.getOid().equals( "2.5.6.0" ) ) //$NON-NLS-1$
             // The given object class is the "top (2.5.6.0)" object class
             {
-                childrenMap.remove( root, oc );
+                childrenMap.removeMapping( root, oc );
             }
             else
             {
@@ -488,12 +489,12 @@ public class HierarchyManager
                 if ( topOC != null )
                 // The "top (2.5.6.0)" object class exists
                 {
-                    childrenMap.remove( topOC, oc );
+                    childrenMap.removeMapping( topOC, oc );
                 }
                 else
                 // The "top (2.5.6.0)" object class does not exist
                 {
-                    childrenMap.remove( "2.5.6.0", oc ); //$NON-NLS-1$
+                    childrenMap.removeMapping( "2.5.6.0", oc ); //$NON-NLS-1$
                 }
             }
         }
@@ -506,7 +507,7 @@ public class HierarchyManager
             {
                 ObjectClass childOC = ( ObjectClass ) child;
 
-                parentsMap.remove( child, oc );
+                parentsMap.removeMapping( child, oc );
 
                 parentsMap.put( child, root );
                 childrenMap.put( root, child );
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/schemachecker/SchemaChecker.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/schemachecker/SchemaChecker.java
index 755c21c..e00e23e 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/schemachecker/SchemaChecker.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/model/schemachecker/SchemaChecker.java
@@ -23,8 +23,8 @@ package org.apache.directory.studio.schemaeditor.model.schemachecker;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.collections.MultiMap;
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.exception.LdapSchemaException;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.api.ldap.model.schema.LdapSyntax;
@@ -63,13 +63,13 @@ public class SchemaChecker
     private SchemaManager schemaManager;
 
     /** The errors map */
-    private MultiMap errorsMap = new MultiValueMap();
+    private MultiValuedMap<Object, Object> errorsMap = new ArrayListValuedHashMap<>();
 
     /** The warnings list */
     private List<SchemaWarning> warningsList = new ArrayList<SchemaWarning>();
 
     /** The warnings map */
-    private MultiMap warningsMap = new MultiValueMap();
+    private MultiValuedMap<Object, Object> warningsMap = new ArrayListValuedHashMap<>();
 
     /** The lock object used to synchronize accesses to the errors and warnings maps*/
     private static Object lock = new Object();
diff --git a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SchemaViewContentProvider.java b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SchemaViewContentProvider.java
index 3b78f9a..2f832f1 100644
--- a/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SchemaViewContentProvider.java
+++ b/plugins/schemaeditor/src/main/java/org/apache/directory/studio/schemaeditor/view/views/SchemaViewContentProvider.java
@@ -24,7 +24,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.api.ldap.model.schema.MutableObjectClass;
 import org.apache.directory.api.ldap.model.schema.ObjectClass;
@@ -72,7 +73,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
     private SchemaViewRoot root;
 
     /** The 'Elements To Wrappers' Map */
-    private MultiValueMap elementsToWrappersMap;
+    private ListValuedMap<Object, TreeNode> elementsToWrappersMap;
 
     private HierarchyManager hierarchyManager;
 
@@ -137,7 +138,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
             {
                 if ( root.getChildren().isEmpty() )
                 {
-                    elementsToWrappersMap = new MultiValueMap();
+                    elementsToWrappersMap = new ArrayListValuedHashMap<>();
 
                     SchemaHandler schemaHandler = Activator.getDefault().getSchemaHandler();
                     if ( schemaHandler != null )
@@ -158,7 +159,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
             {
                 if ( root.getChildren().isEmpty() )
                 {
-                    elementsToWrappersMap = new MultiValueMap();
+                    elementsToWrappersMap = new ArrayListValuedHashMap<>();
 
                     hierarchyManager = new HierarchyManager();
 
@@ -437,7 +438,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
      */
     public void removeElementToWrapper( Object element, TreeNode wrapper )
     {
-        elementsToWrappersMap.remove( element, wrapper );
+        elementsToWrappersMap.removeMapping( element, wrapper );
     }
 
 
@@ -718,7 +719,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
         if ( atw != null )
         {
             atw.getParent().removeChild( atw );
-            elementsToWrappersMap.remove( at, atw );
+            elementsToWrappersMap.removeMapping( at, atw );
         }
     }
 
@@ -797,13 +798,13 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
             if ( child instanceof AttributeTypeWrapper )
             {
                 AttributeTypeWrapper atw = ( AttributeTypeWrapper ) child;
-                elementsToWrappersMap.remove( atw.getAttributeType(), child );
+                elementsToWrappersMap.removeMapping( atw.getAttributeType(), child );
                 removeRecursiveChildren( atw );
             }
             else if ( child instanceof ObjectClassWrapper )
             {
                 ObjectClassWrapper ocw = ( ObjectClassWrapper ) child;
-                elementsToWrappersMap.remove( ocw.getObjectClass(), child );
+                elementsToWrappersMap.removeMapping( ocw.getObjectClass(), child );
                 removeRecursiveChildren( ocw );
             }
             else
@@ -914,7 +915,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
                         if ( wrapper.getParent().getParent().equals( root ) )
                         {
                             wrapper.getParent().removeChild( wrapper );
-                            elementsToWrappersMap.remove( oc, wrapper );
+                            elementsToWrappersMap.removeMapping( oc, wrapper );
                         }
                     }
                     else if ( group == PluginConstants.PREFS_SCHEMA_VIEW_GROUPING_MIXED )
@@ -922,7 +923,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
                         if ( wrapper.getParent().equals( root ) )
                         {
                             wrapper.getParent().removeChild( wrapper );
-                            elementsToWrappersMap.remove( oc, wrapper );
+                            elementsToWrappersMap.removeMapping( oc, wrapper );
                         }
                     }
                     removeRecursiveChildren( wrapper );
@@ -1140,7 +1141,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
         if ( ocw != null )
         {
             ocw.getParent().removeChild( ocw );
-            elementsToWrappersMap.remove( oc, ocw );
+            elementsToWrappersMap.removeMapping( oc, ocw );
         }
     }
 
@@ -1294,7 +1295,7 @@ public class SchemaViewContentProvider implements IStructuredContentProvider, IT
         if ( sw != null )
         {
             sw.getParent().removeChild( sw );
-            elementsToWrappersMap.remove( schema, sw );
+            elementsToWrappersMap.removeMapping( schema, sw );
             removeRecursiveChildren( sw );
         }
     }
diff --git a/plugins/templateeditor/pom-first.xml b/plugins/templateeditor/pom-first.xml
index 4ca9212..e33be2d 100644
--- a/plugins/templateeditor/pom-first.xml
+++ b/plugins/templateeditor/pom-first.xml
@@ -59,6 +59,8 @@
             </Export-Package>
             
             <Import-Package>
+              org.apache.commons.collections4,
+              org.apache.commons.collections4.multimap,
               org.dom4j,
               org.dom4j.io,
               org.slf4j
@@ -69,7 +71,6 @@
               org.eclipse.ui,
               org.eclipse.ui.forms,
               org.eclipse.jface.text,
-              org.apache.commons.collections,
               org.apache.directory.api.ldap.model,
               org.apache.directory.api.util,
               org.apache.directory.studio.common.core,
diff --git a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/EntryTemplatePluginUtils.java b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/EntryTemplatePluginUtils.java
index f09058b..be77e76 100644
--- a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/EntryTemplatePluginUtils.java
+++ b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/EntryTemplatePluginUtils.java
@@ -34,7 +34,8 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.ObjectClass;
 import org.apache.directory.api.ldap.model.schema.ObjectClassTypeEnum;
 import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
@@ -315,7 +316,7 @@ public class EntryTemplatePluginUtils
         Template[] templates = manager.getTemplates();
 
         // Creating a MultiValueMap that holds the templates ordered by ObjectClassDescription object
-        MultiValueMap templatesByOcd = new MultiValueMap();
+        MultiValuedMap<ObjectClass, Template> templatesByOcd = new ArrayListValuedHashMap<>();
 
         // Populating this map
         for ( Template template : templates )
diff --git a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/TemplatesManager.java b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/TemplatesManager.java
index ef333ef..3a8921a 100644
--- a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/TemplatesManager.java
+++ b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/TemplatesManager.java
@@ -33,7 +33,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.ObjectClass;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionPoint;
@@ -71,7 +72,7 @@ public class TemplatesManager
     private Map<String, Template> templatesByIdMap = new HashMap<String, Template>();
 
     /** The maps containing all the templates by ObjectClassDescription */
-    private MultiValueMap templatesByStructuralObjectClassMap = new MultiValueMap();
+    private MultiValuedMap<ObjectClass, Template> templatesByStructuralObjectClassMap = new ArrayListValuedHashMap<>();
 
     /** The list containing *only* the IDs of the disabled templates */
     private List<String> disabledTemplatesList = new ArrayList<String>();
diff --git a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/view/preferences/TemplatesContentProvider.java b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/view/preferences/TemplatesContentProvider.java
index 68b4f15..bb544e6 100644
--- a/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/view/preferences/TemplatesContentProvider.java
+++ b/plugins/templateeditor/src/main/java/org/apache/directory/studio/templateeditor/view/preferences/TemplatesContentProvider.java
@@ -23,7 +23,8 @@ package org.apache.directory.studio.templateeditor.view.preferences;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.directory.api.ldap.model.schema.ObjectClass;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -60,7 +61,7 @@ public class TemplatesContentProvider implements ITreeContentProvider, Templates
     private List<Template> templates;
 
     /** The map where templates are organized by object classes */
-    private MultiValueMap objectClassesTemplatesMap;
+    private MultiValuedMap<ObjectClass, Template> objectClassesTemplatesMap;
 
 
     /**
@@ -78,7 +79,7 @@ public class TemplatesContentProvider implements ITreeContentProvider, Templates
         manager.addListener( this );
         store = EntryTemplatePlugin.getDefault().getPreferenceStore();
         templates = new ArrayList<Template>();
-        objectClassesTemplatesMap = new MultiValueMap();
+        objectClassesTemplatesMap = new ArrayListValuedHashMap<>();
     }
 
 
@@ -253,7 +254,7 @@ public class TemplatesContentProvider implements ITreeContentProvider, Templates
     public void templateRemoved( Template template )
     {
         // Removing the structural object class
-        objectClassesTemplatesMap.remove( EntryTemplatePluginUtils.getObjectClassDescriptionFromDefaultSchema( template
+        objectClassesTemplatesMap.removeMapping( EntryTemplatePluginUtils.getObjectClassDescriptionFromDefaultSchema( template
             .getStructuralObjectClass() ), template );
 
         // Removing the template
diff --git a/plugins/valueeditors/pom-first.xml b/plugins/valueeditors/pom-first.xml
index abc3fdc..85ea2f8 100644
--- a/plugins/valueeditors/pom-first.xml
+++ b/plugins/valueeditors/pom-first.xml
@@ -63,9 +63,7 @@
  org.apache.directory.studio.valueeditors.time,
  org.apache.directory.studio.valueeditors.uuid</Export-Package>
  
-            <Import-Package>
- org.apache.commons.lang,
- org.apache.commons.codec,
+            <Import-Package>org.apache.commons.codec,
  org.apache.commons.codec.binary
             </Import-Package>
             
diff --git a/pom.xml b/pom.xml
index 821f028..b4d164d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,12 +80,12 @@
     <net.sf.ehcache.bundleversion>2.10.4</net.sf.ehcache.bundleversion>
     <org.apache.commons.codec.version>1.11</org.apache.commons.codec.version>
     <org.apache.commons.codec.bundleversion>1.11.0</org.apache.commons.codec.bundleversion>
-    <org.apache.commons.collections.version>3.2.2</org.apache.commons.collections.version>
-    <org.apache.commons.collections.bundleversion>3.2.2</org.apache.commons.collections.bundleversion>
+    <org.apache.commons.collections4.version>4.2</org.apache.commons.collections4.version>
+    <org.apache.commons.collections4.bundleversion>4.2.0</org.apache.commons.collections4.bundleversion>
     <org.apache.commons.io.version>2.6</org.apache.commons.io.version>
     <org.apache.commons.io.bundleversion>2.6.0</org.apache.commons.io.bundleversion>
-    <org.apache.commons.lang.version>2.6</org.apache.commons.lang.version>
-    <org.apache.commons.lang.bundleversion>2.6.0</org.apache.commons.lang.bundleversion>
+    <org.apache.commons.lang3.version>3.8.1</org.apache.commons.lang3.version>
+    <org.apache.commons.lang3.bundleversion>3.8.1</org.apache.commons.lang3.bundleversion>
     <org.apache.commons.pool.version>2.6.0</org.apache.commons.pool.version>
     <org.apache.commons.pool.bundleversion>2.6.0</org.apache.commons.pool.bundleversion>
     <org.apache.directory.api.version>2.0.0.AM3-SNAPSHOT</org.apache.directory.api.version>
diff --git a/tests/test.integration.core/pom-first.xml b/tests/test.integration.core/pom-first.xml
index b44799e..4556c4d 100644
--- a/tests/test.integration.core/pom-first.xml
+++ b/tests/test.integration.core/pom-first.xml
@@ -70,8 +70,7 @@
  org.eclipse.ui,
  javax.annotation</Require-Bundle>
             
-            <Import-Package>org.apache.commons.lang,
- org.apache.commons.codec.digest,
+            <Import-Package>org.apache.commons.codec.digest,
  org.apache.http.conn.ssl,
  org.dom4j,
  org.dom4j.io</Import-Package>
diff --git a/tests/test.integration.ui/pom-first.xml b/tests/test.integration.ui/pom-first.xml
index 9fb977a..7068e1a 100644
--- a/tests/test.integration.ui/pom-first.xml
+++ b/tests/test.integration.ui/pom-first.xml
@@ -102,7 +102,7 @@
  org.eclipse.core.runtime,
  org.eclipse.ui</Require-Bundle>
             
-            <Import-Package>org.apache.commons.lang,
+            <Import-Package>org.apache.commons.lang3,
  org.apache.commons.codec.digest,
  org.apache.http.conn.ssl,
  org.apache.log4j,
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/BrowserTest.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/BrowserTest.java
index 1600874..646505c 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/BrowserTest.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/BrowserTest.java
@@ -30,7 +30,7 @@ import static org.junit.Assert.assertTrue;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.server.annotations.CreateLdapServer;
 import org.apache.directory.server.annotations.CreateTransport;
 import org.apache.directory.server.core.annotations.ApplyLdifFiles;
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/EntryEditorTest.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/EntryEditorTest.java
index 91e5446..5ad80b2 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/EntryEditorTest.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/EntryEditorTest.java
@@ -32,8 +32,8 @@ import java.io.File;
 import java.io.InputStream;
 import java.net.URL;
 
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.constants.LdapSecurityConstants;
 import org.apache.directory.api.ldap.model.entry.Entry;
 import org.apache.directory.api.ldap.model.name.Dn;