JOptionPane.showMessageDialog(src, "Creating new multi-snipes is disabled in this version, as the underlying high-bidder detection code isn't currently working.", "MultiSniping Disabled", JOptionPane.WARNING_MESSAGE);
return;
}
int[] rowList = mTabs.getPossibleRows();
Currency baseAllBid = Currency.NoValue();
// You must select multiple auctions to make this work.
if(rowList.length == 0) {
JOptionPane.showMessageDialog(src, "No auctions selected to set to MultiSnipe mode!", "Error setting multisnipe", JOptionPane.PLAIN_MESSAGE);
return;
}
// Go through the list of auctions to make sure they're all the
// same currency, and other similar requirements.
MultiSnipe aeMS = null;
int i;
boolean seenCurrencyWarning = false;
for(i=0; i<rowList.length; i++) {
AuctionEntry tempAE = (AuctionEntry) mTabs.getIndexedEntry(rowList[i]);
Currency curBid = tempAE.getCurBid();
if(tempAE.getServer().isDefaultUser()) {
JOptionPane.showMessageDialog(src, "One or more of your auctions to multisnipe is on a server that you have not\n" +
"entered your user account information for. Go to the the " + tempAE.getServer().getName() + " configuration tab,\n" +
"and fill it out.",
"No auction account error", JOptionPane.PLAIN_MESSAGE);
return;
}
if(tempAE.isComplete()) {
JOptionPane.showMessageDialog(src, "You cannot place a multi-snipe on a set of entries that include an ended auction",
"Snipe error", JOptionPane.PLAIN_MESSAGE);
return;
}
if(tempAE.isPrivate()) {
JOptionPane.showMessageDialog(src, "Multisnipes cannot include private auctions. Unfortunately,\n" +
"private auctions make it impossible under certain circumstances\n" +
"to know if a bid was ultimately the winner or not. The two\n" +
"potential answers are to either fail conservatively (think you\n" +
"won, and cancel later multisnipes), or fail liberally (think\n" +
"you lost, and allow later multisnipes). Neither is a good\n" +
"solution, so private auctions are barred from multisnipe groups.",
"Private auction/multisnipe error", JOptionPane.PLAIN_MESSAGE);
return;
}
Currency minBid;
try {
minBid = curBid.add(tempAE.getServer().getMinimumBidIncrement(curBid, tempAE.getNumBidders()));
} catch(Currency.CurrencyTypeException cte) {
// Don't worry about different currencies, here, it just
// means the auctions are in a different currency than the