private void writeInternalData()

in src/main/java/org/apache/sling/feature/io/json/FeatureJSONWriter.java [438:471]


    private void writeInternalData(final JsonGenerator generator,
        final Feature feature) throws IOException {

        final Map<String, Object> output = new LinkedHashMap<>();
        if ( !feature.getFrameworkProperties().isEmpty() ) {
            final Map<String, Map<String, Object>> fwkMetadata = new LinkedHashMap<>();
            for(final String fwkPropName : feature.getFrameworkProperties().keySet()) {
                final Map<String, Object> metadata = feature.getFrameworkPropertyMetadata(fwkPropName);
                if ( !metadata.isEmpty() ) {
                    fwkMetadata.put(fwkPropName, metadata);
                }
            }
            if ( !fwkMetadata.isEmpty() ) {
                output.put(JSONConstants.FRAMEWORK_PROPERTIES_METADATA, fwkMetadata);
            }
        }
        if ( !feature.getVariables().isEmpty() ) {
            final Map<String, Map<String, Object>> varMetadata = new LinkedHashMap<>();
            for(final String varName : feature.getVariables().keySet()) {
                final Map<String, Object> metadata = feature.getVariableMetadata(varName);
                if ( !metadata.isEmpty() ) {
                    varMetadata.put(varName, metadata);
                }
            }
            if ( !varMetadata.isEmpty() ) {
                output.put(JSONConstants.VARIABLES_METADATA, varMetadata);
            }
        }
        if ( !output.isEmpty() ) {
            final Extension ext = new Extension(ExtensionType.JSON, Extension.EXTENSION_NAME_INTERNAL_DATA, ExtensionState.OPTIONAL);
            ext.setJSONStructure(org.apache.felix.cm.json.io.Configurations.convertToJsonValue(output).asJsonObject());
            this.writeExtension(generator, ext, null);
        }
    }