* Obtain values from the used InputModule.
*/
private Object[] getValues(String name) {
Object[] values = null;
ServiceSelector iputSelector = null;
InputModule iput = null;
try {
if (this.input != null) {
// input module is thread safe
// thus we still have a reference to it
values = input.getAttributeValues(name, this.inputConf, objectModel);
if (getLogger().isDebugEnabled())
getLogger().debug("cached module " + this.input
+ " attribute " + name
+ " returns " + values);
} else {
// input was not thread safe
// so acquire it again
iputSelector = (ServiceSelector)this.manager.lookup(INPUT_MODULE_SELECTOR);
if (this.inputName != null
&& iputSelector != null
&& iputSelector.isSelectable(this.inputName)) {
iput = (InputModule) iputSelector.select(this.inputName);
}
if (iput != null) {
values = iput.getAttributeValues(name, this.inputConf, objectModel);
}
if (getLogger().isDebugEnabled())
getLogger().debug(
"fresh module " + iput + " attribute " + name + " returns " + values);
}