ClientContextUtil.java 1.69 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.day.text.Text
 *  org.apache.sling.api.resource.Resource
 *  org.apache.sling.api.resource.ResourceResolver
 */
package com.day.cq.personalization;

import com.day.text.Text;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

public class ClientContextUtil {
    public static List<String> getPlugins(ResourceResolver resourceResolver, String[] locations) {
        HashMap<String, String> cache = new HashMap<String, String>();
        ArrayList<String> res = new ArrayList<String>();
        for (int i = 0; i < locations.length; ++i) {
            Resource libPlugins = resourceResolver.getResource(locations[i]);
            if (libPlugins == null) continue;
            Iterator it = resourceResolver.listChildren(libPlugins);
            while (it.hasNext()) {
                Resource plugin = (Resource)it.next();
                String name = Text.getName((String)plugin.getPath());
                if (name.indexOf(".js") == -1) continue;
                if (cache.containsKey(name)) {
                    res.remove(cache.get(name));
                }
                cache.put(name, plugin.getPath());
                res.add(plugin.getPath());
            }
        }
        return res;
    }

    public static String getId(String idToFilter) {
        if (idToFilter != null) {
            String id = idToFilter.replace('/', '_');
            id = id.replace(':', '_');
            id = id.replace(' ', '_');
            return id;
        }
        return "";
    }
}