return;
currentText = currentText.trim();
if (!"".equals(currentText))
{
PropertyKey key = _bean.getType().findKey(localName);
if (key == null)
{
if (_LOG.isWarning())
_LOG.warning("ELEMENT_NOT_UNDERSTOOD", qName);
}
else
{
if (currentText.startsWith("#{") &&
currentText.endsWith("}"))
{
if (!key.getSupportsBinding())
{
if (_LOG.isWarning())
_LOG.warning("NOT_SUPPORT_EL_EXPRESSION", qName);
}
else
{
ValueBinding binding =
LazyValueBinding.createValueBinding(currentText);
_bean.setValueBinding(key, binding);
}
}
else
{
Object value;
if (key.getType() == Character.class)
{
value = currentText.charAt(0);
}
else if (key.getType() == Integer.class)
{
value = _getIntegerValue(currentText, qName);
}
else if (key.getType() == Boolean.class)
{
value = ("true".equalsIgnoreCase(currentText)
? Boolean.TRUE : Boolean.FALSE);
}
else if (key.getType() == TimeZone.class)
{
value = DateUtils.getSupportedTimeZone(currentText);
if (value == null)
{
_LOG.warning("INVALID_TIMEZONE_IN_CONFIG", currentText);
}
}
else if (key.getType() == Locale.class)
{
currentText = currentText.replace('_', '-');
value = LocaleUtils.getLocaleForIANAString(currentText);
}
else if (key.getType().isEnum())
{
// TODO: warn when value is not OK
try
{
value = Enum.valueOf((Class<? extends Enum>) key.getType(),
currentText);
}
catch (IllegalArgumentException iae)
{
_LOG.warning("INVALID_ENUM_IN_CONFIG",
new Object[]{currentText, qName});
return;
}
}
else if (key.getType() == AccessibilityProfile.class)
{
value = _getAccessibilityProfile(currentText);
}
else
{