Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Calendar API cleanup (deephaven#4201)
* First refactoring. * First refactoring. * Add local date chronology methods. * Calendar refactoring and cleanup. * Calendar refactoring and cleanup. * Calendar refactoring and cleanup. * Calendar refactoring and cleanup. * BusinessCalendar refactoring and cleanup. * BusinessCalendar refactoring and cleanup. * BusinessPeriod BusinessSchedule refactoring and cleanup. * BusinessCalendar refactoring and cleanup: * Exceptions * BusinessCalendar refactoring and cleanup: * Business Schedule * BusinessCalendar refactoring and cleanup: * Business Day * BusinessCalendar refactoring and cleanup: * Business Time * BusinessCalendar refactoring and cleanup: * Arithmetic * BusinessCalendar refactoring and cleanup: * Misc * BusinessCalendar refactoring and cleanup: * BusinessCalendarParser * BusinessCalendar refactoring and cleanup: * BusinessCalendarParser * BusinessCalendar refactoring and cleanup: * DefaultBusinessCalendar * BusinessCalendar refactoring and cleanup: * Calendars * BusinessCalendar refactoring and cleanup: * DateStringUtils * BusinessCalendar refactoring and cleanup: * DefaultNoHolidayBusinessCalendar * BusinessCalendar refactoring and cleanup: * Ranges * BusinessCalendar refactoring and cleanup: * Differences * Calendar refactoring and cleanup: * Plus/Minus * DateTimeUtils added todayDate plus formatting LocalDate. * Todo cleanup: * Calendar * Todo and docs cleanup: * Calendar * BusinessCalendar * Todo and docs and formatting cleanup: * Calendar * BusinessCalendar * Todo and docs and formatting cleanup: * Calendar * BusinessCalendar * Todo and docs and formatting cleanup: * Calendar * BusinessCalendar * Todo and docs and formatting cleanup: * BusinessPeriod * Calendars * Unit test: * BusinessPeriod * Unit test: * BusinessSchedule * Unit test: * Calendar * Unit test: * BusinessPeriod * BusinessSchedule * Unit test: * BusinessCalendar - Schedule * Unit test: * BusinessCalendar - Schedule * Unit test: * BusinessCalendar - Business Day * Unit test: * BusinessCalendar - Business Time * Unit test: * BusinessCalendar - Ranges * Unit test: * BusinessCalendar - Differences * Unit test: * BusinessCalendar - Arithmetic * Unit test: * BusinessCalendar - Getters * Committing to rebase * Committing to rebase * Updated doc string. * Updated doc string. Added a weekendDays getter. * Updated doc string. Added a weekendDays getter. * Renamed todayDate to todayLocalDate. (partial commit) * Add LocalDate arithmetic. * Updating calendar configs. * Updating calendar configs. * Refactoring code gen * Refactoring code gen * Make axis transforms compile * Refactoring code gen. Not fully working. * Updated GroovyStaticImports * Refactoring code gen. Not fully working. * Figure interface * Figure interface * FigureImpl * Refactoring code gen. * Refactoring code gen. * Refactoring code gen. * Refactoring code gen. * Refactoring code gen. * Refactoring code gen. * StaticCalendarMethods * Refactoring code gen. * Renamed currentDate to calendarDate * Add calendar methods to groovy. * Add calendar methods to ColumnExpressionValidator. * Working on tests. * Working on tests. * StaticCalendarMethods * Spotless * Update calendar files * Addressing tests. * Automatically test all static calendar methods in query strings and automatically test static calendar methods. * Improve test coverage. * Improve test coverage. * spotless * Python API and unit tests. * Spotless * Create a numpy business calendar. * Create a BusinessCalendar dtype. * Fixed figure.py * Fixed unit tests * Fixed unit tests * Fixed unit tests * Addressing code review. * Addressing code review. * Addressing code review. * Addressing code review. * Addressing code review. * Elijah's updated calendars, only from authoritative sources. * Spotless * Reduce logging level. * Function rename * Function/Class rename * Addressing review comments. * Fixed broken unit test. * Added a new calendar integration test and fix test failures. * Test numpy calendars with a bus calendar with no business time. * Update engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendarParser.java Co-authored-by: Alex Peters <80283343+alexpeters1208@users.noreply.github.com> * Update engine/time/src/main/java/io/deephaven/time/calendar/BusinessDay.java Co-authored-by: Alex Peters <80283343+alexpeters1208@users.noreply.github.com> * Update engine/time/src/main/java/io/deephaven/time/calendar/BusinessCalendar.java Co-authored-by: Charles P. Wright <cpwright@gmail.com> * Update py/server/deephaven/calendar.py Co-authored-by: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> * Update py/server/deephaven/calendar.py Co-authored-by: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. * Address review comments. Name changes. * Address review comments. Name changes. * Address review comments. Regenerate and format. * Address review comments. Regenerate and format. * Address review comments. Improve multi-threaded performance. * Address review comments. Corrected sources list. * Address review comments. Improved documentation. * Address review comments. Compute time range nanos on demand and support returning durations. * Address review comments. More explicitly handle open vs closed ranges. * Address review comments. More explicitly handle open vs closed ranges. * Address review comments. Update calendar parsing for 24:00. * Spotless * Addressing review comments. Add methods that return durations. * Addressing review comments. Add methods that return durations. * Fixed error message. * Addressing reviewer comments. Making the calendar API null tolerant, like the rest of the time API. * Addressing review comments. Make the entire API null tolerant for consistency. * Addressing review comments. Defer calendar initialization to make finding errors easier. * Spotless * Address review comments. Rename DateTimeUtils.plus to DateTimeUtils.plusDays for long args. * Update py/server/deephaven/calendar.py Co-authored-by: JJ Brosnan <84038776+jjbrosnan@users.noreply.github.com> * Address review comments. Rename DateTimeUtils.minus to DateTimeUtils.minusDays for long args. * Address review comments. Docstring cleanup. * Address review comments. BusinessCalendarXMLParser not public. * Address review comments. Made BusinessCalendar and Calendar constructors package so that they can be converted to interfaces in the future. * Address review comments. Shrink the UTC calendar to save memory. * Address review comments. Rename dayOfWeek to dayOfWeekValue and add dayOfWeek. * Address review comments. Compromise on publishing business calendars that may not be accurate. * Address review comments. Fix javadocs. * Address review comments. Spotless * Python unit test fixes. --------- Co-authored-by: Alex Peters <80283343+alexpeters1208@users.noreply.github.com> Co-authored-by: Charles P. Wright <cpwright@gmail.com> Co-authored-by: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Co-authored-by: JJ Brosnan <84038776+jjbrosnan@users.noreply.github.com>
- Loading branch information