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();
}