ConfigPropertiesServiceImpl.java 2.08 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.aemds.guide.addon.dor.DoRThreadLocal
 *  com.adobe.aemds.guide.addon.dor.DoRUtils
 *  com.adobe.aemds.guide.addon.dor.MetaTemplate
 *  com.adobe.aemds.guide.dor.ConfigPropertiesService
 *  org.apache.felix.scr.annotations.Component
 *  org.apache.felix.scr.annotations.Service
 *  org.apache.sling.api.resource.ResourceResolver
 *  org.apache.sling.commons.json.JSONObject
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 */
package com.adobe.aemds.guide.addon.dor.service.impl;

import com.adobe.aemds.guide.addon.dor.DoRThreadLocal;
import com.adobe.aemds.guide.addon.dor.DoRUtils;
import com.adobe.aemds.guide.addon.dor.MetaTemplate;
import com.adobe.aemds.guide.dor.ConfigPropertiesService;
import java.io.IOException;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Component
@Service(value={ConfigPropertiesService.class})
public class ConfigPropertiesServiceImpl
implements ConfigPropertiesService {
    private static Logger logger = LoggerFactory.getLogger(ConfigPropertiesServiceImpl.class);

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public JSONObject getConfigProperties(ResourceResolver resourceResolver, String metaTemplateRef) {
        JSONObject configProperties = null;
        try {
            DoRThreadLocal.setResourceResolver((ResourceResolver)resourceResolver);
            MetaTemplate metaTemplate = DoRUtils.getMetaTemplate((String)metaTemplateRef);
            configProperties = metaTemplate.getConfigProperties();
        }
        catch (IOException ioException) {
            logger.error("Error while extracting configuration properties from meta-template: " + metaTemplateRef, (Throwable)ioException);
        }
        finally {
            DoRThreadLocal.removeResourceResolver();
        }
        return configProperties;
    }
}