001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions Copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2006-2008 Sun Microsystems, Inc. 015 * Portions Copyright 2014 ForgeRock AS. 016 */ 017package org.opends.server.protocols.ldap; 018import org.forgerock.i18n.LocalizableMessage; 019 020 021 022import static org.opends.messages.CoreMessages.*; 023/** 024 * This class defines a set of constants that correspond to the result codes 025 * defined in the LDAP protocol. Note that many (but not all) of the result 026 * codes numbered 81 and higher come from the LDAP C API specification and are 027 * only intended for client-side use and should not be returned from the 028 * Directory Server. These are denoted with a "CLIENT_SIDE_" prefix. 029 */ 030public class LDAPResultCode 031{ 032 /** 033 * The LDAP result code for successful operations. 034 */ 035 public static final int SUCCESS = 0; 036 037 038 039 /** 040 * The LDAP result code for operations that fail due to an operations error. 041 */ 042 public static final int OPERATIONS_ERROR = 1; 043 044 045 046 /** 047 * The LDAP result code for operations that fail due to a protocol error. 048 */ 049 public static final int PROTOCOL_ERROR = 2; 050 051 052 053 /** 054 * The LDAP result code for operations that fail as a result of exceeding a 055 * time limit. 056 */ 057 public static final int TIME_LIMIT_EXCEEDED = 3; 058 059 060 061 /** 062 * The LDAP result code for operations that fail as a result of exceeding a 063 * size limit. 064 */ 065 public static final int SIZE_LIMIT_EXCEEDED = 4; 066 067 068 069 /** 070 * The LDAP result code for compare operations in which the assertion is 071 * false. 072 */ 073 public static final int COMPARE_FALSE = 5; 074 075 076 077 /** 078 * The LDAP result code for compare operations in which the assertion is true. 079 */ 080 public static final int COMPARE_TRUE = 6; 081 082 083 084 /** 085 * The LDAP result code for operations that fail because the requested 086 * authentication method is not supported. 087 */ 088 public static final int AUTH_METHOD_NOT_SUPPORTED = 7; 089 090 091 092 /** 093 * The LDAP result code for operations that fail because strong authentication 094 * is required. 095 */ 096 public static final int STRONG_AUTH_REQUIRED = 8; 097 098 099 100 /** 101 * The LDAP result code for operations that encountered a referral. 102 */ 103 public static final int REFERRAL = 10; 104 105 106 107 /** 108 * The LDAP result code for operations that fail as a result of exceeding an 109 * administrative limit. 110 */ 111 public static final int ADMIN_LIMIT_EXCEEDED = 11; 112 113 114 115 /** 116 * The LDAP result code for operations that fail because they contain an 117 * unavailable critical extension. 118 */ 119 public static final int UNAVAILABLE_CRITICAL_EXTENSION = 12; 120 121 122 123 /** 124 * The LDAP result code for operations that fail because confidentiality is 125 * required. 126 */ 127 public static final int CONFIDENTIALITY_REQUIRED = 13; 128 129 130 131 /** 132 * The LDAP result code used for multi-stage SASL bind operations that are not 133 * yet complete. 134 */ 135 public static final int SASL_BIND_IN_PROGRESS = 14; 136 137 138 139 /** 140 * The LDAP result code for operations that fail because a specified attribute 141 * does not exist. 142 */ 143 public static final int NO_SUCH_ATTRIBUTE = 16; 144 145 146 147 /** 148 * The LDAP result code for operations that fail because a specified attribute 149 * type is not defined in the server schema. 150 */ 151 public static final int UNDEFINED_ATTRIBUTE_TYPE = 17; 152 153 154 155 /** 156 * The LDAP result code for operations that fail as a result of attempting an 157 * inappropriate form of matching on an attribute. 158 */ 159 public static final int INAPPROPRIATE_MATCHING = 18; 160 161 162 163 /** 164 * The LDAP result code for operations that fail because a defined constraint 165 * has been violated. 166 */ 167 public static final int CONSTRAINT_VIOLATION = 19; 168 169 170 171 /** 172 * The LDAP result code for operations that fail because of a conflict with an 173 * existing attribute or value. 174 */ 175 public static final int ATTRIBUTE_OR_VALUE_EXISTS = 20; 176 177 178 179 /** 180 * The LDAP result code for operations that fail because of an invalid 181 * attribute syntax. 182 */ 183 public static final int INVALID_ATTRIBUTE_SYNTAX = 21; 184 185 186 187 /** 188 * The LDAP result code for operations that fail because a targeted entry does 189 * not exist. 190 */ 191 public static final int NO_SUCH_OBJECT = 32; 192 193 194 195 /** 196 * The LDAP result code for operations that fail because the an alias was 197 * encountered in an illegal context. 198 */ 199 public static final int ALIAS_PROBLEM = 33; 200 201 202 203 /** 204 * The LDAP result code for operations that fail because the request included 205 * a malformed DN. 206 */ 207 public static final int INVALID_DN_SYNTAX = 34; 208 209 210 211 /** 212 * The LDAP result code for operations that fail because a problem occurred 213 * while attempting to dereference an alias. 214 */ 215 public static final int ALIAS_DEREFERENCING_PROBLEM = 36; 216 217 218 219 /** 220 * The LDAP result code for operations that fail because the user attempted to 221 * perform a type of authentication that was inappropriate for the targeted 222 * entry. 223 */ 224 public static final int INAPPROPRIATE_AUTHENTICATION = 48; 225 226 227 228 /** 229 * The LDAP result code for operations that fail because the user supplied 230 * invalid credentials for an authentication attempt. 231 */ 232 public static final int INVALID_CREDENTIALS = 49; 233 234 235 236 /** 237 * The LDAP result code for operations that fail because the client does not 238 * have permission to perform the requested operation. 239 */ 240 public static final int INSUFFICIENT_ACCESS_RIGHTS = 50; 241 242 243 244 /** 245 * The LDAP result code for operations that fail because the server was too 246 * busy to process it. 247 */ 248 public static final int BUSY = 51; 249 250 251 252 /** 253 * The LDAP result code for operations that fail because the server or a 254 * required resource was unavailable. 255 */ 256 public static final int UNAVAILABLE = 52; 257 258 259 260 /** 261 * The LDAP result code for operations that fail because the server was 262 * unwilling to perform the requested operation. 263 */ 264 public static final int UNWILLING_TO_PERFORM = 53; 265 266 267 268 /** 269 * The LDAP result code for operations that fail because a referral or 270 * chaining loop was detected. 271 */ 272 public static final int LOOP_DETECT = 54; 273 274 275 276 /** 277 * The LDAP result code for operations that fail because the request included 278 * a VLV request control without a server-side sort control. 279 */ 280 public static final int SORT_CONTROL_MISSING = 60; 281 282 283 284 /** 285 * The LDAP result code for operations that fail because the request included 286 * a VLV request control with an invalid offset. 287 */ 288 public static final int OFFSET_RANGE_ERROR = 61; 289 290 291 292 /** 293 * The LDAP result code for operations that fail due to a naming violation. 294 */ 295 public static final int NAMING_VIOLATION = 64; 296 297 298 299 /** 300 * The LDAP result code for operations that fail because the requested 301 * operation would have resulted in an entry that violates the server schema. 302 */ 303 public static final int OBJECTCLASS_VIOLATION = 65; 304 305 306 307 /** 308 * The LDAP result code for operations that fail because the requested 309 * operation is not allowed on non-leaf entries. 310 */ 311 public static final int NOT_ALLOWED_ON_NONLEAF = 66; 312 313 314 315 /** 316 * The LDAP result code for operations that fail because the requested 317 * operation is not allowed on an RDN attribute. 318 */ 319 public static final int NOT_ALLOWED_ON_RDN = 67; 320 321 322 323 /** 324 * The LDAP result code for operations that fail because the requested 325 * operation would have resulted in an entry that conflicts with one that 326 * already exists. 327 */ 328 public static final int ENTRY_ALREADY_EXISTS = 68; 329 330 331 332 /** 333 * The LDAP result code for operations that fail because the requested 334 * operation attempted to modify objectclass values in an illegal manner. 335 */ 336 public static final int OBJECTCLASS_MODS_PROHIBITED = 69; 337 338 339 340 /** 341 * The LDAP result code for operations that fail because the requested 342 * operation would have required interaction with multiple DSAs. 343 */ 344 public static final int AFFECTS_MULTIPLE_DSAS = 71; 345 346 347 348 /** 349 * The LDAP result code for operations that fail due to an error in 350 * virtual list view processing. 351 */ 352 public static final int VIRTUAL_LIST_VIEW_ERROR = 76; 353 354 355 356 /** 357 * The LDAP result code for use in cases in which none of the other defined 358 * result codes are appropriate. 359 */ 360 public static final int OTHER = 80; 361 362 363 364 /** 365 * The client-side result code that indicates that a previously-established 366 * connection to the server was lost. This is for client-side use only and 367 * should never be transferred over protocol. 368 */ 369 public static final int CLIENT_SIDE_SERVER_DOWN = 81; 370 371 372 373 /** 374 * The client-side result code that indicates that a local error occurred that 375 * had nothing to do with interaction with the server. This is for 376 * client-side use only and should never be transferred over protocol. 377 */ 378 public static final int CLIENT_SIDE_LOCAL_ERROR = 82; 379 380 381 382 /** 383 * The client-side result code that indicates that an error occurred while 384 * encoding a request to send to the server. This is for client-side use only 385 * and should never be transferred over protocol. 386 */ 387 public static final int CLIENT_SIDE_ENCODING_ERROR = 83; 388 389 390 391 /** 392 * The client-side result code that indicates that an error occurred while 393 * decoding a response from the server. This is for client-side use only and 394 * should never be transferred over protocol. 395 */ 396 public static final int CLIENT_SIDE_DECODING_ERROR = 84; 397 398 399 400 /** 401 * The client-side result code that indicates that the client did not receive 402 * an expected response in a timely manner. This is for client-side use only 403 * and should never be transferred over protocol. 404 */ 405 public static final int CLIENT_SIDE_TIMEOUT = 85; 406 407 408 409 /** 410 * The client-side result code that indicates that the user requested an 411 * unknown or unsupported authentication mechanism. This is for client-side 412 * use only and should never be transferred over protocol. 413 */ 414 public static final int CLIENT_SIDE_AUTH_UNKNOWN = 86; 415 416 417 418 /** 419 * The client-side result code that indicates that the filter provided by the 420 * user was malformed and could not be parsed. This is for client-side use 421 * only and should never be transferred over protocol. 422 */ 423 public static final int CLIENT_SIDE_FILTER_ERROR = 87; 424 425 426 427 /** 428 * The client-side result code that indicates that the user cancelled an 429 * operation. This is for client-side use only and should never be 430 * transferred over protocol. 431 */ 432 public static final int CLIENT_SIDE_USER_CANCELLED = 88; 433 434 435 436 /** 437 * The client-side result code that indicates that there was a problem with 438 * one or more of the parameters provided by the user. This is for 439 * client-side use only and should never be transferred over protocol. 440 */ 441 public static final int CLIENT_SIDE_PARAM_ERROR = 89; 442 443 444 445 /** 446 * The client-side result code that indicates that the client application was 447 * not able to allocate enough memory for the requested operation. This is 448 * for client-side use only and should never be transferred over protocol. 449 */ 450 public static final int CLIENT_SIDE_NO_MEMORY = 90; 451 452 453 454 /** 455 * The client-side result code that indicates that the client was not able to 456 * establish a connection to the server. This is for client-side use only and 457 * should never be transferred over protocol. 458 */ 459 public static final int CLIENT_SIDE_CONNECT_ERROR = 91; 460 461 462 463 /** 464 * The client-side result code that indicates that the user requested an 465 * operation that is not supported. This is for client-side use only and 466 * should never be transferred over protocol. 467 */ 468 public static final int CLIENT_SIDE_NOT_SUPPORTED = 92; 469 470 471 472 /** 473 * The client-side result code that indicates that the client expected a 474 * control to be present in the response from the server but it was not 475 * included. This is for client-side use only and should never be transferred 476 * over protocol. 477 */ 478 public static final int CLIENT_SIDE_CONTROL_NOT_FOUND = 93; 479 480 481 482 /** 483 * The client-side result code that indicates that the server did not return 484 * any results for a search operation that was expected to match at least one 485 * entry. This is for client-side use only and should never be transferred 486 * over protocol. 487 */ 488 public static final int CLIENT_SIDE_NO_RESULTS_RETURNED = 94; 489 490 491 492 /** 493 * The client-side result code that indicates that the server has returned 494 * more matching entries for a search operation than have been processed so 495 * far. This is for client-side use only and should never be transferred over 496 * protocol. 497 */ 498 public static final int CLIENT_SIDE_MORE_RESULTS_TO_RETURN = 95; 499 500 501 502 /** 503 * The client-side result code that indicates that the client detected a 504 * referral loop caused by servers referencing each other in a circular 505 * manner. This is for client-side use only and should never be transferred 506 * over protocol. 507 */ 508 public static final int CLIENT_SIDE_CLIENT_LOOP = 96; 509 510 511 512 /** 513 * The client-side result code that indicates that the client reached the 514 * maximum number of hops allowed when attempting to follow a referral (i.e., 515 * following one referral resulted in another referral which resulted in 516 * another referral and so on). This is for client-side use only and should 517 * never be transferred over protocol. 518 */ 519 public static final int CLIENT_SIDE_REFERRAL_LIMIT_EXCEEDED = 97; 520 521 522 523 /** 524 * The LDAP result code for cancel operations that are successful, or for 525 * operations that are canceled. 526 */ 527 public static final int CANCELED = 118; 528 529 530 531 /** 532 * The LDAP result code for cancel operations that fail because the specified 533 * operation could not be found. 534 */ 535 public static final int NO_SUCH_OPERATION = 119; 536 537 538 539 /** 540 * The LDAP result code for cancel operations that fail because the specified 541 * operation has already progressed too far to be canceled. 542 */ 543 public static final int TOO_LATE = 120; 544 545 546 547 /** 548 * The LDAP result code for cancel operations that fail because the specified 549 * operation cannot be canceled. 550 */ 551 public static final int CANNOT_CANCEL = 121; 552 553 554 555 /** 556 * The LDAP result code for operations that are rejected because the 557 * filter in the LDAP assertion control did not match the target entry. 558 */ 559 public static final int ASSERTION_FAILED = 122; 560 561 562 563 /** 564 * The LDAP result code for operations that fail because the server refused 565 * the client's requested authorization. 566 */ 567 public static final int AUTHORIZATION_DENIED = 123; 568 569 570 571 /** 572 * The LDAP result code for operations in which no action is taken because the 573 * request include the LDAP no-op control. 574 * 575 * FIXME -- This is a temporary result code for use until 576 * draft-zeilenga-ldap-noop is updated and an official result code is 577 * allocated for it. In the meantime, this result appears to be the 578 * one used by OpenLDAP as per the message at 579 * http://www.openldap.org/lists/openldap-devel/200601/msg00143.html 580 * (0x410e = 16654). 581 */ 582 public static final int NO_OPERATION = 16654; 583 584 585 586 /** 587 * Retrieves a string representation of the provided LDAP result code. 588 * 589 * @param resultCode The LDAP result code value for which to obtain the 590 * string representation. 591 * 592 * @return The string representation of the provided LDAP result code. 593 */ 594 public static String toString(int resultCode) 595 { 596 LocalizableMessage message; 597 598 switch (resultCode) 599 { 600 case SUCCESS: 601 message = INFO_RESULT_SUCCESS.get(); 602 break; 603 case OPERATIONS_ERROR: 604 message = INFO_RESULT_OPERATIONS_ERROR.get(); 605 break; 606 case PROTOCOL_ERROR: 607 message = INFO_RESULT_PROTOCOL_ERROR.get(); 608 break; 609 case TIME_LIMIT_EXCEEDED: 610 message = INFO_RESULT_TIME_LIMIT_EXCEEDED.get(); 611 break; 612 case SIZE_LIMIT_EXCEEDED: 613 message = INFO_RESULT_SIZE_LIMIT_EXCEEDED.get(); 614 break; 615 case COMPARE_FALSE: 616 message = INFO_RESULT_COMPARE_FALSE.get(); 617 break; 618 case COMPARE_TRUE: 619 message = INFO_RESULT_COMPARE_TRUE.get(); 620 break; 621 case AUTH_METHOD_NOT_SUPPORTED: 622 message = INFO_RESULT_AUTH_METHOD_NOT_SUPPORTED.get(); 623 break; 624 case STRONG_AUTH_REQUIRED: 625 message = INFO_RESULT_STRONG_AUTH_REQUIRED.get(); 626 break; 627 case REFERRAL: 628 message = INFO_RESULT_REFERRAL.get(); 629 break; 630 case ADMIN_LIMIT_EXCEEDED: 631 message = INFO_RESULT_ADMIN_LIMIT_EXCEEDED.get(); 632 break; 633 case UNAVAILABLE_CRITICAL_EXTENSION: 634 message = INFO_RESULT_UNAVAILABLE_CRITICAL_EXTENSION.get(); 635 break; 636 case CONFIDENTIALITY_REQUIRED: 637 message = INFO_RESULT_CONFIDENTIALITY_REQUIRED.get(); 638 break; 639 case SASL_BIND_IN_PROGRESS: 640 message = INFO_RESULT_SASL_BIND_IN_PROGRESS.get(); 641 break; 642 case NO_SUCH_ATTRIBUTE: 643 message = INFO_RESULT_NO_SUCH_ATTRIBUTE.get(); 644 break; 645 case UNDEFINED_ATTRIBUTE_TYPE: 646 message = INFO_RESULT_UNDEFINED_ATTRIBUTE_TYPE.get(); 647 break; 648 case INAPPROPRIATE_MATCHING: 649 message = INFO_RESULT_INAPPROPRIATE_MATCHING.get(); 650 break; 651 case CONSTRAINT_VIOLATION: 652 message = INFO_RESULT_CONSTRAINT_VIOLATION.get(); 653 break; 654 case ATTRIBUTE_OR_VALUE_EXISTS: 655 message = INFO_RESULT_ATTRIBUTE_OR_VALUE_EXISTS.get(); 656 break; 657 case INVALID_ATTRIBUTE_SYNTAX: 658 message = INFO_RESULT_INVALID_ATTRIBUTE_SYNTAX.get(); 659 break; 660 case NO_SUCH_OBJECT: 661 message = INFO_RESULT_NO_SUCH_OBJECT.get(); 662 break; 663 case ALIAS_PROBLEM: 664 message = INFO_RESULT_ALIAS_PROBLEM.get(); 665 break; 666 case INVALID_DN_SYNTAX: 667 message = INFO_RESULT_INVALID_DN_SYNTAX.get(); 668 break; 669 case ALIAS_DEREFERENCING_PROBLEM: 670 message = INFO_RESULT_ALIAS_DEREFERENCING_PROBLEM.get(); 671 break; 672 case INAPPROPRIATE_AUTHENTICATION: 673 message = INFO_RESULT_INAPPROPRIATE_AUTHENTICATION.get(); 674 break; 675 case INVALID_CREDENTIALS: 676 message = INFO_RESULT_INVALID_CREDENTIALS.get(); 677 break; 678 case INSUFFICIENT_ACCESS_RIGHTS: 679 message = INFO_RESULT_INSUFFICIENT_ACCESS_RIGHTS.get(); 680 break; 681 case BUSY: 682 message = INFO_RESULT_BUSY.get(); 683 break; 684 case UNAVAILABLE: 685 message = INFO_RESULT_UNAVAILABLE.get(); 686 break; 687 case UNWILLING_TO_PERFORM: 688 message = INFO_RESULT_UNWILLING_TO_PERFORM.get(); 689 break; 690 case LOOP_DETECT: 691 message = INFO_RESULT_LOOP_DETECT.get(); 692 break; 693 case SORT_CONTROL_MISSING: 694 message = INFO_RESULT_SORT_CONTROL_MISSING.get(); 695 break; 696 case OFFSET_RANGE_ERROR: 697 message = INFO_RESULT_OFFSET_RANGE_ERROR.get(); 698 break; 699 case NAMING_VIOLATION: 700 message = INFO_RESULT_NAMING_VIOLATION.get(); 701 break; 702 case OBJECTCLASS_VIOLATION: 703 message = INFO_RESULT_OBJECTCLASS_VIOLATION.get(); 704 break; 705 case NOT_ALLOWED_ON_NONLEAF: 706 message = INFO_RESULT_NOT_ALLOWED_ON_NONLEAF.get(); 707 break; 708 case NOT_ALLOWED_ON_RDN: 709 message = INFO_RESULT_NOT_ALLOWED_ON_RDN.get(); 710 break; 711 case ENTRY_ALREADY_EXISTS: 712 message = INFO_RESULT_ENTRY_ALREADY_EXISTS.get(); 713 break; 714 case OBJECTCLASS_MODS_PROHIBITED: 715 message = INFO_RESULT_OBJECTCLASS_MODS_PROHIBITED.get(); 716 break; 717 case AFFECTS_MULTIPLE_DSAS: 718 message = INFO_RESULT_AFFECTS_MULTIPLE_DSAS.get(); 719 break; 720 case VIRTUAL_LIST_VIEW_ERROR: 721 message = INFO_RESULT_VIRTUAL_LIST_VIEW_ERROR.get(); 722 break; 723 case CLIENT_SIDE_SERVER_DOWN: 724 message = INFO_RESULT_CLIENT_SIDE_SERVER_DOWN.get(); 725 break; 726 case CLIENT_SIDE_LOCAL_ERROR: 727 message = INFO_RESULT_CLIENT_SIDE_LOCAL_ERROR.get(); 728 break; 729 case CLIENT_SIDE_ENCODING_ERROR: 730 message = INFO_RESULT_CLIENT_SIDE_ENCODING_ERROR.get(); 731 break; 732 case CLIENT_SIDE_DECODING_ERROR: 733 message = INFO_RESULT_CLIENT_SIDE_DECODING_ERROR.get(); 734 break; 735 case CLIENT_SIDE_TIMEOUT: 736 message = INFO_RESULT_CLIENT_SIDE_TIMEOUT.get(); 737 break; 738 case CLIENT_SIDE_AUTH_UNKNOWN: 739 message = INFO_RESULT_CLIENT_SIDE_AUTH_UNKNOWN.get(); 740 break; 741 case CLIENT_SIDE_FILTER_ERROR: 742 message = INFO_RESULT_CLIENT_SIDE_FILTER_ERROR.get(); 743 break; 744 case CLIENT_SIDE_USER_CANCELLED: 745 message = INFO_RESULT_CLIENT_SIDE_USER_CANCELLED.get(); 746 break; 747 case CLIENT_SIDE_PARAM_ERROR: 748 message = INFO_RESULT_CLIENT_SIDE_PARAM_ERROR.get(); 749 break; 750 case CLIENT_SIDE_NO_MEMORY: 751 message = INFO_RESULT_CLIENT_SIDE_NO_MEMORY.get(); 752 break; 753 case CLIENT_SIDE_CONNECT_ERROR: 754 message = INFO_RESULT_CLIENT_SIDE_CONNECT_ERROR.get(); 755 break; 756 case CLIENT_SIDE_NOT_SUPPORTED: 757 message = INFO_RESULT_CLIENT_SIDE_NOT_SUPPORTED.get(); 758 break; 759 case CLIENT_SIDE_CONTROL_NOT_FOUND: 760 message = INFO_RESULT_CLIENT_SIDE_CONTROL_NOT_FOUND.get(); 761 break; 762 case CLIENT_SIDE_NO_RESULTS_RETURNED: 763 message = INFO_RESULT_CLIENT_SIDE_NO_RESULTS_RETURNED.get(); 764 break; 765 case CLIENT_SIDE_MORE_RESULTS_TO_RETURN: 766 message = INFO_RESULT_CLIENT_SIDE_MORE_RESULTS_TO_RETURN.get(); 767 break; 768 case CLIENT_SIDE_CLIENT_LOOP: 769 message = INFO_RESULT_CLIENT_SIDE_CLIENT_LOOP.get(); 770 break; 771 case CLIENT_SIDE_REFERRAL_LIMIT_EXCEEDED: 772 message = INFO_RESULT_CLIENT_SIDE_REFERRAL_LIMIT_EXCEEDED.get(); 773 break; 774 case CANCELED: 775 message = INFO_RESULT_CANCELED.get(); 776 break; 777 case NO_SUCH_OPERATION: 778 message = INFO_RESULT_NO_SUCH_OPERATION.get(); 779 break; 780 case TOO_LATE: 781 message = INFO_RESULT_TOO_LATE.get(); 782 break; 783 case CANNOT_CANCEL: 784 message = INFO_RESULT_CANNOT_CANCEL.get(); 785 break; 786 case ASSERTION_FAILED: 787 message = INFO_RESULT_ASSERTION_FAILED.get(); 788 break; 789 case AUTHORIZATION_DENIED: 790 message = INFO_RESULT_AUTHORIZATION_DENIED.get(); 791 break; 792 case NO_OPERATION: 793 message = INFO_RESULT_NO_OPERATION.get(); 794 break; 795 default: 796 message = INFO_RESULT_OTHER.get(); 797 break; 798 } 799 800 return message.toString(); 801 } 802} 803