GuideItemsContainer.java 2.58 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  org.apache.commons.lang.StringUtils
 *  org.apache.sling.api.SlingHttpServletRequest
 *  org.apache.sling.api.resource.Resource
 *  org.apache.sling.api.resource.ResourceResolver
 *  org.apache.sling.api.resource.ValueMap
 */
package com.adobe.aemds.guide.common;

import com.adobe.aemds.guide.common.GuideNode;
import com.adobe.aemds.guide.common.GuidePanel;
import com.adobe.aemds.guide.utils.GuideUtils;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
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;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public class GuideItemsContainer
extends GuideNode {
    @Override
    public List<GuideNode> getItems() {
        String fragRef = (String)((ValueMap)this.resource.adaptTo(ValueMap.class)).get("fragRef", (Object)"");
        Resource items = null;
        if (fragRef.length() > 0) {
            GuidePanel fragRefRootPanel;
            fragRef = StringUtils.replace((String)fragRef, (String)"/content/dam/formsanddocuments/", (String)"/content/forms/af/", (int)1);
            fragRef = GuideUtils.convertFMAssetPathToContainerPath(fragRef);
            ResourceResolver resourceResolver = this.resource.getResourceResolver();
            Resource fragRefContainer = resourceResolver.getResource(fragRef);
            if (fragRefContainer != null && (fragRefRootPanel = GuideUtils.getRootPanel(fragRefContainer, this.slingRequest)) != null) {
                Resource fragRefRootPanelResource = fragRefRootPanel.getResource();
                items = fragRefRootPanelResource.getChild("items");
            }
        } else {
            items = this.resource.getChild("items");
        }
        ArrayList<GuideNode> panelItems = new ArrayList<GuideNode>();
        if (items != null) {
            for (Resource itemChild : items.getChildren()) {
                GuideNode newNode = null;
                String normalizedNodeType = GuideUtils.getNormalizedNodeType(itemChild.getResourceType(), itemChild.getResourceSuperType());
                newNode = "fd/af/components/panel".equals(normalizedNodeType) ? new GuidePanel() : new GuideNode();
                newNode.setResource(itemChild);
                newNode.setSlingRequest(this.slingRequest);
                panelItems.add(newNode);
            }
        }
        return panelItems;
    }
}