@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName,
+ " that event is not processed by the window.", parameters = { @Parameter(name = "unique.key", description = "The attribute that should be checked for uniqueness.", type = {DataType.INT, DataType.LONG, DataType.FLOAT, DataType.BOOL, DataType.DOUBLE}), @Parameter(name = "window.time", description = "The sliding time period for which the window should hold events.", type = {DataType.INT, DataType.LONG}), @Parameter(name = "start.time", description = "This specifies an offset in milliseconds in order to start the " + "window at a time different to the standard time.",
"publish events to the same topic, the `type` parameter must have `kafkaMultiDC` as its value.", parameters = { @Parameter(name = "bootstrap.servers", description = " This parameter specifies the list of Kafka servers to which the Kafka " + "sink must publish events. This list should be provided as a set of comma " + "at least two servers in this list. e.g., `localhost:9092,localhost:9093`.", type = {DataType.STRING}), @Parameter(name = "topic", description = "The topic to which the Kafka sink needs to publish events. Only one " + "topic must be specified.", type = {DataType.STRING}), @Parameter(name = "sequence.id", description = "A unique identifier to identify the messages published by this sink. This ID " + "allows receivers to identify the sink that published a specific message.", optional = true, defaultValue = "null"), @Parameter(name = "key", description = "The key contains the values that are used to maintain ordering in a Kafka" + " partition.", optional = true, defaultValue = "null"), @Parameter(name = "partition.no", description = "The partition number for the given topic. Only one partition ID can be " + "defined. If no value is specified for this parameter, the Kafka sink publishes " + optional = true,
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName,
description = "JMS Sink allows users to subscribe to a JMS broker and publish JMS messages.", parameters = { @Parameter(name = JMSOptionsMapper.DESTINATION, description = "Queue/Topic name which JMS Source should subscribe to", type = DataType.STRING, dynamic = true ), @Parameter(name = JMSOptionsMapper.CONNECTION_FACTORY_JNDI_NAME, description = "JMS Connection Factory JNDI name. This value will be used for the JNDI " + "lookup to find the JMS Connection Factory.", optional = true, defaultValue = "QueueConnectionFactory"), @Parameter(name = JMSOptionsMapper.FACTORY_INITIAL, description = "Naming factory initial value", type = DataType.STRING), @Parameter(name = JMSOptionsMapper.PROVIDER_URL, description = "Java naming provider URL. Property for specifying configuration " + "information for the service provider to use. The value of the property should " + "contain a URL string (e.g. \"ldap://somehost:389\")", type = DataType.STRING), @Parameter(name = JMSOptionsMapper.CONNECTION_FACTORY_TYPE, description = "Type of the connection connection factory. This can be either queue or " + "topic.", optional = true, defaultValue = "queue"), @Parameter(name = JMSOptionsMapper.CONNECTION_USERNAME, description = "username for the broker.",
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName,
+ " data", parameters = { @Parameter( name = "usage.publishing.frequency", description = "Time interval to run the data retrieval timer task in milliseconds.", optional = true, defaultValue = "300000"), @Parameter(name = "usage.cleanup.frequency", description = "Time interval to run the data cleanup timer task in milliseconds.", type = { optional = true, defaultValue = "1800000"), @Parameter(name = "file.retention.days", description = "Number of days to keep already read microgateway analytics zip files before removal.", type = { optional = true, defaultValue = "5"), @Parameter(name = "usage.publishing.thread.count", description = "Number of threads to use for data retrieval when the timer task runs. A single thread " + "will process data from a single file.",
String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> type annotated in class {1} is null or empty.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName,
@Parameter(name = "unique.key", description = "The attribute that should be checked for uniqueness.", type = {DataType.INT, DataType.LONG, DataType.FLOAT, DataType.BOOL, DataType.DOUBLE}), @Parameter(name = "window.length", description = "The number of events the window should tumble.", type = {DataType.INT}),
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter " + "-> name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter " + "-> name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter " + "-> name:{0} -> dynamic property cannot be true annotated in class {1}. " + parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
"acceptable response source code using the parameter 'http.status.code'\n", parameters = { @Parameter(name = "sink.id", description = "This parameter is used to map the http-response source to a " + "http-request sink. Then this source will accepts the response messages for " + "the requests sent by corresponding http-request sink.", type = {DataType.STRING}), @Parameter(name = "http.status.code", description = "Acceptable http status code for the responses.\n" + "This can be a complete string or a regex.\n" + optional = true, defaultValue = "200"), @Parameter(name = "allow.streaming.responses", description = "If responses can be received multiple times for a single request, " + "this option should be enabled. If this is not enabled, for every request, response " +
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
"to files. \nSiddhi-io-file sink provides support to write both textual and binary data into files\n", parameters = { @Parameter(name = "file.uri", description = "Used to specify the file for data to be written. ", ), @Parameter(name = "append", description = "" + "This parameter is used to specify whether the data should be " + defaultValue = "true" ), @Parameter( name = "add.line.separator", description = "This parameter is used to specify whether events added to the file should " +
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
+ "then the previous event expires and new event is kept within the window.", parameters = { @Parameter(name = "unique.key", description = "The attribute that should be checked for uniqueness.", type = {DataType.INT, DataType.LONG, DataType.FLOAT, DataType.BOOL, DataType.DOUBLE}), @Parameter(name = "window.length", description = "The number of events that should be " + "included in a sliding length window.",
@Override public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException { for (Parameter parameter : parameters) { String parameterName = parameter.name(); if (parameter.description().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> description annotated in class {1} is null or empty.", parameterName, if (parameter.type().length == 0) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> type annotated in class {1} is null or empty.", parameterName, if (parameter.dynamic()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter ->" + " name:{0} -> dynamic property cannot be true annotated in class {1}.", parameterName, extensionClassFullName)); if (parameter.optional()) { if (parameter.defaultValue().isEmpty()) { throw new AnnotationValidationException(MessageFormat.format("The @Extension -> @Parameter -> " + "name:{0} -> defaultValue annotated in class {1} cannot be null or empty for the " +
description = "This tokenizes the given JSON based on the path provided and returns the response as an object.", parameters = { @Parameter( name = "json", description = "The input json that is tokenized using the given path.", type = {DataType.STRING, DataType.OBJECT}), @Parameter( name = "path", description = "The path of the input JSON that the function tokenizes.", type = {DataType.STRING}), @Parameter( name = "fail.on.missing.attribute", description = "If this parameter is set to 'true' and a JSON is not provided in the given" +