📄 logmodelproducer.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 + -