jp.or.openid.eiwg.listener.InitListener.java Source code

Java tutorial

Introduction

Here is the source code for jp.or.openid.eiwg.listener.InitListener.java

Source

/**
 *
 * ??
 *          InitListener
 *
 * ?
 *          Web????
 *
 * 
 *          Copyright (c) 2015 OpenID Foundation Japan.
 *          This is released under the MIT License, see LICENSE file.
 */
package jp.or.openid.eiwg.listener;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * Listener implementation class InitListener
 */
@WebListener
public class InitListener implements ServletContextListener {

    /**
     * Web???
     *
     * @param contextEvent 
     */
    @Override
    public void contextInitialized(ServletContextEvent contextEvent) {

        // ?
        ServletContext context = contextEvent.getServletContext();

        // ??DBLDAP????
        // ????????
        ObjectMapper mapper = new ObjectMapper();

        Map<String, Object> serviceProviderConfigs = null;
        ArrayList<LinkedHashMap<String, Object>> resourceTypes = null;
        ArrayList<LinkedHashMap<String, Object>> schemas = null;
        ArrayList<LinkedHashMap<String, Object>> users = null;

        // ?(ServiceProviderConfigs.json)??
        try {
            serviceProviderConfigs = mapper.readValue(
                    new File(context.getRealPath("/WEB-INF/ServiceProviderConfigs.json")),
                    new TypeReference<LinkedHashMap<String, Object>>() {
                    });
        } catch (IOException e) {
            e.printStackTrace();
        }

        // (ResourceTypes.json)??
        try {
            resourceTypes = mapper.readValue(new File(context.getRealPath("/WEB-INF/ResourceTypes.json")),
                    new TypeReference<ArrayList<LinkedHashMap<String, Object>>>() {
                    });
        } catch (IOException e) {
            e.printStackTrace();
        }

        // (Schemas.json)??
        try {
            schemas = mapper.readValue(new File(context.getRealPath("/WEB-INF/Schemas.json")),
                    new TypeReference<ArrayList<LinkedHashMap<String, Object>>>() {
                    });
        } catch (IOException e) {
            e.printStackTrace();
        }

        // ??
        try {
            users = mapper.readValue(new File(context.getRealPath("/WEB-INF/Users.json")),
                    new TypeReference<ArrayList<LinkedHashMap<String, Object>>>() {
                    });
        } catch (IOException e) {
            e.printStackTrace();
        }

        // ?
        context.setAttribute("ServiceProviderConfigs", serviceProviderConfigs);
        context.setAttribute("ResourceTypes", resourceTypes);
        context.setAttribute("Schemas", schemas);
        context.setAttribute("Users", users);
    }

    /**
     * Web??
     *
     * @param contextEvent 
     */
    @Override
    public void contextDestroyed(ServletContextEvent contextEvent) {

    }
}