You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Dmitry Irlyanov (JIRA)" <ji...@apache.org> on 2007/08/21 10:47:31 UTC
[jira] Created: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
[classlib][swing]Setting null as margin to button don't cause to use the default margin
---------------------------------------------------------------------------------------
Key: HARMONY-4655
URL: https://issues.apache.org/jira/browse/HARMONY-4655
Project: Harmony
Issue Type: Bug
Components: Classlib
Reporter: Dmitry Irlyanov
Priority: Minor
According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
import java.awt.Insets;
import javax.swing.JRadioButton;
public class Test {
public static void main(String[] args) {
JRadioButton rb = new JRadioButton();
System.err.println(rb.getMargin());
rb.setMargin(null);
System.err.println(rb.getMargin());
rb.setMargin(new Insets(10,10,10,10));
System.err.println(rb.getMargin());
rb.setMargin(null);
System.err.println(rb.getMargin());
}
}
Output(RI):
javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
java.awt.Insets[top=10,left=10,bottom=10,right=10]
javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
Output(Harmony):
javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
null
java.awt.Insets[left=10,top=10,right=10,bottom=10]
null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Dmitry Irlyanov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523619 ]
Dmitry Irlyanov commented on HARMONY-4655:
------------------------------------------
Alexei,
These tests are incompatible with RI:
try this:
import java.awt.Insets;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
import javax.swing.plaf.InsetsUIResource;
import javax.swing.plaf.basic.BasicMenuItemUI;
public class Test {
public static void main(String argv[]) {
JMenuItem item = new JMenuItem();
BasicMenuItemUIT menuItemUI;
String prefix ="MenuItem.";
menuItemUI = new BasicMenuItemUIT();
item.setUI(menuItemUI);
Insets margin = new InsetsUIResource(1, 2, 3, 4);
UIManager.getDefaults().put(prefix + "margin", margin);
menuItemUI.installDefaults();
menuItemUI.uninstallDefaults();
System.err.println(item.getMargin());
}
}
class BasicMenuItemUIT extends BasicMenuItemUI{
@Override
public void installDefaults(){
super.installDefaults();
}
@Override
public void uninstallDefaults(){
super.uninstallDefaults();
}
}
The result is:
Harmony:
null
RI:
javax.swing.plaf.InsetsUIResource[top=1,left=2,bottom=3,right=4]
But IMHO this is a bug (a little one, but anyway)
I ask your commiter's weighty opinion: should I either make the patch to UI's and be architectural correct or patch to tests and be compatible
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Dmitry Irlyanov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitry Irlyanov updated HARMONY-4655:
-------------------------------------
Patch Info: [Patch Available]
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Alexei Zakharov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov updated HARMONY-4655:
-------------------------------------
Dmitry, after I've applied your patch three Swing tests starts to fail:
javax.swing.plaf.basic.BasicCheckBoxMenuItemUITest.testInstallUninstallDefaults()
javax.swing.plaf.basic.BasicMenuItemUITest.testInstallUninstallDefaults()
javax.swing.plaf.basic.BasicMenuUITest.testInstallUninstallDefaults()
Could you please take a look?
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Dmitry Irlyanov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitry Irlyanov updated HARMONY-4655:
-------------------------------------
Attachment: H4655-AbstractButton.patch
Proposed fix added
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Alexei Zakharov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov reassigned HARMONY-4655:
----------------------------------------
Assignee: Alexei Zakharov
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Alexei Zakharov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov resolved HARMONY-4655.
--------------------------------------
Resolution: Fixed
Thanks Dmitry. The patch was applied at the revision 573239. Please verify.
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch, H4655-BasicMenuUITest-BasicMenuItemUITest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Alexei Zakharov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525378 ]
Alexei Zakharov commented on HARMONY-4655:
------------------------------------------
Dmitry, since from my point of view this issue is not very important and this specific case isn't directly mentioned in the spec let's just be compatible and comment out the tests.
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Dmitry Irlyanov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitry Irlyanov updated HARMONY-4655:
-------------------------------------
Attachment: H4655-AbstractButtonTest.patch
Regression test patch added
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Priority: Minor
> Attachments: H4655-AbstractButtonTest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4655) [classlib][swing]Setting null as
margin to button don't cause to use the default margin
Posted by "Dmitry Irlyanov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitry Irlyanov updated HARMONY-4655:
-------------------------------------
Attachment: H4655-BasicMenuUITest-BasicMenuItemUITest.patch
Alexey,
I completely agree with you. The patch attached
> [classlib][swing]Setting null as margin to button don't cause to use the default margin
> ---------------------------------------------------------------------------------------
>
> Key: HARMONY-4655
> URL: https://issues.apache.org/jira/browse/HARMONY-4655
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Dmitry Irlyanov
> Assignee: Alexei Zakharov
> Priority: Minor
> Attachments: H4655-AbstractButton.patch, H4655-AbstractButtonTest.patch, H4655-BasicMenuUITest-BasicMenuItemUITest.patch
>
>
> According to spec, AbstractButton.setMargin(null) causes the button to use the default margin (2,2,2,2) but Harmony doesn't obey this rule
> import java.awt.Insets;
> import javax.swing.JRadioButton;
> public class Test {
> public static void main(String[] args) {
>
> JRadioButton rb = new JRadioButton();
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> rb.setMargin(new Insets(10,10,10,10));
> System.err.println(rb.getMargin());
> rb.setMargin(null);
> System.err.println(rb.getMargin());
> }
> }
> Output(RI):
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> java.awt.Insets[top=10,left=10,bottom=10,right=10]
> javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2]
> Output(Harmony):
> javax.swing.plaf.InsetsUIResource[left=2,top=2,right=2,bottom=2]
> null
> java.awt.Insets[left=10,top=10,right=10,bottom=10]
> null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.