1212import com .iab .openrtb .response .BidResponse ;
1313import com .iab .openrtb .response .SeatBid ;
1414import org .apache .commons .collections4 .CollectionUtils ;
15- import org .apache .commons .lang3 .ObjectUtils ;
1615import org .apache .commons .lang3 .StringUtils ;
1716import org .prebid .server .bidder .Bidder ;
1817import org .prebid .server .bidder .model .BidderBid ;
@@ -130,7 +129,7 @@ private Imp modifyImp(BidRequest bidRequest, Imp imp, ExtRequestPrebidChannel pr
130129 .displaymanagerver (shouldSetDisplayManager ? prebidChannel .getVersion () : imp .getDisplaymanagerver ())
131130 .bidfloorcur (shouldConvertFloor ? BID_CURRENCY : imp .getBidfloorcur ())
132131 .bidfloor (shouldConvertFloor ? resolveBidFloor (bidRequest , imp ) : imp .getBidfloor ())
133- .ext (modifyImpExt (imp , extImpShowheroes ))
132+ .ext (modifyImpExt (imp . getExt () , extImpShowheroes ))
134133 .build ();
135134 }
136135
@@ -142,8 +141,7 @@ private ExtImpShowheroes parseImpExt(Imp imp) {
142141 }
143142 }
144143
145- private ObjectNode modifyImpExt (Imp imp , ExtImpShowheroes shImpExt ) {
146- final ObjectNode impExt = ObjectUtils .defaultIfNull (imp .getExt (), mapper .mapper ().createObjectNode ());
144+ private ObjectNode modifyImpExt (ObjectNode impExt , ExtImpShowheroes shImpExt ) {
147145 impExt .set ("params" , mapper .mapper ().createObjectNode ().put ("unitId" , shImpExt .getUnitId ()));
148146 return impExt ;
149147 }
@@ -162,17 +160,25 @@ private Source modifySource(BidRequest bidRequest) {
162160 if (pbsVersion == null ) {
163161 return bidRequest .getSource ();
164162 }
165- final Source source = ObjectUtils .defaultIfNull (bidRequest .getSource (), Source .builder ().build ());
166- final ExtSource extSource = ObjectUtils .defaultIfNull (source .getExt (), ExtSource .of (null ));
163+
164+ final Source source = bidRequest .getSource ();
165+
166+ final ExtSource extSource = Optional .ofNullable (source )
167+ .map (Source ::getExt )
168+ .orElse (ExtSource .of (null ));
167169 final ObjectNode prebidExtSource = Optional .ofNullable (extSource .getProperty ("pbs" ))
168170 .filter (JsonNode ::isObject )
169171 .map (ObjectNode .class ::cast )
170- .orElseGet (() -> mapper .mapper (). createObjectNode () )
172+ .orElseGet (mapper .mapper ():: createObjectNode )
171173 .put ("pbsv" , pbsVersion )
172174 .put ("pbsp" , PBSP_JAVA );
173-
174175 extSource .addProperty ("pbs" , prebidExtSource );
175- return source .toBuilder ().ext (extSource ).build ();
176+
177+ return Optional .ofNullable (source )
178+ .map (Source ::toBuilder )
179+ .orElseGet (Source ::builder )
180+ .ext (extSource )
181+ .build ();
176182 }
177183
178184 @ Override
0 commit comments