Skip to content

Commit 85f0ba8

Browse files
committed
fix comments
1 parent 81f9c30 commit 85f0ba8

5 files changed

Lines changed: 39 additions & 66 deletions

File tree

src/main/java/org/prebid/server/bidder/mediasquare/MediasquareBidder.java

Lines changed: 30 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import com.fasterxml.jackson.core.type.TypeReference;
44
import com.fasterxml.jackson.databind.node.ObjectNode;
5-
import com.iab.openrtb.request.App;
65
import com.iab.openrtb.request.Banner;
76
import com.iab.openrtb.request.BidRequest;
8-
import com.iab.openrtb.request.Device;
97
import com.iab.openrtb.request.Format;
108
import com.iab.openrtb.request.Imp;
119
import com.iab.openrtb.request.Native;
@@ -37,6 +35,7 @@
3735
import org.prebid.server.json.JacksonMapper;
3836
import org.prebid.server.proto.openrtb.ext.ExtPrebid;
3937
import org.prebid.server.proto.openrtb.ext.request.ExtRegs;
38+
import org.prebid.server.proto.openrtb.ext.request.ExtRegsDsa;
4039
import org.prebid.server.proto.openrtb.ext.request.mediasquare.ExtImpMediasquare;
4140
import org.prebid.server.proto.openrtb.ext.response.BidType;
4241
import org.prebid.server.proto.openrtb.ext.response.ExtBidPrebid;
@@ -112,7 +111,9 @@ private ExtImpMediasquare parseImpExt(Imp imp) {
112111

113112
private static MediasquareCode makeCode(BidRequest bidRequest, Imp imp, ExtImpMediasquare extImp) {
114113
final MediasquareMediaTypes mediaTypes = makeMediaTypes(imp);
115-
final Map<String, MediasquareFloor> floors = makeFloors(imp);
114+
final Map<String, MediasquareFloor> floors = mediaTypes == null
115+
? null
116+
: makeFloors(MediasquareFloor.of(imp.getBidfloor(), imp.getBidfloorcur()), mediaTypes);
116117

117118
return MediasquareCode.builder()
118119
.adUnit(imp.getTagid())
@@ -149,24 +150,21 @@ private static MediasquareBanner makeBanner(Banner banner) {
149150
final List<List<Integer>> sizes = new ArrayList<>();
150151
if (CollectionUtils.isNotEmpty(banner.getFormat())) {
151152
for (Format format : banner.getFormat()) {
152-
if (format != null) {
153-
sizes.add(List.of(format.getW(), format.getH()));
154-
}
153+
sizes.add(List.of(format.getW(), format.getH()));
155154
}
156-
} else if (banner.getW() != null && banner.getH() != null) {
155+
} else {
157156
sizes.add(List.of(banner.getW(), banner.getH()));
158157
}
159158

160-
return sizes.isEmpty() ? null : MediasquareBanner.of(sizes);
159+
return MediasquareBanner.of(sizes);
161160
}
162161

163-
private static Map<String, MediasquareFloor> makeFloors(Imp imp) {
162+
private static Map<String, MediasquareFloor> makeFloors(MediasquareFloor floor, MediasquareMediaTypes mediaTypes) {
164163
final Map<String, MediasquareFloor> floors = new HashMap<>();
165-
final MediasquareFloor floor = MediasquareFloor.of(imp.getBidfloor(), imp.getBidfloorcur());
166164

167-
final Video video = imp.getVideo();
168-
final Banner banner = imp.getBanner();
169-
final Native xNative = imp.getXNative();
165+
final Video video = mediaTypes.getVideo();
166+
final MediasquareBanner banner = mediaTypes.getBanner();
167+
final String xNative = mediaTypes.getNativeRequest();
170168

171169
if (video != null) {
172170
if (video.getW() != null && video.getH() != null) {
@@ -177,14 +175,8 @@ private static Map<String, MediasquareFloor> makeFloors(Imp imp) {
177175
}
178176

179177
if (banner != null) {
180-
if (CollectionUtils.isNotEmpty(banner.getFormat())) {
181-
for (Format format : banner.getFormat()) {
182-
if (format != null) {
183-
floors.put(SIZE_FORMAT.formatted(format.getW(), format.getH()), floor);
184-
}
185-
}
186-
} else if (banner.getW() != null && banner.getH() != null) {
187-
floors.put(SIZE_FORMAT.formatted(banner.getW(), banner.getH()), floor);
178+
for (List<Integer> format: banner.getSizes()) {
179+
floors.put(SIZE_FORMAT.formatted(format.get(0), format.get(1)), floor);
188180
}
189181
}
190182

@@ -201,28 +193,27 @@ private static boolean isCodeValid(MediasquareCode code) {
201193
mediaTypes.getBanner(), mediaTypes.getVideo(), mediaTypes.getNativeRequest());
202194
}
203195

196+
private static ExtRegsDsa getDsa(Regs regs) {
197+
return Optional.ofNullable(regs)
198+
.map(Regs::getExt)
199+
.map(ExtRegs::getDsa)
200+
.orElse(null);
201+
}
202+
204203
private MediasquareRequest makeRequest(BidRequest bidRequest, List<MediasquareCode> codes) {
205204
final User user = bidRequest.getUser();
206205
final Regs regs = bidRequest.getRegs();
207206

208207
return MediasquareRequest.builder()
209208
.codes(codes)
210-
.dsa(makeDsa(regs))
209+
.dsa(getDsa(regs))
211210
.gdpr(makeGdpr(user, regs))
212211
.type("pbs")
213-
.support(makeSupport(bidRequest))
212+
.support(MediasquareSupport.of(bidRequest.getDevice(), bidRequest.getApp()))
214213
.test(Objects.equals(bidRequest.getTest(), 1))
215214
.build();
216215
}
217216

218-
private ObjectNode makeDsa(Regs regs) {
219-
return Optional.ofNullable(regs)
220-
.map(Regs::getExt)
221-
.map(ExtRegs::getDsa)
222-
.map(dsa -> (ObjectNode) mapper.mapper().valueToTree(dsa))
223-
.orElse(null);
224-
}
225-
226217
private static MediasquareGdpr makeGdpr(User user, Regs regs) {
227218
final boolean gdprApplies = Optional.ofNullable(regs)
228219
.map(Regs::getGdpr)
@@ -232,14 +223,6 @@ private static MediasquareGdpr makeGdpr(User user, Regs regs) {
232223
return MediasquareGdpr.of(gdprApplies, consent);
233224
}
234225

235-
private MediasquareSupport makeSupport(BidRequest bidRequest) {
236-
final Device device = bidRequest.getDevice();
237-
final App app = bidRequest.getApp();
238-
return MediasquareSupport.of(
239-
device != null ? mapper.mapper().valueToTree(device) : null,
240-
app != null ? mapper.mapper().valueToTree(app) : null);
241-
}
242-
243226
@Override
244227
public Result<List<BidderBid>> makeBids(BidderCall<MediasquareRequest> httpCall, BidRequest bidRequest) {
245228
try {
@@ -259,11 +242,16 @@ private List<BidderBid> extractBids(MediasquareResponse response) {
259242

260243
return response.getResponses().stream()
261244
.filter(Objects::nonNull)
262-
.map(bid -> BidderBid.of(makeBid(bid), getBidType(bid), bid.getCurrency()))
245+
.map(this::makeBidderBid)
263246
.collect(Collectors.toList());
264247
}
265248

266-
private Bid makeBid(MediasquareBid bid) {
249+
private BidderBid makeBidderBid(MediasquareBid bid) {
250+
final BidType bidType = getBidType(bid);
251+
return BidderBid.of(makeBid(bid, bidType), bidType, bid.getCurrency());
252+
}
253+
254+
private Bid makeBid(MediasquareBid bid, BidType bidType) {
267255
return Bid.builder()
268256
.id(bid.getId())
269257
.impid(bid.getBidId())
@@ -273,22 +261,12 @@ private Bid makeBid(MediasquareBid bid) {
273261
.w(bid.getWidth())
274262
.h(bid.getHeight())
275263
.crid(bid.getCreativeId())
276-
.mtype(getMtype(bid))
264+
.mtype(bidType.ordinal() + 1)
277265
.burl(bid.getBurl())
278266
.ext(getBidExt(bid))
279267
.build();
280268
}
281269

282-
private static Integer getMtype(MediasquareBid bid) {
283-
if (bid.getVideo() != null) {
284-
return 2;
285-
}
286-
if (bid.getNativeResponse() != null) {
287-
return 4;
288-
}
289-
return 1;
290-
}
291-
292270
private ObjectNode getBidExt(MediasquareBid bid) {
293271
final ExtBidPrebidMeta meta = ExtBidPrebidMeta.builder()
294272
.advertiserDomains(bid.getAdomain() != null ? bid.getAdomain() : null)

src/main/java/org/prebid/server/bidder/mediasquare/request/MediasquareRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.prebid.server.bidder.mediasquare.request;
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
4-
import com.fasterxml.jackson.databind.node.ObjectNode;
54
import lombok.Builder;
65
import lombok.Value;
6+
import org.prebid.server.proto.openrtb.ext.request.ExtRegsDsa;
77

88
import java.util.List;
99

@@ -17,7 +17,7 @@ public class MediasquareRequest {
1717

1818
String type;
1919

20-
ObjectNode dsa;
20+
ExtRegsDsa dsa;
2121

2222
@JsonProperty("tech")
2323
MediasquareSupport support;
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package org.prebid.server.bidder.mediasquare.request;
22

3-
import com.fasterxml.jackson.databind.node.ObjectNode;
3+
import com.iab.openrtb.request.App;
4+
import com.iab.openrtb.request.Device;
45
import lombok.Value;
56

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

9-
ObjectNode device;
10+
Device device;
1011

11-
ObjectNode app;
12+
App app;
1213
}

src/test/java/org/prebid/server/bidder/mediasquare/MediasquareBidderTest.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
import com.iab.openrtb.request.Video;
1515
import com.iab.openrtb.response.Bid;
1616
import org.junit.jupiter.api.Test;
17-
import org.junit.jupiter.api.extension.ExtendWith;
18-
import org.mockito.junit.jupiter.MockitoExtension;
1917
import org.prebid.server.VertxTest;
2018
import org.prebid.server.bidder.mediasquare.request.MediasquareBanner;
2119
import org.prebid.server.bidder.mediasquare.request.MediasquareCode;
@@ -57,7 +55,6 @@
5755
import static org.prebid.server.util.HttpUtil.CONTENT_TYPE_HEADER;
5856
import static org.springframework.util.MimeTypeUtils.APPLICATION_JSON_VALUE;
5957

60-
@ExtendWith(MockitoExtension.class)
6158
public class MediasquareBidderTest extends VertxTest {
6259

6360
private static final String ENDPOINT_URL = "https://test.endpoint.com";
@@ -221,12 +218,10 @@ public void makeHttpRequestsShouldCreateCorrectRequestPayload() {
221218

222219
final MediasquareRequest expectedRequest = MediasquareRequest.builder()
223220
.codes(List.of(expectedCode1, expectedCode2, expectedCode3))
224-
.dsa(mapper.valueToTree(givenDsa))
221+
.dsa(givenDsa)
225222
.gdpr(MediasquareGdpr.of(true, "consent_str"))
226223
.type("pbs")
227-
.support(MediasquareSupport.of(
228-
mapper.valueToTree(givenDevice),
229-
mapper.valueToTree(givenApp)))
224+
.support(MediasquareSupport.of(givenDevice, givenApp))
230225
.test(true)
231226
.build();
232227

src/test/java/org/prebid/server/it/MediasquareTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ public void openrtb2AuctionShouldRespondWithBidsFromMediasquare() throws IOExcep
2525
// when
2626
final Response response = responseFor(
2727
"openrtb2/mediasquare/test-auction-mediasquare-request.json",
28-
Endpoint.openrtb2_auction
29-
);
28+
Endpoint.openrtb2_auction);
3029

3130
// then
3231
assertJsonEquals(

0 commit comments

Comments
 (0)