LaunchesReferenceProvider.java 1.79 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.cq.launches.api.Launch
 *  com.adobe.cq.launches.api.LaunchManager
 *  com.adobe.granite.references.Reference
 *  com.adobe.granite.references.ReferenceProvider
 *  org.apache.felix.scr.annotations.Component
 *  org.apache.felix.scr.annotations.Service
 *  org.apache.sling.api.resource.Resource
 *  org.apache.sling.api.resource.ResourceResolver
 */
package com.adobe.cq.wcm.launches.impl.references;

import com.adobe.cq.launches.api.Launch;
import com.adobe.cq.launches.api.LaunchManager;
import com.adobe.cq.wcm.launches.utils.LaunchUtils;
import com.adobe.granite.references.Reference;
import com.adobe.granite.references.ReferenceProvider;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;

@Component(metatype=0)
@Service(value={ReferenceProvider.class})
public class LaunchesReferenceProvider
implements ReferenceProvider {
    public static final String REFERENCE_TYPE = "launch";

    public List<Reference> getReferences(Resource resource) {
        ResourceResolver resolver = resource.getResourceResolver();
        LaunchManager launchManager = (LaunchManager)resolver.adaptTo(LaunchManager.class);
        Collection launches = launchManager.getLaunches(resource);
        ArrayList<Reference> references = new ArrayList<Reference>();
        for (Launch launch : launches) {
            references.add(new Reference(resource, LaunchUtils.getLaunchResource(launch, resource), "launch"));
        }
        return references;
    }

    public String getType() {
        return "launch";
    }
}