return (0);
}
private int runDestroy(BrokerCmdProperties brokerCmdProps) {
BrokerAdmin broker;
String input = null;
String yes, yesShort, no, noShort;
yes = ar.getString(ar.Q_RESPONSE_YES);
yesShort = ar.getString(ar.Q_RESPONSE_YES_SHORT);
no = ar.getString(ar.Q_RESPONSE_NO);
noShort = ar.getString(ar.Q_RESPONSE_NO_SHORT);
String commandArg = brokerCmdProps.getCommandArg();
boolean force = brokerCmdProps.forceModeSet();
broker = init();
if (CMDARG_DESTINATION.equals(commandArg)) {
if (broker == null) {
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_FAIL));
return (1);
}
if (!force)
broker = promptForAuthentication(broker);
String destName = brokerCmdProps.getTargetName();
int destTypeMask = getDestTypeMask(brokerCmdProps);
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST));
printDestinationInfo();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
printBrokerInfo(broker);
try {
connectToBroker(broker);
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_FAIL));
return (1);
}
if (!force) {
input = CommonCmdRunnerUtil.getUserInput(ar.getString(ar.Q_DESTROY_DST_OK), noShort);
Globals.stdOutPrintln("");
}
if (yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input) || force) {
try {
broker.sendDestroyDestinationMessage(destName, destTypeMask);
broker.receiveDestroyDestinationReplyMessage();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_SUC));
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_FAIL));
return (1);
}
} else if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_NOOP));
return (0);
} else {
Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
Globals.stdOutPrintln("");
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DST_NOOP));
return (1);
}
} else if (CMDARG_DURABLE.equals(commandArg)) {
if (broker == null) {
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_FAIL));
return (1);
}
if (!force)
broker = promptForAuthentication(broker);
String subName = brokerCmdProps.getTargetName();
String clientID = brokerCmdProps.getClientID();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR));
printDurableSubscriptionInfo();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
printBrokerInfo(broker);
try {
connectToBroker(broker);
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_FAIL));
return (1);
}
if (!force) {
input = CommonCmdRunnerUtil.getUserInput(ar.getString(ar.Q_DESTROY_DUR_OK), noShort);
Globals.stdOutPrintln("");
}
if (yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input) || force) {
try {
broker.sendDestroyDurableMessage(subName, clientID);
broker.receiveDestroyDurableReplyMessage();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_SUC));
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_FAIL));
return (1);
}
} else if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_NOOP));
return (0);
} else {
Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
Globals.stdOutPrintln("");
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_DUR_NOOP));
return (1);
}
} else if (CMDARG_CONNECTION.equals(commandArg)) {
if (broker == null) {
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_FAIL));
return (1);
}
if (!force)
broker = promptForAuthentication(broker);
String cxnIdStr = brokerCmdProps.getTargetName();
Long cxnId = null;
try {
cxnId = Long.valueOf(cxnIdStr);
} catch (NumberFormatException nfe) {
Globals.stdErrPrintln(ar.getString(ar.E_INVALID_CXN_ID, cxnIdStr));
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_FAIL));
return (1);
}
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN));
printConnectionInfo();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
printBrokerInfo(broker);
try {
connectToBroker(broker);
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_FAIL));
return (1);
}
if (!force) {
input = CommonCmdRunnerUtil.getUserInput(ar.getString(ar.Q_DESTROY_CXN_OK), noShort);
Globals.stdOutPrintln("");
}
if (yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input) || force) {
try {
broker.sendDestroyConnectionMessage(cxnId);
broker.receiveDestroyConnectionReplyMessage();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_SUC));
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_FAIL));
return (1);
}
} else if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_NOOP));
return (0);
} else {
Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
Globals.stdOutPrintln("");
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_CXN_NOOP));
return (1);
}
} else if (CMDARG_MSG.equals(commandArg)) {
if (broker == null) {
/*
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_FAIL));
*/
Globals.stdErrPrintln("Destroying message failed.");
return (1);
}
if (!force)
broker = promptForAuthentication(broker);
String destName = brokerCmdProps.getTargetName();
int destTypeMask = getDestTypeMask(brokerCmdProps);
String msgID = brokerCmdProps.getMsgID();
/*
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG));
*/
Globals.stdOutPrintln("Destroying message:");
printMessageInfo();
Globals.stdOutPrintln("In the destination");
printDestinationInfo();
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
printBrokerInfo(broker);
try {
connectToBroker(broker);
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
/*
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_FAIL));
*/
Globals.stdErrPrintln("Destroying message failed.");
return (1);
}
if (!force) {
/*
input = CommonCmdRunnerUtil.getUserInput(ar.getString(ar.Q_DESTROY_MSG_OK), noShort);
*/
input = CommonCmdRunnerUtil.getUserInput("Are you sure you want to destroy this message? (y/n)[n] ", noShort);
Globals.stdOutPrintln("");
}
if (yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input) || force) {
try {
broker.sendDestroyMessagesMessage(destName, destTypeMask, msgID);
broker.receiveDestroyMessagesReplyMessage();
/*
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_SUC));
*/
Globals.stdOutPrintln("Successfully destroyed message.");
} catch (BrokerAdminException bae) {
handleBrokerAdminException(bae);
/*
Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_FAIL));
*/
Globals.stdErrPrintln("Destroying message failed.");
return (1);
}
} else if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
/*
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_NOOP));
*/
Globals.stdOutPrintln("The message was not destroyed.\n");
return (0);
} else {
Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
Globals.stdOutPrintln("");
/*
Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_DESTROY_MSG_NOOP));
*/
Globals.stdOutPrintln("The message was not destroyed.\n");
return (1);
}
}
broker.close();
return (0);
}