private static Map computeColumnWidths()

in platforms/commands/commands-core/src/main/java/org/apache/camel/commands/ContextListCommand.java [64:105]


    private static Map<String, Integer> computeColumnWidths(final Iterable<Map<String, String>> camelContexts) throws Exception {
        if (camelContexts == null) {
            throw new IllegalArgumentException("Unable to determine column widths from null Iterable<CamelContext>");
        } else {
            int maxNameLen = 0;
            int maxStatusLen = 0;
            int maxTotalLen = 0;
            int maxFailedLen = 0;
            int maxInflightLen = 0;
            int maxUptimeLen = 0;

            for (Map<String, String> row : camelContexts) {
                final String name = row.get("name");
                maxNameLen = java.lang.Math.max(maxNameLen, name == null ? 0 : name.length());

                final String status = row.get("state");
                maxStatusLen = java.lang.Math.max(maxStatusLen, status == null ? 0 : status.length());

                final String total = row.get("exchangesTotal");
                maxTotalLen = java.lang.Math.max(maxTotalLen, total == null ? 0 : total.length());

                final String failed = row.get("exchangesFailed");
                maxFailedLen = java.lang.Math.max(maxFailedLen, failed == null ? 0 : failed.length());

                final String inflight = row.get("exchangesInflight");
                maxInflightLen = java.lang.Math.max(maxInflightLen, inflight == null ? 0 : inflight.length());

                final String uptime = row.get("uptime");
                maxUptimeLen = java.lang.Math.max(maxUptimeLen, uptime == null ? 0 : uptime.length());
            }

            final Map<String, Integer> retval = new Hashtable<>();
            retval.put(CONTEXT_COLUMN_LABEL, maxNameLen);
            retval.put(STATUS_COLUMN_LABEL, maxStatusLen);
            retval.put(TOTAL_COLUMN_LABEL, maxTotalLen);
            retval.put(FAILED_COLUMN_LABEL, maxFailedLen);
            retval.put(INFLIGHT_COLUMN_LABEL, maxInflightLen);
            retval.put(UPTIME_COLUMN_LABEL, maxUptimeLen);

            return retval;
        }
    }