Coder Social home page Coder Social logo

siddhi-io / siddhi-execution-string Goto Github PK

View Code? Open in Web Editor NEW
4.0 32.0 37.0 2.35 MB

Extension that provides basic string handling capabilities

Home Page: https://wso2-extensions.github.io/siddhi-execution-string/

License: Apache License 2.0

Java 100.00%
siddhi string utility expression-evaluator extension execution

siddhi-execution-string's Issues

Cast string error in function groupConcat

Description:
The first parameter type in function groupConcat is String. So if the column I need to use in function groupConcat is not string, I need to cast the column type to string. But there still throw an exception "Integer cannot cast to string" even I have already cast the column type to string.

Affected Product Version:

4.0.24

Steps to reproduce:

  1. The code:
    `@App:name("GroupByApp")
    @app:description("Description of the plan")

-- Please refer to https://docs.wso2.com/display/SP400/Quick+Start+Guide on getting started with SP editor.

define stream inputstream (id string,weight int);

@sink(type='log', prefix='LOGGER')
define stream OutputStream(id string,weight string);

@info(name='GroupbyQuery')
from inputstream#window.timeBatch(10 second)
select id,str:groupConcat(cast(weight,'string'),',',true) as weight
group by id
insert into OutputStream;`

  1. The exeption:
    [2018-12-28_08-58-27_187] ERROR {org.wso2.siddhi.core.query.processor.stream.AbstractStreamProcessor} - Error on 'GroupByApp'. java.lang.Integer cannot be cast to java.lang.String Dropping event chunk EventChunk{first=StreamEvent{ timestamp=1545958697185, beforeWindowData=null, onAfterWindowData=[1], outputData=[1, null], type=CURRENT, next=null}}, error in processing org.wso2.siddhi.core.query.processor.stream.window.TimeBatchWindowProcessor. (Encoded) java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at org.wso2.extension.siddhi.execution.string.GroupConcatFunctionExtension.processAdd(GroupConcatFunctionExtension.java:167) at org.wso2.siddhi.core.query.selector.attribute.aggregator.AttributeAggregator.process(AttributeAggregator.java:82) at org.wso2.siddhi.core.query.selector.attribute.processor.executor.GroupByAggregationAttributeExecutor.execute(GroupByAggregationAttributeExecutor.java:92) at org.wso2.siddhi.core.query.selector.attribute.processor.AttributeProcessor.process(AttributeProcessor.java:41) at org.wso2.siddhi.core.query.selector.QuerySelector.processInBatchGroupBy(QuerySelector.java:293) at org.wso2.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:84) at org.wso2.siddhi.core.query.processor.stream.window.TimeBatchWindowProcessor.process(TimeBatchWindowProcessor.java:254) at org.wso2.siddhi.core.query.processor.stream.window.WindowProcessor.processEventChunk(WindowProcessor.java:66) at org.wso2.siddhi.core.query.processor.stream.AbstractStreamProcessor.process(AbstractStreamProcessor.java:125) at org.wso2.siddhi.core.query.input.stream.single.EntryValveProcessor.process(EntryValveProcessor.java:50) at org.wso2.siddhi.core.util.Scheduler.sendTimerEvents(Scheduler.java:197) at org.wso2.siddhi.core.util.Scheduler$EventCaller.run(Scheduler.java:249) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

Improvements to documentation related to the default datasources of WSO2 SP

Description:
The following changes are required.

  1. Add information on how to use/update these default data sources in a production environment (e.g., the Carbon_DB can be kept as the H2, The PERMISSION_DB can be shared between both worker and dashboard. etc.).
  2. Change default DB of IdP Client to WSO2_OAUTH_APP_DB ? Currently, it is given as DB_AUTH_DB. (Doc space - 4.0.0 - 4.x.x).
  3. Add information about the data sources configured by default for the solutions, which are as follows.
    1. HTTP analytics
    1. Twitter Analytics
    1. Message Tracing
    1. APIM Analytics
    1. IS Analytics
    1. EI Analytics
    1. Geolocation
    1. WSO2AM_MGW_ANALYTICS_DB

Please find the context in the config file[1]

[1] https://github.com/wso2/product-sp/blob/master/modules/distribution/carbon-home/conf/worker/deployment.yaml#L378

Improve logging in GetStringJSONFunctionExtension

Description:
Improve logging in GetStringJSONFunctionExtension

INFO {io.siddhi.extension.execution.json.function.GetStringJSONFunctionExtension} - CollectorApp:query_2: Cannot find json element for the path 'field_462501'. Hence returning the default value 'null' (Encoded)

str:concat() should support not string parameters.

Description:
Currently, only string params can be passed to str:concat(), but if we need to contact a string and int, then we have to first convert the int to string and then pass that to str:concat().

This can be improved if we can support str:concat() to accept other formats other than string.

Siddhi String Tokenizer return parameter in not clear in the documentation

Description:
I am trying to use the string tokenize method in Siddhi in my siddhi app, I tried to find the details in the documentation, but it is not clear. Following is a screenshot from the documentation.

screen shot 2018-07-19 at 3 41 03 pm

What is the return value of the tokenizer ? When we tokenize a string, what is the attribute value of the tokenized string ?

Suggested Labels:
siddhi, siddhi-string-extension, string, tokenize, tokenizer

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Adding new extensions for map and evaluate strings

Description:

Problem

Currently, Siddhi execution string does not support string manipulation for the following scenarios.

  1. Let say I have a stringS=" {{prize}} > 100 " and the value of the prize coming from a different stream. Assume that, now the prize is 300. Then I need to get the string S'= "300 > 100"
  2. The next scenario is get the string S' = "300 > 100" and evaluate it. The evaluation of that mathematical expression should return true.

Suggestion

  1. Implement an extension called str: map(STRING, STRING...) and this will return a STRING.
  2. Implement an extension called str: eval(STRING, STRING...) and this will return an Object.

Suggested Labels:
Feature improvement

ERROR {io.siddhi.core.stream.output.sink.Sink} - Error on 'APIM_ALERT_EMAIL_NOTIFICATION'

While running WSO2 gateway sending the mail below error is coming

ERROR {io.siddhi.core.stream.output.sink.Sink} - Error on 'APIM_ALERT_EMAIL_NOTIFICATION'. Error is encountered while connecting to the smtp server.Error is encountered while creating the connection using the session.Couldn't connect to host, port: smtp.gmail.com, 465; timeout -1, error while connecting at Sink 'email' at 'EmailNotificationStream', will retry in '30 sec'. io.siddhi.core.exception.ConnectionUnavailableException: Error is encountered while connecting to the smtp server.

Update mkdocs

Content of auto generated documentation site should be updated and refined.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.