public Object getAttribute(String name,
Configuration modeConf,
Map objectModel) throws ConfigurationException {
if (!this.initialized) {
this.lazy_initialize();
}
if (this.defaultInput == null) {
if (getLogger().isWarnEnabled())
getLogger().warn("No input module given. FAILING");
return null;
}
// obtain correct configuration objects
// default vs dynamic
String inputName=null;
String objectName = this.objectName;
String parameter = this.parameter;
if (modeConf != null) {
inputName = modeConf.getChild("input-module").getAttribute("name",null);
objectName = modeConf.getAttribute("object",objectName);
parameter = modeConf.getAttribute("parameter",parameter);
// preferred
objectName = modeConf.getChild("object").getValue(objectName);
parameter = modeConf.getChild("parameter").getValue(parameter);
}
parameter = (parameter != null? parameter : name);
Object value = getValue(objectName, objectModel,
this.input, this.defaultInput, this.inputConf,
null, inputName, modeConf);
value = (value!=null? ((Map) value).get(parameter) : null);
return value;
}
|