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

jvergara
25.22.2009 dabdc375ef7668fcecefa6e847c8a55c22164215
Fix for issue 3528 (A scheduled task should check that the start time has not passed)

Compare the current date with the date provided by the user, if the date provided by the user has passed, display an error message.
6 files modified
64 ■■■■ changed files
opendj-sdk/opends/src/messages/messages/tools.properties 7 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java 10 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java 10 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java 8 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java 10 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tools/tasks/TaskTool.java 19 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/tools.properties
@@ -2453,12 +2453,13 @@
INFO_LDIFEXPORT_PATH_TO_LDIF_FILE_1662=Exporting to %s
#
# These are the localized version of the answers that the user can provide in
# interactive tools.
# These are the localized version of the answers that the user can provide in
# interactive tools.
#
INFO_PROMPT_YES_COMPLETE_ANSWER_1663=yes
INFO_PROMPT_YES_FIRST_LETTER_ANSWER_1664=y
INFO_PROMPT_NO_COMPLETE_ANSWER_1665=no
INFO_PROMPT_NO_FIRST_LETTER_ANSWER_1666=n
SEVERE_ERR_START_DATETIME_ALREADY_PASSED_1667=The specified start time '%s' \
 has already passed
opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.messages.Message;
@@ -60,6 +60,7 @@
import org.opends.server.util.args.BooleanArgument;
import org.opends.server.util.args.StringArgument;
import org.opends.server.util.args.LDAPConnectionArgumentParser;
import org.opends.server.util.cli.CLIException;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
@@ -299,6 +300,13 @@
      err.println(argParser.getUsage());
      return 1;
    }
    catch (CLIException ce)
    {
      // No need to display the usage since the problem comes with a provided
      // value.
      err.println(wrapText(ce.getMessageObject(), MAX_LINE_WIDTH));
      return 1;
    }
    // If we should just display usage or version information,
opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
@@ -53,6 +53,7 @@
import org.opends.server.util.args.IntegerArgument;
import org.opends.server.util.args.StringArgument;
import org.opends.server.util.args.LDAPConnectionArgumentParser;
import org.opends.server.util.cli.CLIException;
import org.opends.messages.Message;
import static org.opends.messages.ToolMessages.*;
@@ -330,6 +331,13 @@
      err.println(argParser.getUsage());
      return 1;
    }
    catch (CLIException ce)
    {
      // No need to display the usage since the problem comes with a provided
      // value.
      err.println(wrapText(ce.getMessageObject(), MAX_LINE_WIDTH));
      return 1;
    }
    // If we should just display usage or version information,
opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
@@ -79,6 +79,7 @@
import org.opends.server.util.args.IntegerArgument;
import org.opends.server.util.args.LDAPConnectionArgumentParser;
import org.opends.server.util.args.StringArgument;
import org.opends.server.util.cli.CLIException;
@@ -405,6 +406,13 @@
      err.println(argParser.getUsage());
      return 1;
    }
    catch (CLIException ce)
    {
      // No need to display the usage since the problem comes with a provided
      // value.
      err.println(wrapText(ce.getMessageObject(), MAX_LINE_WIDTH));
      return 1;
    }
    // If we should just display usage or version information,
opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools;
import org.opends.messages.Message;
@@ -57,6 +57,7 @@
import org.opends.server.util.args.BooleanArgument;
import org.opends.server.util.args.StringArgument;
import org.opends.server.util.args.LDAPConnectionArgumentParser;
import org.opends.server.util.cli.CLIException;
import static org.opends.server.loggers.ErrorLogger.*;
import static org.opends.messages.ToolMessages.*;
@@ -244,6 +245,13 @@
      err.println(argParser.getUsage());
      return 1;
    }
    catch (CLIException ce)
    {
      // No need to display the usage since the problem comes with a provided
      // value.
      err.println(wrapText(ce.getMessageObject(), MAX_LINE_WIDTH));
      return 1;
    }
    // If we should just display usage or version information,
opendj-sdk/opends/src/server/org/opends/server/tools/tasks/TaskTool.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2007-2008 Sun Microsystems, Inc.
 *      Copyright 2007-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools.tasks;
@@ -32,6 +32,8 @@
import org.opends.server.util.args.ArgumentException;
import org.opends.server.util.args.StringArgument;
import org.opends.server.util.args.ArgumentGroup;
import org.opends.server.util.cli.CLIException;
import static org.opends.server.util.StaticUtils.wrapText;
import static org.opends.server.util.StaticUtils.getExceptionMessage;
import static org.opends.server.util.ServerConstants.MAX_LINE_WIDTH;
@@ -233,12 +235,21 @@
   * called after the <code>ArgumentParser.parseArguments</code> has
   * been called.
   *
   * @throws ArgumentException if there is a problem with the arguments
   * @throws ArgumentException if there is a problem with the arguments.
   * @throws CLIException if there is a problem with one of the values provided
   * by the user.
   */
  protected void validateTaskArgs() throws ArgumentException {
  protected void validateTaskArgs() throws ArgumentException, CLIException {
    if (startArg.isPresent() && !NOW.equals(startArg.getValue())) {
      try {
        StaticUtils.parseDateTimeString(startArg.getValue());
        Date date = StaticUtils.parseDateTimeString(startArg.getValue());
        // Check that the provided date is not previous to the current date.
        Date currentDate = new Date(System.currentTimeMillis());
        if (currentDate.after(date))
        {
          throw new CLIException(ERR_START_DATETIME_ALREADY_PASSED.get(
              startArg.getValue()));
        }
      } catch (ParseException pe) {
        throw new ArgumentException(ERR_START_DATETIME_FORMAT.get());
      }