public static Object parseEnumValue(String value, EnumType enumType) throws ODataException { EnumMember member = enumType.getMember(value); if (member == null) { member = enumType.getMember(Long.valueOf(value)); } if (member == null) { throw new ODataUnmarshallingException("Enum member not found in entity data model, type: " + enumType + " for value: " + value); } @SuppressWarnings("unchecked") Class<? extends Enum> javaType = (Class<? extends Enum>) enumType.getJavaType(); try { return Enum.valueOf(javaType, member.getName()); } catch (IllegalArgumentException e) { throw new ODataEdmException("Java enum type does not match what is registered in the entity data model", e); } } }
public static Object parseEnumValue(String value, EnumType enumType) throws ODataException { EnumMember member = enumType.getMember(value); if (member == null) { member = enumType.getMember(Long.valueOf(value)); } if (member == null) { throw new ODataUnmarshallingException("Enum member not found in entity data model, type: " + enumType + " for value: " + value); } @SuppressWarnings("unchecked") Class<? extends Enum> javaType = (Class<? extends Enum>) enumType.getJavaType(); try { return Enum.valueOf(javaType, member.getName()); } catch (IllegalArgumentException e) { throw new ODataEdmException("Java enum type does not match what is registered in the entity data model", e); } } }