jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
equal
deleted
inserted
replaced
688 } |
688 } |
689 |
689 |
690 private static <T> T convertFromString(String s, OpenType<T> openType) { |
690 private static <T> T convertFromString(String s, OpenType<T> openType) { |
691 Class<T> c; |
691 Class<T> c; |
692 try { |
692 try { |
693 c = cast(Class.forName(openType.getClassName())); |
693 c = cast(Class.forName(openType.safeGetClassName())); |
694 } catch (ClassNotFoundException e) { |
694 } catch (ClassNotFoundException e) { |
695 throw new NoClassDefFoundError(e.toString()); // can't happen |
695 throw new NoClassDefFoundError(e.toString()); // can't happen |
696 } |
696 } |
697 |
697 |
698 // Look for: public static T valueOf(String) |
698 // Look for: public static T valueOf(String) |
709 try { |
709 try { |
710 return c.cast(valueOf.invoke(null, s)); |
710 return c.cast(valueOf.invoke(null, s)); |
711 } catch (Exception e) { |
711 } catch (Exception e) { |
712 final String msg = |
712 final String msg = |
713 "Could not convert \"" + s + "\" using method: " + valueOf; |
713 "Could not convert \"" + s + "\" using method: " + valueOf; |
714 throw new IllegalArgumentException(msg); |
714 throw new IllegalArgumentException(msg, e); |
715 } |
715 } |
716 } |
716 } |
717 |
717 |
718 // Look for: public T(String) |
718 // Look for: public T(String) |
719 Constructor<T> con; |
719 Constructor<T> con; |
726 try { |
726 try { |
727 return con.newInstance(s); |
727 return con.newInstance(s); |
728 } catch (Exception e) { |
728 } catch (Exception e) { |
729 final String msg = |
729 final String msg = |
730 "Could not convert \"" + s + "\" using constructor: " + con; |
730 "Could not convert \"" + s + "\" using constructor: " + con; |
731 throw new IllegalArgumentException(msg); |
731 throw new IllegalArgumentException(msg, e); |
732 } |
732 } |
733 } |
733 } |
734 |
734 |
735 throw new IllegalArgumentException("Don't know how to convert " + |
735 throw new IllegalArgumentException("Don't know how to convert " + |
736 "string to " + |
736 "string to " + |
755 Class<?> targetArrayClass; |
755 Class<?> targetArrayClass; |
756 try { |
756 try { |
757 stringArrayClass = |
757 stringArrayClass = |
758 Class.forName(squareBrackets + "Ljava.lang.String;"); |
758 Class.forName(squareBrackets + "Ljava.lang.String;"); |
759 targetArrayClass = |
759 targetArrayClass = |
760 Class.forName(squareBrackets + "L" + baseType.getClassName() + |
760 Class.forName(squareBrackets + "L" + baseType.safeGetClassName() + |
761 ";"); |
761 ";"); |
762 } catch (ClassNotFoundException e) { |
762 } catch (ClassNotFoundException e) { |
763 throw new NoClassDefFoundError(e.toString()); // can't happen |
763 throw new NoClassDefFoundError(e.toString()); // can't happen |
764 } |
764 } |
765 if (!stringArrayClass.isInstance(x)) { |
765 if (!stringArrayClass.isInstance(x)) { |