You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2007/06/06 14:35:15 UTC
svn commit: r544826 - in /harmony/enhanced/classlib/trunk/modules/beans/src:
main/java/org/apache/harmony/beans/editors/ColorEditor.java
test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java
Author: tellison
Date: Wed Jun 6 05:35:15 2007
New Revision: 544826
URL: http://svn.apache.org/viewvc?view=rev&rev=544826
Log:
Apply patch HARMONY-4062 ([classlib][beans]org.apache.harmony.beans.editors.ColorEditor lacks support for setAsText)
Modified:
harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java?view=diff&rev=544826&r1=544825&r2=544826
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java Wed Jun 6 05:35:15 2007
@@ -67,6 +67,31 @@
super.setValue(value);
}
}
+
+ @Override
+ public void setAsText(String text) {
+ if (null == text) {
+ throw new NullPointerException();
+ }
+
+ int r = 0;
+ int g = 0;
+ int b = 0;
+
+ try {
+ int index = text.indexOf(",");
+ r = Integer.parseInt(text.substring(0, index));
+ text = text.substring(index + 1);
+ index = text.indexOf(",");
+ g = Integer.parseInt(text.substring(0, index));
+ text = text.substring(index + 1);
+ b = Integer.parseInt(text);
+ setValue(new Color(r, g, b));
+ } catch (Exception e) {
+ throw new IllegalArgumentException(text);
+ }
+ }
+
@Override
public boolean isPaintable() {
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java?view=diff&rev=544826&r1=544825&r2=544826
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java Wed Jun 6 05:35:15 2007
@@ -17,6 +17,7 @@
package org.apache.harmony.beans.tests.java.beans;
+import java.awt.Color;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
@@ -72,5 +73,36 @@
editor.setAsText(text);
assertEquals(text, editor.getAsText());
+ }
+
+ // Regression for HARMONY-4062
+ public void testColorEditor() {
+ PropertyEditor propertyEditor = PropertyEditorManager
+ .findEditor(Color.class);
+ propertyEditor.setValue(new Color(0, 0, 0));
+ propertyEditor.setAsText("1,2,3");
+ Color newColor = new Color(1, 2, 3);
+ assertEquals(newColor, propertyEditor.getValue());
+
+ try {
+ propertyEditor.setAsText(null);
+ fail("should throw NullPointerException");
+ } catch (NullPointerException e) {
+ // expected.
+ }
+
+ try {
+ propertyEditor.setAsText("illegalArugment");
+ fail("should throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ // expected.
+ }
+
+ try {
+ propertyEditor.setAsText("1,2,3,4");
+ fail("should throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ //expected.
+ }
}
}