} catch (NumberFormatException e) {
return super.convertToPropertyType(entityType, propertyPath, value);
}
} else if (field.getJavaType() == JavaType.ENUM) {
EnumDescriptor enumType = field.getEnumDescriptor();
EnumValueDescriptor enumValue;
try {
enumValue = enumType.findValueByNumber(Integer.parseInt(value));
} catch (NumberFormatException e) {
enumValue = enumType.findValueByName(value);
}
if (enumValue == null) {
throw log.getInvalidEnumLiteralException(value, enumType.getFullName());
}
return enumValue.getNumber();
}
return super.convertToPropertyType(entityType, propertyPath, value);
}