@@ -78,9 +78,9 @@ private Future<Void> processAuctionEvent(AuctionContext auctionContext) {
7878 final BidRequest bidRequest = auctionContext .getBidRequest ();
7979 final BidResponse bidResponse = auctionContext .getBidResponse ();
8080
81- final Optional <Activity > activity = getActivities (auctionContext );
82- final boolean isEnriched = isEnriched (activity );
83- final Float treatmentRate = getTreatmentRate (activity );
81+ final List <Activity > activities = getActivities (auctionContext );
82+ final boolean isEnriched = isEnriched (activities );
83+ final Float treatmentRate = getTreatmentRate (activities );
8484 final Long timestamp = Optional .ofNullable (bidRequest .getExt ())
8585 .map (ExtRequest ::getPrebid )
8686 .map (ExtRequestPrebid ::getAuctiontimestamp )
@@ -109,7 +109,7 @@ private Future<Void> processAuctionEvent(AuctionContext auctionContext) {
109109 }
110110 }
111111
112- private Optional <Activity > getActivities (AuctionContext auctionContext ) {
112+ private List <Activity > getActivities (AuctionContext auctionContext ) {
113113 return Optional .ofNullable (auctionContext )
114114 .map (AuctionContext ::getHookExecutionContext )
115115 .map (HookExecutionContext ::getStageOutcomes )
@@ -121,28 +121,27 @@ private Optional<Activity> getActivities(AuctionContext auctionContext) {
121121 .flatMap (Collection ::stream )
122122 .map (GroupExecutionOutcome ::getHooks )
123123 .flatMap (Collection ::stream )
124- .filter (hook ->
125- LIVEINTENT_HOOK_ID .equals (hook .getHookId ().getModuleCode ())
126- && hook .getStatus () == ExecutionStatus .success )
124+ .filter (hook -> LIVEINTENT_HOOK_ID .equals (hook .getHookId ().getModuleCode ())
125+ && hook .getStatus () == ExecutionStatus .success )
127126 .map (HookExecutionOutcome ::getAnalyticsTags )
128127 .filter (Objects ::nonNull )
129128 .map (Tags ::activities )
130129 .filter (Objects ::nonNull )
131130 .flatMap (Collection ::stream )
132131 .filter (Objects ::nonNull )
133- .findFirst ();
132+ .toList ();
134133 }
135134
136- private boolean isEnriched (Optional <Activity > activity ) {
135+ private boolean isEnriched (List <Activity > activity ) {
137136 return activity .stream ().anyMatch (a -> "liveintent-enriched" .equals (a .name ()));
138137 }
139138
140- private Float getTreatmentRate (Optional <Activity > activity ) {
139+ private Float getTreatmentRate (List <Activity > activity ) {
141140 return activity .stream ()
142141 .flatMap (a -> a .results ().stream ())
143142 .filter (a -> a .values ().has ("treatmentRate" ))
144143 .findFirst ()
145- .map (a -> a .values ().at ("treatmentRate" ).floatValue ())
144+ .map (a -> a .values ().get ("treatmentRate" ).floatValue ())
146145 .orElse (null );
147146 }
148147
@@ -157,15 +156,15 @@ private Optional<PbsjBid> buildPbsjBid(
157156 return bidRequest .getImp ().stream ()
158157 .filter (impItem -> impItem .getId ().equals (bid .getImpid ()))
159158 .map (imp -> PbsjBid .builder ()
160- .bidId (bid .getId ())
161- .price (bid .getPrice ())
162- .adUnitId (imp .getTagid ())
163- .enriched (isEnriched )
164- .currency (bidResponse .getCur ())
165- .treatmentRate (treatmentRate )
166- .timestamp (timestamp )
167- .partnerId (properties .getPartnerId ())
168- .build ())
159+ .bidId (bid .getId ())
160+ .price (bid .getPrice ())
161+ .adUnitId (imp .getTagid ())
162+ .enriched (isEnriched )
163+ .currency (bidResponse .getCur ())
164+ .treatmentRate (treatmentRate )
165+ .timestamp (timestamp )
166+ .partnerId (properties .getPartnerId ())
167+ .build ())
169168 .findFirst ();
170169 }
171170
0 commit comments