public String normalize(final Default def) { final String value = def.value(); if (value.contains(LIST_SEPARATOR)) { return value; } if (value.contains("\t")) { final String[] split = value.split("\t"); return Join.join(LIST_SEPARATOR, split); } if (value.contains(",")) { final String[] split = value.split(","); return Join.join(LIST_SEPARATOR, split); } return value; }
@Command public static void wc(@Option("l") @Default("true") final boolean line, @Option("c") @Default("false") final boolean characters, @In final InputStream in, @Out final PrintStream out) { int count = 0; if (characters) { try (Reader reader = new InputStreamReader(in)) { while (reader.read() >= 0) { count++; } } catch (final IOException e) { throw new IllegalStateException(e); } } else if (line) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { while (reader.readLine() != null) { count++; } } catch (final IOException e) { throw new IllegalStateException(e); } } else { throw new IllegalStateException("wc needs at least one active option"); } out.println(count); }
private String initDefault() { final Default def = getAnnotation(Default.class); if (def != null) { if (isListable()) { return LIST_TYPE + normalize(def); } else { return def.value(); } } else if (isListable()) { return LIST_TYPE; } else if (getType().isPrimitive()) { final Class<?> type = getType(); return PrimitiveTypes.valueOf(type.toString().toUpperCase()).getDefaultValue(); } else { return null; } }
@Command public String maxMemory(@Option({"unit","u"}) @Default("MEGABYTES") SizeUnit unit) { final long bytes = Runtime.getRuntime().maxMemory(); final Size size = new Size(unit.convert(bytes, SizeUnit.BYTES), unit); return size.toString(); }
@Command public String totalMemory(@Option({"unit","u"}) @Default("MEGABYTES") SizeUnit unit) { final long bytes = Runtime.getRuntime().totalMemory(); final Size size = new Size(unit.convert(bytes, SizeUnit.BYTES), unit); return size.toString(); }
@Command public String freeMemory(@Option({"unit", "u"}) @Default("MEGABYTES") SizeUnit unit) { final long bytes = Runtime.getRuntime().freeMemory(); final Size size = new Size(unit.convert(bytes, SizeUnit.BYTES), unit); return size.toString(); }
@Command("import-tag-dashboard") @Description("Import TAG dashboard") public static void importTagDashboard( ElasticSearchOptions elasticSearchOptions, @Option("index-name") @Default(DEFAULT_INDEX_NAME) @Description("ElasticSearch index-name from which the visualizations are created") final String indexName, @Option("split-size") @Default("20") @Description("This will define the number of items you will see in the right side of the chart") final String size, @Option("shards") @Default("5") @Description("Number of shards for the index") final String shards ) throws Exception { String indexPattern = indexName + "*"; String indexDocument = "{\"settings\":{\"index\":{\"number_of_shards\":" + shards + "}}}"; List<String> dashboards = Arrays.asList(new String[]{"TAG-Dashboard"}); ElasticSearchConnection connection = new ElasticSearchConnection(elasticSearchOptions); try (InputStream inVisualizations = Thread.currentThread().getContextClassLoader().getResourceAsStream(VISUALIZATIONS_PATH); InputStream inDashboards = Thread.currentThread().getContextClassLoader().getResourceAsStream(DASHBOARDS_PATH)) { connection.installIndex(indexName, indexDocument); List<String> visualizationIds = DashboardCreator.loadDashboards(dashboards, connection, inDashboards); VisualizationImporter.importVisualizations(visualizationIds, connection, inVisualizations, indexPattern, size); } }
@Command("import-all-dashboards") @Description("Import All pre-defined dashboards") public static void importAllPreDefinedDashboards( ElasticSearchOptions elasticSearchOptions, @Option("index-name") @Default(DEFAULT_INDEX_NAME) @Description("ElasticSearch index-name from which the visualizations are created") final String indexName, @Option("split-size") @Default("20") @Description("This will define the number of items you will see in the right side of the chart") final String size, @Option("shards") @Default("5") @Description("Number of shards for the index") final String shards ) throws Exception { String indexPattern = indexName + "*"; String indexDocument = "{\"settings\":{\"index\":{\"number_of_shards\":" + shards + "}}}"; List<String> dashboards = Arrays.asList(new String[]{"API-Dashboard", "TAG-Dashboard"}); ElasticSearchConnection connection = new ElasticSearchConnection(elasticSearchOptions); try (InputStream inVisualizations = Thread.currentThread().getContextClassLoader().getResourceAsStream(VISUALIZATIONS_PATH); InputStream inDashboards = Thread.currentThread().getContextClassLoader().getResourceAsStream(DASHBOARDS_PATH)) { connection.installIndex(indexName, indexDocument); List<String> visualizationIds = DashboardCreator.loadDashboards(dashboards, connection, inDashboards); VisualizationImporter.importVisualizations(visualizationIds, connection, inVisualizations, indexPattern, size); } } }
@Command // CHECKSTYLE:OFF public void rsync(@Option("recursive") final boolean recursive, @Option("links") final boolean links, @Option("perms") final boolean perms, @Option("owner") final boolean owner, @Option("group") final boolean group, @Option("devices") final boolean devices, @Option("specials") final boolean specials, @Option("times") final boolean times, @Option("exclude") final Pattern exclude, @Option("exclude-from") final File excludeFrom, @Option("include") final Pattern include, @Option("include-from") final File includeFrom, @Option("progress") @Default("true") final boolean progress, final URI[] sources, final URI dest) { // TODO write the implementation... } }