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

Valery Kharseko
11 hours ago 4c7057e45ba8a2f3bc1f0b02b3edf14886fd1956
opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java
@@ -18,6 +18,7 @@
package com.forgerock.opendj.cli;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import static com.forgerock.opendj.cli.CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT;
import static com.forgerock.opendj.cli.CliConstants.DEFAULT_LDAP_PORT;
import static com.forgerock.opendj.cli.CliMessages.*;
import static com.forgerock.opendj.cli.Utils.getHostNameForLdapUrl;
@@ -140,6 +141,9 @@
    /** If this connection should be an admin connection. */
    private boolean isAdminConnection;
    /** The port to use when the port argument has no default value. */
    private final int defaultPort;
    /**
     * Default constructor to create a connection factory designed for use with command line tools,
     * adding basic LDAP connection arguments to the specified parser (e.g: hostname, bindname...etc).
@@ -177,6 +181,7 @@
            final ConsoleApplication app, final String defaultBindDN, final int defaultPort,
            final boolean alwaysSSL) throws ArgumentException {
        this.app = app;
        this.defaultPort = defaultPort;
        useSSLArg = useSSLArgument();
        if (!alwaysSSL) {
@@ -261,10 +266,14 @@
            try {
                return connectTimeOut.getIntValue();
            } catch (ArgumentException e) {
                return Integer.valueOf(connectTimeOut.getDefaultValue());
                return getDefaultConnectTimeout();
            }
        }
        return Integer.valueOf(connectTimeOut.getDefaultValue());
        return getDefaultConnectTimeout();
    }
    private int getDefaultConnectTimeout() {
        return connectTimeOut.getDefaultIntValue(DEFAULT_LDAP_CONNECT_TIMEOUT);
    }
@@ -311,18 +320,22 @@
            try {
                return portArg.getIntValue();
            } catch (ArgumentException e) {
                return Integer.valueOf(portArg.getDefaultValue());
                return getDefaultPort();
            }
        } else if (app.isInteractive()) {
            final LocalizableMessage portMsg =
                    isAdminConnection ? INFO_DESCRIPTION_ADMIN_PORT.get() : INFO_DESCRIPTION_PORT.get();
            int value = app.askPort(portMsg, Integer.valueOf(portArg.getDefaultValue()), logger);
            int value = app.askPort(portMsg, getDefaultPort(), logger);
            app.println();
            portArg.addValue(Integer.toString(value));
            portArg.setPresent(true);
            return value;
        }
        return Integer.valueOf(portArg.getDefaultValue());
        return getDefaultPort();
    }
    private int getDefaultPort() {
        return portArg.getDefaultIntValue(defaultPort);
    }
    /**
opendj-cli/src/main/java/com/forgerock/opendj/cli/IntegerArgument.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2006-2010 Sun Microsystems, Inc.
 * Portions copyright 2014-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package com.forgerock.opendj.cli;
@@ -105,6 +106,25 @@
    }
    /**
     * Returns the default value of this argument as an int.
     * <p>
     * The default value of an integer argument is always built from an {@code int}, so the only
     * reason for this method to return the fallback value is that this argument has no default
     * value at all.
     *
     * @param fallbackValue
     *            The value to return if this argument does not have a default value.
     * @return The default value of this argument, or {@code fallbackValue} if it does not have one.
     */
    public int getDefaultIntValue(final int fallbackValue) {
        try {
            return Integer.parseInt(getDefaultValue());
        } catch (final NumberFormatException e) {
            return fallbackValue;
        }
    }
    /**
     * Indicates whether the provided value is acceptable for use in this
     * argument.
     *
opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
@@ -384,7 +384,7 @@
     */
    public static void checkJavaVersion() throws ClientException {
        final String version = System.getProperty("java.specification.version");
        if (Float.valueOf(version) < CliConstants.MINIMUM_JAVA_VERSION) {
        if (getJavaSpecificationVersion(version) < CliConstants.MINIMUM_JAVA_VERSION) {
            final String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
            throw new ClientException(ReturnCode.JAVA_VERSION_INCOMPATIBLE,
                    ERR_INCOMPATIBLE_JAVA_VERSION.get(CliConstants.MINIMUM_JAVA_VERSION, version, javaBin), null);
@@ -392,6 +392,22 @@
    }
    /**
     * Returns the provided java specification version as a number, or zero if it does not hold one,
     * in which case the java version is reported as incompatible rather than failing the check with
     * a runtime exception.
     */
    private static float getJavaSpecificationVersion(final String version) {
        if (version == null) {
            return 0;
        }
        try {
            return Float.parseFloat(version);
        } catch (final NumberFormatException e) {
            return 0;
        }
    }
    /**
     * Returns the default host name.
     *
     * @return The default host name or empty string if the host name cannot be resolved.
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2010 Sun Microsystems, Inc.
 * Portions Copyright 2011-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package com.forgerock.opendj.ldap.tools;
@@ -481,13 +482,18 @@
    double[] getPercentiles() {
        if (percentilesArgument.isPresent()) {
            double[] percentiles = new double[percentilesArgument.getValues().size()];
            int index = 0;
            for (final String percentile : percentilesArgument.getValues()) {
                percentiles[index++] = Double.parseDouble(percentile);
            try {
                final double[] percentiles = new double[percentilesArgument.getValues().size()];
                int index = 0;
                for (final String percentile : percentilesArgument.getValues()) {
                    percentiles[index++] = Double.parseDouble(percentile);
                }
                Arrays.sort(percentiles);
                return percentiles;
            } catch (final NumberFormatException e) {
                // The argument parser only accepts integers in the [0, 100] range, so this cannot
                // happen. Fall back to the default percentiles rather than failing the run.
            }
            Arrays.sort(percentiles);
            return percentiles;
        }
        return DEFAULT_PERCENTILES;
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java
@@ -60,6 +60,7 @@
import org.opends.guitools.controlpanel.task.DeleteIndexTask;
import org.opends.guitools.controlpanel.task.Task;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.quicksetup.util.Utils;
/**
 * The panel that displays an existing index (it appears on the right of the
@@ -492,7 +493,7 @@
      backendSet = new HashSet<>();
      backendSet.add(backendName);
      attributeName = index.getName();
      entryLimitValue = Integer.parseInt(entryLimit.getText());
      entryLimitValue = Utils.parseIntOrDefault(entryLimit.getText(), index.getEntryLimit());
      indexTypes = getTypes();
      indexToModify = index;
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java
@@ -576,7 +576,7 @@
        private HostPort getHostPort()
        {
          return new HostPort(hostName.getText().trim(), Integer.valueOf(port.getText().trim()));
          return new HostPort(hostName.getText().trim(), Utils.parseIntOrDefault(port.getText(), -1));
        }
        @Override
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
@@ -735,7 +735,7 @@
      }
      else if (importAutomaticallyGenerated.isSelected())
      {
        int nEntries = Integer.parseInt(numberOfEntries.getText().trim());
        int nEntries = Utils.parseIntOrDefault(numberOfEntries.getText(), 0);
        if (nEntries < 500)
        {
          return 30;
@@ -1164,7 +1164,8 @@
            }
          });
          final File templateFile = SetupUtils.createTemplateFile(newBaseDN, Integer.parseInt(nEntries));
          final File templateFile =
              SetupUtils.createTemplateFile(newBaseDN, Utils.parseIntOrDefault(nEntries, 0));
          if (!isLocal())
          {
            try
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
@@ -53,6 +53,7 @@
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.task.Task;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.quicksetup.util.Utils;
import org.forgerock.opendj.ldap.schema.Schema;
/** Panel that appears when the user defines a new index. */
@@ -339,7 +340,7 @@
      super(info, dlg);
      backendSet.add(backendName.getText());
      attributeName = getAttributeName();
      entryLimitValue = Integer.parseInt(entryLimit.getText());
      entryLimitValue = Utils.parseIntOrDefault(entryLimit.getText(), DEFAULT_ENTRY_LIMIT);
      indexTypes = getTypes();
    }
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2009-2010 Sun Microsystems, Inc.
 * Portions Copyright 2014-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.guitools.controlpanel.ui;
@@ -49,6 +50,7 @@
import org.opends.guitools.controlpanel.ui.components.TimeDocumentFilter;
import org.opends.guitools.controlpanel.ui.renderer.NoLeftInsetCategoryComboBoxRenderer;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.quicksetup.util.Utils;
import org.opends.server.backends.task.RecurringTask;
/** The panel that allows the user to specify when a task will be launched. */
@@ -351,7 +353,7 @@
    int previousErrorNumber = errorMessages.size();
    int y = Integer.parseInt(year.getSelectedItem().toString());
    int y = Utils.parseIntOrDefault(year.getSelectedItem().toString(), -1);
    int d = -1;
    int m = month.getSelectedIndex();
    int[] h = {-1};
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
@@ -2412,9 +2412,16 @@
      {
        return NO_VALUE_SET.toString();
      }
      long l = Long.parseLong(monitoringValue);
      Date date = new Date(l);
      return ConfigFromConnection.newDateFormatter().format(date);
      try
      {
        Date date = new Date(Long.parseLong(monitoringValue));
        return ConfigFromConnection.newDateFormatter().format(date);
      }
      catch (NumberFormatException e)
      {
        // The server did not return a number: display the value as it is.
        return monitoringValue;
      }
    }
    else if (attr.isTime())
    {
@@ -2438,10 +2445,18 @@
    }
    else if (attr.isValueInBytes())
    {
      long l = Long.parseLong(monitoringValue);
      long mb = l / (1024 * 1024);
      long kbs = (l - mb * 1024 * 1024) / 1024;
      return INFO_CTRL_PANEL_MEMORY_VALUE.get(mb, kbs).toString();
      try
      {
        long l = Long.parseLong(monitoringValue);
        long mb = l / (1024 * 1024);
        long kbs = (l - mb * 1024 * 1024) / 1024;
        return INFO_CTRL_PANEL_MEMORY_VALUE.get(mb, kbs).toString();
      }
      catch (NumberFormatException e)
      {
        // The server did not return a number: display the value as it is.
        return monitoringValue;
      }
    }
    return monitoringValue;
  }
opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java
@@ -275,7 +275,7 @@
   * @return String representing the major version
   */
  public Integer getMajorVersion() {
    return Integer.valueOf(values.get(MAJOR_VERSION));
    return getVersionNumber(MAJOR_VERSION);
  }
  /**
@@ -284,7 +284,7 @@
   * @return String representing the minor version
   */
  public Integer getMinorVersion() {
    return Integer.valueOf(values.get(MINOR_VERSION));
    return getVersionNumber(MINOR_VERSION);
  }
  /**
@@ -293,7 +293,24 @@
   * @return String representing the point version
   */
  public Integer getPointVersion() {
    return Integer.valueOf(values.get(POINT_VERSION));
    return getVersionNumber(POINT_VERSION);
  }
  /**
   * Returns the number held by the provided version property, or zero if the
   * build information does not hold a number for it.
   *
   * @param versionProperty the name of the version property
   * @return the number held by the property
   */
  private Integer getVersionNumber(String versionProperty) {
    try {
      return Integer.valueOf(values.get(versionProperty));
    } catch (NumberFormatException e) {
      // The build information does not hold a version number: treat it as unknown
      // rather than failing the version comparison with a runtime exception.
      return 0;
    }
  }
  /**
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
@@ -3326,7 +3326,7 @@
      if (errorMsgs.isEmpty())
      {
        port = Integer.parseInt(sPort);
        port = Utils.parseIntOrDefault(sPort, -1);
        // Try to connect
        boolean[] globalAdmin = { hasGlobalAdministrators };
        DN[] effectiveDn = { dn };
@@ -3907,7 +3907,7 @@
    ui.displayFieldInvalid(FieldName.NUMBER_ENTRIES, !fieldIsValid);
    if (validBaseDn && localErrorMsgs.isEmpty())
    {
      return NewSuffixOptions.createAutomaticallyGenerated(baseDn, Integer.parseInt(nEntries));
      return NewSuffixOptions.createAutomaticallyGenerated(baseDn, Utils.parseIntOrDefault(nEntries, 0));
    }
    errorMsgs.addAll(localErrorMsgs);
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/JavaArgumentsDialog.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2010 Sun Microsystems, Inc.
 * Portions Copyright 2011-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.quicksetup.installer.ui;
@@ -161,12 +162,12 @@
    String sMaxMemory = tfMaxMemory.getText().trim();
    if (sMaxMemory.length() > 0)
    {
      javaArguments.setMaxMemory(Integer.parseInt(sMaxMemory));
      javaArguments.setMaxMemory(Utils.parseIntOrDefault(sMaxMemory, -1));
    }
    String sInitialMemory = tfInitialMemory.getText().trim();
    if (sInitialMemory.length() > 0)
    {
      javaArguments.setInitialMemory(Integer.parseInt(sInitialMemory));
      javaArguments.setInitialMemory(Utils.parseIntOrDefault(sInitialMemory, -1));
    }
    String[] args = getOtherArguments();
    if (args.length > 0)
opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java
@@ -1165,11 +1165,19 @@
  {
    String s = String.valueOf(l);
    String[] colors = s.split(",");
    int r = Integer.parseInt(colors[0].trim());
    int g = Integer.parseInt(colors[1].trim());
    int b = Integer.parseInt(colors[2].trim());
    try
    {
      int r = Integer.parseInt(colors[0].trim());
      int g = Integer.parseInt(colors[1].trim());
      int b = Integer.parseInt(colors[2].trim());
    return new Color(r, g, b);
      return new Color(r, g, b);
    }
    catch (NumberFormatException | IndexOutOfBoundsException e)
    {
      logger.warn(LocalizableMessage.raw("Invalid color definition \"%s\", using black instead", s));
      return Color.BLACK;
    }
  }
  /**
opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
@@ -1838,6 +1838,35 @@
    cmdLines.add(cmdReplicationServer);
    return cmdLines;
  }
  /**
   * Returns the number held by the provided field value, or the provided default value if it does
   * not hold a number.
   * <p>
   * The panels validate their fields before using their values, so the default value is only
   * returned when a field has not been validated beforehand.
   *
   * @param value
   *          the value to be parsed, which may be {@code null}
   * @param defaultValue
   *          the value to return when {@code value} does not hold a number
   * @return the number held by the provided value
   */
  public static int parseIntOrDefault(String value, int defaultValue)
  {
    if (value == null)
    {
      return defaultValue;
    }
    try
    {
      return Integer.parseInt(value.trim());
    }
    catch (NumberFormatException e)
    {
      return defaultValue;
    }
  }
}
/**
opendj-server-legacy/src/main/java/org/opends/server/tools/InstallDS.java
@@ -14,6 +14,7 @@
 * Copyright 2006-2010 Sun Microsystems, Inc.
 * Portions Copyright 2011 profiq s.r.o.
 * Portions Copyright 2011-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.server.tools;
@@ -291,10 +292,10 @@
    }
    lastResetDirectoryManagerDN = DN.valueOf(argParser.directoryManagerDNArg.getDefaultValue());
    lastResetLdapPort = Integer.parseInt(argParser.ldapPortArg.getDefaultValue());
    lastResetLdapsPort = Integer.parseInt(argParser.ldapsPortArg.getDefaultValue());
    lastResetAdminConnectorPort = Integer.parseInt(argParser.adminConnectorPortArg.getDefaultValue());
    lastResetJmxPort = Integer.parseInt(argParser.jmxPortArg.getDefaultValue());
    lastResetLdapPort = argParser.ldapPortArg.getDefaultIntValue(-1);
    lastResetLdapsPort = argParser.ldapsPortArg.getDefaultIntValue(-1);
    lastResetAdminConnectorPort = argParser.adminConnectorPortArg.getDefaultIntValue(-1);
    lastResetJmxPort = argParser.jmxPortArg.getDefaultIntValue(-1);
    // Validate user provided data
    try
@@ -758,8 +759,15 @@
    }
    else if (argParser.sampleDataArg.isPresent())
    {
      dataOptions = NewSuffixOptions.createAutomaticallyGenerated(baseDNs,
          Integer.valueOf(argParser.sampleDataArg.getValue()));
      try
      {
        dataOptions = NewSuffixOptions.createAutomaticallyGenerated(baseDNs, argParser.sampleDataArg.getIntValue());
      }
      catch (final ArgumentException ae)
      {
        errorMessages.add(ae.getMessageObject());
        dataOptions = NewSuffixOptions.createEmpty(baseDNs);
      }
    }
    else
    {
opendj-server-legacy/src/main/java/org/opends/server/tools/WaitForFileDelete.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2006-2009 Sun Microsystems, Inc.
 * Portions Copyright 2013-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.server.tools;
@@ -287,9 +288,11 @@
    }
    // Figure out when to stop waiting.
    long stopWaitingTime;
    int timeoutSeconds;
    try
    {
      long timeoutMillis = 1000L * Integer.parseInt(timeout.getValue());
      timeoutSeconds = Integer.parseInt(timeout.getValue());
      long timeoutMillis = 1000L * timeoutSeconds;
      if (timeoutMillis > 0)
      {
        stopWaitingTime = System.currentTimeMillis() + timeoutMillis;
@@ -302,6 +305,7 @@
    catch (Exception e)
    {
      // This shouldn't happen, but if it does then ignore it.
      timeoutSeconds = 60;
      stopWaitingTime = System.currentTimeMillis() + 60000;
    }
@@ -357,9 +361,7 @@
    if (targetFile.exists())
    {
      println(ERR_TIMEOUT_DURING_STARTUP.get(
          Integer.parseInt(timeout.getValue()),
          timeout.getLongIdentifier()));
      println(ERR_TIMEOUT_DURING_STARTUP.get(timeoutSeconds, timeout.getLongIdentifier()));
      return EXIT_CODE_TIMEOUT;
    }
    else
opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2007-2010 Sun Microsystems, Inc.
 * Portions Copyright 2012-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.server.tools.dsreplication;
@@ -1266,8 +1267,7 @@
   */
  static int getDefaultValue(IntegerArgument arg)
  {
    String v = arg.getDefaultValue();
    return v != null ? Integer.parseInt(v) : -1;
    return arg.getDefaultIntValue(-1);
  }
  /**
opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskTool.java
@@ -13,6 +13,7 @@
 *
 * Copyright 2007-2010 Sun Microsystems, Inc.
 * Portions Copyright 2012-2016 ForgeRock AS.
 * Portions Copyright 2026 3A Systems, LLC.
 */
package org.opends.server.tools.tasks;
@@ -320,8 +321,7 @@
      }
      return 0;
    } catch (LDAPConnectionException e) {
      if (isWrongPortException(e,
          Integer.valueOf(argParser.getArguments().getPort())))
      if (isWrongPortException(e, getPortNumber()))
      {
        printWrappedText(err, ERR_TASK_LDAP_FAILED_TO_CONNECT_WRONG_PORT.get(
            argParser.getArguments().getHostName(), argParser.getArguments().getPort()));
@@ -362,6 +362,23 @@
  }
  /**
   * Returns the port this tool tried to connect to, or {@code -1} if the port argument does not
   * hold a number, in which case the connection failure cannot be a wrong port one.
   * @return the port this tool tried to connect to.
   */
  private int getPortNumber()
  {
    try
    {
      return Integer.parseInt(argParser.getArguments().getPort());
    }
    catch (NumberFormatException e)
    {
      return -1;
    }
  }
  /**
   * Returns {@code true} if the provided exception was caused by trying to
   * connect to the wrong port and {@code false} otherwise.
   * @param t the exception to be analyzed.
opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java
@@ -88,8 +88,14 @@
   */
  @Override
  public String getDsApplIfProtocol() {
      String portNumber = (String)this.monitor.getAttribute
              (this.connectionHandlerName, "ds-connectionhandler-listener");
      Object listener = this.monitor.getAttribute(
              this.connectionHandlerName, "ds-connectionhandler-listener");
      if (listener instanceof Object[]) {
          // A connection handler with several listen addresses reports them as an array.
          Object[] listeners = (Object[]) listener;
          listener = listeners.length > 0 ? listeners[0] : null;
      }
      String portNumber = listener != null ? String.valueOf(listener) : null;
      if (portNumber==null) {
          return this.DsApplIfProtocol;
      }
@@ -103,22 +109,38 @@
  }
  /**
   * Returns the value of the provided connection handler statistic as a
   * counter, or zero if the statistic is not available or does not hold a
   * number.
   *
   * @param statisticName the name of the connection handler statistic
   * @return the counter value of the statistic
   */
  private Long getCounter32Statistic(String statisticName) {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats == null) {
      return 0L;
    }
    try {
      long value = Long.parseLong(
              String.valueOf(this.monitor.getAttribute(stats, statisticName)));
      return SNMPMonitor.counter32Value(value);
    } catch (NumberFormatException e) {
      // The statistic is not available or is not a number.
      return 0L;
    }
  }
  /**
   * {@inheritDoc}
   * @return DsApplIfSearchOps
   */
  @Override
  public Long getDsApplIfSearchOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(stats,
              "searchRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("searchRequests");
  }
  /**
@@ -127,17 +149,7 @@
   */
  @Override
  public Long getDsApplIfOneLevelSearchOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(stats,
              "searchOneRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("searchOneRequests");
  }
  /**
@@ -146,17 +158,7 @@
   */
  @Override
  public Long getDsApplIfWholeSubtreeSearchOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(stats,
              "searchSubRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("searchSubRequests");
  }
  /**
@@ -165,17 +167,7 @@
   */
  @Override
  public Long getDsApplIfModifyRDNOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "modifyDNRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("modifyDNRequests");
  }
  /**
@@ -184,17 +176,7 @@
   */
  @Override
  public Long getDsApplIfModifyEntryOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "modifyRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("modifyRequests");
  }
  /**
@@ -203,17 +185,7 @@
   */
  @Override
  public Long getDsApplIfRemoveEntryOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "deleteRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("deleteRequests");
  }
  /**
@@ -222,17 +194,7 @@
   */
  @Override
  public Long getDsApplIfAddEntryOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "addRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("addRequests");
  }
  /**
@@ -241,17 +203,7 @@
   */
  @Override
  public Long getDsApplIfCompareOps() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "compareRequests"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("compareRequests");
  }
  /**
@@ -274,17 +226,7 @@
   */
  @Override
  public Long getDsApplIfOutBytes() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "bytesWritten"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("bytesWritten");
  }
  /**
@@ -293,17 +235,7 @@
   */
  @Override
  public Long getDsApplIfInBytes() {
    if (stats == null) {
      stats = this.monitor.getConnectionHandlerStatistics(
              connectionHandlerName);
    }
    if (stats != null) {
      long value = Long.parseLong((String) this.monitor.getAttribute(
              stats, "bytesRead"));
      return SNMPMonitor.counter32Value(value);
    } else {
      return 0L;
    }
    return getCounter32Statistic("bytesRead");
  }
  /**