public StreamEventBuilder attributes(Map<String, Object> data, StreamDefinition streamDefinition) { this.schema(streamDefinition); List<StreamColumn> columnList = streamDefinition.getColumns(); if (columnList != null && columnList.size() > 0) { List<Object> values = new ArrayList<>(columnList.size()); for (StreamColumn column : columnList) { values.add(data.getOrDefault(column.getName(), column.getDefaultValue())); } instance.setData(values.toArray()); } else if (LOG.isDebugEnabled()) { LOG.warn("All data [{}] are ignored as no columns defined in schema {}", data, streamDefinition); } return this; }
public static StreamEvent createRandomStreamEvent(String streamId, long timestamp) { StreamEvent event; try { event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSingletonMetadataServiceWithSample().getStreamDefinition(streamId)) .streamId(streamId) .timestamep(timestamp) .attributes(new HashMap<String, Object>() {{ put("name", SAMPLE_STREAM_NAME_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_NAME_OPTIONS.length)]); put("value", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); put("host", SAMPLE_STREAM_HOST_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_HOST_OPTIONS.length)]); put("flag", SAMPLE_STREAM_FLAG_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_FLAG_OPTIONS.length)]); // put("value1", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value2", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value3", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value4", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); // put("value5", SAMPLE_STREAM_VALUE_OPTIONS[RANDOM.nextInt(SAMPLE_STREAM_VALUE_OPTIONS.length)]); put("unknown", "unknown column value"); }}).build(); } catch (StreamNotDefinedException e) { throw new IllegalStateException(e.getMessage(), e); } return event; }
.schema(ssd.get("sampleStream_1")) .streamId("sampleStream_1") .timestamep(ts_1) .schema(ssd.get("sampleStream_2")) .streamId("sampleStream_2") .timestamep(ts_2) .schema(ssd.get("sampleStream_2")) .streamId("sampleStream_2") .timestamep(ts_2) .schema(ssd.get("sampleStream_2")) .streamId("sampleStream_2") .timestamep(ts_2)
private static StreamEvent mockSimpleStreamEvent(Long timestamp) { return StreamEvent.builder() .schema(mockStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(timestamp) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("unknown", "unknown column value"); }}).build(); }
@SuppressWarnings("serial") public static PartitionedEvent createSimpleStreamEvent() { StreamEvent event = StreamEvent.builder() .schema(createSampleStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("host", "localhost"); put("flag", true); put("value", 60.0); put("data", Long.MAX_VALUE); put("unknown", "unknown column value"); }}).build(); PartitionedEvent pEvent = new PartitionedEvent(); pEvent.setEvent(event); pEvent.setPartition(createSampleStreamGroupbyPartition("sampleStream_1", Arrays.asList("name", "host"))); return pEvent; } }
StreamEvent streamEvent = streamEventBuilder.schema(streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[],metaVersion=metaVersion]", streamEvent.toString()); Object[] data = new Object[]{"namevalue", "hostvalue", "1", 10.0, 1, -0.2, "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}", 4}; streamEvent = streamEventBuilder.schema(streamDefinition).attributes(data).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,1,10.0,1,-0.2,{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"},4],metaVersion=metaVersion]", streamEvent.toString()); mapdata.put("object", "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}"); mapdata.put("int", 4); StreamEvent streamEvent1 = streamEventBuilder.schema(streamDefinition).attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build(); Assert.assertEquals("StreamEvent[stream=STREAMID,timestamp=2016-11-09 05:01:26,971,data=[namevalue,hostvalue,1,10.0,1,-0.2,{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"},4],metaVersion=metaVersion]", streamEvent.toString()); streamEvent1 = streamEventBuilder1.schema(streamDefinition).attributes(mapdata, streamDefinition).streamId("streamId").metaVersion("metaVersion").timestamep(1478667686971l).build();
public static PartitionedEvent createSimpleStreamEvent() { StreamEvent event = null; try { event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSingletonMetadataServiceWithSample().getStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("unknown", "unknown column value"); }}).build(); } catch (StreamNotDefinedException e) { e.printStackTrace(); } PartitionedEvent pEvent = new PartitionedEvent(); pEvent.setEvent(event); return pEvent; }
@SuppressWarnings("serial") @Test public void testBySendSimpleEvent() throws Exception { SiddhiPolicyHandler handler; MockStreamCollector collector; handler = new SiddhiPolicyHandler(createDefinition("sampleStream_1", "sampleStream_2"), 0); collector = new MockStreamCollector(); PolicyDefinition policyDefinition = MockSampleMetadataFactory.createSingleMetricSamplePolicy(); PolicyHandlerContext context = new PolicyHandlerContext(); context.setPolicyDefinition(policyDefinition); context.setPolicyCounter(new StormMultiCountMetric(new MultiCountMetric())); context.setPolicyEvaluator(new PolicyGroupEvaluatorImpl("evalutorId")); handler.prepare(collector, context); StreamEvent event = StreamEvent.builder() .schema(MockSampleMetadataFactory.createSampleStreamDefinition("sampleStream_1")) .streamId("sampleStream_1") .timestamep(System.currentTimeMillis()) .attributes(new HashMap<String, Object>() {{ put("name", "cpu"); put("value", 60.0); put("bad", "bad column value"); }}).build(); handler.send(event); handler.close(); }