@Test public void testStreamDefinitionConversion() throws MalformedStreamDefinitionException { StreamDefinition streamDef = new StreamDefinition("stockStream", "1.1.0"); List<Attribute> meta = new ArrayList<Attribute>(1); meta.add(new Attribute("symbol", AttributeType.STRING)); List<Attribute> payload = new ArrayList<Attribute>(1); payload.add(new Attribute("price", AttributeType.DOUBLE)); streamDef.setMetaData(meta); streamDef.setPayloadData(payload); org.wso2.siddhi.query.api.definition.StreamDefinition siddhiDefinition = null; try { siddhiDefinition = EventProcessorUtil.convertToSiddhiStreamDefinition(streamDef, "stockStream"); } catch (EventStreamConfigurationException e) { log.error(e); } Assert.assertEquals(siddhiDefinition.getAttributeList().size(), 2); log.info(siddhiDefinition); /* StreamDefinition databrigeDefinition = EventProcessorUtil.convertToDatabridgeStreamDefinition(siddhiDefinition, "stockStream/1.1.0"); Assert.assertEquals(databrigeDefinition.getPayloadData().size(), 2); log.info(databrigeDefinition); */ }
public void createMailInputStream(int tenantID) throws EmailMonitorServiceException { StreamDefinition streamDefinition; try { streamDefinition = eventStreamService.getStreamDefinition("gmailInputStream", "1.0.0", tenantID); } catch (EventStreamConfigurationException e) { logger.error(e.getMessage()); throw new EmailMonitorServiceException("Error when getting stream definition", e); } if (streamDefinition == null) { try { streamDefinition = new StreamDefinition("gmailInputStream", "1.0.0"); } catch (MalformedStreamDefinitionException e) { logger.error(e.getMessage()); throw new EmailMonitorServiceException("Error defining new stream", e); } List<Attribute> metaData = new ArrayList<Attribute>(); Attribute metaTenantID = new Attribute("tenant_id", AttributeType.INT); metaData.add(metaTenantID); Attribute metaHttpMethod = new Attribute("http_method", AttributeType.STRING); metaData.add(metaHttpMethod); Attribute metaCharacterSet = new Attribute("character_set_encoding", AttributeType.STRING); metaData.add(metaCharacterSet); Attribute metaRemoteAddress = new Attribute("remote_address", AttributeType.STRING); metaData.add(metaRemoteAddress); Attribute metaTransportIn = new Attribute("transport_in_url", AttributeType.STRING); metaData.add(metaTransportIn); Attribute metaMessageType = new Attribute("message_type", AttributeType.STRING); metaData.add(metaMessageType); Attribute metaRemoteHost = new Attribute("remote_host", AttributeType.STRING); metaData.add(metaRemoteHost); Attribute metaServicePrefix = new Attribute("service_prefix", AttributeType.STRING); metaData.add(metaServicePrefix); Attribute metaHost = new Attribute("host", AttributeType.STRING); metaData.add(metaHost); streamDefinition.setMetaData(metaData); List<Attribute> correlationData = new ArrayList<Attribute>(); Attribute correlationActivityID = new Attribute("activity_id", AttributeType.STRING); correlationData.add(correlationActivityID); streamDefinition.setCorrelationData(correlationData); List<Attribute> payloadData = new ArrayList<Attribute>(); Attribute payloadMessageDirection = new Attribute("message_direction", AttributeType.STRING); payloadData.add(payloadMessageDirection); Attribute payloadServiceName = new Attribute("service_name", AttributeType.STRING); payloadData.add(payloadServiceName); Attribute payloadOperationName = new Attribute("operation_name", AttributeType.STRING); payloadData.add(payloadOperationName); Attribute payloadMessageID = new Attribute("message_id", AttributeType.STRING); payloadData.add(payloadMessageID); Attribute payloadTimestamp = new Attribute("timestamp", AttributeType.LONG); payloadData.add(payloadTimestamp); Attribute payloadEmailMessageID = new Attribute("messageID", AttributeType.LONG); payloadData.add(payloadEmailMessageID); Attribute payloadSubject = new Attribute("subject", AttributeType.STRING); payloadData.add(payloadSubject); Attribute payloadFrom = new Attribute("sender", AttributeType.STRING); payloadData.add(payloadFrom); Attribute payloadTo = new Attribute("to", AttributeType.STRING); payloadData.add(payloadTo); Attribute payloadSentDate = new Attribute("sentDate", AttributeType.LONG); payloadData.add(payloadSentDate); Attribute payloadThreadID = new Attribute("threadID", AttributeType.LONG); payloadData.add(payloadThreadID); Attribute payloadStatus = new Attribute("status", AttributeType.STRING); payloadData.add(payloadStatus); Attribute payloadContent = new Attribute("content", AttributeType.STRING); payloadData.add(payloadContent); Attribute payloadLabels = new Attribute("labels", AttributeType.STRING); payloadData.add(payloadLabels); Attribute payloadSoapHeader = new Attribute("soap_header", AttributeType.STRING); payloadData.add(payloadSoapHeader); Attribute payloadSoapBody = new Attribute("soap_body", AttributeType.STRING); payloadData.add(payloadSoapBody); streamDefinition.setPayloadData(payloadData); streamDefinition.setDescription("email information stream"); streamDefinition.setNickName("gmail"); try { eventStreamService.addEventStreamDefinition(streamDefinition, tenantID); } catch (EventStreamConfigurationException e) { logger.error(e.getMessage()); throw new EmailMonitorServiceException("Error when adding new stream", e); } } }