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 >>> >> >