in src/main/java/org/apache/sling/feature/extension/apiregions/api/ApiRegions.java [182:213]
public JsonArray toJSONArray() throws IOException {
final JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
for (final ApiRegion region : this.regions) {
final JsonObjectBuilder regionBuilder = Json.createObjectBuilder();
regionBuilder.add(NAME_KEY, region.getName());
if (!region.listExports().isEmpty()) {
final JsonArrayBuilder expArrayBuilder = Json.createArrayBuilder();
for (final ApiExport exp : region.listExports()) {
expArrayBuilder.add(exp.toJSONValue());
}
regionBuilder.add(EXPORTS_KEY, expArrayBuilder);
}
ArtifactId[] origins = region.getFeatureOrigins();
if (origins.length > 0) {
final JsonArrayBuilder originBuilder = Json.createArrayBuilder();
for (ArtifactId origin : origins) {
originBuilder.add(origin.toMvnId());
}
regionBuilder.add(Artifact.KEY_FEATURE_ORIGINS, originBuilder);
}
for (final Map.Entry<String, String> entry : region.getProperties().entrySet()) {
regionBuilder.add(entry.getKey(), entry.getValue());
}
arrayBuilder.add(regionBuilder);
}
return arrayBuilder.build();
}