mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Gaetan Boismal
01.07.2016 ed3930daea274cb0f46d77f728f4482c69c48a03
OPENDJ-2730 Upgrade task to clean lib folder

Create an upgrade task for 4.0.0

* Remove 2.6.x following jars:
* OpenDJ
* OpenDJ_<locale>
* opendj-ldap-sdk
* opendj-rest2ldap-servlet
* opendj-server2x-adapter
* jackson-core-asl
* jackson-mapper-asl
* json-fluent
* json-resource-servlet
* mail
* Remove 3.0.0 localized jars: OpenDJ-<locale>.jar
3 files modified
46 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java 3 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java 42 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/messages/org/opends/messages/tool.properties 1 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -630,6 +630,9 @@
        "cn=UUID Ordering Matching Rule,cn=Matching Rules,cn=config",
        "cn=Word Equality Matching Rule,cn=Matching Rules,cn=config"));
    /** see OPENDJ-2730 */
    register("4.0.0", removeOldJarFiles());
    /**
     * All upgrades will refresh the server configuration schema and generate a new upgrade folder.
     */
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
@@ -81,6 +81,9 @@
  /** A flag for marking 'rebuild all' task accepted by user. */
  static boolean isRebuildAllIndexesTaskAccepted;
  private static final List<String> SUPPORTED_LOCALES_FOR_3_0_0 = Arrays.asList(
      "ca_ES", "de", "es", "fr", "ja", "ko", "pl", "zh_CN", "zh_TW");
  /**
   * Returns a new upgrade task which adds a config entry to the underlying
   * config file.
@@ -1314,6 +1317,45 @@
    };
  }
  /** Removes server and localized jars from previous version since names have changed. */
  static UpgradeTask removeOldJarFiles()
  {
    return new AbstractUpgradeTask()
    {
      @Override
      public void perform(final UpgradeContext context) throws ClientException
      {
        final ProgressNotificationCallback pnc = new ProgressNotificationCallback(
            INFORMATION, INFO_UPGRADE_TASK_REMOVE_OLD_JARS.get(), 0);
        context.notifyProgress(pnc);
        for (final String locale : SUPPORTED_LOCALES_FOR_3_0_0)
        {
          deleteJarFileIfExists("OpenDJ_" + locale);
          deleteJarFileIfExists("OpenDJ-" + locale);
        }
        deleteJarFileIfExists("OpenDJ",
            // Jar files from 2.6.x
            "jackson-core-asl", "jackson-mapper-asl", "json-fluent", "json-resource-servlet",
            "mail", "opendj-ldap-sdk", "opendj-rest2ldap-servlet", "opendj-server2x-adapter");
        context.notifyProgress(pnc.setProgress(100));
      }
      private void deleteJarFileIfExists(final String... jarFileNames)
      {
        for (final String jarFileName : jarFileNames)
        {
          final File f = new File(libDirectory, jarFileName + ".jar");
          if (f.exists())
          {
            f.delete();
          }
        }
      }
    };
  }
  /** Prevent instantiation. */
  private UpgradeTasks()
  {
opendj-server-legacy/src/messages/org/opends/messages/tool.properties
@@ -2613,6 +2613,7 @@
INFO_UPGRADE_TASK_REMOVE_MATCHING_RULES_2683=Removing configuration for matching rules
INFO_UPGRADE_TASK_2716_1_SUMMARY_20024=Adding 'includedAttributes' attribute type to changelog schema
INFO_UPGRADE_TASK_2716_2_SUMMARY_20025=Updating 'changeLogEntry' object class in changelog schema
INFO_UPGRADE_TASK_REMOVE_OLD_JARS_20024=Removing old OpenDJ library files
INFO_LDAP_CONN_PROMPT_SECURITY_LDAP=LDAP
INFO_LDAP_CONN_PROMPT_SECURITY_USE_SSL=LDAP with SSL