From alexandre.iline at oracle.com Tue Dec 5 16:37:14 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Tue, 5 Dec 2017 08:37:14 -0800
Subject: Initial commit for JemmyCore
Message-ID: <682901F6-1A3C-4DAF-81FD-5D450D0B0780@oracle.com>
Thank you, Misha.
> Hi Shura,
>
> Please add in JemmyCore/build.xml
This is a valid concern, but the solution you are suggesting is, I think, incorrect - the location of the JTReg needs to be set explicitly. I did something better - please check the new web rev.
http://cr.openjdk.java.net/~shurailine/7902064/webrev.01/
Specifically, line 46 in http://cr.openjdk.java.net/~shurailine/7902064/webrev.01/core/JemmyCore/build.xml.html
Does it work for you?
>
> Also it would be nice to have some README with description that user have to download jtreg from http://openjdk.java.net/projects/code-tools/jtreg/intro.html and put it into folder to compile and test project.
There should be a README - you are right. It should have a lot more than the JTreg dependency. Would you be OK if I do it as a follow-on fix?
I have created this: https://bugs.openjdk.java.net/browse/CODETOOLS-7902078
Shura
>
> By the way all tests passed.
>
> Best regards, Misha
From alexandre.iline at oracle.com Wed Dec 6 23:39:50 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Wed, 6 Dec 2017 15:39:50 -0800
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
Message-ID:
Hi.
Please take a look on this fix:
Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
Shura
From michail.michalkin at gmail.com Thu Dec 7 05:25:42 2017
From: michail.michalkin at gmail.com (Mikhail Mikhalkin)
Date: Thu, 7 Dec 2017 08:25:42 +0300
Subject: Initial commit for JemmyCore
In-Reply-To: <682901F6-1A3C-4DAF-81FD-5D450D0B0780@oracle.com>
References: <682901F6-1A3C-4DAF-81FD-5D450D0B0780@oracle.com>
Message-ID:
Hi Shura, yes that is fine.
Best regards,
Misha
5 ???. 2017 ?. 19:37 ???????????? "Alexandre (Shura) Iline" <
alexandre.iline at oracle.com> ???????:
> Thank you, Misha.
>
>
> > Hi Shura,
> >
> > Please add in
> JemmyCore/build.xml
>
> This is a valid concern, but the solution you are suggesting is, I think,
> incorrect - the location of the JTReg needs to be set explicitly. I did
> something better - please check the new web rev.
>
> http://cr.openjdk.java.net/~shurailine/7902064/webrev.01/
>
> Specifically, line 46 in http://cr.openjdk.java.net/~
> shurailine/7902064/webrev.01/core/JemmyCore/build.xml.html
>
> Does it work for you?
>
> >
> > Also it would be nice to have some README with description that user
> have to download jtreg from http://openjdk.java.net/
> projects/code-tools/jtreg/intro.html and put it into folder to compile
> and test project.
>
> There should be a README - you are right. It should have a lot more than
> the JTreg dependency. Would you be OK if I do it as a follow-on fix?
>
> I have created this: https://bugs.openjdk.java.net/
> browse/CODETOOLS-7902078
>
> Shura
>
> >
> > By the way all tests passed.
> >
> > Best regards, Misha
>
From alexandre.iline at oracle.com Thu Dec 7 17:07:49 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Thu, 7 Dec 2017 09:07:49 -0800
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
In-Reply-To: <86251dfe-1de0-4998-96a8-2e7a315c9126@default>
References:
<86251dfe-1de0-4998-96a8-2e7a315c9126@default>
Message-ID: <1FAFFBE4-37C8-4CBB-BDB8-DE5447180758@oracle.com>
> On Dec 7, 2017, at 8:51 AM, Muneer Kolarkunnu wrote:
>
> Hi,
>
> There are lots of places code like:
> if(list instanceof JList) {
> .....
> } else {
> .....
> }
>
> Do we need to add "else if(list instanceof JTable)" in case of else case?
This is a solid suggestion. This is technically impossible to have something else but JList or JTable (see getFileList() method), but the code would be clearer. I will update. Anyway, it is a temp solution until FoleChooserDriver is implemented.
>
> Better to use output.printTrace() instead of below:
> 456 System.out.println(list);
That?s a debug output! Sorry!
Will fix.
>
> Alignment is not proper:
> 1528 if(list instanceof JList)
> 1529 if (((JList) list).getCellBounds(current, current) != null) {
> 1530 return ((JList) list).getCellBounds(size - 1, size - 1);
> 1531 } else {
> 1532 return null;
> 1533 }
> 1534 else
> 1535 if (((JTable)list).getCellRect(current, 0, false) != null) {
> 1536 return ((JTable)list).getCellRect(size - 1, 0, false);
Accepted, thank you.
Shura
>
> Regards,
> Muneer
>
> -----Original Message-----
> From: Alexandre (Shura) Iline
> Sent: Thursday, December 07, 2017 5:10 AM
> To: jemmy-dev at openjdk.java.net
> Cc: Muneer Kolarkunnu ; Srinivas Mandalika ; Sergey Bylokhov
> Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
>
> Hi.
>
> Please take a look on this fix:
> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
> Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
>
> While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
> https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
>
> Shura
>
From alexandre.iline at oracle.com Thu Dec 7 19:24:19 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Thu, 7 Dec 2017 11:24:19 -0800
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
In-Reply-To: <1FAFFBE4-37C8-4CBB-BDB8-DE5447180758@oracle.com>
References:
<86251dfe-1de0-4998-96a8-2e7a315c9126@default>
<1FAFFBE4-37C8-4CBB-BDB8-DE5447180758@oracle.com>
Message-ID: <7AC72699-9007-42D2-8090-7B39F4CAD54D@oracle.com>
Please check new version:
http://cr.openjdk.java.net/~shurailine/7901960/webrev.01/
Shura
> On Dec 7, 2017, at 9:07 AM, Alexandre (Shura) Iline wrote:
>
>
>
>> On Dec 7, 2017, at 8:51 AM, Muneer Kolarkunnu wrote:
>>
>> Hi,
>>
>> There are lots of places code like:
>> if(list instanceof JList) {
>> .....
>> } else {
>> .....
>> }
>>
>> Do we need to add "else if(list instanceof JTable)" in case of else case?
>
> This is a solid suggestion. This is technically impossible to have something else but JList or JTable (see getFileList() method), but the code would be clearer. I will update. Anyway, it is a temp solution until FoleChooserDriver is implemented.
>
>
>>
>> Better to use output.printTrace() instead of below:
>> 456 System.out.println(list);
>
> That?s a debug output! Sorry!
> Will fix.
>
>>
>> Alignment is not proper:
>> 1528 if(list instanceof JList)
>> 1529 if (((JList) list).getCellBounds(current, current) != null) {
>> 1530 return ((JList) list).getCellBounds(size - 1, size - 1);
>> 1531 } else {
>> 1532 return null;
>> 1533 }
>> 1534 else
>> 1535 if (((JTable)list).getCellRect(current, 0, false) != null) {
>> 1536 return ((JTable)list).getCellRect(size - 1, 0, false);
>
> Accepted, thank you.
>
> Shura
>
>>
>> Regards,
>> Muneer
>>
>> -----Original Message-----
>> From: Alexandre (Shura) Iline
>> Sent: Thursday, December 07, 2017 5:10 AM
>> To: jemmy-dev at openjdk.java.net
>> Cc: Muneer Kolarkunnu ; Srinivas Mandalika ; Sergey Bylokhov
>> Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
>>
>> Hi.
>>
>> Please take a look on this fix:
>> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
>> Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
>>
>> While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
>>
>> Shura
>>
>
From jonathan.gibbons at oracle.com Wed Dec 13 00:15:06 2017
From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com)
Date: Wed, 13 Dec 2017 00:15:06 +0000
Subject: hg: code-tools/jemmy/v3: 7902064: Add JemmyCore to jemmy/v3
Message-ID: <201712130015.vBD0F6s5011441@aojmv0008.oracle.com>
Changeset: 369b193287fc
Author: shurailine
Date: 2017-12-12 16:07 -0800
URL: http://hg.openjdk.java.net/code-tools/jemmy/v3/rev/369b193287fc
7902064: Add JemmyCore to jemmy/v3
Summary: JemmyCore is the core part of Jemmy v3
+ core/JemmyCore/build.xml
+ core/JemmyCore/doc/Jemmy3Lookup.html
+ core/JemmyCore/doc/Jemmy3UserTutorial.html
+ core/JemmyCore/src/org/jemmy/Dimension.java
+ core/JemmyCore/src/org/jemmy/JemmyException.java
+ core/JemmyCore/src/org/jemmy/Point.java
+ core/JemmyCore/src/org/jemmy/Rectangle.java
+ core/JemmyCore/src/org/jemmy/TimeoutExpiredException.java
+ core/JemmyCore/src/org/jemmy/Vector.java
+ core/JemmyCore/src/org/jemmy/Version.java
+ core/JemmyCore/src/org/jemmy/action/AbstractExecutor.java
+ core/JemmyCore/src/org/jemmy/action/Action.java
+ core/JemmyCore/src/org/jemmy/action/ActionExecutor.java
+ core/JemmyCore/src/org/jemmy/action/ActionQueue.java
+ core/JemmyCore/src/org/jemmy/action/DefaultExecutor.java
+ core/JemmyCore/src/org/jemmy/action/FutureAction.java
+ core/JemmyCore/src/org/jemmy/action/GetAction.java
+ core/JemmyCore/src/org/jemmy/control/AbstractWrapper.java
+ core/JemmyCore/src/org/jemmy/control/As.java
+ core/JemmyCore/src/org/jemmy/control/ControlInterfaces.java
+ core/JemmyCore/src/org/jemmy/control/ControlType.java
+ core/JemmyCore/src/org/jemmy/control/DefaultWrapper.java
+ core/JemmyCore/src/org/jemmy/control/FieldProperties.java
+ core/JemmyCore/src/org/jemmy/control/JemmySupportWrapper.java
+ core/JemmyCore/src/org/jemmy/control/LazyWrapper.java
+ core/JemmyCore/src/org/jemmy/control/MethodProperties.java
+ core/JemmyCore/src/org/jemmy/control/Property.java
+ core/JemmyCore/src/org/jemmy/control/ScreenArea.java
+ core/JemmyCore/src/org/jemmy/control/SelectorImpl.java
+ core/JemmyCore/src/org/jemmy/control/Wrap.java
+ core/JemmyCore/src/org/jemmy/control/Wrapper.java
+ core/JemmyCore/src/org/jemmy/control/WrapperDelegate.java
+ core/JemmyCore/src/org/jemmy/control/WrapperException.java
+ core/JemmyCore/src/org/jemmy/control/WrapperImpl.java
+ core/JemmyCore/src/org/jemmy/dock/DefaultParent.java
+ core/JemmyCore/src/org/jemmy/dock/DefaultWrapper.java
+ core/JemmyCore/src/org/jemmy/dock/Dock.java
+ core/JemmyCore/src/org/jemmy/dock/DockInfo.java
+ core/JemmyCore/src/org/jemmy/dock/ObjectLookup.java
+ core/JemmyCore/src/org/jemmy/dock/PreferredParent.java
+ core/JemmyCore/src/org/jemmy/dock/Shortcut.java
+ core/JemmyCore/src/org/jemmy/env/Environment.java
+ core/JemmyCore/src/org/jemmy/env/TestOut.java
+ core/JemmyCore/src/org/jemmy/env/Timeout.java
+ core/JemmyCore/src/org/jemmy/image/Image.java
+ core/JemmyCore/src/org/jemmy/image/ImageCapturer.java
+ core/JemmyCore/src/org/jemmy/image/ImageComparator.java
+ core/JemmyCore/src/org/jemmy/image/ImageLoader.java
+ core/JemmyCore/src/org/jemmy/image/ImageStore.java
+ core/JemmyCore/src/org/jemmy/image/pixel/AverageDistanceComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/BaseCountingRasterComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/ColorMappingComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/MaxDistanceComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PNGFileImageStore.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PNGLoader.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PNGSaver.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PeakSignalNoiseRatioComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PixelEqualityRasterComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/PixelImageComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/Raster.java
+ core/JemmyCore/src/org/jemmy/image/pixel/RasterComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/ResizeComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/ThresholdComparator.java
+ core/JemmyCore/src/org/jemmy/image/pixel/WriteableRaster.java
+ core/JemmyCore/src/org/jemmy/input/AbstractCaretOwner.java
+ core/JemmyCore/src/org/jemmy/input/AbstractScroll.java
+ core/JemmyCore/src/org/jemmy/input/CaretImpl.java
+ core/JemmyCore/src/org/jemmy/input/CaretText.java
+ core/JemmyCore/src/org/jemmy/input/CharBindingMap.java
+ core/JemmyCore/src/org/jemmy/input/ClickFocus.java
+ core/JemmyCore/src/org/jemmy/input/DefaultCharBindingMap.java
+ core/JemmyCore/src/org/jemmy/input/KnobDragScrollerImpl.java
+ core/JemmyCore/src/org/jemmy/input/RegexCaretDirection.java
+ core/JemmyCore/src/org/jemmy/input/ScrollerImpl.java
+ core/JemmyCore/src/org/jemmy/input/SelectionText.java
+ core/JemmyCore/src/org/jemmy/input/StringCriteriaList.java
+ core/JemmyCore/src/org/jemmy/input/StringMenuOwner.java
+ core/JemmyCore/src/org/jemmy/input/StringMenuSelectableOwner.java
+ core/JemmyCore/src/org/jemmy/input/StringPopupOwner.java
+ core/JemmyCore/src/org/jemmy/input/StringPopupSelectableOwner.java
+ core/JemmyCore/src/org/jemmy/input/StringTree.java
+ core/JemmyCore/src/org/jemmy/input/TextCaret.java
+ core/JemmyCore/src/org/jemmy/input/TextImpl.java
+ core/JemmyCore/src/org/jemmy/input/WindowImpl.java
+ core/JemmyCore/src/org/jemmy/interfaces/Button.java
+ core/JemmyCore/src/org/jemmy/interfaces/Caret.java
+ core/JemmyCore/src/org/jemmy/interfaces/CaretOwner.java
+ core/JemmyCore/src/org/jemmy/interfaces/Collapsible.java
+ core/JemmyCore/src/org/jemmy/interfaces/ControlInterface.java
+ core/JemmyCore/src/org/jemmy/interfaces/ControlInterfaceFactory.java
+ core/JemmyCore/src/org/jemmy/interfaces/Drag.java
+ core/JemmyCore/src/org/jemmy/interfaces/Expandable.java
+ core/JemmyCore/src/org/jemmy/interfaces/Focus.java
+ core/JemmyCore/src/org/jemmy/interfaces/Focusable.java
+ core/JemmyCore/src/org/jemmy/interfaces/InterfaceException.java
+ core/JemmyCore/src/org/jemmy/interfaces/IntervalSelectable.java
+ core/JemmyCore/src/org/jemmy/interfaces/IntervalSelector.java
+ core/JemmyCore/src/org/jemmy/interfaces/Keyboard.java
+ core/JemmyCore/src/org/jemmy/interfaces/Label.java
+ core/JemmyCore/src/org/jemmy/interfaces/Menu.java
+ core/JemmyCore/src/org/jemmy/interfaces/MenuOwner.java
+ core/JemmyCore/src/org/jemmy/interfaces/MenuSelectable.java
+ core/JemmyCore/src/org/jemmy/interfaces/MenuSelectableOwner.java
+ core/JemmyCore/src/org/jemmy/interfaces/Modifier.java
+ core/JemmyCore/src/org/jemmy/interfaces/Mouse.java
+ core/JemmyCore/src/org/jemmy/interfaces/Parent.java
+ core/JemmyCore/src/org/jemmy/interfaces/PopupOwner.java
+ core/JemmyCore/src/org/jemmy/interfaces/PopupSelectableOwner.java
+ core/JemmyCore/src/org/jemmy/interfaces/Scroll.java
+ core/JemmyCore/src/org/jemmy/interfaces/Selectable.java
+ core/JemmyCore/src/org/jemmy/interfaces/Selector.java
+ core/JemmyCore/src/org/jemmy/interfaces/Show.java
+ core/JemmyCore/src/org/jemmy/interfaces/Showable.java
+ core/JemmyCore/src/org/jemmy/interfaces/Text.java
+ core/JemmyCore/src/org/jemmy/interfaces/TextInput.java
+ core/JemmyCore/src/org/jemmy/interfaces/Tree.java
+ core/JemmyCore/src/org/jemmy/interfaces/TreeItem.java
+ core/JemmyCore/src/org/jemmy/interfaces/TreeSelector.java
+ core/JemmyCore/src/org/jemmy/interfaces/TypeControlInterface.java
+ core/JemmyCore/src/org/jemmy/interfaces/Window.java
+ core/JemmyCore/src/org/jemmy/jemmy.properties
+ core/JemmyCore/src/org/jemmy/lookup/AbstractLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/AbstractParent.java
+ core/JemmyCore/src/org/jemmy/lookup/Any.java
+ core/JemmyCore/src/org/jemmy/lookup/ByStringLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/ByToStringLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/CompoundLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/ControlHierarchy.java
+ core/JemmyCore/src/org/jemmy/lookup/ControlList.java
+ core/JemmyCore/src/org/jemmy/lookup/CoordinateLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/EqualsLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/HierarchyLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/ImageLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/Lookup.java
+ core/JemmyCore/src/org/jemmy/lookup/LookupCriteria.java
+ core/JemmyCore/src/org/jemmy/lookup/ParentImpl.java
+ core/JemmyCore/src/org/jemmy/lookup/PlainLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/PropLookup.java
+ core/JemmyCore/src/org/jemmy/lookup/RelativeCoordinateLookup.java
+ core/JemmyCore/src/org/jemmy/operators/Screen.java
+ core/JemmyCore/src/org/jemmy/operators/ScreenRectangle.java
+ core/JemmyCore/src/org/jemmy/resources/StringComparePolicy.java
+ core/JemmyCore/src/org/jemmy/timing/State.java
+ core/JemmyCore/src/org/jemmy/timing/TimedCriteria.java
+ core/JemmyCore/src/org/jemmy/timing/Timeline.java
+ core/JemmyCore/src/org/jemmy/timing/Waiter.java
+ core/JemmyCore/test/TEST.ROOT
+ core/JemmyCore/test/org/jemmy/RectangleTest.java
+ core/JemmyCore/test/org/jemmy/animation/TimelineTest.java
+ core/JemmyCore/test/org/jemmy/control/PropertiesTest.java
+ core/JemmyCore/test/org/jemmy/env/EnvironmentTest.java
+ core/JemmyCore/test/org/jemmy/env/LoadRelativeTimeoutsTest.java
+ core/JemmyCore/test/org/jemmy/env/LoadTimeoutsTest.java
+ core/JemmyCore/test/org/jemmy/env/SetTimeoutsTest.java
+ core/JemmyCore/test/org/jemmy/image/SaveLoadImageTest.java
+ core/JemmyCore/test/org/jemmy/image/pixel/PixelImageComparatorTest.java
+ core/JemmyCore/test/org/jemmy/properties/PropTest.java
+ core/JemmyCore/test/org/jemmy/properties/TestObject.java
+ core/JemmyCore/test/org/jemmy/properties/TestWrap.java
From alexandre.iline at oracle.com Thu Dec 14 00:52:25 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Wed, 13 Dec 2017 16:52:25 -0800
Subject: RFR 7902082: Add jcheck config to Jemmy v3.
Message-ID: <2A81AE17-8E5E-49D6-93F3-227BB1462652@oracle.com>
Please take a look on this simple fix:
$ hg diff
diff --git a/.jcheck/conf b/.jcheck/conf
new file mode 100644
--- /dev/null
+++ b/.jcheck/conf
@@ -0,0 +1,3 @@
+project=jemmy-v3
+comments=lax
+tags=lax
$
From alexandre.iline at oracle.com Thu Dec 21 17:20:32 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Thu, 21 Dec 2017 09:20:32 -0800
Subject: RFR 7902086: Add JemmyAWTInput to jemmy/v3
Message-ID: <30D7E202-BA0C-43F0-9E3C-2802F15707CA@oracle.com>
Hi,
Please take a look on initial commit of JemmyAWTInput project.
Webrev: http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/
Shura
From alexandre.iline at oracle.com Thu Dec 21 22:01:25 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Thu, 21 Dec 2017 14:01:25 -0800
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
In-Reply-To:
References:
<86251dfe-1de0-4998-96a8-2e7a315c9126@default>
<1FAFFBE4-37C8-4CBB-BDB8-DE5447180758@oracle.com>
<7AC72699-9007-42D2-8090-7B39F4CAD54D@oracle.com>
Message-ID: <89DE3CDA-B6E5-417F-A57F-B80AE1A57D0F@oracle.com>
Thank you.
> On Dec 20, 2017, at 10:36 PM, Muneer Kolarkunnu wrote:
>
> It looks good to me.
>
> Regards,
> Muneer
>
> -----Original Message-----
> From: Alexandre (Shura) Iline
> Sent: Friday, December 08, 2017 12:54 AM
> To: Muneer Kolarkunnu
> Cc: jemmy-dev at openjdk.java.net; Srinivas Mandalika ; Sergey Bylokhov
> Subject: Re: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
>
> Please check new version:
> http://cr.openjdk.java.net/~shurailine/7901960/webrev.01/
>
>
> Shura
>
>
>> On Dec 7, 2017, at 9:07 AM, Alexandre (Shura) Iline wrote:
>>
>>
>>
>>> On Dec 7, 2017, at 8:51 AM, Muneer Kolarkunnu wrote:
>>>
>>> Hi,
>>>
>>> There are lots of places code like:
>>> if(list instanceof JList) {
>>> .....
>>> } else {
>>> .....
>>> }
>>>
>>> Do we need to add "else if(list instanceof JTable)" in case of else case?
>>
>> This is a solid suggestion. This is technically impossible to have something else but JList or JTable (see getFileList() method), but the code would be clearer. I will update. Anyway, it is a temp solution until FoleChooserDriver is implemented.
>>
>>
>>>
>>> Better to use output.printTrace() instead of below:
>>> 456 System.out.println(list);
>>
>> That?s a debug output! Sorry!
>> Will fix.
>>
>>>
>>> Alignment is not proper:
>>> 1528 if(list instanceof JList)
>>> 1529 if (((JList) list).getCellBounds(current, current) != null) {
>>> 1530 return ((JList) list).getCellBounds(size - 1, size - 1);
>>> 1531 } else {
>>> 1532 return null;
>>> 1533 }
>>> 1534 else
>>> 1535 if (((JTable)list).getCellRect(current, 0, false) != null) {
>>> 1536 return ((JTable)list).getCellRect(size - 1, 0, false);
>>
>> Accepted, thank you.
>>
>> Shura
>>
>>>
>>> Regards,
>>> Muneer
>>>
>>> -----Original Message-----
>>> From: Alexandre (Shura) Iline
>>> Sent: Thursday, December 07, 2017 5:10 AM
>>> To: jemmy-dev at openjdk.java.net
>>> Cc: Muneer Kolarkunnu ; Srinivas Mandalika ; Sergey Bylokhov
>>> Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
>>>
>>> Hi.
>>>
>>> Please take a look on this fix:
>>> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
>>> Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
>>>
>>> While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
>>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
>>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
>>>
>>> Shura
>>>
>>
>
From abdul.kolarkunnu at oracle.com Thu Dec 7 16:51:29 2017
From: abdul.kolarkunnu at oracle.com (Muneer Kolarkunnu)
Date: Thu, 7 Dec 2017 08:51:29 -0800 (PST)
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
In-Reply-To:
References:
Message-ID: <86251dfe-1de0-4998-96a8-2e7a315c9126@default>
Hi,
There are lots of places code like:
if(list instanceof JList) {
.....
} else {
.....
}
Do we need to add "else if(list instanceof JTable)" in case of else case?
Better to use output.printTrace() instead of below:
456 System.out.println(list);
Alignment is not proper:
1528 if(list instanceof JList)
1529 if (((JList) list).getCellBounds(current, current) != null) {
1530 return ((JList) list).getCellBounds(size - 1, size - 1);
1531 } else {
1532 return null;
1533 }
1534 else
1535 if (((JTable)list).getCellRect(current, 0, false) != null) {
1536 return ((JTable)list).getCellRect(size - 1, 0, false);
Regards,
Muneer
-----Original Message-----
From: Alexandre (Shura) Iline
Sent: Thursday, December 07, 2017 5:10 AM
To: jemmy-dev at openjdk.java.net
Cc: Muneer Kolarkunnu ; Srinivas Mandalika ; Sergey Bylokhov
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
Hi.
Please take a look on this fix:
Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
Shura
From abdul.kolarkunnu at oracle.com Thu Dec 21 06:36:29 2017
From: abdul.kolarkunnu at oracle.com (Muneer Kolarkunnu)
Date: Wed, 20 Dec 2017 22:36:29 -0800 (PST)
Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws
NullPointerException on Mac
In-Reply-To: <7AC72699-9007-42D2-8090-7B39F4CAD54D@oracle.com>
References:
<86251dfe-1de0-4998-96a8-2e7a315c9126@default>
<1FAFFBE4-37C8-4CBB-BDB8-DE5447180758@oracle.com>
<7AC72699-9007-42D2-8090-7B39F4CAD54D@oracle.com>
Message-ID:
It looks good to me.
Regards,
Muneer
-----Original Message-----
From: Alexandre (Shura) Iline
Sent: Friday, December 08, 2017 12:54 AM
To: Muneer Kolarkunnu
Cc: jemmy-dev at openjdk.java.net; Srinivas Mandalika ; Sergey Bylokhov
Subject: Re: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
Please check new version:
http://cr.openjdk.java.net/~shurailine/7901960/webrev.01/
Shura
> On Dec 7, 2017, at 9:07 AM, Alexandre (Shura) Iline wrote:
>
>
>
>> On Dec 7, 2017, at 8:51 AM, Muneer Kolarkunnu wrote:
>>
>> Hi,
>>
>> There are lots of places code like:
>> if(list instanceof JList) {
>> .....
>> } else {
>> .....
>> }
>>
>> Do we need to add "else if(list instanceof JTable)" in case of else case?
>
> This is a solid suggestion. This is technically impossible to have something else but JList or JTable (see getFileList() method), but the code would be clearer. I will update. Anyway, it is a temp solution until FoleChooserDriver is implemented.
>
>
>>
>> Better to use output.printTrace() instead of below:
>> 456 System.out.println(list);
>
> That?s a debug output! Sorry!
> Will fix.
>
>>
>> Alignment is not proper:
>> 1528 if(list instanceof JList)
>> 1529 if (((JList) list).getCellBounds(current, current) != null) {
>> 1530 return ((JList) list).getCellBounds(size - 1, size - 1);
>> 1531 } else {
>> 1532 return null;
>> 1533 }
>> 1534 else
>> 1535 if (((JTable)list).getCellRect(current, 0, false) != null) {
>> 1536 return ((JTable)list).getCellRect(size - 1, 0, false);
>
> Accepted, thank you.
>
> Shura
>
>>
>> Regards,
>> Muneer
>>
>> -----Original Message-----
>> From: Alexandre (Shura) Iline
>> Sent: Thursday, December 07, 2017 5:10 AM
>> To: jemmy-dev at openjdk.java.net
>> Cc: Muneer Kolarkunnu ; Srinivas Mandalika ; Sergey Bylokhov
>> Subject: RFR 7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
>>
>> Hi.
>>
>> Please take a look on this fix:
>> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901960
>> Webrev: http://cr.openjdk.java.net/~shurailine/7901960/webrev.00/
>>
>> While working on the fix I have discovered that, depending on as OS or L&F, the list inside file chooser may or may not select files when clicking outside of displayed filename. I have created these:
>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902080
>> https://bugs.openjdk.java.net/browse/CODETOOLS-7902079
>>
>> Shura
>>
>
From alexey.fedorchenko at oracle.com Thu Dec 21 22:43:34 2017
From: alexey.fedorchenko at oracle.com (alexey.fedorchenko at oracle.com)
Date: Thu, 21 Dec 2017 22:43:34 +0000
Subject: hg: code-tools/jemmy/v2: 7901960: JFileChooserOperator.selectFile(..)
throws NullPointerException on Mac
Message-ID: <201712212243.vBLMhYVn023227@aojmv0008.oracle.com>
Changeset: b4a3749833ed
Author: shurailine
Date: 2017-12-21 13:56 -0800
URL: http://hg.openjdk.java.net/code-tools/jemmy/v2/rev/b4a3749833ed
7901960: JFileChooserOperator.selectFile(..) throws NullPointerException on Mac
! src/org/netbeans/jemmy/operators/JFileChooserOperator.java
! src/org/netbeans/jemmy/operators/JTableOperator.java
+ test/org/netbeans/jemmy/operators/FileChooserApp.java
+ test/org/netbeans/jemmy/operators/FileChooserTest.java
From erik.greijus at oracle.com Fri Dec 22 10:27:32 2017
From: erik.greijus at oracle.com (Erik Greijus)
Date: Fri, 22 Dec 2017 11:27:32 +0100
Subject: RFR 7902086: Add JemmyAWTInput to jemmy/v3
In-Reply-To: <30D7E202-BA0C-43F0-9E3C-2802F15707CA@oracle.com>
References: <30D7E202-BA0C-43F0-9E3C-2802F15707CA@oracle.com>
Message-ID: <2413452A-4BAA-46C1-8636-3783886841A2@oracle.com>
Hello,
There are some classes where methods could be annotated as overridden (for clarity and to make sure that these are properly overridden and not accidentally overloaded):
AWTImage
AWTRobotCapturer
ClasspathImageLoader
DiffDialog
FilesystemImageLoader
RoughImageFinder
AWTRobotInputFactory
DragImpl
KeyboardImpl
MouseImpl
AWTImage line 102: "private BufferedImage image;" can be final.
The import of java.awt.image.BufferedImage in class AverageDistanceImageComparator seems to be unused.
DiffDialog line 49: "private final static StrictImageComparator comparator = new StrictImageComparator();" doesn't follow naming conventions for constants.
The following imports in NaturalImageComparator seem to be unused:
import java.awt.Color;
import java.awt.image.BufferedImage;
import org.jemmy.image.pixel.AverageDistanceComparator;
The following imports in ResizeImageComparator seem to be unused:
import org.jemmy.image.pixel.Raster;
import org.jemmy.image.pixel.RasterComparator;
In AWTMap line 59 the assignment "int key = KeyEvent.VK_UNDEFINED;" seems to never be used (handled by following if-else)
In ClassReference lines 37 and 38 fields "private Class> cl;" and "private Object instance;" can be final.
The following imports in DragImpl seem to be unused:
import java.awt.event.InputEvent;
import org.jemmy.env.Timeout;
import org.jemmy.interfaces.Mouse;
-and on line 57 "private Wrap> source;" can be final
In MouseImpl lines 43 and 44 fields "private Wrap> target;" and "private RobotDriver robotDriver;" can be final.
The following imports in RobotDriver seem to be unused:
import java.util.HashMap;
import org.jemmy.interfaces.Button;
import org.jemmy.interfaces.Mouse.MouseButtons;
import org.jemmy.interfaces.Mouse.MouseModifiers;
In RobotExecutor line 184 the assignment "private static final Set convertables =...." doesn't follow naming conventions for constants.
In Version line 31 the constant hides another field. If on purpose maybe document why?
Best regards
/Erik
> 21 dec. 2017 kl. 18:20 skrev Alexandre (Shura) Iline :
>
> Hi,
>
> Please take a look on initial commit of JemmyAWTInput project.
>
> Webrev: http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/
>
>
> Shura
>
From alexandre.iline at oracle.com Fri Dec 22 20:43:07 2017
From: alexandre.iline at oracle.com (Alexandre (Shura) Iline)
Date: Fri, 22 Dec 2017 12:43:07 -0800
Subject: RFR 7902086: Add JemmyAWTInput to jemmy/v3
In-Reply-To: <2413452A-4BAA-46C1-8636-3783886841A2@oracle.com>
References: <30D7E202-BA0C-43F0-9E3C-2802F15707CA@oracle.com>
<2413452A-4BAA-46C1-8636-3783886841A2@oracle.com>
Message-ID:
There are so many places where I would do things differently if I develop that code right now ?
Including the problems you mentioned, which is just a tip of the iceberg. There are fundamental design problems too.
I am right now just trying to push the code which was available before with the minor tweaks such as removing deprecated API.
Regardless, I have made a quick scan, picked up a few low hanging fruits on the way.
http://cr.openjdk.java.net/~shurailine/7902086/webrev.02/
I am suggesting to push it is this state. Please let me know if for whatever reason that is not acceptable.
Also I suggest to file separate bugs for additional required fixes.
Shura
> On Dec 22, 2017, at 2:27 AM, Erik Greijus wrote:
>
> Hello,
>
> There are some classes where methods could be annotated as overridden (for clarity and to make sure that these are properly overridden and not accidentally overloaded):
> AWTImage
> AWTRobotCapturer
> ClasspathImageLoader
> DiffDialog
> FilesystemImageLoader
> RoughImageFinder
> AWTRobotInputFactory
> DragImpl
> KeyboardImpl
> MouseImpl
>
>
> AWTImage line 102: "private BufferedImage image;" can be final.
>
> The import of java.awt.image.BufferedImage in class AverageDistanceImageComparator seems to be unused.
>
> DiffDialog line 49: "private final static StrictImageComparator comparator = new StrictImageComparator();" doesn't follow naming conventions for constants.
>
> The following imports in NaturalImageComparator seem to be unused:
> import java.awt.Color;
> import java.awt.image.BufferedImage;
> import org.jemmy.image.pixel.AverageDistanceComparator;
>
> The following imports in ResizeImageComparator seem to be unused:
> import org.jemmy.image.pixel.Raster;
> import org.jemmy.image.pixel.RasterComparator;
>
> In AWTMap line 59 the assignment "int key = KeyEvent.VK_UNDEFINED;" seems to never be used (handled by following if-else)
>
> In ClassReference lines 37 and 38 fields "private Class> cl;" and "private Object instance;" can be final.
>
> The following imports in DragImpl seem to be unused:
> import java.awt.event.InputEvent;
> import org.jemmy.env.Timeout;
> import org.jemmy.interfaces.Mouse;
> -and on line 57 "private Wrap> source;" can be final
>
> In MouseImpl lines 43 and 44 fields "private Wrap> target;" and "private RobotDriver robotDriver;" can be final.
>
> The following imports in RobotDriver seem to be unused:
> import java.util.HashMap;
> import org.jemmy.interfaces.Button;
> import org.jemmy.interfaces.Mouse.MouseButtons;
> import org.jemmy.interfaces.Mouse.MouseModifiers;
>
> In RobotExecutor line 184 the assignment "private static final Set convertables =...." doesn't follow naming conventions for constants.
>
> In Version line 31 the constant hides another field. If on purpose maybe document why?
>
> Best regards
> /Erik
>
>
>
>> 21 dec. 2017 kl. 18:20 skrev Alexandre (Shura) Iline >:
>>
>> Hi,
>>
>> Please take a look on initial commit of JemmyAWTInput project.
>>
>> Webrev: http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/
>>
>>
>> Shura
>>
>
From erik.greijus at oracle.com Sat Dec 23 15:46:03 2017
From: erik.greijus at oracle.com (Erik Greijus)
Date: Sat, 23 Dec 2017 16:46:03 +0100
Subject: RFR 7902086: Add JemmyAWTInput to jemmy/v3
In-Reply-To:
References: <30D7E202-BA0C-43F0-9E3C-2802F15707CA@oracle.com>
<2413452A-4BAA-46C1-8636-3783886841A2@oracle.com>
Message-ID: <193F4F81-3B47-4B0A-A530-3F5A916C6E44@oracle.com>
I?m OK with pushing as is
/Erik
> 22 dec. 2017 kl. 21:43 skrev Alexandre (Shura) Iline :
>
> There are so many places where I would do things differently if I develop that code right now ?
>
> Including the problems you mentioned, which is just a tip of the iceberg. There are fundamental design problems too.
>
> I am right now just trying to push the code which was available before with the minor tweaks such as removing deprecated API.
>
> Regardless, I have made a quick scan, picked up a few low hanging fruits on the way.
> http://cr.openjdk.java.net/~shurailine/7902086/webrev.02/
>
> I am suggesting to push it is this state. Please let me know if for whatever reason that is not acceptable.
>
> Also I suggest to file separate bugs for additional required fixes.
>
> Shura
>
>> On Dec 22, 2017, at 2:27 AM, Erik Greijus > wrote:
>>
>> Hello,
>>
>> There are some classes where methods could be annotated as overridden (for clarity and to make sure that these are properly overridden and not accidentally overloaded):
>> AWTImage
>> AWTRobotCapturer
>> ClasspathImageLoader
>> DiffDialog
>> FilesystemImageLoader
>> RoughImageFinder
>> AWTRobotInputFactory
>> DragImpl
>> KeyboardImpl
>> MouseImpl
>>
>>
>> AWTImage line 102: "private BufferedImage image;" can be final.
>>
>> The import of java.awt.image.BufferedImage in class AverageDistanceImageComparator seems to be unused.
>>
>> DiffDialog line 49: "private final static StrictImageComparator comparator = new StrictImageComparator();" doesn't follow naming conventions for constants.
>>
>> The following imports in NaturalImageComparator seem to be unused:
>> import java.awt.Color;
>> import java.awt.image.BufferedImage;
>> import org.jemmy.image.pixel.AverageDistanceComparator;
>>
>> The following imports in ResizeImageComparator seem to be unused:
>> import org.jemmy.image.pixel.Raster;
>> import org.jemmy.image.pixel.RasterComparator;
>>
>> In AWTMap line 59 the assignment "int key = KeyEvent.VK_UNDEFINED;" seems to never be used (handled by following if-else)
>>
>> In ClassReference lines 37 and 38 fields "private Class> cl;" and "private Object instance;" can be final.
>>
>> The following imports in DragImpl seem to be unused:
>> import java.awt.event.InputEvent;
>> import org.jemmy.env.Timeout;
>> import org.jemmy.interfaces.Mouse;
>> -and on line 57 "private Wrap> source;" can be final
>>
>> In MouseImpl lines 43 and 44 fields "private Wrap> target;" and "private RobotDriver robotDriver;" can be final.
>>
>> The following imports in RobotDriver seem to be unused:
>> import java.util.HashMap;
>> import org.jemmy.interfaces.Button;
>> import org.jemmy.interfaces.Mouse.MouseButtons;
>> import org.jemmy.interfaces.Mouse.MouseModifiers;
>>
>> In RobotExecutor line 184 the assignment "private static final Set convertables =...." doesn't follow naming conventions for constants.
>>
>> In Version line 31 the constant hides another field. If on purpose maybe document why?
>>
>> Best regards
>> /Erik
>>
>>
>>
>>> 21 dec. 2017 kl. 18:20 skrev Alexandre (Shura) Iline >:
>>>
>>> Hi,
>>>
>>> Please take a look on initial commit of JemmyAWTInput project.
>>>
>>> Webrev: http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/
>>>
>>>
>>> Shura
>>>
>>
>