if (parts.size() > 3) { int index = Integer.parseInt(parts.get(2), WindowAndTriggerNamespace.TRIGGER_RADIX); return windowAndTrigger(windowCoder, window, index); } else { return window(windowCoder, window);
@Test public void testFromStringIntervalWindow() { assertStringKeyRoundTrips( intervalCoder, StateNamespaces.window(intervalCoder, intervalWindow(1000, 8000))); assertStringKeyRoundTrips( intervalCoder, StateNamespaces.window(intervalCoder, intervalWindow(1000, 8000))); assertStringKeyRoundTrips( intervalCoder, StateNamespaces.windowAndTrigger(intervalCoder, intervalWindow(1000, 8000), 18)); assertStringKeyRoundTrips( intervalCoder, StateNamespaces.windowAndTrigger(intervalCoder, intervalWindow(1000, 8000), 19)); assertStringKeyRoundTrips( intervalCoder, StateNamespaces.windowAndTrigger(intervalCoder, intervalWindow(2000, 8000), 19)); }
@Test public void testFromStringGlobalWindow() { assertStringKeyRoundTrips(GlobalWindow.Coder.INSTANCE, StateNamespaces.global()); assertStringKeyRoundTrips( GlobalWindow.Coder.INSTANCE, StateNamespaces.window(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE)); assertStringKeyRoundTrips( GlobalWindow.Coder.INSTANCE, StateNamespaces.windowAndTrigger(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE, 18)); }
/** Test that WindowAndTrigger namespaces are prefixed by the related Window namespace. */ @Test public void testGlobalWindowPrefixing() { StateNamespace window = StateNamespaces.window(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE); StateNamespace windowAndTrigger = StateNamespaces.windowAndTrigger(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE, 57); assertThat(windowAndTrigger.stringKey(), Matchers.startsWith(window.stringKey())); assertThat( StateNamespaces.global().stringKey(), Matchers.not(Matchers.startsWith(window.stringKey()))); }
/** Test that WindowAndTrigger namespaces are prefixed by the related Window namespace. */ @Test public void testIntervalWindowPrefixing() { StateNamespace window = StateNamespaces.window(intervalCoder, intervalWindow(1000, 87392)); StateNamespace windowAndTrigger = StateNamespaces.windowAndTrigger(intervalCoder, intervalWindow(1000, 87392), 57); assertThat(windowAndTrigger.stringKey(), Matchers.startsWith(window.stringKey())); assertThat( StateNamespaces.global().stringKey(), Matchers.not(Matchers.startsWith(window.stringKey()))); }
/** * This test should not be changed. It verifies that the stringKey matches certain expectations. * If this changes, the ability to reload any pipeline that has persisted these namespaces will be * impacted. */ @Test public void testStability() { StateNamespace global = StateNamespaces.global(); StateNamespace intervalWindow = StateNamespaces.window(intervalCoder, intervalWindow(1000, 87392)); StateNamespace intervalWindowAndTrigger = StateNamespaces.windowAndTrigger(intervalCoder, intervalWindow(1000, 87392), 57); StateNamespace globalWindow = StateNamespaces.window(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE); StateNamespace globalWindowAndTrigger = StateNamespaces.windowAndTrigger(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE, 12); assertEquals("/", global.stringKey()); assertEquals("/gAAAAAABVWD4ogU/", intervalWindow.stringKey()); assertEquals("/gAAAAAABVWD4ogU/1L/", intervalWindowAndTrigger.stringKey()); assertEquals("//", globalWindow.stringKey()); assertEquals("//C/", globalWindowAndTrigger.stringKey()); }