001: /**
002: * Sequoia: Database clustering technology.
003: * Copyright (C) 2002-2004 French National Institute For Research In Computer
004: * Science And Control (INRIA).
005: * Copyright (C) 2005 AmicoSoft, Inc. dba Emic Networks
006: * Contact: sequoia@continuent.org
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: * Initial developer(s): Nicolas Modrzyk.
021: * Contributor(s): Emmanuel Cecchet.
022: */package org.continuent.sequoia.common.jmx.management;
023:
024: import org.continuent.sequoia.common.i18n.Translate;
025:
026: /**
027: * This describes the different backend states
028: *
029: * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk </a>
030: * @author <a href="mailto:emmanuel.cecchet@emicnetworks.com">Emmanuel Cecchet
031: * </a>
032: * @version 1.0
033: */
034: public final class BackendState {
035: /**
036: * The backend can execute read requests, but not write requests
037: */
038: public static final int READ_ENABLED_WRITE_DISABLED = 0;
039:
040: /**
041: * The backend can execute read and write requests
042: */
043: public static final int READ_ENABLED_WRITE_ENABLED = 1;
044:
045: /**
046: * The backend can execute write requests but not read requests
047: */
048: public static final int READ_DISABLED_WRITE_ENABLED = 2;
049:
050: /**
051: * The backend cannot execute any requests
052: */
053: public static final int DISABLED = 3;
054:
055: /**
056: * The backend is loading data from a dump file
057: */
058: public static final int RESTORING = 4;
059:
060: /**
061: * The backend is set for disabled. It is finishing to execute open
062: * transactions and waits for persistent connections to close
063: */
064: public static final int DISABLING = 5;
065:
066: /**
067: * The backend is in a restore process. The content of a backup file is being
068: * copied onto the backen
069: */
070: public static final int BACKUPING = 6;
071:
072: /**
073: * Unknown backend state. This is used when the state of the backend cannot be
074: * determined properly. This is the state the backend is set to after a
075: * backup, restore or recovery failure.
076: */
077: public static final int UNKNOWN = -1;
078:
079: /**
080: * Replaying request from the recovery log
081: */
082: public static final int REPLAYING = 7;
083:
084: /**
085: * Return a description which can be displayed to the user corresponding to
086: * one of the backend states.
087: *
088: * @param state a int representing a backend state
089: * @return a String representing the state of the backend which can be
090: * displayed to the user
091: */
092: public static String description(int state) {
093: switch (state) {
094: case READ_ENABLED_WRITE_DISABLED:
095: return Translate
096: .get("BackendState.readEnabledWriteDisabled"); //$NON-NLS-1$
097: case READ_ENABLED_WRITE_ENABLED:
098: return Translate
099: .get("BackendState.readEnabledWriteEnabled"); //$NON-NLS-1$
100: case READ_DISABLED_WRITE_ENABLED:
101: return Translate
102: .get("BackendState.readDisabledWriteEnabled"); //$NON-NLS-1$
103: case DISABLED:
104: return Translate.get("BackendState.disabled"); //$NON-NLS-1$
105: case RESTORING:
106: return Translate.get("BackendState.restoring"); //$NON-NLS-1$
107: case DISABLING:
108: return Translate.get("BackendState.disabling"); //$NON-NLS-1$
109: case BACKUPING:
110: return Translate.get("BackendState.backingUp"); //$NON-NLS-1$
111: case REPLAYING:
112: return Translate.get("BackendState.replaying"); //$NON-NLS-1$
113: case UNKNOWN:
114: default:
115: return Translate.get("BackendState.unknown"); //$NON-NLS-1$
116: }
117: }
118: }
|