log.debug("No editor for property "+name);
editors[i]= null;
continue;
}
PropertyEditor propertyEditor;
Class editorClass= descriptors[i].getPropertyEditorClass();
if (log.isDebugEnabled())
{
log.debug("Property "+name
+" has editor class "+editorClass);
}
if (editorClass != null)
{
try
{
propertyEditor= (PropertyEditor)editorClass.newInstance();
}
catch (InstantiationException e)
{
log.error("Can't create property editor.", e);
throw new Error(e.toString());
}
catch (IllegalAccessException e)
{
log.error("Can't create property editor.", e);
throw new Error(e.toString());
}
}
else
{
Class c= descriptors[i].getPropertyType();
propertyEditor= PropertyEditorManager.findEditor(c);
}
if (log.isDebugEnabled())
{
log.debug("Property "+name
+" has property editor "+propertyEditor);
}
if (propertyEditor == null)
{
log.debug("No editor for property "+name);
editors[i]= null;
continue;
}
if (! propertyEditor.supportsCustomEditor())
{
propertyEditor= createWrapperEditor(
propertyEditor, descriptors[i]);
if (log.isDebugEnabled())
{
log.debug("Editor for property "+name
+" is wrapped in "+propertyEditor);
}
}
editors[i]= propertyEditor;
// Initialize the editor with the provided default value or null:
setEditorValue(i, descriptors[i].getValue(DEFAULT));
// Now subscribe as a listener (we didn't want to receive the event
// for the setEditorValue above!)
propertyEditor.addPropertyChangeListener(this);
}
// Obtain message formats:
propertyFieldLabelMessage= new MessageFormat(
JMeterUtils.getResString("property_as_field_label"));