org.infinispan.server.cli.handlers.UpgradeCommandHandler Maven / Gradle / Ivy
package org.infinispan.server.cli.handlers;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.infinispan.server.cli.util.CliCommandBuffer;
import org.jboss.as.cli.CommandArgument;
import org.jboss.as.cli.CommandContext;
import org.jboss.as.cli.CommandFormatException;
import org.jboss.as.cli.CommandHandler;
import org.jboss.as.cli.CommandHandlerProvider;
import org.jboss.as.cli.impl.ArgumentWithValue;
import org.jboss.as.cli.impl.ArgumentWithoutValue;
import org.jboss.as.cli.operation.ParsedCommandLine;
/**
* The {@link CacheCommand#UPGRADE} handler.
*
* @author Pedro Ruivo
* @since 6.1
*/
public class UpgradeCommandHandler extends CacheNameArgumentCommandHandler {
private final ArgumentWithoutValue all;
private final ArgumentWithoutValue dumpKeys;
private final ArgumentWithValue synchronize;
private final ArgumentWithValue disconnect;
public UpgradeCommandHandler(CliCommandBuffer buffer) {
super(CacheCommand.UPGRADE, buffer);
all = new ArgumentWithoutValue(this, -1, "--all");
dumpKeys = new ArgumentWithoutValue(this, -1, "--dumpkeys");
synchronize = new ArgumentWithValue(this, null, -1, "--synchronize");
disconnect = new ArgumentWithValue(this, null, -1, "--disconnectsource");
}
@Override
public Collection getArguments(CommandContext ctx) {
List arguments = new ArrayList(5);
try {
ParsedCommandLine parsedCommandLine = ctx.getParsedCommandLine();
if (!all.isPresent(parsedCommandLine) && parsedCommandLine.getOtherProperties().size() <= 1) {
if (!dumpKeys.isPresent(parsedCommandLine) && !synchronize.isPresent(parsedCommandLine)
&& !disconnect.isPresent(parsedCommandLine)) {
arguments.add(dumpKeys);
arguments.add(synchronize);
arguments.add(disconnect);
}
arguments.add(all);
arguments.add(cacheName);
}
} catch (CommandFormatException e) {
//ignored
}
return arguments;
}
public static class Provider implements CommandHandlerProvider {
@Override
public CommandHandler createCommandHandler(CommandContext ctx) {
return new UpgradeCommandHandler(CliCommandBuffer.INSTANCE);
}
@Override
public boolean isTabComplete() {
return true;
}
@Override
public String[] getNames() {
return new String[] { CacheCommand.UPGRADE.getName() };
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy