@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new RegexParseSpec(spec, getDimensionsSpec(), listDelimiter, columns, pattern); }
@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new RegexParseSpec(getTimestampSpec(), spec, listDelimiter, columns, pattern); }
@JsonCreator public RegexParseSpec( @JsonProperty("timestampSpec") TimestampSpec timestampSpec, @JsonProperty("dimensionsSpec") DimensionsSpec dimensionsSpec, @JsonProperty("listDelimiter") String listDelimiter, @JsonProperty("columns") List<String> columns, @JsonProperty("pattern") String pattern ) { super(timestampSpec, dimensionsSpec); this.listDelimiter = listDelimiter; this.columns = columns; this.pattern = pattern; verify(dimensionsSpec.getDimensionNames()); }
@Test public void testSerde() throws IOException { RegexParseSpec spec = new RegexParseSpec( new TimestampSpec("abc", "iso", null), new DimensionsSpec(DimensionsSpec.getDefaultSchemas(Collections.singletonList("abc")), null, null), "\u0001", Collections.singletonList("abc"), "abc" ); final RegexParseSpec serde = (RegexParseSpec) jsonMapper.readValue( jsonMapper.writeValueAsString(spec), ParseSpec.class ); Assert.assertEquals("abc", serde.getTimestampSpec().getTimestampColumn()); Assert.assertEquals("iso", serde.getTimestampSpec().getTimestampFormat()); Assert.assertEquals("abc", serde.getPattern()); Assert.assertEquals("\u0001", serde.getListDelimiter()); Assert.assertEquals(Collections.singletonList("abc"), serde.getDimensionsSpec().getDimensionNames()); } }
@Override public ParseSpec withTimestampSpec(TimestampSpec spec) { return new RegexParseSpec(spec, getDimensionsSpec(), listDelimiter, columns, pattern); }
@Override public ParseSpec withDimensionsSpec(DimensionsSpec spec) { return new RegexParseSpec(getTimestampSpec(), spec, listDelimiter, columns, pattern); }
@JsonCreator public RegexParseSpec( @JsonProperty("timestampSpec") TimestampSpec timestampSpec, @JsonProperty("dimensionsSpec") DimensionsSpec dimensionsSpec, @JsonProperty("listDelimiter") String listDelimiter, @JsonProperty("columns") List<String> columns, @JsonProperty("pattern") String pattern ) { super(timestampSpec, dimensionsSpec); this.listDelimiter = listDelimiter; this.columns = columns; this.pattern = pattern; verify(dimensionsSpec.getDimensionNames()); }