in src/main/java/org/apache/sling/feature/extension/apiregions/api/config/ConfigurationApi.java [399:458]
protected JsonObjectBuilder createJson() throws IOException {
final JsonObjectBuilder objBuilder = super.createJson();
if ( this.getRegion() != null ) {
objBuilder.add(InternalConstants.KEY_REGION, this.getRegion().name());
}
if ( !this.getConfigurationDescriptions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, ConfigurationDescription> entry : this.getConfigurationDescriptions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_CONFIGURATIONS, propBuilder);
}
if ( !this.getFactoryConfigurationDescriptions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, FactoryConfigurationDescription> entry : this.getFactoryConfigurationDescriptions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_FACTORIES, propBuilder);
}
if ( !this.getFrameworkPropertyDescriptions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, FrameworkPropertyDescription> entry : this.getFrameworkPropertyDescriptions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_FWK_PROPERTIES, propBuilder);
}
if ( !this.getInternalFrameworkProperties().isEmpty() ) {
final JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
for(final String n : this.getInternalFrameworkProperties()) {
arrayBuilder.add(n);
}
objBuilder.add(InternalConstants.KEY_INTERNAL_FWK_PROPERTIES, arrayBuilder);
}
if ( !this.getFeatureToRegionCache().isEmpty()) {
final JsonObjectBuilder cacheBuilder = Json.createObjectBuilder();
for(final Map.Entry<ArtifactId, Region> entry : this.getFeatureToRegionCache().entrySet()) {
cacheBuilder.add(entry.getKey().toMvnId(), entry.getValue().name());
}
objBuilder.add(InternalConstants.KEY_REGION_CACHE, cacheBuilder);
}
if ( this.getMode() != Mode.STRICT ) {
objBuilder.add(InternalConstants.KEY_MODE, this.getMode().name());
}
if ( !this.getConfigurationDescriptionAdditions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, ConfigurationDescriptionAddition> entry : this.getConfigurationDescriptionAdditions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_CONFIGURATION_ADDITIONS, propBuilder);
}
if ( !this.getFactoryConfigurationDescriptionAdditions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, FactoryConfigurationDescriptionAddition> entry : this.getFactoryConfigurationDescriptionAdditions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_FACTORY_ADDITIONS, propBuilder);
}
return objBuilder;
}