001/* 002 * Copyright 2009-2024 Ping Identity Corporation 003 * All Rights Reserved. 004 */ 005/* 006 * Copyright 2009-2024 Ping Identity Corporation 007 * 008 * Licensed under the Apache License, Version 2.0 (the "License"); 009 * you may not use this file except in compliance with the License. 010 * You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, software 015 * distributed under the License is distributed on an "AS IS" BASIS, 016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 017 * See the License for the specific language governing permissions and 018 * limitations under the License. 019 */ 020/* 021 * Copyright (C) 2009-2024 Ping Identity Corporation 022 * 023 * This program is free software; you can redistribute it and/or modify 024 * it under the terms of the GNU General Public License (GPLv2 only) 025 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only) 026 * as published by the Free Software Foundation. 027 * 028 * This program is distributed in the hope that it will be useful, 029 * but WITHOUT ANY WARRANTY; without even the implied warranty of 030 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 031 * GNU General Public License for more details. 032 * 033 * You should have received a copy of the GNU General Public License 034 * along with this program; if not, see <http://www.gnu.org/licenses>. 035 */ 036package com.unboundid.ldap.sdk.unboundidds.monitors; 037 038 039 040import java.util.Collections; 041import java.util.Date; 042import java.util.LinkedHashMap; 043import java.util.List; 044import java.util.Map; 045 046import com.unboundid.ldap.sdk.Entry; 047import com.unboundid.util.NotMutable; 048import com.unboundid.util.NotNull; 049import com.unboundid.util.Nullable; 050import com.unboundid.util.StaticUtils; 051import com.unboundid.util.ThreadSafety; 052import com.unboundid.util.ThreadSafetyLevel; 053 054import static com.unboundid.ldap.sdk.unboundidds.monitors.MonitorMessages.*; 055 056 057 058/** 059 * This class defines a monitor entry that provides general information about 060 * an LDAP external server used by the Directory Proxy Server. 061 * <BR> 062 * <BLOCKQUOTE> 063 * <B>NOTE:</B> This class, and other classes within the 064 * {@code com.unboundid.ldap.sdk.unboundidds} package structure, are only 065 * supported for use against Ping Identity, UnboundID, and 066 * Nokia/Alcatel-Lucent 8661 server products. These classes provide support 067 * for proprietary functionality or for external specifications that are not 068 * considered stable or mature enough to be guaranteed to work in an 069 * interoperable way with other types of LDAP servers. 070 * </BLOCKQUOTE> 071 * <BR> 072 * Information that it may make available includes: 073 * <UL> 074 * <LI>The address, port, and security mechanism used to communicate with the 075 * server.</LI> 076 * <LI>The DN of the configuration entry for the load-balancing algorithm that 077 * is using the LDAP external server object.</LI> 078 * <LI>Information about the health of the LDAP external server.</LI> 079 * <LI>The number of attempted, successful, and failed operations processed 080 * using the LDAP external server.</LI> 081 * </UL> 082 * The server should present an LDAP external server monitor entry for each 083 * server used by each load-balancing algorithm. These entries can be retrieved 084 * using the {@link MonitorManager#getLDAPExternalServerMonitorEntries} method. 085 * These entries provide specific methods for accessing this information. 086 * Alternately, the information may be accessed using the generic API. See the 087 * {@link MonitorManager} class documentation for an example that demonstrates 088 * the use of the generic API for accessing monitor data. 089 */ 090@NotMutable() 091@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 092public final class LDAPExternalServerMonitorEntry 093 extends MonitorEntry 094{ 095 /** 096 * The structural object class used in LDAP external server monitor entries. 097 */ 098 @NotNull protected static final String LDAP_EXTERNAL_SERVER_MONITOR_OC = 099 "ds-ldap-external-server-monitor-entry"; 100 101 102 103 /** 104 * The name of the attribute used to provide the number of add operations 105 * attempted in the backend server. 106 */ 107 @NotNull private static final String ATTR_ADD_ATTEMPTS = "add-attempts"; 108 109 110 111 /** 112 * The name of the attribute used to provide the number of add operations 113 * that failed. 114 */ 115 @NotNull private static final String ATTR_ADD_FAILURES = "add-failures"; 116 117 118 119 /** 120 * The name of the attribute used to provide the number of add operations 121 * completed successfully. 122 */ 123 @NotNull private static final String ATTR_ADD_SUCCESSES = "add-successes"; 124 125 126 127 /** 128 * The name of the attribute used to provide the number of bind operations 129 * attempted in the backend server. 130 */ 131 @NotNull private static final String ATTR_BIND_ATTEMPTS = "bind-attempts"; 132 133 134 135 /** 136 * The name of the attribute used to provide the number of bind operations 137 * that failed. 138 */ 139 @NotNull private static final String ATTR_BIND_FAILURES = "bind-failures"; 140 141 142 143 /** 144 * The name of the attribute used to provide the number of bind operations 145 * completed successfully. 146 */ 147 @NotNull private static final String ATTR_BIND_SUCCESSES = "bind-successes"; 148 149 150 151 /** 152 * The name of the attribute used to provide the communication security 153 * mechanism. 154 */ 155 @NotNull private static final String ATTR_COMMUNICATION_SECURITY = 156 "communication-security"; 157 158 159 160 /** 161 * The name of the attribute used to provide the number of compare operations 162 * attempted in the backend server. 163 */ 164 @NotNull private static final String ATTR_COMPARE_ATTEMPTS = 165 "compare-attempts"; 166 167 168 169 /** 170 * The name of the attribute used to provide the number of compare operations 171 * that failed. 172 */ 173 @NotNull private static final String ATTR_COMPARE_FAILURES = 174 "compare-failures"; 175 176 177 178 /** 179 * The name of the attribute used to provide the number of compare operations 180 * completed successfully. 181 */ 182 @NotNull private static final String ATTR_COMPARE_SUCCESSES = 183 "compare-successes"; 184 185 186 187 /** 188 * The name of the attribute used to provide the number of delete operations 189 * attempted in the backend server. 190 */ 191 @NotNull private static final String ATTR_DELETE_ATTEMPTS = "delete-attempts"; 192 193 194 195 /** 196 * The name of the attribute used to provide the number of delete operations 197 * that failed. 198 */ 199 @NotNull private static final String ATTR_DELETE_FAILURES = "delete-failures"; 200 201 202 203 /** 204 * The name of the attribute used to provide the number of delete operations 205 * completed successfully. 206 */ 207 @NotNull private static final String ATTR_DELETE_SUCCESSES = 208 "delete-successes"; 209 210 211 212 /** 213 * The name of the attribute used to provide health check messages. 214 */ 215 @NotNull private static final String ATTR_HEALTH_CHECK_MESSAGE = 216 "health-check-message"; 217 218 219 220 /** 221 * The name of the attribute used to provide the health check state. 222 */ 223 @NotNull private static final String ATTR_HEALTH_CHECK_STATE = 224 "health-check-state"; 225 226 227 228 /** 229 * The name of the attribute used to provide the health check score. 230 */ 231 @NotNull private static final String ATTR_HEALTH_CHECK_SCORE = 232 "health-check-score"; 233 234 235 236 /** 237 * The name of the attribute used to provide the time the health check 238 * information was last updated. 239 */ 240 @NotNull private static final String ATTR_HEALTH_CHECK_UPDATE_TIME = 241 "health-check-update-time"; 242 243 244 245 /** 246 * The name of the attribute used to provide the DN of the load-balancing 247 * algorithm configuration entry. 248 */ 249 @NotNull private static final String ATTR_LOAD_BALANCING_ALGORITHM_DN = 250 "load-balancing-algorithm"; 251 252 253 254 /** 255 * The name of the attribute used to provide the number of modify operations 256 * attempted in the backend server. 257 */ 258 @NotNull private static final String ATTR_MODIFY_ATTEMPTS = "modify-attempts"; 259 260 261 262 /** 263 * The name of the attribute used to provide the number of modify operations 264 * that failed. 265 */ 266 @NotNull private static final String ATTR_MODIFY_FAILURES = "modify-failures"; 267 268 269 270 /** 271 * The name of the attribute used to provide the number of modify operations 272 * completed successfully. 273 */ 274 @NotNull private static final String ATTR_MODIFY_SUCCESSES = 275 "modify-successes"; 276 277 278 279 /** 280 * The name of the attribute used to provide the number of modify DN 281 * operations attempted in the backend server. 282 */ 283 @NotNull private static final String ATTR_MODIFY_DN_ATTEMPTS = 284 "modify-dn-attempts"; 285 286 287 288 /** 289 * The name of the attribute used to provide the number of modify DN 290 * operations that failed. 291 */ 292 @NotNull private static final String ATTR_MODIFY_DN_FAILURES = 293 "modify-dn-failures"; 294 295 296 297 /** 298 * The name of the attribute used to provide the number of modify DN 299 * operations completed successfully. 300 */ 301 @NotNull private static final String ATTR_MODIFY_DN_SUCCESSES = 302 "modify-dn-successes"; 303 304 305 306 /** 307 * The name of the attribute used to provide the number of search operations 308 * attempted in the backend server. 309 */ 310 @NotNull private static final String ATTR_SEARCH_ATTEMPTS = "search-attempts"; 311 312 313 314 /** 315 * The name of the attribute used to provide the number of search operations 316 * that failed. 317 */ 318 @NotNull private static final String ATTR_SEARCH_FAILURES = "search-failures"; 319 320 321 322 /** 323 * The name of the attribute used to provide the number of search operations 324 * completed successfully. 325 */ 326 @NotNull private static final String ATTR_SEARCH_SUCCESSES = 327 "search-successes"; 328 329 330 331 /** 332 * The name of the attribute used to provide the server address. 333 */ 334 @NotNull private static final String ATTR_SERVER_ADDRESS = "server-address"; 335 336 337 338 /** 339 * The name of the attribute used to provide the server port. 340 */ 341 @NotNull private static final String ATTR_SERVER_PORT = "server-port"; 342 343 344 345 /** 346 * The prefix for attributes providing information from a connection pool used 347 * only for bind operations. 348 */ 349 @NotNull private static final String ATTR_PREFIX_BIND_POOL = "bind-"; 350 351 352 353 /** 354 * The prefix for attributes providing information from a connection pool used 355 * for all types of operations. 356 */ 357 @NotNull private static final String ATTR_PREFIX_COMMON_POOL = "common-"; 358 359 360 361 /** 362 * The prefix for attributes providing information from a connection pool used 363 * only for non-bind operations. 364 */ 365 @NotNull private static final String ATTR_PREFIX_NONBIND_POOL = "non-bind-"; 366 367 368 369 /** 370 * The suffix for the attribute used to provide the number of available 371 * connections from a pool. 372 */ 373 @NotNull private static final String ATTR_SUFFIX_AVAILABLE_CONNS = 374 "pool-available-connections"; 375 376 377 378 /** 379 * The suffix for the attribute used to provide the number of connections 380 * closed as defunct. 381 */ 382 @NotNull private static final String ATTR_SUFFIX_CLOSED_DEFUNCT = 383 "pool-num-closed-defunct"; 384 385 386 387 /** 388 * The suffix for the attribute used to provide the number of connections 389 * closed as expired. 390 */ 391 @NotNull private static final String ATTR_SUFFIX_CLOSED_EXPIRED = 392 "pool-num-closed-expired"; 393 394 395 396 /** 397 * The suffix for the attribute used to provide the number of connections 398 * closed as unneeded. 399 */ 400 @NotNull private static final String ATTR_SUFFIX_CLOSED_UNNEEDED = 401 "pool-num-closed-unneeded"; 402 403 404 405 /** 406 * The suffix for the attribute used to provide the number of failed 407 * checkouts. 408 */ 409 @NotNull private static final String ATTR_SUFFIX_FAILED_CHECKOUTS = 410 "pool-num-failed-checkouts"; 411 412 413 414 /** 415 * The suffix for the attribute used to provide the number of failed 416 * connection attempts. 417 */ 418 @NotNull private static final String ATTR_SUFFIX_FAILED_CONNECTS = 419 "pool-num-failed-connection-attempts"; 420 421 422 423 /** 424 * The suffix for the attribute used to provide the maximum number of 425 * available connections from a pool. 426 */ 427 @NotNull private static final String ATTR_SUFFIX_MAX_AVAILABLE_CONNS = 428 "pool-max-available-connections"; 429 430 431 432 /** 433 * The suffix for the attribute used to provide the number of connections 434 * released as valid back to the pool. 435 */ 436 @NotNull private static final String ATTR_SUFFIX_RELEASED_VALID = 437 "pool-num-released-valid"; 438 439 440 441 /** 442 * The suffix for the attribute used to provide the number of successful 443 * checkouts. 444 */ 445 @NotNull private static final String ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS = 446 "pool-num-successful-checkouts"; 447 448 449 450 /** 451 * The suffix for the attribute used to provide the number of successful 452 * checkouts after waiting for a connection to become available. 453 */ 454 @NotNull private static final String 455 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING = 456 "pool-num-successful-checkouts-after-waiting"; 457 458 459 460 /** 461 * The suffix for the attribute used to provide the number of successful 462 * checkouts after creating a new connection. 463 */ 464 @NotNull private static final String 465 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN = 466 "pool-num-successful-checkouts-new-connection"; 467 468 469 470 /** 471 * The suffix for the attribute used to provide the number of successful 472 * checkouts without waiting. 473 */ 474 @NotNull private static final String 475 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING = 476 "pool-num-successful-checkouts-without-waiting"; 477 478 479 480 /** 481 * The suffix for the attribute used to provide the number of successful 482 * connection attempts. 483 */ 484 @NotNull private static final String ATTR_SUFFIX_SUCCESSFUL_CONNECTS = 485 "pool-num-successful-connection-attempts"; 486 487 488 489 /** 490 * The serial version UID for this serializable class. 491 */ 492 private static final long serialVersionUID = 6054649631882735072L; 493 494 495 496 // The time the health check information was last updated. 497 @Nullable private final Date healthCheckUpdateTime; 498 499 // The health check state for the server. 500 @Nullable private final HealthCheckState healthCheckState; 501 502 // The list of health check messages. 503 @NotNull private final List<String> healthCheckMessages; 504 505 // The number of add operations attempted. 506 @Nullable private final Long addAttempts; 507 508 // The number of failed add operations. 509 @Nullable private final Long addFailures; 510 511 // The number of successful add operations. 512 @Nullable private final Long addSuccesses; 513 514 // The number of bind operations attempted. 515 @Nullable private final Long bindAttempts; 516 517 // The number of failed bind operations. 518 @Nullable private final Long bindFailures; 519 520 // The number of available connections in the bind pool. 521 @Nullable private final Long bindPoolAvailableConnections; 522 523 // The maximum number of available connections in the bind pool. 524 @Nullable private final Long bindPoolMaxAvailableConnections; 525 526 // The number of connections in the bind pool that have been closed as 527 // defunct. 528 @Nullable private final Long bindPoolNumClosedDefunct; 529 530 // The number of connections in the bind pool that have been closed as 531 // expired. 532 @Nullable private final Long bindPoolNumClosedExpired; 533 534 // The number of connections in the bind pool that have been closed as 535 // unneeded. 536 @Nullable private final Long bindPoolNumClosedUnneeded; 537 538 // The number of available failed checkouts in the bind pool. 539 @Nullable private final Long bindPoolNumFailedCheckouts; 540 541 // The number of available failed connection attempts in the bind pool. 542 @Nullable private final Long bindPoolNumFailedConnectionAttempts; 543 544 // The total number of connections released as valid back to the bind pool. 545 @Nullable private final Long bindPoolNumReleasedValid; 546 547 // The total number of successful checkouts from the bind pool. 548 @Nullable private final Long bindPoolNumSuccessfulCheckouts; 549 550 // The total number of successful checkouts from the bind pool after waiting 551 // for a connection to become available. 552 @Nullable private final Long bindPoolNumSuccessfulCheckoutsAfterWaiting; 553 554 // The total number of successful checkouts from the bind pool after creating 555 // a new connection. 556 @Nullable private final Long bindPoolNumSuccessfulCheckoutsNewConnection; 557 558 // The total number of successful checkouts from the bind pool without waiting 559 // for a connection to become available. 560 @Nullable private final Long bindPoolNumSuccessfulCheckoutsWithoutWaiting; 561 562 // The number of successful connection attempts in the bind pool. 563 @Nullable private final Long bindPoolNumSuccessfulConnectionAttempts; 564 565 // The number of successful bind operations. 566 @Nullable private final Long bindSuccesses; 567 568 // The number of available connections in the common pool. 569 @Nullable private final Long commonPoolAvailableConnections; 570 571 // The maximum number of available connections in the common pool. 572 @Nullable private final Long commonPoolMaxAvailableConnections; 573 574 // The number of connections in the common pool that have been closed as 575 // defunct. 576 @Nullable private final Long commonPoolNumClosedDefunct; 577 578 // The number of connections in the common pool that have been closed as 579 // expired. 580 @Nullable private final Long commonPoolNumClosedExpired; 581 582 // The number of connections in the common pool that have been closed as 583 // unneeded. 584 @Nullable private final Long commonPoolNumClosedUnneeded; 585 586 // The number of available failed checkouts in the common pool. 587 @Nullable private final Long commonPoolNumFailedCheckouts; 588 589 // The number of available failed connection attempts in the common pool. 590 @Nullable private final Long commonPoolNumFailedConnectionAttempts; 591 592 // The total number of connections released as valid back to the common pool. 593 @Nullable private final Long commonPoolNumReleasedValid; 594 595 // The total number of successful checkouts from the common pool. 596 @Nullable private final Long commonPoolNumSuccessfulCheckouts; 597 598 // The total number of successful checkouts from the common pool after waiting 599 // for a connection to become available. 600 @Nullable private final Long commonPoolNumSuccessfulCheckoutsAfterWaiting; 601 602 // The total number of successful checkouts from the common pool after 603 // creating a new connection. 604 @Nullable private final Long commonPoolNumSuccessfulCheckoutsNewConnection; 605 606 // The total number of successful checkouts from the common pool without 607 // waiting for a connection to become available. 608 @Nullable private final Long commonPoolNumSuccessfulCheckoutsWithoutWaiting; 609 610 // The number of successful connection attempts in the common pool. 611 @Nullable private final Long commonPoolNumSuccessfulConnectionAttempts; 612 613 // The number of compare operations attempted. 614 @Nullable private final Long compareAttempts; 615 616 // The number of failed compare operations. 617 @Nullable private final Long compareFailures; 618 619 // The number of successful compare operations. 620 @Nullable private final Long compareSuccesses; 621 622 // The number of delete operations attempted. 623 @Nullable private final Long deleteAttempts; 624 625 // The number of failed delete operations. 626 @Nullable private final Long deleteFailures; 627 628 // The number of successful delete operations. 629 @Nullable private final Long deleteSuccesses; 630 631 // The health check score for the server. 632 @Nullable private final Long healthCheckScore; 633 634 // The number of modify operations attempted. 635 @Nullable private final Long modifyAttempts; 636 637 // The number of failed modify operations. 638 @Nullable private final Long modifyFailures; 639 640 // The number of successful modify operations. 641 @Nullable private final Long modifySuccesses; 642 643 // The number of modify DN operations attempted. 644 @Nullable private final Long modifyDNAttempts; 645 646 // The number of failed modify DN operations. 647 @Nullable private final Long modifyDNFailures; 648 649 // The number of successful modify DN operations. 650 @Nullable private final Long modifyDNSuccesses; 651 652 // The number of available connections in the non-bind pool. 653 @Nullable private final Long nonBindPoolAvailableConnections; 654 655 // The maximum number of available connections in the non-bind pool. 656 @Nullable private final Long nonBindPoolMaxAvailableConnections; 657 658 // The number of connections in the non-bind pool that have been closed as 659 // defunct. 660 @Nullable private final Long nonBindPoolNumClosedDefunct; 661 662 // The number of connections in the non-bind pool that have been closed as 663 // expired. 664 @Nullable private final Long nonBindPoolNumClosedExpired; 665 666 // The number of connections in the non-bind pool that have been closed as 667 // unneeded. 668 @Nullable private final Long nonBindPoolNumClosedUnneeded; 669 670 // The number of available failed checkouts in the non-bind pool. 671 @Nullable private final Long nonBindPoolNumFailedCheckouts; 672 673 // The number of available failed connection attempts in the non-bind pool. 674 @Nullable private final Long nonBindPoolNumFailedConnectionAttempts; 675 676 // The total number of connections released as valid back to the non-bind 677 // pool. 678 @Nullable private final Long nonBindPoolNumReleasedValid; 679 680 // The total number of successful checkouts from the non-bind pool. 681 @Nullable private final Long nonBindPoolNumSuccessfulCheckouts; 682 683 // The total number of successful checkouts from the non-bind pool after 684 // waiting for a connection to become available. 685 @Nullable private final Long nonBindPoolNumSuccessfulCheckoutsAfterWaiting; 686 687 // The total number of successful checkouts from the non-bind pool after 688 // creating a new connection. 689 @Nullable private final Long nonBindPoolNumSuccessfulCheckoutsNewConnection; 690 691 // The total number of successful checkouts from the non-bind pool without 692 // waiting for a connection to become available. 693 @Nullable private final Long nonBindPoolNumSuccessfulCheckoutsWithoutWaiting; 694 695 // The number of successful connection attempts in the non-bind pool. 696 @Nullable private final Long nonBindPoolNumSuccessfulConnectionAttempts; 697 698 // The number of search operations attempted. 699 @Nullable private final Long searchAttempts; 700 701 // The number of failed search operations. 702 @Nullable private final Long searchFailures; 703 704 // The number of successful search operations. 705 @Nullable private final Long searchSuccesses; 706 707 // The port of the server. 708 @Nullable private final Long serverPort; 709 710 // The communication security mechanism used by the server. 711 @Nullable private final String communicationSecurity; 712 713 // The DN of the load-balancing algorithm. 714 @Nullable private final String loadBalancingAlgorithmDN; 715 716 // The address of the server. 717 @Nullable private final String serverAddress; 718 719 720 721 /** 722 * Creates a new LDAP external server monitor entry from the provided entry. 723 * 724 * @param entry The entry to be parsed as an LDAP external server monitor 725 * entry. It must not be {@code null}. 726 */ 727 public LDAPExternalServerMonitorEntry(@NotNull final Entry entry) 728 { 729 super(entry); 730 731 serverAddress = getString(ATTR_SERVER_ADDRESS); 732 serverPort = getLong(ATTR_SERVER_PORT); 733 communicationSecurity = getString(ATTR_COMMUNICATION_SECURITY); 734 loadBalancingAlgorithmDN = getString(ATTR_LOAD_BALANCING_ALGORITHM_DN); 735 healthCheckScore = getLong(ATTR_HEALTH_CHECK_SCORE); 736 healthCheckMessages = getStrings(ATTR_HEALTH_CHECK_MESSAGE); 737 healthCheckUpdateTime = getDate(ATTR_HEALTH_CHECK_UPDATE_TIME); 738 addAttempts = getLong(ATTR_ADD_ATTEMPTS); 739 addFailures = getLong(ATTR_ADD_FAILURES); 740 addSuccesses = getLong(ATTR_ADD_SUCCESSES); 741 bindAttempts = getLong(ATTR_BIND_ATTEMPTS); 742 bindFailures = getLong(ATTR_BIND_FAILURES); 743 bindSuccesses = getLong(ATTR_BIND_SUCCESSES); 744 compareAttempts = getLong(ATTR_COMPARE_ATTEMPTS); 745 compareFailures = getLong(ATTR_COMPARE_FAILURES); 746 compareSuccesses = getLong(ATTR_COMPARE_SUCCESSES); 747 deleteAttempts = getLong(ATTR_DELETE_ATTEMPTS); 748 deleteFailures = getLong(ATTR_DELETE_FAILURES); 749 deleteSuccesses = getLong(ATTR_DELETE_SUCCESSES); 750 modifyAttempts = getLong(ATTR_MODIFY_ATTEMPTS); 751 modifyFailures = getLong(ATTR_MODIFY_FAILURES); 752 modifySuccesses = getLong(ATTR_MODIFY_SUCCESSES); 753 modifyDNAttempts = getLong(ATTR_MODIFY_DN_ATTEMPTS); 754 modifyDNFailures = getLong(ATTR_MODIFY_DN_FAILURES); 755 modifyDNSuccesses = getLong(ATTR_MODIFY_DN_SUCCESSES); 756 searchAttempts = getLong(ATTR_SEARCH_ATTEMPTS); 757 searchFailures = getLong(ATTR_SEARCH_FAILURES); 758 searchSuccesses = getLong(ATTR_SEARCH_SUCCESSES); 759 760 bindPoolAvailableConnections = getLong(ATTR_PREFIX_BIND_POOL + 761 ATTR_SUFFIX_AVAILABLE_CONNS); 762 bindPoolMaxAvailableConnections = getLong(ATTR_PREFIX_BIND_POOL + 763 ATTR_SUFFIX_MAX_AVAILABLE_CONNS); 764 bindPoolNumSuccessfulConnectionAttempts = getLong(ATTR_PREFIX_BIND_POOL + 765 ATTR_SUFFIX_SUCCESSFUL_CONNECTS); 766 bindPoolNumFailedConnectionAttempts = getLong(ATTR_PREFIX_BIND_POOL + 767 ATTR_SUFFIX_FAILED_CONNECTS); 768 bindPoolNumClosedDefunct = getLong(ATTR_PREFIX_BIND_POOL + 769 ATTR_SUFFIX_CLOSED_DEFUNCT); 770 bindPoolNumClosedExpired = getLong(ATTR_PREFIX_BIND_POOL + 771 ATTR_SUFFIX_CLOSED_EXPIRED); 772 bindPoolNumClosedUnneeded = getLong(ATTR_PREFIX_BIND_POOL + 773 ATTR_SUFFIX_CLOSED_UNNEEDED); 774 bindPoolNumSuccessfulCheckouts = getLong(ATTR_PREFIX_BIND_POOL + 775 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS); 776 bindPoolNumSuccessfulCheckoutsWithoutWaiting = getLong( 777 ATTR_PREFIX_BIND_POOL + 778 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING); 779 bindPoolNumSuccessfulCheckoutsAfterWaiting = getLong(ATTR_PREFIX_BIND_POOL + 780 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING); 781 bindPoolNumSuccessfulCheckoutsNewConnection = getLong( 782 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN); 783 bindPoolNumFailedCheckouts = getLong(ATTR_PREFIX_BIND_POOL + 784 ATTR_SUFFIX_FAILED_CHECKOUTS); 785 bindPoolNumReleasedValid = getLong(ATTR_PREFIX_BIND_POOL + 786 ATTR_SUFFIX_RELEASED_VALID); 787 788 commonPoolAvailableConnections = getLong(ATTR_PREFIX_COMMON_POOL + 789 ATTR_SUFFIX_AVAILABLE_CONNS); 790 commonPoolMaxAvailableConnections = getLong(ATTR_PREFIX_COMMON_POOL + 791 ATTR_SUFFIX_MAX_AVAILABLE_CONNS); 792 commonPoolNumSuccessfulConnectionAttempts = getLong( 793 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_SUCCESSFUL_CONNECTS); 794 commonPoolNumFailedConnectionAttempts = getLong(ATTR_PREFIX_COMMON_POOL + 795 ATTR_SUFFIX_FAILED_CONNECTS); 796 commonPoolNumClosedDefunct = getLong(ATTR_PREFIX_COMMON_POOL + 797 ATTR_SUFFIX_CLOSED_DEFUNCT); 798 commonPoolNumClosedExpired = getLong(ATTR_PREFIX_COMMON_POOL + 799 ATTR_SUFFIX_CLOSED_EXPIRED); 800 commonPoolNumClosedUnneeded = getLong(ATTR_PREFIX_COMMON_POOL + 801 ATTR_SUFFIX_CLOSED_UNNEEDED); 802 commonPoolNumSuccessfulCheckouts = getLong(ATTR_PREFIX_COMMON_POOL + 803 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS); 804 commonPoolNumSuccessfulCheckoutsWithoutWaiting = getLong( 805 ATTR_PREFIX_COMMON_POOL + 806 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING); 807 commonPoolNumSuccessfulCheckoutsAfterWaiting = getLong( 808 ATTR_PREFIX_COMMON_POOL + 809 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING); 810 commonPoolNumSuccessfulCheckoutsNewConnection = getLong( 811 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN); 812 commonPoolNumFailedCheckouts = getLong(ATTR_PREFIX_COMMON_POOL + 813 ATTR_SUFFIX_FAILED_CHECKOUTS); 814 commonPoolNumReleasedValid = getLong(ATTR_PREFIX_COMMON_POOL + 815 ATTR_SUFFIX_RELEASED_VALID); 816 817 nonBindPoolAvailableConnections = getLong(ATTR_PREFIX_NONBIND_POOL + 818 ATTR_SUFFIX_AVAILABLE_CONNS); 819 nonBindPoolMaxAvailableConnections = getLong(ATTR_PREFIX_NONBIND_POOL + 820 ATTR_SUFFIX_MAX_AVAILABLE_CONNS); 821 nonBindPoolNumSuccessfulConnectionAttempts = getLong( 822 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CONNECTS); 823 nonBindPoolNumFailedConnectionAttempts = getLong(ATTR_PREFIX_NONBIND_POOL + 824 ATTR_SUFFIX_FAILED_CONNECTS); 825 nonBindPoolNumClosedDefunct = getLong(ATTR_PREFIX_NONBIND_POOL + 826 ATTR_SUFFIX_CLOSED_DEFUNCT); 827 nonBindPoolNumClosedExpired = getLong(ATTR_PREFIX_NONBIND_POOL + 828 ATTR_SUFFIX_CLOSED_EXPIRED); 829 nonBindPoolNumClosedUnneeded = getLong(ATTR_PREFIX_NONBIND_POOL + 830 ATTR_SUFFIX_CLOSED_UNNEEDED); 831 nonBindPoolNumSuccessfulCheckouts = getLong(ATTR_PREFIX_NONBIND_POOL + 832 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS); 833 nonBindPoolNumSuccessfulCheckoutsWithoutWaiting = getLong( 834 ATTR_PREFIX_NONBIND_POOL + 835 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING); 836 nonBindPoolNumSuccessfulCheckoutsAfterWaiting = getLong( 837 ATTR_PREFIX_NONBIND_POOL + 838 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING); 839 nonBindPoolNumSuccessfulCheckoutsNewConnection = getLong( 840 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN); 841 nonBindPoolNumFailedCheckouts = getLong(ATTR_PREFIX_NONBIND_POOL + 842 ATTR_SUFFIX_FAILED_CHECKOUTS); 843 nonBindPoolNumReleasedValid = getLong(ATTR_PREFIX_NONBIND_POOL + 844 ATTR_SUFFIX_RELEASED_VALID); 845 846 final String hcStateStr = getString(ATTR_HEALTH_CHECK_STATE); 847 if (hcStateStr == null) 848 { 849 healthCheckState = null; 850 } 851 else 852 { 853 healthCheckState = HealthCheckState.forName(hcStateStr); 854 } 855 } 856 857 858 859 /** 860 * Retrieves the address of the LDAP external server. 861 * 862 * @return The address of the LDAP external server, or {@code null} if it was 863 * not included in the monitor entry. 864 */ 865 @Nullable() 866 public String getServerAddress() 867 { 868 return serverAddress; 869 } 870 871 872 873 /** 874 * Retrieves the port of the LDAP external server. 875 * 876 * @return The port of the LDAP external server, or {@code null} if it was 877 * not included in the monitor entry. 878 */ 879 @Nullable() 880 public Long getServerPort() 881 { 882 return serverPort; 883 } 884 885 886 887 /** 888 * Retrieves the communication security mechanism used when communicating with 889 * the external server. 890 * 891 * @return The communication security mechanism used when communicating with 892 * the external server, or {@code null} if it was not included in the 893 * monitor entry. 894 */ 895 @Nullable() 896 public String getCommunicationSecurity() 897 { 898 return communicationSecurity; 899 } 900 901 902 903 /** 904 * Retrieves the DN of the configuration entry for the load-balancing 905 * algorithm that uses the LDAP external server. 906 * 907 * @return The DN of the configuration entry for the load-balancing algorithm 908 * that uses the LDAP external server, or {@code null} if it was not 909 * included in the monitor entry. 910 */ 911 @Nullable() 912 public String getLoadBalancingAlgorithmDN() 913 { 914 return loadBalancingAlgorithmDN; 915 } 916 917 918 919 /** 920 * Retrieves the health check state for the LDAP external server. 921 * 922 * @return The health check state for the LDAP external server, or 923 * {@code null} if it was not included in the monitor entry. 924 */ 925 @Nullable() 926 public HealthCheckState getHealthCheckState() 927 { 928 return healthCheckState; 929 } 930 931 932 933 /** 934 * Retrieves the health check score for the LDAP external server. 935 * 936 * @return The health check score for the LDAP external server, or 937 * {@code null} if it was not included in the monitor entry. 938 */ 939 @Nullable() 940 public Long getHealthCheckScore() 941 { 942 return healthCheckScore; 943 } 944 945 946 947 /** 948 * Retrieves the list of health check messages for the LDAP external server. 949 * 950 * @return The list of health check messages for the LDAP external server, or 951 * an empty list if it was not included in the monitor entry. 952 */ 953 @NotNull() 954 public List<String> getHealthCheckMessages() 955 { 956 return healthCheckMessages; 957 } 958 959 960 961 /** 962 * Retrieves the time the health check information was last updated for the 963 * LDAP external server. 964 * 965 * @return The time the health check information was last updated for the 966 * LDAP external server, or {@code null} if it was not included in 967 * the monitor entry. 968 */ 969 @Nullable() 970 public Date getHealthCheckUpdateTime() 971 { 972 return healthCheckUpdateTime; 973 } 974 975 976 977 /** 978 * Retrieves the total number of add operations attempted against the LDAP 979 * external server. 980 * 981 * @return The total number of add operations attempted against the LDAP 982 * external server, or {@code null} if it was not included in the 983 * monitor entry. 984 */ 985 @Nullable() 986 public Long getAddAttempts() 987 { 988 return addAttempts; 989 } 990 991 992 993 /** 994 * Retrieves the number of failed add attempts against the LDAP external 995 * server. 996 * 997 * @return The number of failed add attempts against the LDAP external 998 * server, or {@code null} if it was not included in the monitor 999 * entry. 1000 */ 1001 @Nullable() 1002 public Long getAddFailures() 1003 { 1004 return addFailures; 1005 } 1006 1007 1008 1009 /** 1010 * Retrieves the number of successful add attempts against the LDAP external 1011 * server. 1012 * 1013 * @return The number of successful add attempts against the LDAP external 1014 * server, or {@code null} if it was not included in the monitor 1015 * entry. 1016 */ 1017 @Nullable() 1018 public Long getAddSuccesses() 1019 { 1020 return addSuccesses; 1021 } 1022 1023 1024 1025 /** 1026 * Retrieves the total number of bind operations attempted against the LDAP 1027 * external server. 1028 * 1029 * @return The total number of bind operations attempted against the LDAP 1030 * external server, or {@code null} if it was not included in the 1031 * monitor entry. 1032 */ 1033 @Nullable() 1034 public Long getBindAttempts() 1035 { 1036 return bindAttempts; 1037 } 1038 1039 1040 1041 /** 1042 * Retrieves the number of failed bind attempts against the LDAP external 1043 * server. 1044 * 1045 * @return The number of failed bind attempts against the LDAP external 1046 * server, or {@code null} if it was not included in the monitor 1047 * entry. 1048 */ 1049 @Nullable() 1050 public Long getBindFailures() 1051 { 1052 return bindFailures; 1053 } 1054 1055 1056 1057 /** 1058 * Retrieves the number of successful bind attempts against the LDAP external 1059 * server. 1060 * 1061 * @return The number of successful bind attempts against the LDAP external 1062 * server, or {@code null} if it was not included in the monitor 1063 * entry. 1064 */ 1065 @Nullable() 1066 public Long getBindSuccesses() 1067 { 1068 return bindSuccesses; 1069 } 1070 1071 1072 1073 /** 1074 * Retrieves the total number of compare operations attempted against the LDAP 1075 * external server. 1076 * 1077 * @return The total number of compare operations attempted against the LDAP 1078 * external server, or {@code null} if it was not included in the 1079 * monitor entry. 1080 */ 1081 @Nullable() 1082 public Long getCompareAttempts() 1083 { 1084 return compareAttempts; 1085 } 1086 1087 1088 1089 /** 1090 * Retrieves the number of failed compare attempts against the LDAP external 1091 * server. 1092 * 1093 * @return The number of failed compare attempts against the LDAP external 1094 * server, or {@code null} if it was not included in the monitor 1095 * entry. 1096 */ 1097 @Nullable() 1098 public Long getCompareFailures() 1099 { 1100 return compareFailures; 1101 } 1102 1103 1104 1105 /** 1106 * Retrieves the number of successful compare attempts against the LDAP 1107 * external server. 1108 * 1109 * @return The number of successful compare attempts against the LDAP 1110 * external server, or {@code null} if it was not included in the 1111 * monitor entry. 1112 */ 1113 @Nullable() 1114 public Long getCompareSuccesses() 1115 { 1116 return compareSuccesses; 1117 } 1118 1119 1120 1121 /** 1122 * Retrieves the total number of delete operations attempted against the LDAP 1123 * external server. 1124 * 1125 * @return The total number of delete operations attempted against the LDAP 1126 * external server, or {@code null} if it was not included in the 1127 * monitor entry. 1128 */ 1129 @Nullable() 1130 public Long getDeleteAttempts() 1131 { 1132 return deleteAttempts; 1133 } 1134 1135 1136 1137 /** 1138 * Retrieves the number of failed delete attempts against the LDAP external 1139 * server. 1140 * 1141 * @return The number of failed delete attempts against the LDAP external 1142 * server, or {@code null} if it was not included in the monitor 1143 * entry. 1144 */ 1145 @Nullable() 1146 public Long getDeleteFailures() 1147 { 1148 return deleteFailures; 1149 } 1150 1151 1152 1153 /** 1154 * Retrieves the number of successful delete attempts against the LDAP 1155 * external server. 1156 * 1157 * @return The number of successful delete attempts against the LDAP 1158 * external server, or {@code null} if it was not included in the 1159 * monitor entry. 1160 */ 1161 @Nullable() 1162 public Long getDeleteSuccesses() 1163 { 1164 return deleteSuccesses; 1165 } 1166 1167 1168 1169 /** 1170 * Retrieves the total number of modify operations attempted against the LDAP 1171 * external server. 1172 * 1173 * @return The total number of modify operations attempted against the LDAP 1174 * external server, or {@code null} if it was not included in the 1175 * monitor entry. 1176 */ 1177 @Nullable() 1178 public Long getModifyAttempts() 1179 { 1180 return modifyAttempts; 1181 } 1182 1183 1184 1185 /** 1186 * Retrieves the number of failed modify attempts against the LDAP external 1187 * server. 1188 * 1189 * @return The number of failed modify attempts against the LDAP external 1190 * server, or {@code null} if it was not included in the monitor 1191 * entry. 1192 */ 1193 @Nullable() 1194 public Long getModifyFailures() 1195 { 1196 return modifyFailures; 1197 } 1198 1199 1200 1201 /** 1202 * Retrieves the number of successful modify attempts against the LDAP 1203 * external server. 1204 * 1205 * @return The number of successful modify attempts against the LDAP 1206 * external server, or {@code null} if it was not included in the 1207 * monitor entry. 1208 */ 1209 @Nullable() 1210 public Long getModifySuccesses() 1211 { 1212 return modifySuccesses; 1213 } 1214 1215 1216 1217 /** 1218 * Retrieves the total number of modify DN operations attempted against the 1219 * LDAP external server. 1220 * 1221 * @return The total number of modify DN operations attempted against the 1222 * LDAP external server, or {@code null} if it was not included in 1223 * the monitor entry. 1224 */ 1225 @Nullable() 1226 public Long getModifyDNAttempts() 1227 { 1228 return modifyDNAttempts; 1229 } 1230 1231 1232 1233 /** 1234 * Retrieves the number of failed modify DN attempts against the LDAP external 1235 * server. 1236 * 1237 * @return The number of failed modify DN attempts against the LDAP external 1238 * server, or {@code null} if it was not included in the monitor 1239 * entry. 1240 */ 1241 @Nullable() 1242 public Long getModifyDNFailures() 1243 { 1244 return modifyDNFailures; 1245 } 1246 1247 1248 1249 /** 1250 * Retrieves the number of successful modify DN attempts against the LDAP 1251 * external server. 1252 * 1253 * @return The number of successful modify DN attempts against the LDAP 1254 * external server, or {@code null} if it was not included in the 1255 * monitor entry. 1256 */ 1257 @Nullable() 1258 public Long getModifyDNSuccesses() 1259 { 1260 return modifyDNSuccesses; 1261 } 1262 1263 1264 1265 /** 1266 * Retrieves the total number of search operations attempted against the LDAP 1267 * external server. 1268 * 1269 * @return The total number of search operations attempted against the LDAP 1270 * external server, or {@code null} if it was not included in the 1271 * monitor entry. 1272 */ 1273 @Nullable() 1274 public Long getSearchAttempts() 1275 { 1276 return searchAttempts; 1277 } 1278 1279 1280 1281 /** 1282 * Retrieves the number of failed search attempts against the LDAP external 1283 * server. 1284 * 1285 * @return The number of failed search attempts against the LDAP external 1286 * server, or {@code null} if it was not included in the monitor 1287 * entry. 1288 */ 1289 @Nullable() 1290 public Long getSearchFailures() 1291 { 1292 return searchFailures; 1293 } 1294 1295 1296 1297 /** 1298 * Retrieves the number of successful search attempts against the LDAP 1299 * external server. 1300 * 1301 * @return The number of successful search attempts against the LDAP 1302 * external server, or {@code null} if it was not included in the 1303 * monitor entry. 1304 */ 1305 @Nullable() 1306 public Long getSearchSuccesses() 1307 { 1308 return searchSuccesses; 1309 } 1310 1311 1312 1313 /** 1314 * Retrieves the number of currently available connections in the common 1315 * connection pool used by the LDAP external server used for both bind and 1316 * non-bind operations. 1317 * 1318 * @return The number of currently available connections in the common 1319 * connection pool used by the LDAP external server used for both 1320 * bind and non-bind operations, or {@code null} if it was not 1321 * included in the monitor entry or if the external server uses 1322 * separate pools for bind and non-bind operations. 1323 */ 1324 @Nullable() 1325 public Long getCommonPoolAvailableConnections() 1326 { 1327 return commonPoolAvailableConnections; 1328 } 1329 1330 1331 1332 /** 1333 * Retrieves the maximum number of connections that may be available in the 1334 * common connection pool used by the LDAP external server for both bind and 1335 * non-bind operations. 1336 * 1337 * @return The maximum number of connections that may be available in the 1338 * common connection pool used by the LDAP external server for both 1339 * bind and non-bind operations, or {@code null} if it was not 1340 * included in the monitor entry or if the external server uses 1341 * separate pools for bind and non-bind operations. 1342 */ 1343 @Nullable() 1344 public Long getCommonPoolMaxAvailableConnections() 1345 { 1346 return commonPoolMaxAvailableConnections; 1347 } 1348 1349 1350 1351 /** 1352 * Retrieves the number of successful connection attempts in the common 1353 * connection pool used by the LDAP external server for both bind and non-bind 1354 * operations. 1355 * 1356 * @return The number of successful connection attempts in the common 1357 * connection pool used by the LDAP external server for both bind and 1358 * non-bind operations, or {@code null} if it was not included in the 1359 * monitor entry or if the external server uses separate pools for 1360 * bind and non-bind operations. 1361 */ 1362 @Nullable() 1363 public Long getCommonPoolNumSuccessfulConnectionAttempts() 1364 { 1365 return commonPoolNumSuccessfulConnectionAttempts; 1366 } 1367 1368 1369 1370 /** 1371 * Retrieves the number of failed connection attempts in the common connection 1372 * pool used by the LDAP external server for both bind and non-bind 1373 * operations. 1374 * 1375 * @return The number of failed connection attempts in the common connection 1376 * pool used by the LDAP external server for both bind and non-bind 1377 * operations, or {@code null} if it was not included in the monitor 1378 * entry or if the external server uses separate pools for bind and 1379 * non-bind operations. 1380 */ 1381 @Nullable() 1382 public Long getCommonPoolNumFailedConnectionAttempts() 1383 { 1384 return commonPoolNumFailedConnectionAttempts; 1385 } 1386 1387 1388 1389 /** 1390 * Retrieves the number of connections in the common connection pool used by 1391 * the LDAP external server for both bind and non-bind operations that have 1392 * been closed as defunct. 1393 * 1394 * @return The number of connections in the common connection pool used by 1395 * the LDAP external server for both bind and non-bind operations 1396 * that have been closed as defunct, or {@code null} if it was not 1397 * included in the monitor entry or if the external server uses 1398 * separate pools for bind and non-bind operations. 1399 */ 1400 @Nullable() 1401 public Long getCommonPoolNumClosedDefunct() 1402 { 1403 return commonPoolNumClosedDefunct; 1404 } 1405 1406 1407 1408 /** 1409 * Retrieves the number of connections in the common connection pool used by 1410 * the LDAP external server for processing both bind and non-bind operations 1411 * that have been closed as expired. 1412 * 1413 * @return The number of connections in the common connection pool used by 1414 * the LDAP external server for both bind and non-bind operations 1415 * that have been closed as expired, or {@code null} if it was not 1416 * included in the monitor entry or if the external server uses 1417 * separate pools for bind and non-bind operations. 1418 */ 1419 @Nullable() 1420 public Long getCommonPoolNumClosedExpired() 1421 { 1422 return commonPoolNumClosedExpired; 1423 } 1424 1425 1426 1427 /** 1428 * Retrieves the number of connections in the common connection pool used by 1429 * the LDAP external server for both bind and non-bind operations that have 1430 * been closed as unneeded. 1431 * 1432 * @return The number of connections in the common connection pool used by 1433 * the LDAP external server for both bind and non-bind operations 1434 * that have been closed as unneeded, or {@code null} if it was not 1435 * included in the monitor entry or if the external server uses 1436 * separate pools for bind and non-bind operations. 1437 */ 1438 @Nullable() 1439 public Long getCommonPoolNumClosedUnneeded() 1440 { 1441 return commonPoolNumClosedUnneeded; 1442 } 1443 1444 1445 1446 /** 1447 * Retrieves the total number of successful checkouts from the common 1448 * connection pool used by the LDAP external server for both bind and non-bind 1449 * operations. 1450 * 1451 * @return The total number of successful checkouts from the common 1452 * connection pool used by the LDAP external server for both bind and 1453 * non-bind operations, or {@code null} if it was not included in the 1454 * monitor entry or if the external server uses separate pools for 1455 * bind and non-bind operations. 1456 */ 1457 @Nullable() 1458 public Long getCommonPoolTotalSuccessfulCheckouts() 1459 { 1460 return commonPoolNumSuccessfulCheckouts; 1461 } 1462 1463 1464 1465 /** 1466 * Retrieves the number of successful checkouts from the common connection 1467 * pool used by the LDAP external server for both bind and non-bind operations 1468 * in which an existing connection was retrieved without needing to wait. 1469 * 1470 * @return The number of successful checkouts from the common connection pool 1471 * used by the LDAP external server for both bind and non-bind 1472 * operations in which an existing connection was retrieved without 1473 * needing to wait, or {@code null} if it was not included in the 1474 * monitor entry or if the external server uses separate pools for 1475 * bind and non-bind operations. 1476 */ 1477 @Nullable() 1478 public Long getCommonPoolNumSuccessfulCheckoutsWithoutWaiting() 1479 { 1480 return commonPoolNumSuccessfulCheckoutsWithoutWaiting; 1481 } 1482 1483 1484 1485 /** 1486 * Retrieves the number of successful checkouts from the common connection 1487 * pool used by the LDAP external server for both bind and non-bind operations 1488 * in which an existing connection was retrieved after waiting for the 1489 * connection to become available. 1490 * 1491 * @return The number of successful checkouts from the common connection pool 1492 * used by the LDAP external server for both bind and non-bind 1493 * operations in which an existing connection was retrieved after 1494 * waiting for the connection to become available, or {@code null} if 1495 * it was not included in the monitor entry or if the external server 1496 * uses separate pools for bind and non-bind operations. 1497 */ 1498 @Nullable() 1499 public Long getCommonPoolNumSuccessfulCheckoutsAfterWaiting() 1500 { 1501 return commonPoolNumSuccessfulCheckoutsAfterWaiting; 1502 } 1503 1504 1505 1506 /** 1507 * Retrieves the number of successful checkouts from the common connection 1508 * pool used by the LDAP external server for both bind and non-bind operations 1509 * in which an existing connection was retrieved after creating a new 1510 * connection. 1511 * 1512 * @return The number of successful checkouts from the common connection pool 1513 * used by the LDAP external server for both bind and non-bind 1514 * operations in which an existing connection was retrieved after 1515 * creating a new connection, or {@code null} if it was not included 1516 * in the monitor entry or if the external server uses separate pools 1517 * for bind and non-bind operations. 1518 */ 1519 @Nullable() 1520 public Long getCommonPoolNumSuccessfulCheckoutsNewConnection() 1521 { 1522 return commonPoolNumSuccessfulCheckoutsNewConnection; 1523 } 1524 1525 1526 1527 /** 1528 * Retrieves the number of failed checkout attempts from the common connection 1529 * pool used by the LDAP external server for both bind and non-bind 1530 * operations. 1531 * 1532 * @return The number of failed checkout attempts from the common connection 1533 * pool used by the LDAP external server for both bind and non-bind 1534 * operations, or {@code null} if it was not included in the monitor 1535 * entry or if the external server uses separate pools for bind and 1536 * non-bind operations. 1537 */ 1538 @Nullable() 1539 public Long getCommonPoolNumFailedCheckouts() 1540 { 1541 return commonPoolNumFailedCheckouts; 1542 } 1543 1544 1545 1546 /** 1547 * Retrieves the number of connections released as valid back to the common 1548 * connection pool used by the LDAP external server for bind and non-bind 1549 * operations. 1550 * 1551 * @return The number of connections released as valid back to the common 1552 * connection pool used by the LDAP external server used for bind and 1553 * non-bind operations, or {@code null} if it was not included in the 1554 * monitor entry or if the external server uses a separate pools for 1555 * bind and non-bind operations. 1556 */ 1557 @Nullable() 1558 public Long getCommonPoolNumReleasedValid() 1559 { 1560 return commonPoolNumReleasedValid; 1561 } 1562 1563 1564 1565 /** 1566 * Retrieves the number of currently available connections in the bind 1567 * connection pool used by the LDAP external server. 1568 * 1569 * @return The number of currently available connections in the bind 1570 * connection pool used by the LDAP external server, or {@code null} 1571 * if it was not included in the monitor entry or if the external 1572 * server uses a common pool for bind and non-bind operations. 1573 */ 1574 @Nullable() 1575 public Long getBindPoolAvailableConnections() 1576 { 1577 return bindPoolAvailableConnections; 1578 } 1579 1580 1581 1582 /** 1583 * Retrieves the maximum number of connections that may be available in the 1584 * bind connection pool used by the LDAP external server. 1585 * 1586 * @return The maximum number of connections that may be available in the 1587 * bind connection pool used by the LDAP external server, or 1588 * {@code null} if it was not included in the monitor entry or if the 1589 * external server uses a common pool for bind and non-bind 1590 * operations. 1591 */ 1592 @Nullable() 1593 public Long getBindPoolMaxAvailableConnections() 1594 { 1595 return bindPoolMaxAvailableConnections; 1596 } 1597 1598 1599 1600 /** 1601 * Retrieves the number of successful connection attempts in the bind 1602 * connection pool used by the LDAP external server. 1603 * 1604 * @return The number of successful connection attempts in the bind 1605 * connection pool used by the LDAP external server, or {@code null} 1606 * if it was not included in the monitor entry or if the external 1607 * server uses a common pool for bind and non-bind operations. 1608 */ 1609 @Nullable() 1610 public Long getBindPoolNumSuccessfulConnectionAttempts() 1611 { 1612 return bindPoolNumSuccessfulConnectionAttempts; 1613 } 1614 1615 1616 1617 /** 1618 * Retrieves the number of failed connection attempts in the bind connection 1619 * pool used by the LDAP external server. 1620 * 1621 * @return The number of failed connection attempts in the bind connection 1622 * pool used by the LDAP external server, or {@code null} if it was 1623 * not included in the monitor entry or if the external server uses a 1624 * common pool for bind and non-bind operations. 1625 */ 1626 @Nullable() 1627 public Long getBindPoolNumFailedConnectionAttempts() 1628 { 1629 return bindPoolNumFailedConnectionAttempts; 1630 } 1631 1632 1633 1634 /** 1635 * Retrieves the number of connections in the bind connection pool used by the 1636 * LDAP external server that have been closed as defunct. 1637 * 1638 * @return The number of connections in the bind connection pool used by the 1639 * LDAP external server that have been closed as defunct, or 1640 * {@code null} if it was not included in the monitor entry or if the 1641 * external server uses a common pool for bind and non-bind 1642 * operations. 1643 */ 1644 @Nullable() 1645 public Long getBindPoolNumClosedDefunct() 1646 { 1647 return bindPoolNumClosedDefunct; 1648 } 1649 1650 1651 1652 /** 1653 * Retrieves the number of connections in the bind connection pool used by the 1654 * LDAP external server that have been closed as expired. 1655 * 1656 * @return The number of connections in the bind connection pool used by the 1657 * LDAP external server that have been closed as expired, or 1658 * {@code null} if it was not included in the monitor entry or if the 1659 * external server uses a common pool for bind and non-bind 1660 * operations. 1661 */ 1662 @Nullable() 1663 public Long getBindPoolNumClosedExpired() 1664 { 1665 return bindPoolNumClosedExpired; 1666 } 1667 1668 1669 1670 /** 1671 * Retrieves the number of connections in the bind connection pool used by the 1672 * LDAP external server that have been closed as unneeded. 1673 * 1674 * @return The number of connections in the bind connection pool used by the 1675 * LDAP external server that have been closed as unneeded, or 1676 * {@code null} if it was not included in the monitor entry or if the 1677 * external server uses a common pool for bind and non-bind 1678 * operations. 1679 */ 1680 @Nullable() 1681 public Long getBindPoolNumClosedUnneeded() 1682 { 1683 return bindPoolNumClosedUnneeded; 1684 } 1685 1686 1687 1688 /** 1689 * Retrieves the total number of successful checkouts from the bind connection 1690 * pool used by the LDAP external server. 1691 * 1692 * @return The total number of successful checkouts from the bind connection 1693 * pool used by the LDAP external server, or {@code null} if it was 1694 * not included in the monitor entry or if the external server uses a 1695 * common pool for bind and non-bind operations. 1696 */ 1697 @Nullable() 1698 public Long getBindPoolTotalSuccessfulCheckouts() 1699 { 1700 return bindPoolNumSuccessfulCheckouts; 1701 } 1702 1703 1704 1705 /** 1706 * Retrieves the number of successful checkouts from the bind connection pool 1707 * used by the LDAP external server in which an existing connection was 1708 * retrieved without needing to wait. 1709 * 1710 * @return The number of successful checkouts from the bind connection pool 1711 * used by the LDAP external server in which an existing connection 1712 * was retrieved without needing to wait, or {@code null} if it was 1713 * not included in the monitor entry or if the external server uses a 1714 * common pool for bind and non-bind operations. 1715 */ 1716 @Nullable() 1717 public Long getBindPoolNumSuccessfulCheckoutsWithoutWaiting() 1718 { 1719 return bindPoolNumSuccessfulCheckoutsWithoutWaiting; 1720 } 1721 1722 1723 1724 /** 1725 * Retrieves the number of successful checkouts from the bind connection pool 1726 * used by the LDAP external server in which an existing connection was 1727 * retrieved after waiting for the connection to become available. 1728 * 1729 * @return The number of successful checkouts from the bind connection pool 1730 * used by the LDAP external server in which an existing connection 1731 * was retrieved after waiting for the connection to become 1732 * available, or {@code null} if it was not included in the monitor 1733 * entry or if the external server uses a common pool for bind and 1734 * non-bind operations. 1735 */ 1736 @Nullable() 1737 public Long getBindPoolNumSuccessfulCheckoutsAfterWaiting() 1738 { 1739 return bindPoolNumSuccessfulCheckoutsAfterWaiting; 1740 } 1741 1742 1743 1744 /** 1745 * Retrieves the number of successful checkouts from the bind connection pool 1746 * used by the LDAP external server in which an existing connection was 1747 * retrieved after creating a new connection. 1748 * 1749 * @return The number of successful checkouts from the bind connection pool 1750 * used by the LDAP external server in which an existing connection 1751 * was retrieved after creating a new connection, or {@code null} if 1752 * it was not included in the monitor entry or if the external server 1753 * uses a common pool for bind and non-bind operations. 1754 */ 1755 @Nullable() 1756 public Long getBindPoolNumSuccessfulCheckoutsNewConnection() 1757 { 1758 return bindPoolNumSuccessfulCheckoutsNewConnection; 1759 } 1760 1761 1762 1763 /** 1764 * Retrieves the number of failed checkout attempts from the bind connection 1765 * pool used by the LDAP external server. 1766 * 1767 * @return The number of failed checkout attempts from the bind connection 1768 * pool used by the LDAP external server, or {@code null} if it was 1769 * not included in the monitor entry or if the external server uses a 1770 * common pool for bind and non-bind operations. 1771 */ 1772 @Nullable() 1773 public Long getBindPoolNumFailedCheckouts() 1774 { 1775 return bindPoolNumFailedCheckouts; 1776 } 1777 1778 1779 1780 /** 1781 * Retrieves the number of connections released as valid back to the bind 1782 * connection pool used by the LDAP external server. 1783 * 1784 * @return The number of connections released as valid back to the bind 1785 * connection pool used by the LDAP external server, or {@code null} 1786 * if it was not included in the monitor entry or if the external 1787 * server uses a common pool for bind and non-bind operations. 1788 */ 1789 @Nullable() 1790 public Long getBindPoolNumReleasedValid() 1791 { 1792 return bindPoolNumReleasedValid; 1793 } 1794 1795 1796 1797 /** 1798 * Retrieves the number of currently available connections in the non-bind 1799 * connection pool used by the LDAP external server. 1800 * 1801 * @return The number of currently available connections in the non-bind 1802 * connection pool used by the LDAP external server, or {@code null} 1803 * if it was not included in the monitor entry or if the external 1804 * server uses a common pool for bind and non-bind operations. 1805 */ 1806 @Nullable() 1807 public Long getNonBindPoolAvailableConnections() 1808 { 1809 return nonBindPoolAvailableConnections; 1810 } 1811 1812 1813 1814 /** 1815 * Retrieves the maximum number of connections that may be available in the 1816 * non-bind connection pool used by the LDAP external server. 1817 * 1818 * @return The maximum number of connections that may be available in the 1819 * non-bind connection pool used by the LDAP external server, or 1820 * {@code null} if it was not included in the monitor entry or if the 1821 * external server uses a common pool for bind and non-bind 1822 * operations. 1823 */ 1824 @Nullable() 1825 public Long getNonBindPoolMaxAvailableConnections() 1826 { 1827 return nonBindPoolMaxAvailableConnections; 1828 } 1829 1830 1831 1832 /** 1833 * Retrieves the number of successful connection attempts in the non-bind 1834 * connection pool used by the LDAP external server. 1835 * 1836 * @return The number of successful connection attempts in the non-bind 1837 * connection pool used by the LDAP external server, or {@code null} 1838 * if it was not included in the monitor entry or if the external 1839 * server uses a common pool for bind and non-bind operations. 1840 */ 1841 @Nullable() 1842 public Long getNonBindPoolNumSuccessfulConnectionAttempts() 1843 { 1844 return nonBindPoolNumSuccessfulConnectionAttempts; 1845 } 1846 1847 1848 1849 /** 1850 * Retrieves the number of failed connection attempts in the non-bind 1851 * connection pool used by the LDAP external server. 1852 * 1853 * @return The number of failed connection attempts in the non-bind 1854 * connection pool used by the LDAP external server, or {@code null} 1855 * if it was not included in the monitor entry or if the external 1856 * server uses a common pool for bind and non-bind operations. 1857 */ 1858 @Nullable() 1859 public Long getNonBindPoolNumFailedConnectionAttempts() 1860 { 1861 return nonBindPoolNumFailedConnectionAttempts; 1862 } 1863 1864 1865 1866 /** 1867 * Retrieves the number of connections in the non-bind connection pool used by 1868 * the LDAP external server that have been closed as defunct. 1869 * 1870 * @return The number of connections in the non-bind connection pool used by 1871 * the LDAP external server that have been closed as defunct, or 1872 * {@code null} if it was not included in the monitor entry or if the 1873 * external server uses a common pool for bind and non-bind 1874 * operations. 1875 */ 1876 @Nullable() 1877 public Long getNonBindPoolNumClosedDefunct() 1878 { 1879 return nonBindPoolNumClosedDefunct; 1880 } 1881 1882 1883 1884 /** 1885 * Retrieves the number of connections in the non-bind connection pool used by 1886 * the LDAP external server that have been closed as expired. 1887 * 1888 * @return The number of connections in the non-bind connection pool used by 1889 * the LDAP external server that have been closed as expired, or 1890 * {@code null} if it was not included in the monitor entry or if the 1891 * external server uses a common pool for bind and non-bind 1892 * operations. 1893 */ 1894 @Nullable() 1895 public Long getNonBindPoolNumClosedExpired() 1896 { 1897 return nonBindPoolNumClosedExpired; 1898 } 1899 1900 1901 1902 /** 1903 * Retrieves the number of connections in the non-bind connection pool used by 1904 * the LDAP external server that have been closed as unneeded. 1905 * 1906 * @return The number of connections in the non-bind connection pool used by 1907 * the LDAP external server that have been closed as unneeded, or 1908 * {@code null} if it was not included in the monitor entry or if the 1909 * external server uses a common pool for bind and non-bind 1910 * operations. 1911 */ 1912 @Nullable() 1913 public Long getNonBindPoolNumClosedUnneeded() 1914 { 1915 return nonBindPoolNumClosedUnneeded; 1916 } 1917 1918 1919 1920 /** 1921 * Retrieves the total number of successful checkouts from the non-bind 1922 * connection pool used by the LDAP external server. 1923 * 1924 * @return The total number of successful checkouts from the non-bind 1925 * connection pool used by the LDAP external server, or {@code null} 1926 * if it was not included in the monitor entry or if the external 1927 * server uses a common pool for bind and non-bind operations. 1928 */ 1929 @Nullable() 1930 public Long getNonBindPoolTotalSuccessfulCheckouts() 1931 { 1932 return nonBindPoolNumSuccessfulCheckouts; 1933 } 1934 1935 1936 1937 /** 1938 * Retrieves the number of successful checkouts from the non-bind connection 1939 * pool used by the LDAP external server in which an existing connection was 1940 * retrieved without needing to wait. 1941 * 1942 * @return The number of successful checkouts from the non-bind connection 1943 * pool used by the LDAP external server in which an existing 1944 * connection was retrieved without needing to wait, or {@code null} 1945 * if it was not included in the monitor entry or if the external 1946 * server uses a common pool for bind and non-bind operations. 1947 */ 1948 @Nullable() 1949 public Long getNonBindPoolNumSuccessfulCheckoutsWithoutWaiting() 1950 { 1951 return nonBindPoolNumSuccessfulCheckoutsWithoutWaiting; 1952 } 1953 1954 1955 1956 /** 1957 * Retrieves the number of successful checkouts from the non-bind connection 1958 * pool used by the LDAP external server in which an existing connection was 1959 * retrieved after waiting for the connection to become available. 1960 * 1961 * @return The number of successful checkouts from the non-bind connection 1962 * pool used by the LDAP external server in which an existing 1963 * connection was retrieved after waiting for the connection to 1964 * become available, or {@code null} if it was not included in the 1965 * monitor entry or if the external server uses a common pool for 1966 * bind and non-bind operations. 1967 */ 1968 @Nullable() 1969 public Long getNonBindPoolNumSuccessfulCheckoutsAfterWaiting() 1970 { 1971 return nonBindPoolNumSuccessfulCheckoutsAfterWaiting; 1972 } 1973 1974 1975 1976 /** 1977 * Retrieves the number of successful checkouts from the non-bind connection 1978 * pool used by the LDAP external server in which an existing connection was 1979 * retrieved after creating a new connection. 1980 * 1981 * @return The number of successful checkouts from the non-bind connection 1982 * pool used by the LDAP external server in which an existing 1983 * connection was retrieved after creating a new connection, or 1984 * {@code null} if it was not included in the monitor entry or if the 1985 * external server uses a common pool for bind and non-bind 1986 * operations. 1987 */ 1988 @Nullable() 1989 public Long getNonBindPoolNumSuccessfulCheckoutsNewConnection() 1990 { 1991 return nonBindPoolNumSuccessfulCheckoutsNewConnection; 1992 } 1993 1994 1995 1996 /** 1997 * Retrieves the number of failed checkout attempts from the non-bind 1998 * connection pool used by the LDAP external server. 1999 * 2000 * @return The number of failed checkout attempts from the non-bind 2001 * connection pool used by the LDAP external server, or {@code null} 2002 * if it was not included in the monitor entry or if the external 2003 * server uses a common pool for bind and non-bind operations. 2004 */ 2005 @Nullable() 2006 public Long getNonBindPoolNumFailedCheckouts() 2007 { 2008 return nonBindPoolNumFailedCheckouts; 2009 } 2010 2011 2012 2013 /** 2014 * Retrieves the number of connections released as valid back to the non-bind 2015 * connection pool used by the LDAP external server. 2016 * 2017 * @return The number of connections released as valid back to the non-bind 2018 * connection pool used by the LDAP external server, or {@code null} 2019 * if it was not included in the monitor entry or if the external 2020 * server uses a common pool for bind and non-bind operations. 2021 */ 2022 @Nullable() 2023 public Long getNonBindPoolNumReleasedValid() 2024 { 2025 return nonBindPoolNumReleasedValid; 2026 } 2027 2028 2029 2030 /** 2031 * {@inheritDoc} 2032 */ 2033 @Override() 2034 @NotNull() 2035 public String getMonitorDisplayName() 2036 { 2037 return INFO_LDAP_EXT_SERVER_MONITOR_DISPNAME.get(); 2038 } 2039 2040 2041 2042 /** 2043 * {@inheritDoc} 2044 */ 2045 @Override() 2046 @NotNull() 2047 public String getMonitorDescription() 2048 { 2049 return INFO_LDAP_EXT_SERVER_MONITOR_DESC.get(); 2050 } 2051 2052 2053 2054 /** 2055 * {@inheritDoc} 2056 */ 2057 @Override() 2058 @NotNull() 2059 public Map<String,MonitorAttribute> getMonitorAttributes() 2060 { 2061 final LinkedHashMap<String,MonitorAttribute> attrs = 2062 new LinkedHashMap<>(StaticUtils.computeMapCapacity(50)); 2063 2064 if (serverAddress != null) 2065 { 2066 addMonitorAttribute(attrs, 2067 ATTR_SERVER_ADDRESS, 2068 INFO_LDAP_EXT_SERVER_DISPNAME_SERVER_ADDRESS.get(), 2069 INFO_LDAP_EXT_SERVER_DESC_SERVER_ADDRESS.get(), 2070 serverAddress); 2071 } 2072 2073 if (serverPort != null) 2074 { 2075 addMonitorAttribute(attrs, 2076 ATTR_SERVER_PORT, 2077 INFO_LDAP_EXT_SERVER_DISPNAME_SERVER_PORT.get(), 2078 INFO_LDAP_EXT_SERVER_DESC_SERVER_PORT.get(), 2079 serverPort); 2080 } 2081 2082 if (communicationSecurity != null) 2083 { 2084 addMonitorAttribute(attrs, 2085 ATTR_COMMUNICATION_SECURITY, 2086 INFO_LDAP_EXT_SERVER_DISPNAME_COMMUNICATION_SECURITY.get(), 2087 INFO_LDAP_EXT_SERVER_DESC_COMMUNICATION_SECURITY.get(), 2088 communicationSecurity); 2089 } 2090 2091 if (loadBalancingAlgorithmDN != null) 2092 { 2093 addMonitorAttribute(attrs, 2094 ATTR_LOAD_BALANCING_ALGORITHM_DN, 2095 INFO_LDAP_EXT_SERVER_DISPNAME_LOAD_BALANCING_ALGORITHM_DN.get(), 2096 INFO_LDAP_EXT_SERVER_DESC_LOAD_BALANCING_ALGORITHM_DN.get(), 2097 loadBalancingAlgorithmDN); 2098 } 2099 2100 if (healthCheckState != null) 2101 { 2102 addMonitorAttribute(attrs, 2103 ATTR_HEALTH_CHECK_STATE, 2104 INFO_LDAP_EXT_SERVER_DISPNAME_HEALTH_CHECK_STATE.get(), 2105 INFO_LDAP_EXT_SERVER_DESC_HEALTH_CHECK_STATE.get(), 2106 healthCheckState.getName()); 2107 } 2108 2109 if (healthCheckScore != null) 2110 { 2111 addMonitorAttribute(attrs, 2112 ATTR_HEALTH_CHECK_SCORE, 2113 INFO_LDAP_EXT_SERVER_DISPNAME_HEALTH_CHECK_SCORE.get(), 2114 INFO_LDAP_EXT_SERVER_DESC_HEALTH_CHECK_SCORE.get(), 2115 healthCheckScore); 2116 } 2117 2118 if ((healthCheckMessages != null) && (! healthCheckMessages.isEmpty())) 2119 { 2120 addMonitorAttribute(attrs, 2121 ATTR_HEALTH_CHECK_MESSAGE, 2122 INFO_LDAP_EXT_SERVER_DISPNAME_HEALTH_CHECK_MESSAGE.get(), 2123 INFO_LDAP_EXT_SERVER_DESC_HEALTH_CHECK_MESSAGE.get(), 2124 healthCheckMessages); 2125 } 2126 2127 if (healthCheckUpdateTime != null) 2128 { 2129 addMonitorAttribute(attrs, 2130 ATTR_HEALTH_CHECK_UPDATE_TIME, 2131 INFO_LDAP_EXT_SERVER_DISPNAME_HEALTH_CHECK_UPDATE_TIME.get(), 2132 INFO_LDAP_EXT_SERVER_DESC_HEALTH_CHECK_UPDATE_TIME.get(), 2133 healthCheckUpdateTime); 2134 } 2135 2136 if (commonPoolAvailableConnections != null) 2137 { 2138 addMonitorAttribute(attrs, 2139 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_AVAILABLE_CONNS, 2140 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_AVAILABLE_CONNS.get(), 2141 INFO_LDAP_EXT_SERVER_DESC_COMMON_AVAILABLE_CONNS.get(), 2142 commonPoolAvailableConnections); 2143 } 2144 2145 if (commonPoolMaxAvailableConnections != null) 2146 { 2147 addMonitorAttribute(attrs, 2148 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_MAX_AVAILABLE_CONNS, 2149 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_MAX_AVAILABLE_CONNS.get(), 2150 INFO_LDAP_EXT_SERVER_DESC_COMMON_MAX_AVAILABLE_CONNS.get(), 2151 commonPoolMaxAvailableConnections); 2152 } 2153 2154 if (commonPoolNumSuccessfulConnectionAttempts != null) 2155 { 2156 addMonitorAttribute(attrs, 2157 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_SUCCESSFUL_CONNECTS, 2158 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CONNECT_SUCCESS.get(), 2159 INFO_LDAP_EXT_SERVER_DESC_COMMON_CONNECT_SUCCESS.get(), 2160 commonPoolNumSuccessfulConnectionAttempts); 2161 } 2162 2163 if (commonPoolNumFailedConnectionAttempts != null) 2164 { 2165 addMonitorAttribute(attrs, 2166 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_FAILED_CONNECTS, 2167 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CONNECT_FAILED.get(), 2168 INFO_LDAP_EXT_SERVER_DESC_COMMON_CONNECT_FAILED.get(), 2169 commonPoolNumFailedConnectionAttempts); 2170 } 2171 2172 if (commonPoolNumClosedDefunct != null) 2173 { 2174 addMonitorAttribute(attrs, 2175 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_CLOSED_DEFUNCT, 2176 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CLOSED_DEFUNCT.get(), 2177 INFO_LDAP_EXT_SERVER_DESC_COMMON_CLOSED_DEFUNCT.get(), 2178 commonPoolNumClosedDefunct); 2179 } 2180 2181 if (commonPoolNumClosedExpired != null) 2182 { 2183 addMonitorAttribute(attrs, 2184 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_CLOSED_EXPIRED, 2185 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CLOSED_EXPIRED.get(), 2186 INFO_LDAP_EXT_SERVER_DESC_COMMON_CLOSED_EXPIRED.get(), 2187 commonPoolNumClosedExpired); 2188 } 2189 2190 if (commonPoolNumClosedUnneeded != null) 2191 { 2192 addMonitorAttribute(attrs, 2193 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_CLOSED_UNNEEDED, 2194 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CLOSED_UNNEEDED.get(), 2195 INFO_LDAP_EXT_SERVER_DESC_COMMON_CLOSED_UNNEEDED.get(), 2196 commonPoolNumClosedUnneeded); 2197 } 2198 2199 if (commonPoolNumSuccessfulCheckouts != null) 2200 { 2201 addMonitorAttribute(attrs, 2202 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS, 2203 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CHECKOUT_SUCCESS.get(), 2204 INFO_LDAP_EXT_SERVER_DESC_COMMON_CHECKOUT_SUCCESS.get(), 2205 commonPoolNumSuccessfulCheckouts); 2206 } 2207 2208 if (commonPoolNumSuccessfulCheckoutsWithoutWaiting != null) 2209 { 2210 addMonitorAttribute(attrs, 2211 ATTR_PREFIX_COMMON_POOL + 2212 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING, 2213 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CHECKOUT_NO_WAIT.get(), 2214 INFO_LDAP_EXT_SERVER_DESC_COMMON_CHECKOUT_NO_WAIT.get(), 2215 commonPoolNumSuccessfulCheckoutsWithoutWaiting); 2216 } 2217 2218 if (commonPoolNumSuccessfulCheckoutsAfterWaiting != null) 2219 { 2220 addMonitorAttribute(attrs, 2221 ATTR_PREFIX_COMMON_POOL + 2222 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING, 2223 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CHECKOUT_WITH_WAIT.get(), 2224 INFO_LDAP_EXT_SERVER_DESC_COMMON_CHECKOUT_WITH_WAIT.get(), 2225 commonPoolNumSuccessfulCheckoutsAfterWaiting); 2226 } 2227 2228 if (commonPoolNumSuccessfulCheckoutsNewConnection != null) 2229 { 2230 addMonitorAttribute(attrs, 2231 ATTR_PREFIX_COMMON_POOL + 2232 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN, 2233 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CHECKOUT_NEW_CONN.get(), 2234 INFO_LDAP_EXT_SERVER_DESC_COMMON_CHECKOUT_NEW_CONN.get(), 2235 commonPoolNumSuccessfulCheckoutsNewConnection); 2236 } 2237 2238 if (commonPoolNumFailedCheckouts != null) 2239 { 2240 addMonitorAttribute(attrs, 2241 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_FAILED_CHECKOUTS, 2242 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_CHECKOUT_FAILED.get(), 2243 INFO_LDAP_EXT_SERVER_DESC_COMMON_CHECKOUT_FAILED.get(), 2244 commonPoolNumFailedCheckouts); 2245 } 2246 2247 if (commonPoolNumReleasedValid != null) 2248 { 2249 addMonitorAttribute(attrs, 2250 ATTR_PREFIX_COMMON_POOL + ATTR_SUFFIX_RELEASED_VALID, 2251 INFO_LDAP_EXT_SERVER_DISPNAME_COMMON_RELEASED_VALID.get(), 2252 INFO_LDAP_EXT_SERVER_DESC_COMMON_RELEASED_VALID.get(), 2253 commonPoolNumReleasedValid); 2254 } 2255 2256 if (bindPoolAvailableConnections != null) 2257 { 2258 addMonitorAttribute(attrs, 2259 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_AVAILABLE_CONNS, 2260 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_AVAILABLE_CONNS.get(), 2261 INFO_LDAP_EXT_SERVER_DESC_BIND_AVAILABLE_CONNS.get(), 2262 bindPoolAvailableConnections); 2263 } 2264 2265 if (bindPoolMaxAvailableConnections != null) 2266 { 2267 addMonitorAttribute(attrs, 2268 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_MAX_AVAILABLE_CONNS, 2269 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_MAX_AVAILABLE_CONNS.get(), 2270 INFO_LDAP_EXT_SERVER_DESC_BIND_MAX_AVAILABLE_CONNS.get(), 2271 bindPoolMaxAvailableConnections); 2272 } 2273 2274 if (bindPoolNumSuccessfulConnectionAttempts != null) 2275 { 2276 addMonitorAttribute(attrs, 2277 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CONNECTS, 2278 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CONNECT_SUCCESS.get(), 2279 INFO_LDAP_EXT_SERVER_DESC_BIND_CONNECT_SUCCESS.get(), 2280 bindPoolNumSuccessfulConnectionAttempts); 2281 } 2282 2283 if (bindPoolNumFailedConnectionAttempts != null) 2284 { 2285 addMonitorAttribute(attrs, 2286 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_FAILED_CONNECTS, 2287 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CONNECT_FAILED.get(), 2288 INFO_LDAP_EXT_SERVER_DESC_BIND_CONNECT_FAILED.get(), 2289 bindPoolNumFailedConnectionAttempts); 2290 } 2291 2292 if (bindPoolNumClosedDefunct != null) 2293 { 2294 addMonitorAttribute(attrs, 2295 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_CLOSED_DEFUNCT, 2296 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CLOSED_DEFUNCT.get(), 2297 INFO_LDAP_EXT_SERVER_DESC_BIND_CLOSED_DEFUNCT.get(), 2298 bindPoolNumClosedDefunct); 2299 } 2300 2301 if (bindPoolNumClosedExpired != null) 2302 { 2303 addMonitorAttribute(attrs, 2304 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_CLOSED_EXPIRED, 2305 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CLOSED_EXPIRED.get(), 2306 INFO_LDAP_EXT_SERVER_DESC_BIND_CLOSED_EXPIRED.get(), 2307 bindPoolNumClosedExpired); 2308 } 2309 2310 if (bindPoolNumClosedUnneeded != null) 2311 { 2312 addMonitorAttribute(attrs, 2313 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_CLOSED_UNNEEDED, 2314 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CLOSED_UNNEEDED.get(), 2315 INFO_LDAP_EXT_SERVER_DESC_BIND_CLOSED_UNNEEDED.get(), 2316 bindPoolNumClosedUnneeded); 2317 } 2318 2319 if (bindPoolNumSuccessfulCheckouts != null) 2320 { 2321 addMonitorAttribute(attrs, 2322 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS, 2323 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CHECKOUT_SUCCESS.get(), 2324 INFO_LDAP_EXT_SERVER_DESC_BIND_CHECKOUT_SUCCESS.get(), 2325 bindPoolNumSuccessfulCheckouts); 2326 } 2327 2328 if (bindPoolNumSuccessfulCheckoutsWithoutWaiting != null) 2329 { 2330 addMonitorAttribute(attrs, 2331 ATTR_PREFIX_BIND_POOL + 2332 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING, 2333 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CHECKOUT_NO_WAIT.get(), 2334 INFO_LDAP_EXT_SERVER_DESC_BIND_CHECKOUT_NO_WAIT.get(), 2335 bindPoolNumSuccessfulCheckoutsWithoutWaiting); 2336 } 2337 2338 if (bindPoolNumSuccessfulCheckoutsAfterWaiting != null) 2339 { 2340 addMonitorAttribute(attrs, 2341 ATTR_PREFIX_BIND_POOL + 2342 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING, 2343 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CHECKOUT_WITH_WAIT.get(), 2344 INFO_LDAP_EXT_SERVER_DESC_BIND_CHECKOUT_WITH_WAIT.get(), 2345 bindPoolNumSuccessfulCheckoutsAfterWaiting); 2346 } 2347 2348 if (bindPoolNumSuccessfulCheckoutsNewConnection != null) 2349 { 2350 addMonitorAttribute(attrs, 2351 ATTR_PREFIX_BIND_POOL + 2352 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN, 2353 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CHECKOUT_NEW_CONN.get(), 2354 INFO_LDAP_EXT_SERVER_DESC_BIND_CHECKOUT_NEW_CONN.get(), 2355 bindPoolNumSuccessfulCheckoutsNewConnection); 2356 } 2357 2358 if (bindPoolNumFailedCheckouts != null) 2359 { 2360 addMonitorAttribute(attrs, 2361 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_FAILED_CHECKOUTS, 2362 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_CHECKOUT_FAILED.get(), 2363 INFO_LDAP_EXT_SERVER_DESC_BIND_CHECKOUT_FAILED.get(), 2364 bindPoolNumFailedCheckouts); 2365 } 2366 2367 if (bindPoolNumReleasedValid != null) 2368 { 2369 addMonitorAttribute(attrs, 2370 ATTR_PREFIX_BIND_POOL + ATTR_SUFFIX_RELEASED_VALID, 2371 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_RELEASED_VALID.get(), 2372 INFO_LDAP_EXT_SERVER_DESC_BIND_RELEASED_VALID.get(), 2373 bindPoolNumReleasedValid); 2374 } 2375 2376 if (nonBindPoolAvailableConnections != null) 2377 { 2378 addMonitorAttribute(attrs, 2379 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_AVAILABLE_CONNS, 2380 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_AVAILABLE_CONNS.get(), 2381 INFO_LDAP_EXT_SERVER_DESC_NONBIND_AVAILABLE_CONNS.get(), 2382 nonBindPoolAvailableConnections); 2383 } 2384 2385 if (nonBindPoolMaxAvailableConnections != null) 2386 { 2387 addMonitorAttribute(attrs, 2388 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_MAX_AVAILABLE_CONNS, 2389 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_MAX_AVAILABLE_CONNS.get(), 2390 INFO_LDAP_EXT_SERVER_DESC_NONBIND_MAX_AVAILABLE_CONNS.get(), 2391 nonBindPoolMaxAvailableConnections); 2392 } 2393 2394 if (nonBindPoolNumSuccessfulConnectionAttempts != null) 2395 { 2396 addMonitorAttribute(attrs, 2397 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CONNECTS, 2398 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CONNECT_SUCCESS.get(), 2399 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CONNECT_SUCCESS.get(), 2400 nonBindPoolNumSuccessfulConnectionAttempts); 2401 } 2402 2403 if (nonBindPoolNumFailedConnectionAttempts != null) 2404 { 2405 addMonitorAttribute(attrs, 2406 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_FAILED_CONNECTS, 2407 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CONNECT_FAILED.get(), 2408 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CONNECT_FAILED.get(), 2409 nonBindPoolNumFailedConnectionAttempts); 2410 } 2411 2412 if (nonBindPoolNumClosedDefunct != null) 2413 { 2414 addMonitorAttribute(attrs, 2415 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_CLOSED_DEFUNCT, 2416 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CLOSED_DEFUNCT.get(), 2417 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CLOSED_DEFUNCT.get(), 2418 nonBindPoolNumClosedDefunct); 2419 } 2420 2421 if (nonBindPoolNumClosedExpired != null) 2422 { 2423 addMonitorAttribute(attrs, 2424 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_CLOSED_EXPIRED, 2425 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CLOSED_EXPIRED.get(), 2426 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CLOSED_EXPIRED.get(), 2427 nonBindPoolNumClosedExpired); 2428 } 2429 2430 if (nonBindPoolNumClosedUnneeded != null) 2431 { 2432 addMonitorAttribute(attrs, 2433 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_CLOSED_UNNEEDED, 2434 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CLOSED_UNNEEDED.get(), 2435 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CLOSED_UNNEEDED.get(), 2436 nonBindPoolNumClosedUnneeded); 2437 } 2438 2439 if (nonBindPoolNumSuccessfulCheckouts != null) 2440 { 2441 addMonitorAttribute(attrs, 2442 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS, 2443 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CHECKOUT_SUCCESS.get(), 2444 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CHECKOUT_SUCCESS.get(), 2445 nonBindPoolNumSuccessfulCheckouts); 2446 } 2447 2448 if (nonBindPoolNumSuccessfulCheckoutsWithoutWaiting != null) 2449 { 2450 addMonitorAttribute(attrs, 2451 ATTR_PREFIX_NONBIND_POOL + 2452 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_WITHOUT_WAITING, 2453 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CHECKOUT_NO_WAIT.get(), 2454 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CHECKOUT_NO_WAIT.get(), 2455 nonBindPoolNumSuccessfulCheckoutsWithoutWaiting); 2456 } 2457 2458 if (nonBindPoolNumSuccessfulCheckoutsAfterWaiting != null) 2459 { 2460 addMonitorAttribute(attrs, 2461 ATTR_PREFIX_NONBIND_POOL + 2462 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_AFTER_WAITING, 2463 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CHECKOUT_WITH_WAIT.get(), 2464 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CHECKOUT_WITH_WAIT.get(), 2465 nonBindPoolNumSuccessfulCheckoutsAfterWaiting); 2466 } 2467 2468 if (nonBindPoolNumSuccessfulCheckoutsNewConnection != null) 2469 { 2470 addMonitorAttribute(attrs, 2471 ATTR_PREFIX_NONBIND_POOL + 2472 ATTR_SUFFIX_SUCCESSFUL_CHECKOUTS_NEW_CONN, 2473 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CHECKOUT_NEW_CONN.get(), 2474 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CHECKOUT_NEW_CONN.get(), 2475 nonBindPoolNumSuccessfulCheckoutsNewConnection); 2476 } 2477 2478 if (nonBindPoolNumFailedCheckouts != null) 2479 { 2480 addMonitorAttribute(attrs, 2481 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_FAILED_CHECKOUTS, 2482 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_CHECKOUT_FAILED.get(), 2483 INFO_LDAP_EXT_SERVER_DESC_NONBIND_CHECKOUT_FAILED.get(), 2484 nonBindPoolNumFailedCheckouts); 2485 } 2486 2487 if (nonBindPoolNumReleasedValid != null) 2488 { 2489 addMonitorAttribute(attrs, 2490 ATTR_PREFIX_NONBIND_POOL + ATTR_SUFFIX_RELEASED_VALID, 2491 INFO_LDAP_EXT_SERVER_DISPNAME_NONBIND_RELEASED_VALID.get(), 2492 INFO_LDAP_EXT_SERVER_DESC_NONBIND_RELEASED_VALID.get(), 2493 nonBindPoolNumReleasedValid); 2494 } 2495 2496 if (addAttempts != null) 2497 { 2498 addMonitorAttribute(attrs, 2499 ATTR_ADD_ATTEMPTS, 2500 INFO_LDAP_EXT_SERVER_DISPNAME_ADD_ATTEMPTS.get(), 2501 INFO_LDAP_EXT_SERVER_DESC_ADD_ATTEMPTS.get(), 2502 addAttempts); 2503 } 2504 2505 if (addFailures != null) 2506 { 2507 addMonitorAttribute(attrs, 2508 ATTR_ADD_FAILURES, 2509 INFO_LDAP_EXT_SERVER_DISPNAME_ADD_FAILURES.get(), 2510 INFO_LDAP_EXT_SERVER_DESC_ADD_FAILURES.get(), 2511 addFailures); 2512 } 2513 2514 if (addSuccesses != null) 2515 { 2516 addMonitorAttribute(attrs, 2517 ATTR_ADD_SUCCESSES, 2518 INFO_LDAP_EXT_SERVER_DISPNAME_ADD_SUCCESSES.get(), 2519 INFO_LDAP_EXT_SERVER_DESC_ADD_SUCCESSES.get(), 2520 addSuccesses); 2521 } 2522 2523 if (bindAttempts != null) 2524 { 2525 addMonitorAttribute(attrs, 2526 ATTR_BIND_ATTEMPTS, 2527 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_ATTEMPTS.get(), 2528 INFO_LDAP_EXT_SERVER_DESC_BIND_ATTEMPTS.get(), 2529 bindAttempts); 2530 } 2531 2532 if (bindFailures != null) 2533 { 2534 addMonitorAttribute(attrs, 2535 ATTR_BIND_FAILURES, 2536 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_FAILURES.get(), 2537 INFO_LDAP_EXT_SERVER_DESC_BIND_FAILURES.get(), 2538 bindFailures); 2539 } 2540 2541 if (bindSuccesses != null) 2542 { 2543 addMonitorAttribute(attrs, 2544 ATTR_BIND_SUCCESSES, 2545 INFO_LDAP_EXT_SERVER_DISPNAME_BIND_SUCCESSES.get(), 2546 INFO_LDAP_EXT_SERVER_DESC_BIND_SUCCESSES.get(), 2547 bindSuccesses); 2548 } 2549 2550 if (compareAttempts != null) 2551 { 2552 addMonitorAttribute(attrs, 2553 ATTR_COMPARE_ATTEMPTS, 2554 INFO_LDAP_EXT_SERVER_DISPNAME_COMPARE_ATTEMPTS.get(), 2555 INFO_LDAP_EXT_SERVER_DESC_COMPARE_ATTEMPTS.get(), 2556 compareAttempts); 2557 } 2558 2559 if (compareFailures != null) 2560 { 2561 addMonitorAttribute(attrs, 2562 ATTR_COMPARE_FAILURES, 2563 INFO_LDAP_EXT_SERVER_DISPNAME_COMPARE_FAILURES.get(), 2564 INFO_LDAP_EXT_SERVER_DESC_COMPARE_FAILURES.get(), 2565 compareFailures); 2566 } 2567 2568 if (compareSuccesses != null) 2569 { 2570 addMonitorAttribute(attrs, 2571 ATTR_COMPARE_SUCCESSES, 2572 INFO_LDAP_EXT_SERVER_DISPNAME_COMPARE_SUCCESSES.get(), 2573 INFO_LDAP_EXT_SERVER_DESC_COMPARE_SUCCESSES.get(), 2574 compareSuccesses); 2575 } 2576 2577 if (deleteAttempts != null) 2578 { 2579 addMonitorAttribute(attrs, 2580 ATTR_DELETE_ATTEMPTS, 2581 INFO_LDAP_EXT_SERVER_DISPNAME_DELETE_ATTEMPTS.get(), 2582 INFO_LDAP_EXT_SERVER_DESC_DELETE_ATTEMPTS.get(), 2583 deleteAttempts); 2584 } 2585 2586 if (deleteFailures != null) 2587 { 2588 addMonitorAttribute(attrs, 2589 ATTR_DELETE_FAILURES, 2590 INFO_LDAP_EXT_SERVER_DISPNAME_DELETE_FAILURES.get(), 2591 INFO_LDAP_EXT_SERVER_DESC_DELETE_FAILURES.get(), 2592 deleteFailures); 2593 } 2594 2595 if (deleteSuccesses != null) 2596 { 2597 addMonitorAttribute(attrs, 2598 ATTR_DELETE_SUCCESSES, 2599 INFO_LDAP_EXT_SERVER_DISPNAME_DELETE_SUCCESSES.get(), 2600 INFO_LDAP_EXT_SERVER_DESC_DELETE_SUCCESSES.get(), 2601 deleteSuccesses); 2602 } 2603 2604 if (modifyAttempts != null) 2605 { 2606 addMonitorAttribute(attrs, 2607 ATTR_MODIFY_ATTEMPTS, 2608 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_ATTEMPTS.get(), 2609 INFO_LDAP_EXT_SERVER_DESC_MODIFY_ATTEMPTS.get(), 2610 modifyAttempts); 2611 } 2612 2613 if (modifyFailures != null) 2614 { 2615 addMonitorAttribute(attrs, 2616 ATTR_MODIFY_FAILURES, 2617 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_FAILURES.get(), 2618 INFO_LDAP_EXT_SERVER_DESC_MODIFY_FAILURES.get(), 2619 modifyFailures); 2620 } 2621 2622 if (modifySuccesses != null) 2623 { 2624 addMonitorAttribute(attrs, 2625 ATTR_MODIFY_SUCCESSES, 2626 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_SUCCESSES.get(), 2627 INFO_LDAP_EXT_SERVER_DESC_MODIFY_SUCCESSES.get(), 2628 modifySuccesses); 2629 } 2630 2631 if (modifyDNAttempts != null) 2632 { 2633 addMonitorAttribute(attrs, 2634 ATTR_MODIFY_DN_ATTEMPTS, 2635 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_DN_ATTEMPTS.get(), 2636 INFO_LDAP_EXT_SERVER_DESC_MODIFY_DN_ATTEMPTS.get(), 2637 modifyDNAttempts); 2638 } 2639 2640 if (modifyDNFailures != null) 2641 { 2642 addMonitorAttribute(attrs, 2643 ATTR_MODIFY_DN_FAILURES, 2644 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_DN_FAILURES.get(), 2645 INFO_LDAP_EXT_SERVER_DESC_MODIFY_DN_FAILURES.get(), 2646 modifyDNFailures); 2647 } 2648 2649 if (modifyDNSuccesses != null) 2650 { 2651 addMonitorAttribute(attrs, 2652 ATTR_MODIFY_DN_SUCCESSES, 2653 INFO_LDAP_EXT_SERVER_DISPNAME_MODIFY_DN_SUCCESSES.get(), 2654 INFO_LDAP_EXT_SERVER_DESC_MODIFY_DN_SUCCESSES.get(), 2655 modifyDNSuccesses); 2656 } 2657 2658 if (searchAttempts != null) 2659 { 2660 addMonitorAttribute(attrs, 2661 ATTR_SEARCH_ATTEMPTS, 2662 INFO_LDAP_EXT_SERVER_DISPNAME_SEARCH_ATTEMPTS.get(), 2663 INFO_LDAP_EXT_SERVER_DESC_SEARCH_ATTEMPTS.get(), 2664 searchAttempts); 2665 } 2666 2667 if (searchFailures != null) 2668 { 2669 addMonitorAttribute(attrs, 2670 ATTR_SEARCH_FAILURES, 2671 INFO_LDAP_EXT_SERVER_DISPNAME_SEARCH_FAILURES.get(), 2672 INFO_LDAP_EXT_SERVER_DESC_SEARCH_FAILURES.get(), 2673 searchFailures); 2674 } 2675 2676 if (searchSuccesses != null) 2677 { 2678 addMonitorAttribute(attrs, 2679 ATTR_SEARCH_SUCCESSES, 2680 INFO_LDAP_EXT_SERVER_DISPNAME_SEARCH_SUCCESSES.get(), 2681 INFO_LDAP_EXT_SERVER_DESC_SEARCH_SUCCESSES.get(), 2682 searchSuccesses); 2683 } 2684 2685 return Collections.unmodifiableMap(attrs); 2686 } 2687}