DoRImageChoiceElement.java 2.12 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.aemds.guide.addon.dor.DoRUtils
 *  com.adobe.xfa.Element
 *  com.adobe.xfa.Node
 *  com.adobe.xfa.content.Content
 *  com.adobe.xfa.template.Value
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 */
package com.adobe.aemds.guide.addon.dor.elements;

import com.adobe.aemds.guide.addon.dor.DoRUtils;
import com.adobe.aemds.guide.addon.dor.elements.DoRCheckBoxElement;
import com.adobe.xfa.Element;
import com.adobe.xfa.Node;
import com.adobe.xfa.content.Content;
import com.adobe.xfa.template.Value;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DoRImageChoiceElement
extends DoRCheckBoxElement {
    private static Logger logger = LoggerFactory.getLogger(DoRImageChoiceElement.class);

    public DoRImageChoiceElement(Element xfaElement) throws Exception {
        super(xfaElement);
    }

    @Override
    protected void initNameIdentifiers() {
        this.CHECKBOXTITLE_NAME = "AF_IMAGECHOICETITLE";
        this.CHECKBUTTON_NAME = "AF_IMAGECHOICEBUTTON";
    }

    @Override
    protected void applyOptionsProperty(Map<String, String> map) {
        String name = this.xfaElement.getName();
        Element checkButton = (Element)this.xfaElement.resolveNode(this.CHECKBUTTON_NAME);
        LinkedList<Element> listOfChildren = new LinkedList<Element>();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            Element checkButtonElement = checkButton.clone(null, true);
            Value valueNode = (Value)checkButtonElement.resolveNode("#caption.#value");
            Node childNode = valueNode.getOneOfChild();
            DoRUtils.setValue((Content)((Content)childNode), (String)entry.getKey(), (String)null);
            checkButtonElement.setName(name + entry.getKey());
            listOfChildren.add(checkButtonElement);
        }
        for (int i = listOfChildren.size() - 1; i >= 0; --i) {
            this.xfaElement.appendChild((Node)listOfChildren.get(i));
        }
        listOfChildren.clear();
        checkButton.remove();
    }
}