Skip to content

Commit 1424524

Browse files
authored
Core: Add support for multiple cases for account (#3224)
1 parent a2e376c commit 1424524

97 files changed

Lines changed: 891 additions & 887 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/org/prebid/server/activity/ActivitiesConfigResolver.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
import org.prebid.server.settings.model.Account;
66
import org.prebid.server.settings.model.AccountPrivacyConfig;
77
import org.prebid.server.settings.model.activity.AccountActivityConfiguration;
8-
import org.prebid.server.settings.model.activity.rule.AccountActivityComponentRuleConfig;
9-
import org.prebid.server.settings.model.activity.rule.AccountActivityGeoRuleConfig;
8+
import org.prebid.server.settings.model.activity.rule.AccountActivityConditionsRuleConfig;
109
import org.prebid.server.settings.model.activity.rule.AccountActivityRuleConfig;
1110

1211
import java.util.Collection;
@@ -63,24 +62,15 @@ private static boolean containsInvalidRule(AccountActivityConfiguration accountA
6362
}
6463

6564
private static boolean isInvalidConditionRule(AccountActivityRuleConfig rule) {
66-
if (rule instanceof AccountActivityComponentRuleConfig conditionRule) {
67-
final AccountActivityComponentRuleConfig.Condition condition = conditionRule.getCondition();
68-
return condition != null && isInvalidCondition(condition);
69-
}
70-
71-
if (rule instanceof AccountActivityGeoRuleConfig geoRule) {
72-
final AccountActivityGeoRuleConfig.Condition condition = geoRule.getCondition();
65+
if (rule instanceof AccountActivityConditionsRuleConfig conditionsRule) {
66+
final AccountActivityConditionsRuleConfig.Condition condition = conditionsRule.getCondition();
7367
return condition != null && isInvalidCondition(condition);
7468
}
7569

7670
return false;
7771
}
7872

79-
private static boolean isInvalidCondition(AccountActivityComponentRuleConfig.Condition condition) {
80-
return isEmptyNotNull(condition.getComponentTypes()) || isEmptyNotNull(condition.getComponentNames());
81-
}
82-
83-
private static boolean isInvalidCondition(AccountActivityGeoRuleConfig.Condition condition) {
73+
private static boolean isInvalidCondition(AccountActivityConditionsRuleConfig.Condition condition) {
8474
return isEmptyNotNull(condition.getComponentTypes()) || isEmptyNotNull(condition.getComponentNames());
8575
}
8676

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,39 @@
11
package org.prebid.server.activity;
22

3+
import com.fasterxml.jackson.annotation.JsonAlias;
34
import com.fasterxml.jackson.annotation.JsonProperty;
45

56
public enum Activity {
67

78
@JsonProperty("syncUser")
9+
@JsonAlias({"sync_user", "sync-user"})
810
SYNC_USER,
911

1012
@JsonProperty("fetchBids")
13+
@JsonAlias({"fetch_bids", "fetch-bids"})
1114
CALL_BIDDER,
1215

1316
@JsonProperty("enrichUfpd")
17+
@JsonAlias({"enrich_ufpd", "enrich-ufpd"})
1418
MODIFY_UFDP,
1519

1620
@JsonProperty("transmitUfpd")
21+
@JsonAlias({"transmit_ufpd", "transmit-ufpd"})
1722
TRANSMIT_UFPD,
1823

1924
@JsonProperty("transmitEids")
25+
@JsonAlias({"transmit_eids", "transmit-eids"})
2026
TRANSMIT_EIDS,
2127

2228
@JsonProperty("transmitPreciseGeo")
29+
@JsonAlias({"transmit_precise_geo", "transmit-precise-geo"})
2330
TRANSMIT_GEO,
2431

2532
@JsonProperty("transmitTid")
33+
@JsonAlias({"transmit_tid", "transmit-tid"})
2634
TRANSMIT_TID,
2735

2836
@JsonProperty("reportAnalytics")
37+
@JsonAlias({"report_analytics", "report-analytics"})
2938
REPORT_ANALYTICS
3039
}

src/main/java/org/prebid/server/activity/infrastructure/creator/rule/ComponentRuleCreator.java

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

src/main/java/org/prebid/server/activity/infrastructure/creator/rule/GeoRuleCreator.java renamed to src/main/java/org/prebid/server/activity/infrastructure/creator/rule/ConditionsRuleCreator.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import org.prebid.server.activity.ComponentType;
66
import org.prebid.server.activity.infrastructure.ActivityInfrastructure;
77
import org.prebid.server.activity.infrastructure.creator.ActivityControllerCreationContext;
8-
import org.prebid.server.activity.infrastructure.rule.GeoRule;
8+
import org.prebid.server.activity.infrastructure.rule.ConditionsRule;
99
import org.prebid.server.activity.infrastructure.rule.Rule;
10-
import org.prebid.server.settings.model.activity.rule.AccountActivityGeoRuleConfig;
10+
import org.prebid.server.settings.model.activity.rule.AccountActivityConditionsRuleConfig;
1111

1212
import java.util.Collection;
1313
import java.util.HashSet;
@@ -16,20 +16,20 @@
1616
import java.util.Set;
1717
import java.util.TreeSet;
1818

19-
public class GeoRuleCreator extends AbstractRuleCreator<AccountActivityGeoRuleConfig> {
19+
public class ConditionsRuleCreator extends AbstractRuleCreator<AccountActivityConditionsRuleConfig> {
2020

21-
public GeoRuleCreator() {
22-
super(AccountActivityGeoRuleConfig.class);
21+
public ConditionsRuleCreator() {
22+
super(AccountActivityConditionsRuleConfig.class);
2323
}
2424

2525
@Override
26-
protected Rule fromConfiguration(AccountActivityGeoRuleConfig ruleConfiguration,
26+
protected Rule fromConfiguration(AccountActivityConditionsRuleConfig ruleConfiguration,
2727
ActivityControllerCreationContext creationContext) {
2828

2929
final boolean allow = allowFromConfig(ruleConfiguration.getAllow());
30-
final AccountActivityGeoRuleConfig.Condition condition = ruleConfiguration.getCondition();
30+
final AccountActivityConditionsRuleConfig.Condition condition = ruleConfiguration.getCondition();
3131

32-
return new GeoRule(
32+
return new ConditionsRule(
3333
condition != null ? setOf(condition.getComponentTypes()) : null,
3434
condition != null ? caseInsensitiveSetOf(condition.getComponentNames()) : null,
3535
sidsMatched(condition, creationContext.getGppContext().scope().getSectionsIds()),
@@ -56,7 +56,7 @@ private static Set<String> caseInsensitiveSetOf(Collection<String> collection) {
5656
return caseInsensitiveSet;
5757
}
5858

59-
private static boolean sidsMatched(AccountActivityGeoRuleConfig.Condition condition, Set<Integer> gppSids) {
59+
private static boolean sidsMatched(AccountActivityConditionsRuleConfig.Condition condition, Set<Integer> gppSids) {
6060
final List<Integer> sids = condition != null ? condition.getSids() : null;
6161
return sids == null || intersects(sids, gppSids);
6262
}
@@ -66,28 +66,28 @@ private static boolean intersects(Collection<Integer> configurationSids, Collect
6666
&& !CollectionUtils.intersection(configurationSids, gppSids).isEmpty();
6767
}
6868

69-
private static List<GeoRule.GeoCode> geoCodes(List<String> stringGeoCodes) {
69+
private static List<ConditionsRule.GeoCode> geoCodes(List<String> stringGeoCodes) {
7070
return stringGeoCodes != null
7171
? stringGeoCodes.stream()
72-
.map(GeoRuleCreator::from)
72+
.map(ConditionsRuleCreator::from)
7373
.filter(Objects::nonNull)
7474
.toList()
7575
: null;
7676
}
7777

78-
private static GeoRule.GeoCode from(String stringGeoCode) {
78+
private static ConditionsRule.GeoCode from(String stringGeoCode) {
7979
if (StringUtils.isBlank(stringGeoCode)) {
8080
return null;
8181
}
8282

8383
final int firstDot = stringGeoCode.indexOf(".");
8484
if (firstDot == -1) {
85-
return GeoRule.GeoCode.of(stringGeoCode, null);
85+
return ConditionsRule.GeoCode.of(stringGeoCode, null);
8686
} else if (firstDot == stringGeoCode.length() - 1) {
87-
return GeoRule.GeoCode.of(stringGeoCode.substring(0, firstDot), null);
87+
return ConditionsRule.GeoCode.of(stringGeoCode.substring(0, firstDot), null);
8888
}
8989

90-
return GeoRule.GeoCode.of(
90+
return ConditionsRule.GeoCode.of(
9191
stringGeoCode.substring(0, firstDot),
9292
stringGeoCode.substring(firstDot + 1));
9393
}

src/main/java/org/prebid/server/activity/infrastructure/rule/ComponentRule.java

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

src/main/java/org/prebid/server/activity/infrastructure/rule/GeoRule.java renamed to src/main/java/org/prebid/server/activity/infrastructure/rule/ConditionsRule.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import java.util.List;
1414
import java.util.Set;
1515

16-
public final class GeoRule extends AbstractMatchRule implements Loggable {
16+
public final class ConditionsRule extends AbstractMatchRule implements Loggable {
1717

1818
private final Set<ComponentType> componentTypes;
1919
private final Set<String> componentNames;
@@ -22,12 +22,12 @@ public final class GeoRule extends AbstractMatchRule implements Loggable {
2222
private final String gpc;
2323
private final boolean allowed;
2424

25-
public GeoRule(Set<ComponentType> componentTypes,
26-
Set<String> componentNames,
27-
boolean sidsMatched,
28-
List<GeoCode> geoCodes,
29-
String gpc,
30-
boolean allowed) {
25+
public ConditionsRule(Set<ComponentType> componentTypes,
26+
Set<String> componentNames,
27+
boolean sidsMatched,
28+
List<GeoCode> geoCodes,
29+
String gpc,
30+
boolean allowed) {
3131

3232
this.componentTypes = componentTypes;
3333
this.componentNames = componentNames;

src/main/java/org/prebid/server/floors/PriceFloorFetcher.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,13 @@ private static AccountPriceFloorsFetchConfig getFetchConfig(Account account) {
137137
}
138138

139139
private void fetchPriceFloorDataAsynchronous(AccountPriceFloorsFetchConfig fetchConfig, String accountId) {
140-
final Long accountTimeout = ObjectUtil.getIfNotNull(fetchConfig, AccountPriceFloorsFetchConfig::getTimeout);
140+
final Long accountTimeout = ObjectUtil.getIfNotNull(fetchConfig, AccountPriceFloorsFetchConfig::getTimeoutMs);
141141
final Long timeout = ObjectUtils.firstNonNull(
142142
ObjectUtil.getIfNotNull(debugProperties, PriceFloorDebugProperties::getMinTimeoutMs),
143143
ObjectUtil.getIfNotNull(debugProperties, PriceFloorDebugProperties::getMaxTimeoutMs),
144144
accountTimeout);
145145
final Long maxFetchFileSizeKb =
146-
ObjectUtil.getIfNotNull(fetchConfig, AccountPriceFloorsFetchConfig::getMaxFileSize);
146+
ObjectUtil.getIfNotNull(fetchConfig, AccountPriceFloorsFetchConfig::getMaxFileSizeKb);
147147
final String fetchUrl = fetchConfig.getUrl();
148148

149149
fetchInProgress.add(accountId);

src/main/java/org/prebid/server/floors/PriceFloorsConfigResolver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ private static void validatePriceFloorsFetchConfig(AccountPriceFloorsFetchConfig
9898
throw new PreBidException(invalidPriceFloorsPropertyMessage("period-sec", periodicSec));
9999
}
100100

101-
final Long timeout = fetchConfig.getTimeout();
101+
final Long timeout = fetchConfig.getTimeoutMs();
102102
if (timeout != null && isNotInRange(timeout, MIN_TIMEOUT_MS_VALUE, MAX_TIMEOUT_MS_VALUE)) {
103103
throw new PreBidException(invalidPriceFloorsPropertyMessage("timeout-ms", timeout));
104104
}
@@ -108,7 +108,7 @@ private static void validatePriceFloorsFetchConfig(AccountPriceFloorsFetchConfig
108108
throw new PreBidException(invalidPriceFloorsPropertyMessage("max-rules", maxRules));
109109
}
110110

111-
final Long maxFileSize = fetchConfig.getMaxFileSize();
111+
final Long maxFileSize = fetchConfig.getMaxFileSizeKb();
112112
if (maxFileSize != null && isNotInRange(maxFileSize, MIN_FILE_SIZE_VALUE, MAX_FILE_SIZE_VALUE)) {
113113
throw new PreBidException(invalidPriceFloorsPropertyMessage("max-file-size-kb", maxFileSize));
114114
}

src/main/java/org/prebid/server/hooks/execution/model/ExecutionGroup.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.prebid.server.hooks.execution.model;
22

3+
import com.fasterxml.jackson.annotation.JsonAlias;
34
import com.fasterxml.jackson.annotation.JsonProperty;
45
import lombok.Value;
56

@@ -11,5 +12,6 @@ public class ExecutionGroup {
1112
Long timeout;
1213

1314
@JsonProperty("hook-sequence")
15+
@JsonAlias("hook_sequence")
1416
List<HookId> hookSequence;
1517
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package org.prebid.server.hooks.execution.model;
22

3+
import com.fasterxml.jackson.annotation.JsonAlias;
34
import com.fasterxml.jackson.annotation.JsonProperty;
45
import lombok.Value;
56

67
@Value(staticConstructor = "of")
78
public class HookId {
89

910
@JsonProperty("module-code")
11+
@JsonAlias("module_code")
1012
String moduleCode;
1113

1214
@JsonProperty("hook-impl-code")
15+
@JsonAlias("hook_impl_code")
1316
String hookImplCode;
1417
}

0 commit comments

Comments
 (0)