⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 requestsconfig.java

📁 OPIAM stands for Open Identity and Access Management. This Suite will provide modules for user & rig
💻 JAVA
字号:
/*
 * OPIAM Suite
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */

package opiam.admin.faare.struts.service;

import opiam.admin.faare.struts.service.beans.JBRequests;

import org.apache.commons.digester.Digester;

import org.apache.log4j.Logger;

import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

import java.io.IOException;
import java.io.InputStream;


/**
 * Search requests sub-service configuration file loading from the XML file.
 *
 * The XML file must contain the following lines :
 * <code><br>
 * &lt;!DOCTYPE mapping PUBLIC<br>
 *         "-//OPIAM ADMIN//DTD Requests Configuration 1.0//EN"<br>
 *         "http://www.opiam.org/admin/dtd/struts_conf.dtd"&gt;<br>
 * </code><br>
 *
 * The second line is registered to the digester (it does not need to be an actual URL). *
 */
public final class RequestsConfig implements ErrorHandler
{
    /** Log4J. */
    private static Logger _logger = Logger.getLogger(RequestsConfig.class.getName());

    /** DOCTYPE key. */
    public static final String STRUTS_CONFIG_DTD_KEY = "-//OPIAM ADMIN//DTD Struts Requests Configuration 1.0//EN";

    /** DOCTYPE URL. */
    public static final String STRUTS_CONFIG_DTD_URL = "/config/service/struts/requests_conf.dtd";

    /** XML Parser. */
    private static Digester _digester = null;

    /** Current instance. */
    private static RequestsConfig _instance = null;

    /** Parser exception. */
    private static SAXParseException _saxParseException = null;

    /**
     * Constructor for ProfilesDigester.
     */
    private RequestsConfig()
    {
        super();
    }

    /**
     * Digester initialization with DTD fields.
     */
    private static void initProfileDigester()
    {
        _saxParseException = null;
        _digester = new Digester();

        _digester.setErrorHandler(_instance);
        _digester.setValidating(true);
        _digester.register(STRUTS_CONFIG_DTD_KEY,
            RequestsConfig.class.getResource(STRUTS_CONFIG_DTD_URL).toString());

        _digester.addObjectCreate("requests",
            "opiam.admin.faare.struts.service.beans.JBRequests");

        _digester.addObjectCreate("requests/request",
            "opiam.admin.faare.struts.service.beans.JBRequest");
        _digester.addSetNext("requests/request", "addRequest",
            "opiam.admin.faare.struts.service.beans.JBRequest");
        _digester.addSetProperties("requests/request");

        _digester.addObjectCreate("requests/request/ressource_request",
            "opiam.admin.faare.struts.service.beans.JBRessourceRequest");
        _digester.addSetNext("requests/request/ressource_request",
            "addRessourceRequest",
            "opiam.admin.faare.struts.service.beans.JBRessourceRequest");
        _digester.addSetProperties("requests/request/ressource_request");

        _digester.addObjectCreate("requests/request/ressource_request/formfield",
            "opiam.admin.faare.struts.service.beans.JBFormField");
        _digester.addSetNext("requests/request/ressource_request/formfield",
            "addForm", "opiam.admin.faare.struts.service.beans.JBFormField");
        _digester.addSetProperties(
            "requests/request/ressource_request/formfield");

        _digester.addCallMethod("requests/request/ressource_request/formfield/beanfield",
            "addBeanFieldString", 1);
        _digester.addCallParam("requests/request/ressource_request/formfield/beanfield",
            0);

//DW/2630/BeginPatch
        _digester.addObjectCreate("requests/request/resource_request",
            "opiam.admin.faare.struts.service.beans.JBRessourceRequest");
        _digester.addSetNext("requests/request/resource_request",
            "addRessourceRequest",
            "opiam.admin.faare.struts.service.beans.JBRessourceRequest");
        _digester.addSetProperties("requests/request/resource_request");

        _digester.addObjectCreate("requests/request/resource_request/formfield",
            "opiam.admin.faare.struts.service.beans.JBFormField");
        _digester.addSetNext("requests/request/resource_request/formfield",
            "addForm", "opiam.admin.faare.struts.service.beans.JBFormField");
        _digester.addSetProperties(
            "requests/request/resource_request/formfield");

        _digester.addCallMethod("requests/request/resource_request/formfield/beanfield",
            "addBeanFieldString", 1);
        _digester.addCallParam("requests/request/resource_request/formfield/beanfield",
            0);
//DW/2630/EndPatch
    }

    /**
     * Gets RequestsConfig instance.
     *
     * @return RequestsConfig instance
     */
    public static RequestsConfig getInstance()
    {
        if (_instance == null)
        {
            _instance = new RequestsConfig();
            initProfileDigester();
        }

        return _instance;
    }

    /**
     * Gets requests config.
     *
     * @param in configuration stream
     *
     * @return Requests config
     *
     * @throws IOException exception while reading stream.
     * @throws SAXException exception while parsing data.
     */
    public JBRequests readConfig(InputStream in)
        throws IOException, SAXException
    {
        JBRequests result = null;
        result = (JBRequests) _digester.parse(in);

        if (_saxParseException != null)
        {
            _logger.debug("Exception : " + _saxParseException.getMessage());
            throw new SAXException(_saxParseException.getMessage());
        }

        return result;
    }

    /**
     * Parsing error callback.
     *
     * @param saxParseException parsing exception
     */
    public void error(SAXParseException saxParseException)
    {
        _logger.debug(" error exception!!!!!!!!!!!!!!!");
        _saxParseException = saxParseException;
    }

    /**
     * Parsing fatal error callback.
     *
     * @param saxParseException parsing exception
     */
    public void fatalError(SAXParseException saxParseException)
    {
        _logger.debug("fatalError exception!!!!!!!!!!!!!!!");
        _saxParseException = saxParseException;
    }

    /**
     * Parsing warning callback.
     *
     * @param saxParseException parsing exception
     */
    public void warning(SAXParseException saxParseException)
    {
        _logger.debug("warning : " + saxParseException.getMessage());
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -