@Override public DefaultField newMessage() { return new DefaultField(); }
DefaultField field = new DefaultField(); e.setMetadata(m); field.setMarkings(ckv.getMarkings()); field.setName(ckv.getViewName()); field.setTimestamp(entry.getKey().getTimestamp()); field.setValue(ckv.getContents());
public void mergeFrom(Input input, DefaultEvent message) throws IOException { int number; Schema<DefaultField> schema = null; while ((number = input.readFieldNumber(this)) != 0) { switch (number) { case 1: message.markings = new HashMap<String,String>(); input.mergeObject(message.markings, MapSchema.SCHEMA); break; case 2: message.metadata = input.mergeObject(null, Metadata.getSchema()); break; case 3: if (message.fields == null) message.fields = new ArrayList<DefaultField>(); if (null == schema) { DefaultField field = new DefaultField(); schema = field.cachedSchema(); } DefaultField f = input.mergeObject(null, schema); message.fields.add(f); break; default: input.handleUnknownField(number, this); break; } } }
@Test public void compositeWithoutIvaratorTest() throws Exception { String query = "((" + GEO_FIELD + " >= '0311' && " + GEO_FIELD + " <= '0312') && " + WKT_BYTE_LENGTH_FIELD + " == 15) ||" + "(" + GEO_FIELD + " == '1f20aaaaaaaaaaaaaa' && (" + WKT_BYTE_LENGTH_FIELD + " >= 59 && " + WKT_BYTE_LENGTH_FIELD + " <= 61)) ||" + "(" + GEO_FIELD + " == '1f0aaaaaaaaaaaaaaa' && " + WKT_BYTE_LENGTH_FIELD + " >= 22)"; List<QueryData> queries = getQueryRanges(query, false); Assert.assertEquals(3, queries.size()); List<DefaultEvent> events = getQueryResults(query, false); Assert.assertEquals(3, events.size()); for (DefaultEvent event : events) { List<String> wkt = new ArrayList<>(); List<Integer> wktByteLength = new ArrayList<>(); for (DefaultField field : event.getFields()) { if (field.getName().equals(GEO_FIELD)) wkt.add(field.getValueString()); else if (field.getName().equals(WKT_BYTE_LENGTH_FIELD)) wktByteLength.add(Integer.parseInt(field.getValueString())); } TestData result = new TestData(wkt, wktByteLength); Assert.assertTrue(testData.contains(result)); } Assert.assertEquals(3, events.size()); }
private static void evaluateEvents(List<DefaultEvent> events, List<String> expected) { Assert.assertTrue("Expected 1 or more results", events.size() >= 1); for (DefaultEvent event : events) { List<String> fields = event.getFields().stream().filter((DefaultField field) -> expected.contains(field.getValueString())) .map(DefaultField::getValueString).distinct().collect(Collectors.toList()); Assert.assertTrue("Missing values {" + expected + "} != {" + fields + "}", fields.containsAll(expected)); } }
public void writeTo(Output output, DefaultEvent message) throws IOException { if (message.markings != null) output.writeObject(1, message.markings, MapSchema.SCHEMA, false); if (message.metadata != null) { output.writeObject(2, message.metadata, Metadata.getSchema(), false); } if (message.fields != null) { Schema<DefaultField> schema = null; for (DefaultField field : message.fields) { if (field != null) { if (schema == null) { schema = field.cachedSchema(); } output.writeObject(3, field, schema, true); } } } }
@Test public void compositeWithIvaratorTest() throws Exception { String query = "((" + GEO_FIELD + " >= '0311' && " + GEO_FIELD + " <= '0312') && " + WKT_BYTE_LENGTH_FIELD + " == 15) ||" + "(" + GEO_FIELD + " == '1f20aaaaaaaaaaaaaa' && (" + WKT_BYTE_LENGTH_FIELD + " >= 59 && " + WKT_BYTE_LENGTH_FIELD + " <= 61)) ||" + "(" + GEO_FIELD + " == '1f0aaaaaaaaaaaaaaa' && " + WKT_BYTE_LENGTH_FIELD + " >= 22)"; List<QueryData> queries = getQueryRanges(query, true); Assert.assertEquals(732, queries.size()); List<DefaultEvent> events = getQueryResults(query, true); Assert.assertEquals(3, events.size()); for (DefaultEvent event : events) { List<String> wkt = new ArrayList<>(); List<Integer> wktByteLength = new ArrayList<>(); for (DefaultField field : event.getFields()) { if (field.getName().equals(GEO_FIELD)) wkt.add(field.getValueString()); else if (field.getName().equals(WKT_BYTE_LENGTH_FIELD)) wktByteLength.add(Integer.parseInt(field.getValueString())); } TestData result = new TestData(wkt, wktByteLength); Assert.assertTrue(testData.contains(result)); } Assert.assertEquals(3, events.size()); }
@Override public FieldBase getField() { return new DefaultField(); }
if (field.getName().equals(GEO_FIELD)) wkt = field.getValueString(); else if (field.getName().equals(WKT_BYTE_LENGTH_FIELD)) wktByteLength = Integer.parseInt(field.getValueString());
if (field.getName().equals(GEO_FIELD)) wkt = field.getValueString(); else if (field.getName().equals(WKT_BYTE_LENGTH_FIELD)) wktByteLength = Integer.parseInt(field.getValueString());