private Map computeColumnWidths()

in platforms/commands/commands-core/src/main/java/org/apache/camel/commands/ContextInflightCommand.java [81:122]


    private Map<String, Integer> computeColumnWidths(final Iterable<Map<String, Object>> inflight) throws Exception {
        if (inflight == null) {
            throw new IllegalArgumentException("Unable to determine column widths from null Iterable<Inflight>");
        } else {
            int maxExchangeLen = 0;
            int maxFromRouteLen = 0;
            int maxRouteLen = 0;
            int maxNodeLen = 0;
            int maxElapsedLen = 0;
            int maxDurationLen = 0;

            for (Map<String, Object> row : inflight) {
                final String exchangeId = safeNull(row.get("exchangeId"));
                maxExchangeLen = java.lang.Math.max(maxExchangeLen, exchangeId == null ? 0 : exchangeId.length());

                final String fromRouteId = safeNull(row.get("fromRouteId"));
                maxFromRouteLen = java.lang.Math.max(maxFromRouteLen, fromRouteId == null ? 0 : fromRouteId.length());

                final String routeId = safeNull(row.get("routeId"));
                maxRouteLen = java.lang.Math.max(maxRouteLen, routeId == null ? 0 : routeId.length());

                final String nodeId = safeNull(row.get("nodeId"));
                maxNodeLen = java.lang.Math.max(maxNodeLen, nodeId == null ? 0 : nodeId.length());

                final String elapsed = safeNull(row.get("elapsed"));
                maxElapsedLen = java.lang.Math.max(maxElapsedLen, elapsed == null ? 0 : elapsed.length());

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

            final Map<String, Integer> retval = new Hashtable<>(5);
            retval.put(EXCHANGE_COLUMN_LABEL, maxExchangeLen);
            retval.put(FROM_ROUTE_COLUMN_LABEL, maxFromRouteLen);
            retval.put(ROUTE_COLUMN_LABEL, maxRouteLen);
            retval.put(NODE_COLUMN_LABEL, maxNodeLen);
            retval.put(ELAPSED_COLUMN_LABEL, maxElapsedLen);
            retval.put(DURATION_COLUMN_LABEL, maxDurationLen);

            return retval;
        }
    }