Skip to content

Commit ab5309c

Browse files
committed
default account config json debug + TU
1 parent c666a67 commit ab5309c

File tree

6 files changed

+164
-47
lines changed

6 files changed

+164
-47
lines changed

extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/config/GreenbidsRealTimeDataConfiguration.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.google.cloud.storage.StorageOptions;
77
import io.vertx.core.Vertx;
88
import org.prebid.server.geolocation.CountryCodeMapper;
9-
import org.prebid.server.hooks.modules.greenbids.real.time.data.model.data.Partner;
109
import org.prebid.server.hooks.modules.greenbids.real.time.data.model.filter.ThrottlingThresholds;
1110
import org.prebid.server.hooks.modules.greenbids.real.time.data.core.ThrottlingThresholdsFactory;
1211
import org.prebid.server.hooks.modules.greenbids.real.time.data.core.GreenbidsInferenceDataService;
@@ -50,17 +49,15 @@ GreenbidsRealTimeDataModule greenbidsRealTimeDataModule(
5049
FilterService filterService,
5150
OnnxModelRunnerWithThresholds onnxModelRunnerWithThresholds,
5251
GreenbidsInferenceDataService greenbidsInferenceDataService,
53-
GreenbidsInvocationService greenbidsInvocationService,
54-
Partner partner) {
52+
GreenbidsInvocationService greenbidsInvocationService) {
5553

5654
return new GreenbidsRealTimeDataModule(List.of(
5755
new GreenbidsRealTimeDataProcessedAuctionRequestHook(
5856
ObjectMapperProvider.mapper(),
5957
filterService,
6058
onnxModelRunnerWithThresholds,
6159
greenbidsInferenceDataService,
62-
greenbidsInvocationService,
63-
partner)));
60+
greenbidsInvocationService)));
6461
}
6562

6663
@Bean
@@ -74,11 +71,6 @@ Storage storage(GreenbidsRealTimeDataProperties properties) {
7471
.setProjectId(properties.getGoogleCloudGreenbidsProject()).build().getService();
7572
}
7673

77-
@Bean
78-
Partner partner(GreenbidsRealTimeDataProperties properties) {
79-
return Partner.of(properties.getPbuid(), properties.getTargetTpr(), properties.getExplorationRate());
80-
}
81-
8274
@Bean
8375
OnnxModelRunnerFactory onnxModelRunnerFactory() {
8476
return new OnnxModelRunnerFactory();

extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/config/GreenbidsRealTimeDataProperties.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,4 @@ public class GreenbidsRealTimeDataProperties {
2424
Long timeoutMs;
2525

2626
Integer maxRedirects;
27-
28-
String pbuid;
29-
30-
Double targetTpr;
31-
32-
Double explorationRate;
3327
}

extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import org.prebid.server.hooks.v1.auction.ProcessedAuctionRequestHook;
3636
import org.prebid.server.proto.openrtb.ext.request.ExtRequest;
3737
import org.prebid.server.proto.openrtb.ext.request.ExtRequestPrebid;
38+
import org.prebid.server.settings.model.Account;
39+
import org.prebid.server.settings.model.AccountHooksConfiguration;
3840

3941
import java.util.Collections;
4042
import java.util.List;
@@ -54,21 +56,18 @@ public class GreenbidsRealTimeDataProcessedAuctionRequestHook implements Process
5456
private final OnnxModelRunnerWithThresholds onnxModelRunnerWithThresholds;
5557
private final GreenbidsInferenceDataService greenbidsInferenceDataService;
5658
private final GreenbidsInvocationService greenbidsInvocationService;
57-
private final Partner partner;
5859

5960
public GreenbidsRealTimeDataProcessedAuctionRequestHook(
6061
ObjectMapper mapper,
6162
FilterService filterService,
6263
OnnxModelRunnerWithThresholds onnxModelRunnerWithThresholds,
6364
GreenbidsInferenceDataService greenbidsInferenceDataService,
64-
GreenbidsInvocationService greenbidsInvocationService,
65-
Partner partner) {
65+
GreenbidsInvocationService greenbidsInvocationService) {
6666
this.mapper = Objects.requireNonNull(mapper);
6767
this.filterService = Objects.requireNonNull(filterService);
6868
this.onnxModelRunnerWithThresholds = Objects.requireNonNull(onnxModelRunnerWithThresholds);
6969
this.greenbidsInferenceDataService = Objects.requireNonNull(greenbidsInferenceDataService);
7070
this.greenbidsInvocationService = Objects.requireNonNull(greenbidsInvocationService);
71-
this.partner = Objects.requireNonNull(partner);
7271
}
7372

7473
@Override
@@ -79,7 +78,7 @@ public Future<InvocationResult<AuctionRequestPayload>> call(
7978
final AuctionContext auctionContext = invocationContext.auctionContext();
8079
final BidRequest bidRequest = auctionContext.getBidRequest();
8180
final Partner appliedPartner = Optional.ofNullable(parseBidRequestExt(bidRequest))
82-
.orElse(partner);
81+
.orElse(parseAccountConfig(auctionContext));
8382

8483
return Future.all(
8584
onnxModelRunnerWithThresholds.retrieveOnnxModelRunner(appliedPartner),
@@ -104,6 +103,22 @@ private Partner parseBidRequestExt(BidRequest bidRequest) {
104103
.orElse(null);
105104
}
106105

106+
private Partner parseAccountConfig(AuctionContext auctionContext) {
107+
final Map<String, ObjectNode> modules = Optional.ofNullable(auctionContext)
108+
.map(AuctionContext::getAccount)
109+
.map(Account::getHooks)
110+
.map(AccountHooksConfiguration::getModules)
111+
.orElse(null);
112+
113+
Partner partner = null;
114+
if (modules != null && modules.containsKey("greenbids")) {
115+
final ObjectNode moduleConfig = modules.get("greenbids");
116+
partner = toPartner(moduleConfig);
117+
}
118+
119+
return partner;
120+
}
121+
107122
private boolean isNotEmptyObjectNode(JsonNode analytics) {
108123
return analytics != null && analytics.isObject() && !analytics.isEmpty();
109124
}

extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.prebid.server.hooks.modules.greenbids.real.time.data.core.OnnxModelRunnerWithThresholds;
4242
import org.prebid.server.hooks.modules.greenbids.real.time.data.core.ThresholdCache;
4343
import org.prebid.server.hooks.modules.greenbids.real.time.data.core.ThrottlingThresholdsFactory;
44-
import org.prebid.server.hooks.modules.greenbids.real.time.data.model.data.Partner;
4544
import org.prebid.server.hooks.modules.greenbids.real.time.data.model.filter.ThrottlingThresholds;
4645
import org.prebid.server.hooks.modules.greenbids.real.time.data.model.result.AnalyticsResult;
4746
import org.prebid.server.hooks.modules.greenbids.real.time.data.util.TestBidRequestProvider;
@@ -55,6 +54,8 @@
5554
import org.prebid.server.model.HttpRequestContext;
5655
import org.prebid.server.proto.openrtb.ext.request.ExtRequest;
5756
import org.prebid.server.proto.openrtb.ext.request.ExtRequestPrebid;
57+
import org.prebid.server.settings.model.Account;
58+
import org.prebid.server.settings.model.AccountHooksConfiguration;
5859

5960
import java.io.IOException;
6061
import java.net.InetAddress;
@@ -141,14 +142,12 @@ public void setUp() throws IOException, GeoIp2Exception {
141142
TestBidRequestProvider.MAPPER,
142143
countryCodeMapper);
143144
final GreenbidsInvocationService greenbidsInvocationService = new GreenbidsInvocationService();
144-
final Partner partner = Partner.of("test-pbuid", 0.60, 0.0001);
145145
target = new GreenbidsRealTimeDataProcessedAuctionRequestHook(
146146
TestBidRequestProvider.MAPPER,
147147
filterService,
148148
onnxModelRunnerWithThresholds,
149149
greenbidsInferenceDataService,
150-
greenbidsInvocationService,
151-
partner);
150+
greenbidsInvocationService);
152151
}
153152

154153
@Test
@@ -411,7 +410,8 @@ private AuctionContext givenAuctionContext(
411410

412411
final AuctionContext.AuctionContextBuilder auctionContextBuilder = AuctionContext.builder()
413412
.httpRequest(HttpRequestContext.builder().build())
414-
.bidRequest(bidRequest);
413+
.bidRequest(bidRequest)
414+
.account(givenAccount());
415415

416416
return auctionContextCustomizer.apply(auctionContextBuilder).build();
417417
}
@@ -422,6 +422,22 @@ private AuctionInvocationContext givenAuctionInvocationContext(AuctionContext au
422422
return invocationContext;
423423
}
424424

425+
private Account givenAccount() {
426+
return Account.builder()
427+
.id("test-account")
428+
.hooks(givenAccountHooksConfiguration())
429+
.build();
430+
}
431+
432+
private AccountHooksConfiguration givenAccountHooksConfiguration() {
433+
final ObjectNode greenbidsNode = TestBidRequestProvider.MAPPER.createObjectNode();
434+
greenbidsNode.put("pbuid", "test-pbuid");
435+
greenbidsNode.put("targetTpr", 0.60);
436+
greenbidsNode.put("explorationRate", 0.0001);
437+
final Map<String, ObjectNode> modules = Map.of("greenbids", greenbidsNode);
438+
return AccountHooksConfiguration.of(null, modules, null);
439+
}
440+
425441
private OnnxModelRunner givenOnnxModelRunner() throws OrtException, IOException {
426442
final byte[] onnxModelBytes = Files.readAllBytes(Paths.get(
427443
"src/test/resources/models_pbuid=test-pbuid.onnx"));

src/main/java/org/prebid/server/analytics/reporter/greenbids/GreenbidsAnalyticsReporter.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@
5454
import org.prebid.server.proto.openrtb.ext.request.ExtStoredRequest;
5555
import org.prebid.server.proto.openrtb.ext.response.seatnonbid.NonBid;
5656
import org.prebid.server.proto.openrtb.ext.response.seatnonbid.SeatNonBid;
57+
import org.prebid.server.settings.model.Account;
58+
import org.prebid.server.settings.model.AccountAnalyticsConfig;
5759
import org.prebid.server.util.HttpUtil;
5860
import org.prebid.server.version.PrebidVersionProvider;
5961
import org.prebid.server.vertx.httpclient.HttpClient;
@@ -118,7 +120,9 @@ public <T> Future<Void> processEvent(T event) {
118120
return Future.failedFuture(new PreBidException("Bid response or auction context cannot be null"));
119121
}
120122

121-
final GreenbidsPrebidExt greenbidsBidRequestExt = parseBidRequestExt(auctionContext.getBidRequest());
123+
final GreenbidsPrebidExt greenbidsBidRequestExt = Optional.ofNullable(
124+
parseBidRequestExt(auctionContext.getBidRequest()))
125+
.orElse(parseAccountConfig(auctionContext));
122126

123127
if (greenbidsBidRequestExt == null) {
124128
return Future.succeededFuture();
@@ -181,6 +185,22 @@ private GreenbidsPrebidExt parseBidRequestExt(BidRequest bidRequest) {
181185
.orElse(null);
182186
}
183187

188+
private GreenbidsPrebidExt parseAccountConfig(AuctionContext auctionContext) {
189+
final Map<String, ObjectNode> modules = Optional.ofNullable(auctionContext)
190+
.map(AuctionContext::getAccount)
191+
.map(Account::getAnalytics)
192+
.map(AccountAnalyticsConfig::getModules)
193+
.orElse(null);
194+
195+
GreenbidsPrebidExt greenbidsPrebidExt = null;
196+
if (modules != null && modules.containsKey("greenbids")) {
197+
final ObjectNode moduleConfig = modules.get("greenbids");
198+
greenbidsPrebidExt = toGreenbidsPrebidExt(moduleConfig);
199+
}
200+
201+
return greenbidsPrebidExt;
202+
}
203+
184204
private boolean isNotEmptyObjectNode(JsonNode analytics) {
185205
return analytics != null && analytics.isObject() && !analytics.isEmpty();
186206
}

0 commit comments

Comments
 (0)