@Override public List<String> words() { return Arrays.asList(cmdLine.getArguments()); } @Override
@Override public List<String> words() { return Arrays.asList(cmdLine.getArguments()); } @Override
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0 ; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" "); } parsed.append(arg); } return parsed.toString(); }
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0 ; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" "); } parsed.append(arg); } return parsed.toString(); }
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0 ; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" "); } parsed.append(arg); } return parsed.toString(); } }
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0 ; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" "); } parsed.append(arg); } return parsed.toString(); } }
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" \""); } parsed.append(arg); if (i > 0) { parsed.append("\""); } } return parsed.toString(); } }
@Override public String preprocess(Session session, CommandLine cmdLine) { StringBuilder parsed = new StringBuilder(); for (int i = 0; i < cmdLine.getArguments().length; i++) { String arg = cmdLine.getArguments()[i]; if (i > 0) { parsed.append(" \""); } parsed.append(arg); if (i > 0) { parsed.append("\""); } } return parsed.toString(); } }
/** * Retrieves the pid stored in the {@link Session} or passed as an argument. * Argument takes precedence from pid stored in the {@link Session}. */ private String getPid(Session session, CommandLine commandLine) { String pid = (String) session.get(ConfigCommandSupport.PROPERTY_CONFIG_PID); if (commandLine.getArguments().length > 0) { List<String> arguments = Arrays.asList(commandLine.getArguments()); if (arguments.contains(OPTION)) { int index = arguments.indexOf(OPTION); if (arguments.size() > index) { return arguments.get(index + 1); } } if (arguments.contains(ALIAS)) { int index = arguments.indexOf(ALIAS); if (arguments.size() > index) { return arguments.get(index + 1); } } } return pid; }
/** * Retrieves the pid stored in the {@link Session} or passed as an argument. * Argument takes precedence from pid stored in the {@link Session}. */ private String getPid(Session session, CommandLine commandLine) { String pid = (String) session.get(ConfigCommandSupport.PROPERTY_CONFIG_PID); if (commandLine.getArguments().length > 0) { List<String> arguments = Arrays.asList(commandLine.getArguments()); if (arguments.contains(OPTION)) { int index = arguments.indexOf(OPTION); if (arguments.size() > index) { return arguments.get(index + 1); } } if (arguments.contains(ALIAS)) { int index = arguments.indexOf(ALIAS); if (arguments.size() > index) { return arguments.get(index + 1); } } } return pid; }
@Override protected List<String> choices() { NetworkConfigRegistry service = AbstractShellCommand.get(NetworkConfigRegistry.class); checkArgument(commandLine.getCursorArgumentIndex() >= 2); String subjectClassKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 2]; SubjectFactory<?> subjectFactory = service.getSubjectFactory(subjectClassKey); if (subjectFactory == null) { return ImmutableList.of(); } String subjectKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; Object subject = subjectFactory.createSubject(subjectKey); Set<? extends Config<Object>> configs = service.getConfigs(subject); return configs.stream().map(Config::key).collect(Collectors.toList()); }
@Override protected List<String> choices() { NetworkConfigRegistry service = AbstractShellCommand.get(NetworkConfigRegistry.class); String subjectClassKey = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; SubjectFactory subjectFactory = service.getSubjectFactory(subjectClassKey); if (subjectFactory == null) { return Collections.emptyList(); } // get all registered subject objects. Set<Object> subjects = service.getSubjects(subjectFactory.subjectClass()); return subjects.stream().map(subjectFactory::subjectKey).collect(Collectors.toList()); }
public int complete(Session session, CommandLine commandLine, List<String> candidates) { // grab selected camel context from the first argument String contextName = null; String[] args = commandLine.getArguments(); if (args != null && args.length > 1) { // 0 is the command name itself // 1 is the first argument which is the camel context name contextName = args[1]; } try { StringsCompleter delegate = new StringsCompleter(); List<Map<String, String>> routes = getRoutes(contextName); for (Map<String, String> row : routes) { delegate.getStrings().add(row.get("routeId")); } return delegate.complete(session, commandLine, candidates); } catch (Exception e) { // nothing to do, no completion } return 0; }
@Override public int complete(Session session, CommandLine commandLine, List<String> list) { ServiceLocatorTracker slt = ServiceLocatorTracker.getInstance(sl); String[] arguments = commandLine.getArguments(); int paramCount = 0; for (String arg : arguments) { if (arg.startsWith("-")) { paramCount++; } } StringsCompleter delegate2 = new StringsCompleter(); delegate2.getStrings().addAll(slt.getEndpoints(arguments[(arguments.length - paramCount > 2) ? arguments.length - 2 : arguments.length - 1])); return delegate2.complete(session, commandLine, list); } }
/** * Look for valid DeviceId in arguments passed so far. * * @return DeviceId found or null if not found */ protected DeviceId lookForDeviceId() { //parse argument list for deviceId DeviceService deviceService = getService(DeviceService.class); Device dev = null; for (String str : commandLine.getArguments()) { if (str.contains(":")) { dev = deviceService.getDevice(DeviceId.deviceId(str)); if (dev != null) { return dev.id(); } } } return null; }
@Override public int complete(Session session, CommandLine commandLine, List<String> candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); // Component name is the previous argument. String componentName = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; ComponentConfigService service = get(ComponentConfigService.class); SortedSet<String> strings = delegate.getStrings(); Set<ConfigProperty> properties = service.getProperties(componentName); if (properties != null) { properties.forEach(property -> strings.add(property.name())); } // Now let the completer do the work for figuring out what to offer. return delegate.complete(session, commandLine, candidates); }
@Override public int complete(Session session, CommandLine commandLine, List<String> candidates) { // Delegate string completer StringsCompleter delegate = new StringsCompleter(); // Fetch our service and feed it's offerings to the string completer LinkService service = AbstractShellCommand.get(LinkService.class); // Link source the previous argument. String srcArg = commandLine.getArguments()[commandLine.getCursorArgumentIndex() - 1]; // Generate the device ID/port number identifiers SortedSet<String> strings = delegate.getStrings(); try { ConnectPoint src = ConnectPoint.deviceConnectPoint(srcArg); service.getEgressLinks(src) .forEach(link -> strings.add(link.dst().elementId().toString() + "/" + link.dst().port())); } catch (NumberFormatException e) { System.err.println("Invalid connect-point"); } // Now let the completer do the work for figuring out what to offer. return delegate.complete(session, commandLine, candidates); }
@Override public int complete(Session session, CommandLine commandLine, List<String> candidates) { String[] args = commandLine.getArguments(); int argIndex = commandLine.getCursorArgumentIndex(); StringsCompleter completer = new StringsCompleter(getNames(session)); if (argIndex == 0) { int res = completer.complete(session, new ArgumentCommandLine(args[argIndex], commandLine.getArgumentPosition()), candidates); if (res > -1) { res += commandLine.getBufferPosition() - commandLine.getArgumentPosition(); } return res; } else if (!verifyCompleter(session, completer, args[0])) { return -1; } return 0; }
@Override public int complete(Session session, CommandLine commandLine, List<String> candidates) { String[] args = commandLine.getArguments(); int argIndex = commandLine.getCursorArgumentIndex(); StringsCompleter completer = new StringsCompleter(getNames(session)); if (argIndex == 0) { int res = completer.complete(session, new ArgumentCommandLine(args[argIndex], commandLine.getArgumentPosition()), candidates); if (res > -1) { res += commandLine.getBufferPosition() - commandLine.getArgumentPosition(); } return res; } else if (!verifyCompleter(session, completer, args[0])) { return -1; } return 0; }
@Override public int complete(Session session, CommandLine commandLine, List<String> candidates) { String[] args = commandLine.getArguments(); int argIndex = commandLine.getCursorArgumentIndex(); StringsCompleter completer = new StringsCompleter(Collections.singletonList(getName()));