ServiceLoginUtil.java 1.94 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  javax.jcr.RepositoryException
 *  javax.jcr.Session
 *  org.apache.sling.api.resource.LoginException
 *  org.apache.sling.api.resource.ResourceResolver
 *  org.apache.sling.api.resource.ResourceResolverFactory
 *  org.apache.sling.jcr.api.SlingRepository
 */
package com.adobe.granite.taskmanagement.impl.workflow.utils;

import java.util.Collections;
import java.util.Map;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.jcr.api.SlingRepository;

public class ServiceLoginUtil {
    private static final String WORKFLOW_SERVICE = "workflow";
    private static final String TASKMANAGEMENT_SERVICE = "taskmanagement";

    public static Session createWorkflowSession(SlingRepository repository) {
        try {
            return repository.loginService("workflow", null);
        }
        catch (RepositoryException e) {
            throw new RuntimeException("Unable to create workflow service session.", (Throwable)e);
        }
    }

    public static Session createTaskmanagementSession(SlingRepository repository) {
        try {
            return repository.loginService("taskmanagement", null);
        }
        catch (RepositoryException e) {
            throw new RuntimeException("Unable to create taskamnagement service session.", (Throwable)e);
        }
    }

    public static ResourceResolver createTaskmanagementServiceResolver(ResourceResolverFactory factory) {
        try {
            return factory.getServiceResourceResolver(Collections.singletonMap("sling.service.subservice", "taskmanagement"));
        }
        catch (LoginException e) {
            throw new RuntimeException("Unable to create taskmanagement service resolver.", (Throwable)e);
        }
    }
}