[ https://issues.apache.org/jira/browse/FLINK-11068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16791790#comment-16791790 ]
Hequn Cheng commented on FLINK-11068: ------------------------------------- Hi [~twalthr], Great to have your suggestions. Thanks for merging the FLINK-11449 and the great work. (y) I think it is good to open a separate PR for porting the windows and fix the GroupWindow issue in it in a backward compatible way. I will start a new jira and open a PR on it soon. One thing need to confirm with you is I find {{ExpressionParser}} is used in {{TumbleWithSize}} which make it hard to port {{TumbleWithSize}} directly into the api-java module. As a choice, I think we can convert it into an interface and use reflection to cerate the {{TumbleWithSizeImpl}} in Tumble.over(). The code may looks like: {code:java} @PublicEvolving public class Tumble { public static TumbleWithSize over(String size) { try { Class clazz = Class.forName("org.apache.flink.table.api.TumbleWithSizeImpl"); Constructor con = clazz.getConstructor(String.class); return (TumbleWithSize) con.newInstance(size); } catch (Throwable t) { throw new TableException("New TumbleWithSizeImpl class failed.", t); } } } {code} What do you think? > Convert the API classes *Table, *Window to interfaces > ----------------------------------------------------- > > Key: FLINK-11068 > URL: https://issues.apache.org/jira/browse/FLINK-11068 > Project: Flink > Issue Type: Improvement > Components: API / Table SQL > Reporter: Timo Walther > Assignee: Hequn Cheng > Priority: Major > > A more detailed description can be found in > [FLIP-32|https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions]. > This includes: Table, GroupedTable, WindowedTable, WindowGroupedTable, > OverWindowedTable, Window, OverWindow > We can keep the "Table" Scala implementation in a planner module until it has > been converted to Java. > We can add a method to the planner later to give us a concrete instance. This > is one possibility to have a smooth transition period instead of changing all > classes at once. -- This message was sent by Atlassian JIRA (v7.6.3#76005)