RFR 7902086: Add JemmyAWTInput to jemmy/v3

Erik Greijus erik.greijus at oracle.com
Sat Dec 23 15:46:03 UTC 2017


I’m OK with pushing as is

/Erik

> 22 dec. 2017 kl. 21:43 skrev Alexandre (Shura) Iline <alexandre.iline at oracle.com>:
> 
> 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/ <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 <erik.greijus at oracle.com <mailto:erik.greijus at oracle.com>> 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<String> 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 <alexandre.iline at oracle.com <mailto:alexandre.iline at oracle.com>>:
>>> 
>>> Hi,
>>> 
>>> Please take a look on initial commit of JemmyAWTInput project.
>>> 
>>> Webrev: http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/ <http://cr.openjdk.java.net/~shurailine/7902086/webrev.01/>
>>> 
>>> 
>>> Shura
>>> 
>> 
> 



More information about the jemmy-dev mailing list