public void setReader(LineReader reader){ this.reader = (LineReaderImpl)reader; out = reader.getTerminal().writer(); }
/** * Set a new jLine reader. Readers are used to parse stdin * * @param newReader The new line reader */ public static void setReader(LineReader newReader) { if (newReader != null && newReader.getTerminal() != terminal) { throw new IllegalArgumentException("Reader was not created with TerminalConsoleAppender.getTerminal()"); } reader = newReader; }
public void print(String s) { if (isInteractive()) getReader().getTerminal().writer().print(s); else { try { out.write(s.getBytes()); out.flush(); } catch (IOException ignored) { ignored.printStackTrace(); } } }
public CLIContext build() { if (reader != null) { if (out == null) out = reader.getTerminal().output(); if (err == null) err = out; } return new CLIContext(cli, out, err, in, reader, new LinkedHashMap()); } }
private boolean clearScreen(List<String> options, List<String> parameters) { if (!isValidArgument(options, parameters, 0, 0, 0, Command.CLEAR_SCREEN)) { return false; } _reader.getTerminal().puts(Capability.clear_screen); _reader.getTerminal().flush(); return false; }
public void exec(CLIContext cli, String[] args) throws Exception { Terminal term = cli.getReader().getTerminal(); cli.println("TERM=" + term.getClass().getSimpleName() + "/" + term.getType()); } }
/** * Print in the console * * @param message message to print * @param color (optional) prompt color */ public void print(String message, PromptColor color) { String toPrint = message; if (color != null) { toPrint = getColored(message, color); } SshShellCommandFactory.SSH_THREAD_CONTEXT.get().getLineReader().getTerminal().writer().println(toPrint); }
/** * Print confirmation message and get response * * @param message message to print * @return response read from terminal */ public String read(String message) { LineReader lr = SshShellCommandFactory.SSH_THREAD_CONTEXT.get().getLineReader(); if (message != null) { lr.getTerminal().writer().println(message); } lr.readLine(); if (lr.getTerminal() instanceof AbstractPosixTerminal) { lr.getTerminal().writer().println(); } return lr.getParsedLine().line(); }
private int getUserAnswer(String question, int... allowedAnswers) throws IOException { final Set<Integer> allowedAnswerSet = IntStream.of(allowedAnswers).boxed().collect(Collectors.toSet()); final Terminal terminal = sqlLine.getLineReader().getTerminal(); final PrintWriter writer = terminal.writer(); writer.write(question); int c; // The logic to prevent reaction of SqlLineParser here do { c = terminal.reader().read(100); } while (c != -1 && !allowedAnswerSet.contains(c)); return c; }
public void exec(CLIContext ctx, String[] args) throws Exception { ctx.getReader().getTerminal().puts(InfoCmp.Capability.clear_screen); } }
public void exec(CLIContext cli, String[] args) { try { String[] params = new String[args.length - 1]; System.arraycopy(args, 1, params, 0, params.length); PrintStream os = new PrintStream(cli.getReader().getTerminal().output()); new org.jpos.security.jceadapter.Console().exec(os,os,params); } catch (Exception e) { e.printStackTrace(); } } }
private void sillyLess(InputStream in) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); String man; int index = 0; while ((man = reader.readLine()) != null) { index++; sqlLine.output(man); // silly little pager if (index % (sqlLine.getOpts().getMaxHeight() - 1) == 0) { final int userInput = getUserAnswer(sqlLine.loc("enter-for-more"), 'q', 13); if (userInput == -1 || userInput == 'q') { sqlLine.getLineReader().getTerminal().writer().write('\n'); break; } } } reader.close(); }
private void sillyLess(InputStream in) throws IOException { BufferedReader breader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); String man; int index = 0; while ((man = breader.readLine()) != null) { index++; sqlLine.output(man); // silly little pager if (index % (sqlLine.getOpts().getMaxHeight() - 1) == 0) { String prompt = sqlLine.loc("enter-for-more"); sqlLine.getLineReader().getTerminal().writer().write(prompt); int c; // The logic to prevent reaction of SqlLineParser here do { c = sqlLine.getLineReader().getTerminal().reader().read(100); } while (c != -1 && c != 13 && c != 'q'); if (c == -1 || c == 'q') { sqlLine.getLineReader().getTerminal().writer().write('\n'); break; } } } breader.close(); }
public void warning(String message) { if (getReader() == null) { System.out.println(message); return; } if (isWaitingForCommand()) getReader().callWidget(LineReader.CLEAR); getReader().getTerminal().writer().print(getSimpleFormatter().format(new LogRecord(Level.WARNING, message))); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDRAW_LINE); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDISPLAY); getReader().getTerminal().writer().flush(); if (getLogger() != null) getLogger().warning(message); }
public void exec(CLIContext cli, String[] args) throws Exception { try (BinLogReader bl = new BinLogReader(new File((String) cli.getUserData().get("binlog")))) { while (bl.hasNext(10000L)) { BinLog.Entry ref = bl.next(); cli.println(String.format("%06d@%08d %s", ref.ref().getFileNumber(), ref.ref().getOffset(), ISOUtil.hexdump(ref.get()))); cli.getReader().getTerminal().flush(); } } catch (Exception e) { e.printStackTrace(); } } }
public void info(String message) { if (getReader() == null) { System.out.println(message); return; } if (isWaitingForCommand()) getReader().callWidget(LineReader.CLEAR); getReader().getTerminal().writer().print(getSimpleFormatter().format(new LogRecord(Level.INFO, message))); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDRAW_LINE); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDISPLAY); getReader().getTerminal().writer().flush(); if (getLogger() != null) getLogger().info(message); }
public void severe(String message) { if (getReader() == null) { System.err.println(message); return; } if (isWaitingForCommand()) getReader().callWidget(LineReader.CLEAR); getReader().getTerminal().writer().print(getSimpleFormatter().format(new LogRecord(Level.SEVERE, ANSI_RED + message + ANSI_RESET))); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDRAW_LINE); if (isWaitingForCommand()) getReader().callWidget(LineReader.REDISPLAY); getReader().getTerminal().writer().flush(); if (getLogger() != null) getLogger().severe(message); }
@Override public Input readInput() { try { AttributedString prompt = promptProvider.getPrompt(); lineReader.readLine(prompt.toAnsi(lineReader.getTerminal())); } catch (UserInterruptException e) { if (e.getPartialLine().isEmpty()) { throw new ExitRequest(1); } else { return Input.EMPTY; } } return new ParsedLineInput(lineReader.getParsedLine()); } }
public void exec(CLIContext cli, String[] args) throws Exception { this.p = new PrintStream(cli.getReader().getTerminal().output()); this.cli = cli; this.ansi = false; // cli.getReader().getTerminal()
public void exec(CLIContext cli, String[] args) throws Exception { this.p = new PrintStream(cli.getReader().getTerminal().output()); this.cli = cli; this.ansi = false; // cli.getReader().getTerminal().isAnsiSupported(); if (args.length == 1) { usage(cli); return; } for (int i = 1; i < args.length; i++) { try { Logger logger = (Logger) NameRegistrar.get("logger." + args[i]); logger.addListener(this); } catch (NameRegistrar.NotFoundException e) { cli.println("Logger " + args[i] + " not found -- ignored."); } } // cli.getReader().readCharacter(new char[]{'q', 'Q'}); cli.getReader().readLine(); for (int i = 1; i < args.length; i++) { try { Logger logger = (Logger) NameRegistrar.get("logger." + args[i]); logger.removeListener(this); } catch (NameRegistrar.NotFoundException ignored) { // NOPMD OK to happen } } }