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

📄 logmodelproducer.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * 嶌惉擔: 2003/12/25
 */
package jp.co.intra_mart.framework.system.log;

import java.io.IOException;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

import javax.xml.parsers.ParserConfigurationException;

import jp.co.intra_mart.framework.util.XMLDocumentProducer;
import jp.co.intra_mart.framework.util.XMLNode;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;

/**
 * 儘僌儌僨儖傪嶌惉偡傞僋儔僗偱偡丅
 * @author INTRAMART
 * @version 1.0
 */
class LogModelProducer {

    /**
     * 儘僌儌僨儖傪嶌惉偟傑偡丅
     * @param fileName丂XML僼傽僀儖
     * @return
     * @throws ParserConfigurationException
     * @throws SAXException
     * @throws IOException
     * @throws LogPropertyException
     * @throws IllegalArgumentException
     */
    LogModel createLogModel(String fileName)
        throws
            ParserConfigurationException,
            SAXException,
            LogPropertyException,
            IOException,
            IllegalArgumentException {
        XMLDocumentProducer producer = new XMLDocumentProducer();
        Document doc = producer.getDocument(fileName);
        Node node = producer.getRoot(doc);
        XMLNode root = new XMLNode(node);
        LogModel model = getLogModel(root);
        return model;
    }

    /**
     * 僲乕僪偐傜抣傪庢傝弌偟丄偦偺抣傪LogModel偵僙僢僩偟傑偡丅
     * @param node
     * @param model
     * @throws LogPropertyException
     */
    private LogModel getLogModel(XMLNode node)
        throws LogPropertyException {
        LogModel model = new LogModel();
        model.setLogAgentName(getLogAgentName(node));
        model.setLogAgentParams(getLogAgentParams(node));
        return model;
    }

    /**
     * 僲乕僪偐傜LogAgent柤傪庢摼偟傑偡丅
     * @param node
     * @return
     * @throws LogPropertyException
     */
    private String getLogAgentName(XMLNode node) throws LogPropertyException {
        String logAgentName = node.getString(LogModel.P_ID_AGENT_NAME);
        if (logAgentName == null || logAgentName.equals("")) {
            return null;
        }
        return logAgentName;
    }

    /**
     * LogAgentParam傪庢摼偟傑偡丅
     * @param root丂XML僼傽僀儖偺儖乕僩僲乕僪
     * @return
     * @throws LogPropertyException
     */
    private LogAgentParam[] getLogAgentParams(XMLNode root)
        throws LogPropertyException {
        XMLNode[] paramNodes = root.select(LogModel.P_ID_INIT_PARAM);
        LogAgentParam[] params = new LogAgentParam[paramNodes.length];

        for (int i = 0; i < params.length; i++) {
            params[i] = getLogAgentParam(paramNodes[i]);
        }
        return params;
    }

    /**
     * LogAgentParam傪庢摼偟傑偡丅
     * @param paramNode丂僷儔儊乕僞僲乕僪
     * @param param丂LogAgentParam僆僽僕僃僋僩
     */
    private LogAgentParam getLogAgentParam(XMLNode paramNode)
        throws LogPropertyException {
        LogAgentParam param = new LogAgentParam();
        param.setName(getLogAgentParamName(paramNode));
        param.setValue(getLogAgentParamValue(paramNode));
        return param;
    }

    /**
     * 僷儔儊乕僞僲乕僪偐傜僷儔儊乕僞柤傪庢摼偟傑偡丅
     * @param  paramNode丂僷儔儊乕僞僲乕僪
     * @return String 僷儔儊乕僞柤
     * @throws DataPropertyException
     */
    private String getLogAgentParamName(XMLNode paramNode)
        throws LogPropertyException {
        String paramName = paramNode.getString(LogModel.P_ID_PARAM_NAME);
        if (paramName == null || paramName.equals("")) {
            String message = null;
            try {
                message =
                    message =
                        ResourceBundle
                            .getBundle("jp.co.intra_mart.framework.system.log.i18n")
                            .getString("LogManager.FailedToGetAgentParameters");
            } catch (MissingResourceException ex) {
            }
            throw new LogPropertyException(message);
        }
        return paramName;
    }

    /**
     * 僷儔儊乕僞僲乕僪偐傜僷儔儊乕僞抣傪庢摼偟傑偡丅
     * @param paramNode 僷儔儊乕僞僲乕僪
     * @return String 僷儔儊乕僞抣
     * @throws LogPropertyException
     */
    private String getLogAgentParamValue(XMLNode paramNode)
        throws LogPropertyException {
        String paramValue = paramNode.getString(LogModel.P_ID_PARAM_VALUE);
        if (paramValue == null || paramValue.equals("")) {
            String message = null;
            try {
                message =
                    message =
                        ResourceBundle
                            .getBundle("jp.co.intra_mart.framework.system.log.i18n")
                            .getString("LogManager.FailedToGetAgentParameters");
            } catch (MissingResourceException ex) {
            }
            throw new LogPropertyException(message);
        }
        return paramValue;
    }
}

⌨️ 快捷键说明

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