BrightEdgeSettingsProvider.java 3.23 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.day.cq.wcm.webservicesupport.Configuration
 *  com.day.cq.wcm.webservicesupport.ConfigurationManager
 *  com.day.cq.wcm.webservicesupport.ConfigurationManagerFactory
 *  org.apache.felix.scr.annotations.Component
 *  org.apache.felix.scr.annotations.Reference
 *  org.apache.felix.scr.annotations.Service
 *  org.apache.sling.api.resource.Resource
 *  org.apache.sling.api.resource.ResourceResolver
 *  org.apache.sling.api.resource.ValueMap
 *  org.apache.sling.api.wrappers.ValueMapDecorator
 */
package com.adobe.cq.contentinsight.impl;

import com.adobe.cq.contentinsight.ProviderSettingsProvider;
import com.adobe.cq.contentinsight.impl.ConfigurationUtil;
import com.day.cq.wcm.webservicesupport.Configuration;
import com.day.cq.wcm.webservicesupport.ConfigurationManager;
import com.day.cq.wcm.webservicesupport.ConfigurationManagerFactory;
import java.util.HashMap;
import java.util.Map;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.api.wrappers.ValueMapDecorator;

@Component(metatype=0, label="BrightEdge SEO settings provider", description="Provides configured settings for BrightEdge SEO service.")
@Service
public class BrightEdgeSettingsProvider
implements ProviderSettingsProvider {
    @Reference
    private ConfigurationManagerFactory configurationManagerFactory;

    @Override
    public String getName() {
        return "brightedge";
    }

    @Override
    public ValueMap getSettings(Resource resource) {
        HashMap<String, Object> settings = new HashMap<String, Object>();
        boolean active = false;
        ConfigurationManager mgr = this.configurationManagerFactory.getConfigurationManager(resource.getResourceResolver());
        Configuration configuration = ConfigurationUtil.findConfiguration(mgr, resource, "brightedge");
        if (configuration != null) {
            settings.put("defaultLink", configuration.getInherited("serviceAdminUrl", (Object)""));
            active = true;
        }
        settings.put("url", resource.getResourceResolver().map("/libs/cq/contentinsight/content/proxy.brightedge.json"));
        settings.put("active", active);
        return new ValueMapDecorator(settings);
    }

    @Override
    public boolean isActive(Resource resource) {
        ConfigurationManager mgr = this.configurationManagerFactory.getConfigurationManager(resource.getResourceResolver());
        Configuration configuration = ConfigurationUtil.findConfiguration(mgr, resource, "brightedge");
        return configuration != null;
    }

    protected void bindConfigurationManagerFactory(ConfigurationManagerFactory configurationManagerFactory) {
        this.configurationManagerFactory = configurationManagerFactory;
    }

    protected void unbindConfigurationManagerFactory(ConfigurationManagerFactory configurationManagerFactory) {
        if (this.configurationManagerFactory == configurationManagerFactory) {
            this.configurationManagerFactory = null;
        }
    }
}