Skip to content

Commit 714ef5a

Browse files
Mike Davismikeproeng37
authored andcommitted
Refactor to use builder pattern for internal Event payload models. (#200)
1 parent 68a93d1 commit 714ef5a

File tree

13 files changed

+809
-523
lines changed

13 files changed

+809
-523
lines changed

core-api/src/main/java/com/optimizely/ab/Optimizely.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,8 @@
3535
import com.optimizely.ab.event.EventHandler;
3636
import com.optimizely.ab.event.LogEvent;
3737
import com.optimizely.ab.event.internal.BuildVersionInfo;
38-
import com.optimizely.ab.event.internal.EventBuilder;
38+
import com.optimizely.ab.event.internal.EventFactory;
3939
import com.optimizely.ab.event.internal.payload.EventBatch.ClientEngine;
40-
import com.optimizely.ab.internal.ControlAttribute;
4140
import com.optimizely.ab.notification.NotificationCenter;
4241
import org.slf4j.Logger;
4342
import org.slf4j.LoggerFactory;
@@ -82,7 +81,7 @@ public class Optimizely {
8281
private static final Logger logger = LoggerFactory.getLogger(Optimizely.class);
8382

8483
@VisibleForTesting final DecisionService decisionService;
85-
@VisibleForTesting final EventBuilder eventBuilder;
84+
@VisibleForTesting final EventFactory eventFactory;
8685
@VisibleForTesting final ProjectConfig projectConfig;
8786
@VisibleForTesting final EventHandler eventHandler;
8887
@VisibleForTesting final ErrorHandler errorHandler;
@@ -93,13 +92,13 @@ public class Optimizely {
9392
private Optimizely(@Nonnull ProjectConfig projectConfig,
9493
@Nonnull DecisionService decisionService,
9594
@Nonnull EventHandler eventHandler,
96-
@Nonnull EventBuilder eventBuilder,
95+
@Nonnull EventFactory eventFactory,
9796
@Nonnull ErrorHandler errorHandler,
9897
@Nullable UserProfileService userProfileService) {
9998
this.projectConfig = projectConfig;
10099
this.decisionService = decisionService;
101100
this.eventHandler = eventHandler;
102-
this.eventBuilder = eventBuilder;
101+
this.eventFactory = eventFactory;
103102
this.errorHandler = errorHandler;
104103
this.userProfileService = userProfileService;
105104
}
@@ -193,7 +192,7 @@ private void sendImpression(@Nonnull ProjectConfig projectConfig,
193192
@Nonnull Map<String, String> filteredAttributes,
194193
@Nonnull Variation variation) {
195194
if (experiment.isRunning()) {
196-
LogEvent impressionEvent = eventBuilder.createImpressionEvent(
195+
LogEvent impressionEvent = eventFactory.createImpressionEvent(
197196
projectConfig,
198197
experiment,
199198
variation,
@@ -279,7 +278,7 @@ public void track(@Nonnull String eventName,
279278
}
280279

281280
// create the conversion event request parameters, then dispatch
282-
LogEvent conversionEvent = eventBuilder.createConversionEvent(
281+
LogEvent conversionEvent = eventFactory.createConversionEvent(
283282
projectConfig,
284283
experimentVariationMap,
285284
userId,
@@ -829,7 +828,7 @@ public static class Builder {
829828
private DecisionService decisionService;
830829
private ErrorHandler errorHandler;
831830
private EventHandler eventHandler;
832-
private EventBuilder eventBuilder;
831+
private EventFactory eventFactory;
833832
private ClientEngine clientEngine;
834833
private String clientVersion;
835834
private ProjectConfig projectConfig;
@@ -871,8 +870,8 @@ public Builder withClientVersion(String clientVersion) {
871870
return this;
872871
}
873872

874-
protected Builder withEventBuilder(EventBuilder eventBuilder) {
875-
this.eventBuilder = eventBuilder;
873+
protected Builder withEventBuilder(EventFactory eventFactory) {
874+
this.eventFactory = eventFactory;
876875
return this;
877876
}
878877

@@ -900,8 +899,8 @@ public Optimizely build() throws ConfigParseException {
900899
}
901900

902901

903-
if (eventBuilder == null) {
904-
eventBuilder = new EventBuilder(clientEngine, clientVersion);
902+
if (eventFactory == null) {
903+
eventFactory = new EventFactory(clientEngine, clientVersion);
905904
}
906905

907906
if (errorHandler == null) {
@@ -912,7 +911,7 @@ public Optimizely build() throws ConfigParseException {
912911
decisionService = new DecisionService(bucketer, errorHandler, projectConfig, userProfileService);
913912
}
914913

915-
Optimizely optimizely = new Optimizely(projectConfig, decisionService, eventHandler, eventBuilder, errorHandler, userProfileService);
914+
Optimizely optimizely = new Optimizely(projectConfig, decisionService, eventHandler, eventFactory, errorHandler, userProfileService);
916915
optimizely.initialize();
917916
return optimizely;
918917
}

core-api/src/main/java/com/optimizely/ab/event/internal/EventBuilder.java

Lines changed: 0 additions & 144 deletions
This file was deleted.

0 commit comments

Comments
 (0)