
com.sun.messaging.jmq.admin.apps.broker.BrokerCmdOptionParser Maven / Gradle / Ivy
The newest version!
/*
* Copyright (c) 2000, 2017 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2021 Contributors to Eclipse Foundation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package com.sun.messaging.jmq.admin.apps.broker;
import com.sun.messaging.jmq.util.options.OptionDesc;
import com.sun.messaging.jmq.util.options.OptionParser;
import com.sun.messaging.jmq.util.options.OptionException;
/**
* This class is a command line option parser that is specific to jmqcmd.
*
* The options that are valid for jmqcmd are defined in the options table. This class also defines a parseArgs() method,
* which is different from OptionParser.parseArgs() because it:
*
* - returns a ObjMgrProperties object
*
- only takes the String args[] as parameter
*
*
* @see com.sun.messaging.jmq.util.options.OptionType
* @see com.sun.messaging.jmq.util.options.OptionDesc
* @see com.sun.messaging.jmq.util.options.OptionParser
*/
public class BrokerCmdOptionParser extends OptionParser implements BrokerCmdOptions {
/**
* Options for the jmqobjmgr utility
*/
static OptionDesc brokerCmdOptions[] = {
/*
*
* OptionDesc(String option, int type, String baseProp, String value)
*/
new OptionDesc(CMD_LIST, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_LIST),
new OptionDesc(CMD_PAUSE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_PAUSE),
new OptionDesc(CMD_RESUME, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_RESUME),
new OptionDesc(CMD_SHUTDOWN, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_SHUTDOWN),
new OptionDesc(CMD_RESTART, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_RESTART),
new OptionDesc(CMD_CREATE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_CREATE),
new OptionDesc(CMD_DESTROY, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_DESTROY),
new OptionDesc(CMD_PURGE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_PURGE),
new OptionDesc(CMD_UPDATE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_UPDATE),
new OptionDesc(CMD_QUERY, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_QUERY),
new OptionDesc(CMD_METRICS, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_METRICS),
new OptionDesc(CMD_RELOAD, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_RELOAD),
new OptionDesc(CMD_CHANGEMASTER, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_CHANGEMASTER),
new OptionDesc(CMD_COMMIT, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_COMMIT),
new OptionDesc(CMD_ROLLBACK, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_ROLLBACK),
new OptionDesc(CMD_COMPACT, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_COMPACT),
new OptionDesc(CMD_QUIESCE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_QUIESCE),
new OptionDesc(CMD_TAKEOVER, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_TAKEOVER),
new OptionDesc(CMD_MIGRATESTORE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_MIGRATESTORE),
new OptionDesc(CMD_UNQUIESCE, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_UNQUIESCE),
new OptionDesc(CMD_EXISTS, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_EXISTS),
new OptionDesc(CMD_GETATTR, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_GETATTR),
new OptionDesc(CMD_UNGRACEFUL_KILL, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_UNGRACEFUL_KILL),
new OptionDesc(CMD_PURGEALL, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_PURGEALL),
new OptionDesc(CMD_DESTROYALL, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_DESTROYALL),
new OptionDesc(CMD_RESET, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_RESET),
new OptionDesc(CMD_CHECKPOINT, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_CHECKPOINT),
new OptionDesc(OPTION_DEST_TYPE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_DEST_TYPE, null),
new OptionDesc(OPTION_TARGET_NAME, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_TARGET_NAME, null),
new OptionDesc(OPTION_DEST_NAME, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_DEST_NAME, null),
new OptionDesc(OPTION_METRIC_INTERVAL, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_METRIC_INTERVAL, null),
new OptionDesc(OPTION_METRIC_TYPE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_METRIC_TYPE, null),
/*
* Not used new OptionDesc(OPTION_SVC_NAME, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_SVC_NAME, null),
*/
new OptionDesc(OPTION_CLIENT_ID, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_CLIENT_ID, null),
new OptionDesc(OPTION_BROKER_HOSTPORT, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_BROKER_HOSTPORT, null),
new OptionDesc(OPTION_ADMIN_USERID, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_ADMIN_USERID, null),
new OptionDesc(OPTION_ADMIN_PRIVATE_PASSWD, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_ADMIN_PASSWD, null),
new OptionDesc(OPTION_ADMIN_PASSFILE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_ADMIN_PASSFILE, null),
new OptionDesc(OPTION_TARGET_ATTRS, OPTION_VALUE_NEXT_ARG_RES, PROP_NAME_OPTION_TARGET_ATTRS, null),
new OptionDesc(OPTION_SYS_PROPS, OPTION_VALUE_SUFFIX_RES, PROP_NAME_OPTION_SYS_PROPS, null),
new OptionDesc(OPTION_SINGLE_TARGET_ATTR, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_SINGLE_TARGET_ATTR, null),
/*
* Not used new OptionDesc(OPTION_INPUTFILE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_INPUTFILE, null),
*/
new OptionDesc(OPTION_FORCE, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_FORCE, PROP_VALUE_OPTION_FORCE),
new OptionDesc(OPTION_SILENTMODE, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_SILENTMODE, PROP_VALUE_OPTION_SILENTMODE),
new OptionDesc(OPTION_TEMP_DEST, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_TEMP_DEST, PROP_VALUE_OPTION_TEMP_DEST),
new OptionDesc(OPTION_NOCHECK, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_NOCHECK, PROP_VALUE_OPTION_NOCHECK),
new OptionDesc(OPTION_DETAIL, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_DETAIL, PROP_VALUE_OPTION_DETAIL),
new OptionDesc(OPTION_DEBUG, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_DEBUG, PROP_VALUE_OPTION_DEBUG),
new OptionDesc(OPTION_ADMIN_DEBUG, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_ADMIN_DEBUG, PROP_VALUE_OPTION_ADMIN_DEBUG),
new OptionDesc(CMD_DUMP, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_DUMP),
new OptionDesc(CMD_SEND, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_SEND),
new OptionDesc(CMD_KILL, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_KILL),
new OptionDesc(CMD_DEBUG, OPTION_VALUE_NEXT_ARG, PROP_NAME_CMDARG, null, PROP_NAMEVALUE_CMD_DEBUG),
new OptionDesc(OPTION_RECV_TIMEOUT, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_RECV_TIMEOUT, null),
new OptionDesc(OPTION_NUM_RETRIES, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_NUM_RETRIES, null),
new OptionDesc(OPTION_SSL, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_SSL, PROP_VALUE_OPTION_SSL),
new OptionDesc(OPTION_METRIC_SAMPLES, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_METRIC_SAMPLES, null),
new OptionDesc(OPTION_SERVICE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_SERVICE, null),
new OptionDesc(OPTION_PAUSE_TYPE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_PAUSE_TYPE, null),
new OptionDesc(OPTION_NO_FAILOVER, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_NO_FAILOVER, PROP_VALUE_OPTION_NO_FAILOVER),
new OptionDesc(OPTION_TIME, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_TIME, null),
new OptionDesc(OPTION_RESET_TYPE, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_RESET_TYPE, null),
new OptionDesc(OPTION_START_MSG_INDEX, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_START_MSG_INDEX, null),
new OptionDesc(OPTION_MAX_NUM_MSGS_RET, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_MAX_NUM_MSGS_RET, null),
new OptionDesc(OPTION_MSG_ID, OPTION_VALUE_NEXT_ARG, PROP_NAME_OPTION_MSG_ID, null),
/*
* These are options that are parsed by the startup script. They are parsed by the option parsing logic, but are not
* used to create the options property object.
*/
new OptionDesc("-javahome", OPTION_VALUE_NEXT_ARG, "", "", true), new OptionDesc("-jmqhome", OPTION_VALUE_NEXT_ARG, "", "", true),
new OptionDesc("-jmqvarhome", OPTION_VALUE_NEXT_ARG, "", "", true), new OptionDesc("-varhome", OPTION_VALUE_NEXT_ARG, "", "", true),
new OptionDesc("-jmqext", OPTION_VALUE_NEXT_ARG, "", "", true), new OptionDesc("-vmargs", OPTION_VALUE_NEXT_ARG, "", "", true),
new OptionDesc("-verbose", OPTION_VALUE_HARDCODED, "", "", true),
/*
* This is to support the private "-adminkey" option It is used to support authentication when shutting down the broker
* from NT services.
*/
new OptionDesc(OPTION_ADMINKEY, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_ADMINKEY, PROP_VALUE_OPTION_ADMINKEY),
new OptionDesc(OPTION_SHOW_PARTITION, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_SHOW_PARTITION, PROP_VALUE_OPTION_SHOW_PARTITION),
new OptionDesc(OPTION_LOAD_DESTINATION, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_LOAD_DESTINATION, PROP_VALUE_OPTION_LOAD_DESTINATION),
new OptionDesc(OPTION_MSG, OPTION_VALUE_HARDCODED, PROP_NAME_OPTION_MSG, PROP_VALUE_OPTION_MSG),
};
/**
* Parses arg list using the specified option description table and returns a ObjMgrProperties object which corresponds
* to it.
*/
public static BrokerCmdProperties parseArgs(String args[]) throws OptionException {
BrokerCmdProperties brokerCmdProps = new BrokerCmdProperties();
/*
* Invoke main parsing code in superclass
*/
parseArgs(args, brokerCmdOptions, brokerCmdProps);
return (brokerCmdProps);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy