From 4ec20806206ceb2225a9d9d1f445643e72230e6e Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 10 Nov 2011 17:32:20 +0400 Subject: [PATCH] 7087876: java/beans/PropertyDescriptor.html#createPropertyEditor() throws RE if editor cannot be created Reviewed-by: rupashka --- .../java/beans/PropertyDescriptor.java | 5 +- .../beans/PropertyEditor/Test7087876.java | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 jdk/test/java/beans/PropertyEditor/Test7087876.java diff --git a/jdk/src/share/classes/java/beans/PropertyDescriptor.java b/jdk/src/share/classes/java/beans/PropertyDescriptor.java index 429d2b4079b..10542c79cea 100644 --- a/jdk/src/share/classes/java/beans/PropertyDescriptor.java +++ b/jdk/src/share/classes/java/beans/PropertyDescriptor.java @@ -454,10 +454,7 @@ public class PropertyDescriptor extends FeatureDescriptor { editor = ctor.newInstance(new Object[] { bean }); } } catch (Exception ex) { - // A serious error has occured. - // Proably due to an invalid property editor. - throw new RuntimeException("PropertyEditor not instantiated", - ex); + // Fall through } } return (PropertyEditor)editor; diff --git a/jdk/test/java/beans/PropertyEditor/Test7087876.java b/jdk/test/java/beans/PropertyEditor/Test7087876.java new file mode 100644 index 00000000000..9088934d2d8 --- /dev/null +++ b/jdk/test/java/beans/PropertyEditor/Test7087876.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 7087876 + * @summary Tests spec of the createPropertyEditor method + * @author Sergey Malenkov + */ + +import java.beans.IntrospectionException; +import java.beans.PropertyDescriptor; +import java.beans.PropertyEditorSupport; + +public class Test7087876 { + + public static void main(String[] args) throws IntrospectionException { + PropertyDescriptor pd = new PropertyDescriptor("value", Bean.class); + pd.setPropertyEditorClass(Editor.class); + pd.createPropertyEditor(new Bean()); + } + + public static class Bean { + private String value; + + public String getValue() { + return this.value; + } + + public void setValue(String value) { + this.value = value; + } + } + + public static class Editor extends PropertyEditorSupport { + private Editor() { + } + } +}