📄 xmldatapropertyhandler.java
字号:
* 嫟捠僨乕僞儕僜乕僗忣曬傪傕偮儌僨儖傪嶌惉偟傑偡丅
* @param xmlFileName丂嫟捠儕僜乕僗僨乕僞偑彂偐傟偨XML僼傽僀儖
* @return 嫟捠儕僜乕僗僨乕僞偺Map
* @throws DataPropertyException
*/
private Map createConnectorModels(String xmlFileName)
throws DataPropertyException {
try {
CommonDataModelProducer producer = new CommonDataModelProducer();
Map result = producer.createConnectorModels(xmlFileName.replace('\\', '/'));
return result;
} catch (ParserConfigurationException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (SAXException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (IOException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (IllegalArgumentException e) {
throw new DataPropertyException(e.getMessage(), e);
}
}
/**
* 嫟捠偺僐僱僋僞偺僷儔儊乕僞傪帩偮儅僢僾傪嶌惉偡傞
* @param xmlFileName丂嫟捠儕僜乕僗僨乕僞偑彂偐傟偨XML僼傽僀儖
* @return 嫟捠僐僱僋僞僷儔儊乕僞偺Map
* @throws DataPropertyException
*/
private Map createResourceModels(String xmlFileName)
throws DataPropertyException {
try {
CommonDataModelProducer producer = new CommonDataModelProducer();
Map result = producer.createResourceModels(xmlFileName.replace('\\', '/'));
return result;
} catch (ParserConfigurationException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (SAXException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (IOException e) {
throw new DataPropertyException(e.getMessage(), e);
} catch (IllegalArgumentException e) {
throw new DataPropertyException(e.getMessage(), e);
}
}
/**
* 僾儘僷僥傿僴儞僪儔傪弶婜壔偟傑偡丅
*
* @param params 弶婜僷儔儊乕僞
* @throws PropertyHandlerException 僾儘僷僥傿僴儞僪儔偺弶婜壔帪偵椺奜偑敪惗
*/
public void init(PropertyParam[] params) throws PropertyHandlerException {
String xmlPrefix = null;
String dynamic = null;
if (params != null) {
for (int i = 0; i < params.length; i++) {
if (params[i].getName().equals(DEFAULT_BUNDLE_NAME_PARAM)) {
xmlPrefix = params[i].getValue();
} else if (params[i].getName().equals(PARAM_DYNAMIC)) {
// 嵞愝掕壜擻僼儔僌偺応崌
dynamic = params[i].getValue();
}
}
}
if (xmlPrefix == null) {
xmlPrefix = DEFAULT_BUNDLE_NAME;
}
// 僾儗僼傿僢僋僗偺愝掕
setXMLPrefix(xmlPrefix);
// 嵞愝掕壜擻僼儔僌偺愝掕
Boolean dummyDynamic = new Boolean(dynamic);
setDynamic(dummyDynamic.booleanValue());
try {
if(!isDynamic()) {
setCommonDataModels(createConnectorModels(getXMLPrefix()));
setResourceParams(createResourceModels(getXMLPrefix()));
}
} catch (Exception e) {
throw new PropertyHandlerException(e.getMessage(), e);
}
}
/**
* 嵞愝掕壜擻乛晄壜擻傪愝掕偟傑偡丅
*
* @param dynamic true 嵞愝掕壜擻丄false 嵞愝掕晄壜
*
* @uml.property name="dynamic"
*/
private void setDynamic(boolean dynamic) {
this.dynamic = dynamic;
}
/**
* 僾儘僷僥傿偺摦揑撉傒崬傒偑壜擻偐偳偆偐挷傋傑偡丅
* 偙偺僋儔僗偱偼偙偺儊僜僢僪偼忢偵false傪曉偟傑偡丅
*
* @return 忢偵false
* @throws DataPropertyException 僠僃僢僋帪偵椺奜偑敪惗
* @since 3.2
*/
public boolean isDynamic() throws DataPropertyException {
return this.dynamic;
}
/**
* DAO偺僋儔僗柤傪庢摼偟傑偡丅
* <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨DAO偺僋儔僗柤傪庢摼偟傑偡丅
*
* @param application 傾僾儕働乕僔儑儞ID
* @param key DAO偺僉乕
* @param connect 愙懕忣曬
* @return DAO偺僋儔僗柤
* @throws DataPropertyException DAO偺僋儔僗柤偺庢摼偵幐攕
*/
public String getDAOName(String application, String key, String connect)
throws DataPropertyException {
DaoGroupModel model = getDaoGroupModel(application, key);
String daoName = null;
if (connect != null) {
daoName = model.getDAOName(connect);
} else {
DaoModel dao = model.getDefaultDao();
daoName = dao.getDaoClass();
}
if (daoName == null || daoName.equals("")) {
String message = null;
try {
ResourceBundle messageBundle =
ResourceBundle.getBundle(
"jp.co.intra_mart.framework.base.data.i18n");
message =
messageBundle.getString(
"ResourceBundleDataPropertyHandlerUtil.param.DAOClassNotDeclared");
} catch (MissingResourceException exc) {
}
throw new DataPropertyException(
message
+ " : application = "
+ application
+ ", key = "
+ key
+ ", connect = "
+ connect);
}
return daoName;
}
/**
* DAO偵懳偡傞僨乕僞僐僱僋僞柤傪庢摼偟傑偡丅
* <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨DAO偺僨乕僞僐僱僋僞柤傪庢摼偟傑偡丅
* 懳墳偡傞僨乕僞僐僱僋僞柤偑巜掕偝傟偰偄側偄応崌丄null偑曉傝傑偡丅
*
* @param application 傾僾儕働乕僔儑儞ID
* @param key DAO偺僉乕
* @param connect 愙懕忣曬
* @return 僨乕僞僐僱僋僞偺柤慜
* @throws DataPropertyException 僨乕僞僐僱僋僞柤偺庢摼帪偵椺奜偑敪惗
*/
public String getConnectorName(
String application,
String key,
String connect)
throws DataPropertyException {
DaoGroupModel model = getDaoGroupModel(application, key);
return model.getConnectorName(connect);
}
/**
* 僨乕僞僐僱僋僞偺僋儔僗柤傪庢摼偟傑偡丅
* <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨僨乕僞僐僱僋僞偺僋儔僗柤傪庢摼偟傑偡丅
*
* @param connectorName 僨乕僞僐僱僋僞柤
* @return 僨乕僞僐僱僋僞偺僋儔僗柤
* @throws DataPropertyException 僨乕僞僐僱僋僞偺僋儔僗柤偺庢摼偵幐攕
*/
public String getConnectorClassName(String connectorName)
throws DataPropertyException {
ConnectorModel connector = getConnectorModel(connectorName);
if (connector == null) {
String message = null;
try {
message =
ResourceBundle.getBundle(
"jp.co.intra_mart.framework.base.data.i18n").getString(
"ResourceBundleDataPropertyHandlerUtil.param.ConnectorClassNotDeclared");
} catch (MissingResourceException e) {
}
throw new DataPropertyException(
message + " : Connector name = " + connectorName);
}
return connector.getConnectorClassName();
}
/**
* 僨乕僞僐僱僋僞偺儕僜乕僗柤傪庢摼偟傑偡丅
* <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨僨乕僞僐僱僋僞偺儕僜乕僗柤傪庢摼偟傑偡丅
* 懳墳偡傞儕僜乕僗柤偑側偄応崌丄null傪曉偟傑偡丅
*
* @param connectorName 僨乕僞僐僱僋僞柤
* @return 僨乕僞僐僱僋僞偺儕僜乕僗柤
* @throws DataPropertyException 僨乕僞僐僱僋僞偺儕僜乕僗柤偺庢摼帪偵椺奜偑敪惗
*/
public String getConnectorResource(String connectorName)
throws DataPropertyException {
ConnectorModel connector = getConnectorModel(connectorName);
if (connector == null) {
return null;
}
return connector.getConnectorResource();
}
/**
* 儕僜乕僗偺僷儔儊乕僞傪庢摼偟傑偡丅
* name偱巜掕偝傟偨儕僜乕僗偺僷儔儊乕僞傪庢摼偟傑偡丅
*
* @param name 儕僜乕僗柤
* @return 儕僜乕僗偺僷儔儊乕僞
* @throws DataPropertyException 儕僜乕僗偺僷儔儊乕僞偺庢摼帪偵椺奜偑敪惗
*/
public ResourceParam[] getResourceParams(String name)
throws DataPropertyException {
Map resources = getResources();
ResourceModel resource = (ResourceModel) resources.get(name);
if (resource == null) {
return new ResourceParam[0];
}
ResourceParam[] params = resource.getParams();
if (params == null) {
return new ResourceParam[0];
} else {
return params;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -