ValueMapDataMerger.java 1.32 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  org.apache.sling.api.resource.ValueMap
 *  org.apache.sling.commons.json.JSONException
 *  org.apache.sling.commons.json.JSONObject
 */
package com.adobe.aemds.guide.utils;

import com.adobe.aemds.guide.utils.CustomJSONWriter;
import com.adobe.aemds.guide.utils.KeyValueDataMerger;
import java.util.Map;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public class ValueMapDataMerger
extends KeyValueDataMerger {
    private ValueMap preloadValues;

    public ValueMapDataMerger(JSONObject guideJson, ValueMap preloadValues, Map<String, Object> params) {
        super(guideJson, params);
        this.preloadValues = preloadValues;
    }

    @Override
    public void updateMergedJson(JSONObject jsonObject) throws JSONException {
        String name = null;
        if (jsonObject.has("name")) {
            name = jsonObject.getString("name");
        }
        if (name != null && this.preloadValues.get((Object)name) != null && !jsonObject.has("bindRef")) {
            this.jsonWriter.key("_value").value(this.preloadValues.get((Object)name));
        }
    }
}