public static String json()

in atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/json/ResourceJsonUtil.java [45:92]


    public static String json(final ResourceConfiguration result)
    {
        //        if (true)
        //        {
        //            return "{\"resources\" : [ {\"pattern\": \"atomos/.*$\"} ] }";
        //        }

        final TreeSet<String> allResourceBundles = new TreeSet<>(String::compareTo);
        allResourceBundles.addAll(result.getResourceBundles());
        final TreeSet<String> allResourcePatterns = new TreeSet<>(String::compareTo);
        allResourcePatterns.addAll(result.getResourcePatterns());

        final AtomicBoolean first = new AtomicBoolean();
        final StringBuilder resourceConfig = new StringBuilder();
        resourceConfig.append(START);
        if (!allResourceBundles.isEmpty())
        {
            resourceConfig.append(ind(1)).append(BUNDLES_START);
            allResourceBundles.forEach(b -> {
                if (!first.compareAndSet(false, true))
                {
                    resourceConfig.append(COMMA);
                }
                resourceConfig.append(ind(2)).append(String.format(BUNDLE_NAME, b));
            });
            resourceConfig.append(NL).append(ind(1)).append(BUNDLES_END);
        }
        first.set(false);
        if (!allResourcePatterns.isEmpty())
        {
            if (!allResourceBundles.isEmpty())
            {
                resourceConfig.append(COMMA);
            }
            resourceConfig.append(ind(1)).append(RESOURCES_START);
            allResourcePatterns.forEach(p -> {
                if (!first.compareAndSet(false, true))
                {
                    resourceConfig.append(COMMA);
                }
                resourceConfig.append(ind(2)).append(String.format(RESOURCE_PATTERN, p));
            });
            resourceConfig.append(NL).append(ind(1)).append(RESOURCES_END);
        }
        resourceConfig.append(END);
        return resourceConfig.toString();

    }