diff --git a/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java b/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java index 7af8d3d..9190770 100644 --- a/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java +++ b/litmus-client/src/main/java/com/navi/medici/litmus/DefaultLitmus.java @@ -27,6 +27,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.BiFunction; import lombok.extern.log4j.Log4j2; @@ -167,7 +168,7 @@ public class DefaultLitmus implements Litmus { .register(this.config.getMeterRegistry()) .increment(); - if (config.isEnableClickStream()) { + if (config.isEnableClickStream() && Objects.requireNonNull(litmusExperiment).isEnableClickStream() ) { this.eventDispatcher.publish(context, litmusExperiment, enabled, null); } diff --git a/litmus-core/src/main/java/com/navi/medici/service/experiment/ExperimentServiceImpl.java b/litmus-core/src/main/java/com/navi/medici/service/experiment/ExperimentServiceImpl.java index 5598cef..8540ffb 100644 --- a/litmus-core/src/main/java/com/navi/medici/service/experiment/ExperimentServiceImpl.java +++ b/litmus-core/src/main/java/com/navi/medici/service/experiment/ExperimentServiceImpl.java @@ -193,6 +193,7 @@ public class ExperimentServiceImpl implements ExperimentService { .vertical(litmusExperimentRequest.getVertical()) .startTime(litmusExperimentRequest.getStartTime()) .endTime(litmusExperimentRequest.getEndTime()) + .enableClickstream(litmusExperimentRequest.isEnableClickStream()) .build(); diff --git a/litmus-db/src/main/java/com/navi/medici/entity/ExperimentEntity.java b/litmus-db/src/main/java/com/navi/medici/entity/ExperimentEntity.java index c5309ce..7619b01 100644 --- a/litmus-db/src/main/java/com/navi/medici/entity/ExperimentEntity.java +++ b/litmus-db/src/main/java/com/navi/medici/entity/ExperimentEntity.java @@ -66,6 +66,9 @@ public class ExperimentEntity extends BaseEntity { @Column(name = "vertical") String vertical; + @Column(name = "enable_click_stream") + boolean enableClickstream; + String createdBy; String updatedBy; diff --git a/litmus-liquibase/src/main/resources/db/changelog/202311301505-add-is-clickstream-enable-column.sql b/litmus-liquibase/src/main/resources/db/changelog/202311301505-add-is-clickstream-enable-column.sql new file mode 100644 index 0000000..4cdeeec --- /dev/null +++ b/litmus-liquibase/src/main/resources/db/changelog/202311301505-add-is-clickstream-enable-column.sql @@ -0,0 +1,5 @@ +--liquibase formatted sql + +--changeset author:chandresh id:202311301506 +ALTER TABLE experiments +ADD COLUMN enable_click_stream VARCHAR; \ No newline at end of file diff --git a/litmus-model/src/main/java/com/navi/medici/request/v1/LitmusExperiment.java b/litmus-model/src/main/java/com/navi/medici/request/v1/LitmusExperiment.java index a067879..5d06b51 100644 --- a/litmus-model/src/main/java/com/navi/medici/request/v1/LitmusExperiment.java +++ b/litmus-model/src/main/java/com/navi/medici/request/v1/LitmusExperiment.java @@ -56,6 +56,9 @@ public class LitmusExperiment { @JsonProperty("vertical") String vertical; + @JsonProperty("enable_click_stream") + boolean enableClickStream = true; + public boolean isEnabled() { return enabled; }