private Map computeColumnWidths()

in platforms/commands/commands-core/src/main/java/org/apache/camel/commands/TransformerListCommand.java [104:147]


    private Map<String, Integer> computeColumnWidths(final Map<String, List<Map<String, String>>> contextsToTransformers) throws Exception {
        int maxCamelContextLen = 0;
        int maxSchemeLen = 0;
        int maxFromLen = 0;
        int maxToLen = 0;
        int maxStatusLen = 0;
        int maxDescLen = 0;

        for (Map.Entry<String, List<Map<String, String>>> stringListEntry : contextsToTransformers.entrySet()) {
            final String camelContextName = stringListEntry.getKey();

            maxCamelContextLen = java.lang.Math.max(maxCamelContextLen, camelContextName.length());
            
            final List<Map<String, String>> transformers = stringListEntry.getValue();


            for (Map<String, String> row : transformers) {
                String scheme = row.get("scheme");
                maxSchemeLen = java.lang.Math.max(maxSchemeLen, scheme == null ? 0 : scheme.length());
                String from = row.get("from");
                maxFromLen = java.lang.Math.max(maxFromLen, from == null ? 0 : from.length());
                String to = row.get("to");
                maxToLen = java.lang.Math.max(maxToLen, to == null ? 0 : to.length());
                String status = row.get("state");
                maxStatusLen = java.lang.Math.max(maxStatusLen, status == null ? 0 : status.length());
                if (verbose) {
                    String desc = row.get("description");
                    maxDescLen = java.lang.Math.max(maxDescLen, desc == null ? 0 : desc.length());
                }
            }
        }
    
        final Map<String, Integer> retval = new Hashtable<>();
        retval.put(CONTEXT_NAME_COLUMN_LABEL, maxCamelContextLen);
        retval.put(SCHEME_COLUMN_LABEL, maxSchemeLen);
        retval.put(FROM_COLUMN_LABEL, maxFromLen);
        retval.put(TO_COLUMN_LABEL, maxToLen);
        retval.put(STATE_COLUMN_LABEL, maxStatusLen);
        if (verbose) {
            retval.put(DESCRIPTION_COLUMN_LABEL, maxDescLen);
        }

        return retval;
    }