GuideAdModuleGroup.java 4.33 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.aemds.guide.common.GuideNode
 *  com.adobe.aemds.guide.service.GuideModuleImporter
 *  com.adobe.aemds.guide.utils.GuideUtils
 *  com.adobe.icc.ddg.api.HTML5ModuleResolverService
 *  com.adobe.icc.ddg.api.HTML5ModuleResolverService$ResolutionType
 *  fiber.core.util.StringUtils
 *  org.apache.sling.api.SlingHttpServletRequest
 *  org.apache.sling.api.resource.Resource
 *  org.apache.sling.api.resource.ResourceResolver
 *  org.apache.sling.api.resource.ValueMap
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 */
package com.adobe.fd.adaddon.common;

import com.adobe.aemds.guide.common.GuideNode;
import com.adobe.aemds.guide.service.GuideModuleImporter;
import com.adobe.aemds.guide.utils.GuideUtils;
import com.adobe.fd.adaddon.common.GuideAdModule;
import com.adobe.icc.ddg.api.HTML5ModuleResolverService;
import fiber.core.util.StringUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.script.Bindings;
import javax.script.SimpleBindings;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class GuideAdModuleGroup
extends GuideNode
implements Serializable {
    private static Logger logger = LoggerFactory.getLogger(GuideAdModuleGroup.class);
    private GuideModuleImporter guideModuleImporter = null;

    private String getLetterRef() {
        String guideContainerPath;
        Resource guideContainerResource;
        String letterRef = "";
        if (this.slingRequest != null && !StringUtils.isEmpty((String)(guideContainerPath = GuideUtils.getGuideContainerPath((SlingHttpServletRequest)this.slingRequest, (Resource)this.getResource()))) && (guideContainerResource = this.getResource().getResourceResolver().getResource(guideContainerPath)) != null) {
            ValueMap containerValueMap = guideContainerResource.getValueMap();
            letterRef = (String)containerValueMap.get("letterRef", (Object)"");
        }
        return letterRef;
    }

    public String getGuideNodeType() {
        return "guideAdModuleGroup";
    }

    public List<GuideNode> getItems() {
        Resource moduleGroup = this.getResource();
        ArrayList<GuideNode> guideNodes = new ArrayList<GuideNode>();
        Resource moduleGroupItems = moduleGroup.getChild("items");
        if (moduleGroupItems != null) {
            for (Resource moduleResource : moduleGroupItems.getChildren()) {
                GuideAdModule guideAdModule = new GuideAdModule();
                SimpleBindings bindings = new SimpleBindings();
                bindings.put("resource", (Object)moduleResource);
                bindings.put("request", (Object)this.slingRequest);
                guideAdModule.init((Bindings)bindings);
                guideNodes.add(guideAdModule);
            }
        }
        return guideNodes;
    }

    public boolean getHasAssetRef() {
        String assetRef = (String)this.resourceProps.get("assetRef", String.class);
        if (!StringUtils.isEmpty((String)assetRef)) {
            return true;
        }
        return false;
    }

    public String getSummaryContent() {
        String resolvedHTML = "";
        if (this.guideModuleImporter == null) {
            this.guideModuleImporter = GuideUtils.getGuideModuleImporter((SlingHttpServletRequest)this.slingRequest);
        }
        if (this.guideModuleImporter != null) {
            String assetRef = (String)this.resourceProps.get("assetRef", String.class);
            HashMap<String, String> moduleParameter = new HashMap<String, String>();
            String letterRef = this.getLetterRef();
            if (!StringUtils.isEmpty((String)letterRef) && !StringUtils.isEmpty((String)assetRef)) {
                moduleParameter.put("letterRef", letterRef);
                moduleParameter.put("resolutionType", (String)HTML5ModuleResolverService.ResolutionType.SUMMARY);
                resolvedHTML = this.guideModuleImporter.getModuleGroupResolution(assetRef, moduleParameter);
            }
        } else {
            logger.error("getSummaryContent: guideModuleImporter is null ");
        }
        return resolvedHTML;
    }
}