diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 23a765f..e767192 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1,5 +1,9 @@ +.gitignore +.openapi-generator-ignore .travis.yml README.md +api/openapi.yaml +build.gradle build.sbt docs/ConsentRequest.md docs/Content.md @@ -11,6 +15,7 @@ docs/Event.md docs/MatchedPoint.md docs/Placement.md docs/PricingData.md +docs/SkipFilters.md docs/User.md docs/UserdbApi.md git_push.sh @@ -50,4 +55,18 @@ src/main/java/com/adzerk/sdk/generated/model/Event.java src/main/java/com/adzerk/sdk/generated/model/MatchedPoint.java src/main/java/com/adzerk/sdk/generated/model/Placement.java src/main/java/com/adzerk/sdk/generated/model/PricingData.java +src/main/java/com/adzerk/sdk/generated/model/SkipFilters.java src/main/java/com/adzerk/sdk/generated/model/User.java +src/test/java/com/adzerk/sdk/generated/api/DecisionApiTest.java +src/test/java/com/adzerk/sdk/generated/api/UserdbApiTest.java +src/test/java/com/adzerk/sdk/generated/model/ConsentRequestTest.java +src/test/java/com/adzerk/sdk/generated/model/ContentTest.java +src/test/java/com/adzerk/sdk/generated/model/DecisionRequestTest.java +src/test/java/com/adzerk/sdk/generated/model/DecisionResponseTest.java +src/test/java/com/adzerk/sdk/generated/model/DecisionTest.java +src/test/java/com/adzerk/sdk/generated/model/EventTest.java +src/test/java/com/adzerk/sdk/generated/model/MatchedPointTest.java +src/test/java/com/adzerk/sdk/generated/model/PlacementTest.java +src/test/java/com/adzerk/sdk/generated/model/PricingDataTest.java +src/test/java/com/adzerk/sdk/generated/model/SkipFiltersTest.java +src/test/java/com/adzerk/sdk/generated/model/UserTest.java diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION index ecedc98..831446c 100644 --- a/.openapi-generator/VERSION +++ b/.openapi-generator/VERSION @@ -1 +1 @@ -4.3.1 \ No newline at end of file +5.1.0 diff --git a/build.gradle b/build.gradle index 28c363d..b7be38b 100644 --- a/build.gradle +++ b/build.gradle @@ -120,14 +120,16 @@ artifacts { dependencies { implementation 'io.swagger:swagger-annotations:1.5.22' implementation "com.google.code.findbugs:jsr305:3.0.2" - implementation 'com.squareup.okhttp3:okhttp:3.14.2' - implementation 'com.squareup.okhttp3:logging-interceptor:3.14.2' - implementation 'com.google.code.gson:gson:2.10' - implementation 'io.gsonfire:gson-fire:1.8.3' - implementation 'org.apache.commons:commons-lang3:3.9' - implementation 'org.threeten:threetenbp:1.4.0' - implementation 'org.slf4j:slf4j-api:1.7.29' - testImplementation 'junit:junit:4.12' + implementation 'com.squareup.okhttp3:okhttp:4.12.0' + implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0' + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'io.gsonfire:gson-fire:1.8.4' + implementation 'org.apache.commons:commons-lang3:3.10' + implementation 'org.threeten:threetenbp:1.4.3' + implementation 'javax.annotation:javax.annotation-api:1.3.2' + implementation 'org.slf4j:slf4j-api:2.0.17' + implementation 'org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0' + testImplementation 'junit:junit:4.13.1' } javadoc { diff --git a/docs/Consent.md b/docs/Consent.md deleted file mode 100644 index 4822897..0000000 --- a/docs/Consent.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# Consent - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**gdpr** | **Boolean** | | [optional] - - - diff --git a/docs/ConsentRequest.md b/docs/ConsentRequest.md index 79a6695..115bd5a 100644 --- a/docs/ConsentRequest.md +++ b/docs/ConsentRequest.md @@ -2,12 +2,13 @@ # ConsentRequest + ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **userKey** | **String** | | [optional] -**consent** | [**Object**](.md) | | [optional] +**consent** | **Object** | | [optional] ## Implemented Interfaces diff --git a/docs/Content.md b/docs/Content.md index 8f0ed03..2251abe 100644 --- a/docs/Content.md +++ b/docs/Content.md @@ -2,6 +2,7 @@ # Content + ## Properties Name | Type | Description | Notes @@ -9,7 +10,7 @@ Name | Type | Description | Notes **type** | **String** | | [optional] **template** | **String** | | [optional] **customTemplate** | **String** | | [optional] -**data** | [**Object**](.md) | | [optional] +**data** | **Object** | | [optional] **body** | **String** | | [optional] diff --git a/docs/Decision.md b/docs/Decision.md index 02f05f2..aeff408 100644 --- a/docs/Decision.md +++ b/docs/Decision.md @@ -2,6 +2,7 @@ # Decision + ## Properties Name | Type | Description | Notes @@ -12,9 +13,9 @@ Name | Type | Description | Notes **flightId** | **Integer** | | [optional] **campaignId** | **Integer** | | [optional] **priorityId** | **Integer** | | [optional] -**clickUrl** | [**URI**](URI.md) | | [optional] +**clickUrl** | **URI** | | [optional] **contents** | [**List<Content>**](Content.md) | | [optional] -**impressionUrl** | [**URI**](URI.md) | | [optional] +**impressionUrl** | **URI** | | [optional] **events** | [**List<Event>**](Event.md) | | [optional] **matchedPoints** | [**List<MatchedPoint>**](MatchedPoint.md) | | [optional] **pricing** | [**PricingData**](PricingData.md) | | [optional] diff --git a/docs/DecisionApi.md b/docs/DecisionApi.md index 93ffbd1..ed104e5 100644 --- a/docs/DecisionApi.md +++ b/docs/DecisionApi.md @@ -30,7 +30,7 @@ public class Example { defaultClient.setBasePath("https://e-23.adzerk.net"); DecisionApi apiInstance = new DecisionApi(defaultClient); - DecisionRequest decisionRequest = {"placements": [{ "divName": "header", "networkId": 23, "siteId": 667480, "adTypes": [5] }] }; // DecisionRequest | + DecisionRequest decisionRequest = new DecisionRequest(); // DecisionRequest | try { DecisionResponse result = apiInstance.getDecisions(decisionRequest); System.out.println(result); diff --git a/docs/DecisionRequest.md b/docs/DecisionRequest.md index 7760162..75a6d5e 100644 --- a/docs/DecisionRequest.md +++ b/docs/DecisionRequest.md @@ -2,6 +2,7 @@ # DecisionRequest + ## Properties Name | Type | Description | Notes @@ -18,7 +19,7 @@ Name | Type | Description | Notes **notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional] **enableBotFiltering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn't seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional] **enableUserDBIP** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional] -**consent** | [**Object**](.md) | Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. | [optional] +**consent** | **Object** | Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. | [optional] **deviceID** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional] **parallel** | **Boolean** | | [optional] **intendedLatitude** | **Float** | | [optional] diff --git a/docs/DecisionResponse.md b/docs/DecisionResponse.md index 97b78d4..dc693ed 100644 --- a/docs/DecisionResponse.md +++ b/docs/DecisionResponse.md @@ -2,13 +2,14 @@ # DecisionResponse + ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **user** | [**User**](User.md) | | [optional] -**decisions** | [**Object**](.md) | | [optional] -**explain** | [**Object**](.md) | | [optional] +**decisions** | [**Map<String, Decision>**](Decision.md) | | [optional] +**explain** | **Object** | | [optional] ## Implemented Interfaces diff --git a/docs/Event.md b/docs/Event.md index 1ae47ab..95c313a 100644 --- a/docs/Event.md +++ b/docs/Event.md @@ -2,12 +2,13 @@ # Event + ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Integer** | | [optional] -**url** | [**URI**](URI.md) | | [optional] +**url** | **URI** | | [optional] ## Implemented Interfaces diff --git a/docs/GdprConsent.md b/docs/GdprConsent.md deleted file mode 100644 index 1620e0e..0000000 --- a/docs/GdprConsent.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# GdprConsent - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**userKey** | **String** | | [optional] -**consent** | [**Consent**](Consent.md) | | [optional] - - - diff --git a/docs/MatchedPoint.md b/docs/MatchedPoint.md index 603010e..bb4551a 100644 --- a/docs/MatchedPoint.md +++ b/docs/MatchedPoint.md @@ -2,6 +2,7 @@ # MatchedPoint + ## Properties Name | Type | Description | Notes diff --git a/docs/Placement.md b/docs/Placement.md index 7b610f8..94593e8 100644 --- a/docs/Placement.md +++ b/docs/Placement.md @@ -2,6 +2,7 @@ # Placement + ## Properties Name | Type | Description | Notes @@ -15,9 +16,9 @@ Name | Type | Description | Notes **flightId** | **Integer** | A numeric ad (flight-creative map) id; if specified, only serve that ad if possible | [optional] **adId** | **Integer** | A numeric ad (flight-creative map) id; if specified, only serve that ad if possible | [optional] **clickUrl** | **String** | The ad's click-through URL | [optional] -**properties** | [**Object**](.md) | A map of key/value pairs used for [Custom Targeting](https://dev.adzerk.com/docs/custom-targeting) | [optional] +**properties** | **Object** | A map of key/value pairs used for [Custom Targeting](https://dev.adzerk.com/docs/custom-targeting) | [optional] **eventIds** | **List<Integer>** | An array of numeric event types. Requests tracking URLs for custom events. See here for [Event Tracking IDs](https://dev.adzerk.com/v1.0/docs/custom-event-tracking) | [optional] -**overrides** | [**Object**](.md) | An object that overrides values for an advertiser, campaign, flight or ad. Used especially for header bidding | [optional] +**overrides** | **Object** | An object that overrides values for an advertiser, campaign, flight or ad. Used especially for header bidding | [optional] **contentKeys** | **Map<String, String>** | A map of key/value pairs used with [ContentDB](https://dev.adzerk.com/docs/contentdb-1). The format is `\"contentKeys\": {\"schema\": \"contentKey\"}` | [optional] **count** | **Integer** | (BETA) The number of ads to return per placement. Integer between 1 and 20 | [optional] **proportionality** | **Boolean** | (BETA) If true, fills ads in a multi-winner placement in proportion to the flight's goals | [optional] @@ -25,9 +26,10 @@ Name | Type | Description | Notes **ecpmPartitions** | **List<String>** | (BETA) The names of the eCPM Partitions that should be used to source eCPM data for auctions | [optional] **eventMultiplier** | **Integer** | | [optional] **skipSelection** | **Boolean** | | [optional] -**adQuery** | [**Object**](.md) | | [optional] +**adQuery** | **Object** | | [optional] **floorPrice** | **Float** | | [optional] **floorCpc** | **Float** | | [optional] +**skipFilters** | [**SkipFilters**](SkipFilters.md) | | [optional] ## Implemented Interfaces diff --git a/docs/PricingData.md b/docs/PricingData.md index 83daea3..c0fe362 100644 --- a/docs/PricingData.md +++ b/docs/PricingData.md @@ -2,6 +2,7 @@ # PricingData + ## Properties Name | Type | Description | Notes diff --git a/docs/Request.md b/docs/Request.md deleted file mode 100644 index bc14e83..0000000 --- a/docs/Request.md +++ /dev/null @@ -1,25 +0,0 @@ - - -# Request - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**placements** | [**List<Placement>**](Placement.md) | One or more Placement objects | -**user** | [**User**](User.md) | | [optional] -**keywords** | **List<String>** | Keywords for keyword Targeting. Such as `\"keywords\": [\"foo\", \"bar\", \"baz\"]`. | [optional] -**url** | **String** | The current page URL | [optional] -**referrer** | **String** | The referrer URL | [optional] -**ip** | **String** | The IP address. Required for [Geo-Targeting](https://dev.adzerk.com/docs/geo-location) | [optional] -**blockedCreatives** | **List<Integer>** | Numeric creative ids to disregard for ad selection | [optional] -**isMobile** | **Boolean** | If true, only ads containing a single image will be returned | [optional] -**includePricingData** | **Boolean** | If true, return pricing data for the decision in the response | [optional] -**notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional] -**enableBotFiltering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn't seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional] -**enableUserDBIP** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional] -**consent** | [**RequestConsent**](RequestConsent.md) | | [optional] -**deviceID** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional] - - - diff --git a/docs/RequestConsent.md b/docs/RequestConsent.md deleted file mode 100644 index 9b4909a..0000000 --- a/docs/RequestConsent.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# RequestConsent - -Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**gdpr** | **Boolean** | | [optional] - - - diff --git a/docs/RequestLocation.md b/docs/RequestLocation.md deleted file mode 100644 index 826a95a..0000000 --- a/docs/RequestLocation.md +++ /dev/null @@ -1,17 +0,0 @@ - - -# RequestLocation - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**latitude** | **String** | | [optional] -**longitude** | **String** | | [optional] - - -## Implemented Interfaces - -* Serializable - - diff --git a/docs/Response.md b/docs/Response.md deleted file mode 100644 index d18df6b..0000000 --- a/docs/Response.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# Response - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**user** | [**User**](User.md) | | [optional] -**decisions** | [**Object**](.md) | | [optional] -**explain** | [**Object**](.md) | | [optional] - - - diff --git a/docs/SkipFilters.md b/docs/SkipFilters.md new file mode 100644 index 0000000..f799300 --- /dev/null +++ b/docs/SkipFilters.md @@ -0,0 +1,24 @@ + + +# SkipFilters + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**distance** | **Boolean** | Geodistance filter, which skips geodistance targeting if true. | [optional] +**facet** | **Boolean** | Facet targeting filter, which skips facet targeting if true. | [optional] +**geodistance** | **Boolean** | Geodistance filter, which skips geodistance targeting if true. | [optional] +**geolocation** | **Boolean** | Geolocation filter, which skips location targeting if true. | [optional] +**keyword** | **Boolean** | Keyword limit filter, which skips all (ad and/or flight) keyword targeting if true. | [optional] +**location** | **Boolean** | Geolocation filter, which skips location targeting if true. | [optional] +**placementLimit** | **Boolean** | Placement limit filter, where no advertiser placement limit if true. | [optional] +**siteZone** | **Boolean** | Site/zone limit filter, which skips site/zone targeting if true. | [optional] + + +## Implemented Interfaces + +* Serializable + + diff --git a/docs/User.md b/docs/User.md index cfcad68..0a5ae31 100644 --- a/docs/User.md +++ b/docs/User.md @@ -3,6 +3,7 @@ # User Object containing the UserKey used for [UserDB targeting](https://dev.adzerk.com/docs/userdb-1) + ## Properties Name | Type | Description | Notes diff --git a/src/main/java/com/adzerk/sdk/generated/ApiClient.java b/src/main/java/com/adzerk/sdk/generated/ApiClient.java index 47ad87b..d07a543 100644 --- a/src/main/java/com/adzerk/sdk/generated/ApiClient.java +++ b/src/main/java/com/adzerk/sdk/generated/ApiClient.java @@ -33,6 +33,8 @@ import java.net.URI; import java.net.URLConnection; import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Paths; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.security.SecureRandom; @@ -89,6 +91,20 @@ public ApiClient() { authentications = Collections.unmodifiableMap(authentications); } + /* + * Basic constructor with custom OkHttpClient + */ + public ApiClient(OkHttpClient client) { + init(); + + httpClient = client; + + // Setup authentications (key: authentication name, value: authentication). + authentications.put("ApiKeyAuth", new ApiKeyAuth("header", "X-Adzerk-ApiKey")); + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + private void initHttpClient() { initHttpClient(Collections.emptyList()); } @@ -285,6 +301,7 @@ public Authentication getAuthentication(String authName) { return authentications.get(authName); } + /** * Helper method to set username for the first HTTP basic authentication. * @@ -411,7 +428,9 @@ public ApiClient setDebugging(boolean debugging) { loggingInterceptor.setLevel(Level.BODY); httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build(); } else { - httpClient.interceptors().remove(loggingInterceptor); + final OkHttpClient.Builder builder = httpClient.newBuilder(); + builder.interceptors().remove(loggingInterceptor); + httpClient = builder.build(); loggingInterceptor = null; } } @@ -424,7 +443,7 @@ public ApiClient setDebugging(boolean debugging) { * with file response. The default value is null, i.e. using * the system's default tempopary folder. * - * @see createTempFile + * @see createTempFile * @return Temporary folder path */ public String getTempFolderPath() { @@ -798,10 +817,10 @@ public T deserialize(Response response, Type returnType) throws ApiException public RequestBody serialize(Object obj, String contentType) throws ApiException { if (obj instanceof byte[]) { // Binary (byte array) body parameter support. - return RequestBody.create(MediaType.parse(contentType), (byte[]) obj); + return RequestBody.create((byte[]) obj, MediaType.parse(contentType)); } else if (obj instanceof File) { // File body parameter support. - return RequestBody.create(MediaType.parse(contentType), (File) obj); + return RequestBody.create((File) obj, MediaType.parse(contentType)); } else if (isJsonMime(contentType)) { String content; if (obj != null) { @@ -809,7 +828,7 @@ public RequestBody serialize(Object obj, String contentType) throws ApiException } else { content = null; } - return RequestBody.create(MediaType.parse(contentType), content); + return RequestBody.create(content, MediaType.parse(contentType)); } else { throw new ApiException("Content type \"" + contentType + "\" is not supported"); } @@ -866,15 +885,15 @@ public File prepareDownloadFile(Response response) throws IOException { prefix = filename.substring(0, pos) + "-"; suffix = filename.substring(pos); } - // File.createTempFile requires the prefix to be at least three characters long + // Files.createTempFile requires the prefix to be at least three characters long if (prefix.length() < 3) prefix = "download-"; } if (tempFolderPath == null) - return File.createTempFile(prefix, suffix); + return Files.createTempFile(prefix, suffix).toFile(); else - return File.createTempFile(prefix, suffix, new File(tempFolderPath)); + return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile(); } /** @@ -946,6 +965,9 @@ public void onResponse(Call call, Response response) throws IOException { } catch (ApiException e) { callback.onFailure(e, response.code(), response.headers().toMultimap()); return; + } catch (Exception e) { + callback.onFailure(new ApiException(e), response.code(), response.headers().toMultimap()); + return; } callback.onSuccess(result, response.code(), response.headers().toMultimap()); } @@ -1056,7 +1078,7 @@ public Request buildRequest(String path, String method, List queryParams, reqBody = null; } else { // use an empty request body (for POST, PUT and PATCH) - reqBody = RequestBody.create(MediaType.parse(contentType), ""); + reqBody = RequestBody.create("", MediaType.parse(contentType)); } } else { reqBody = serialize(body, contentType); @@ -1207,10 +1229,10 @@ public RequestBody buildRequestBodyMultipart(Map formParams) { File file = (File) param.getValue(); Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\""); MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); - mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file)); + mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } else { Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue()))); + mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); } } return mpBuilder.build(); diff --git a/src/main/java/com/adzerk/sdk/generated/ApiException.java b/src/main/java/com/adzerk/sdk/generated/ApiException.java index 6aaf702..481c871 100644 --- a/src/main/java/com/adzerk/sdk/generated/ApiException.java +++ b/src/main/java/com/adzerk/sdk/generated/ApiException.java @@ -16,7 +16,7 @@ import java.util.Map; import java.util.List; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class ApiException extends Exception { private int code = 0; private Map> responseHeaders = null; diff --git a/src/main/java/com/adzerk/sdk/generated/Configuration.java b/src/main/java/com/adzerk/sdk/generated/Configuration.java index f6b8c63..ab4d824 100644 --- a/src/main/java/com/adzerk/sdk/generated/Configuration.java +++ b/src/main/java/com/adzerk/sdk/generated/Configuration.java @@ -13,7 +13,7 @@ package com.adzerk.sdk.generated; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Configuration { private static ApiClient defaultApiClient = new ApiClient(); diff --git a/src/main/java/com/adzerk/sdk/generated/JSON.java b/src/main/java/com/adzerk/sdk/generated/JSON.java index abc9409..d2426d5 100644 --- a/src/main/java/com/adzerk/sdk/generated/JSON.java +++ b/src/main/java/com/adzerk/sdk/generated/JSON.java @@ -50,6 +50,7 @@ public class JSON { private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter(); + @SuppressWarnings("unchecked") public static GsonBuilder createGson() { GsonFireBuilder fireBuilder = new GsonFireBuilder() ; diff --git a/src/main/java/com/adzerk/sdk/generated/Pair.java b/src/main/java/com/adzerk/sdk/generated/Pair.java index 24b7bbc..b6db0fb 100644 --- a/src/main/java/com/adzerk/sdk/generated/Pair.java +++ b/src/main/java/com/adzerk/sdk/generated/Pair.java @@ -13,7 +13,7 @@ package com.adzerk.sdk.generated; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Pair { private String name = ""; private String value = ""; diff --git a/src/main/java/com/adzerk/sdk/generated/StringUtil.java b/src/main/java/com/adzerk/sdk/generated/StringUtil.java index 3dd7a5c..24b4fe2 100644 --- a/src/main/java/com/adzerk/sdk/generated/StringUtil.java +++ b/src/main/java/com/adzerk/sdk/generated/StringUtil.java @@ -13,7 +13,10 @@ package com.adzerk.sdk.generated; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +import java.util.Collection; +import java.util.Iterator; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). @@ -58,4 +61,23 @@ public static String join(String[] array, String separator) { } return out.toString(); } + + /** + * Join a list of strings with the given separator. + * + * @param list The list of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(Collection list, String separator) { + Iterator iterator = list.iterator(); + StringBuilder out = new StringBuilder(); + if (iterator.hasNext()) { + out.append(iterator.next()); + } + while (iterator.hasNext()) { + out.append(separator).append(iterator.next()); + } + return out.toString(); + } } diff --git a/src/main/java/com/adzerk/sdk/generated/api/DecisionApi.java b/src/main/java/com/adzerk/sdk/generated/api/DecisionApi.java index 796ac9a..41d03b7 100644 --- a/src/main/java/com/adzerk/sdk/generated/api/DecisionApi.java +++ b/src/main/java/com/adzerk/sdk/generated/api/DecisionApi.java @@ -79,6 +79,7 @@ public okhttp3.Call getDecisionsCall(DecisionRequest decisionRequest, final ApiC Map localVarHeaderParams = new HashMap(); Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); + final String[] localVarAccepts = { "application/json" }; diff --git a/src/main/java/com/adzerk/sdk/generated/api/UserdbApi.java b/src/main/java/com/adzerk/sdk/generated/api/UserdbApi.java index 2f752ff..8896be2 100644 --- a/src/main/java/com/adzerk/sdk/generated/api/UserdbApi.java +++ b/src/main/java/com/adzerk/sdk/generated/api/UserdbApi.java @@ -78,13 +78,14 @@ public okhttp3.Call addCustomPropertiesCall(Integer networkId, String userKey, O List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -206,6 +207,10 @@ public okhttp3.Call addInterestsCall(Integer networkId, String userKey, String i List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } @@ -214,9 +219,6 @@ public okhttp3.Call addInterestsCall(Integer networkId, String userKey, String i localVarQueryParams.addAll(localVarApiClient.parameterToPair("interest", interest)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -346,13 +348,14 @@ public okhttp3.Call addRetargetingSegmentCall(Integer networkId, Integer adverti List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -486,13 +489,14 @@ public okhttp3.Call forgetCall(Integer networkId, String userKey, final ApiCallb List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { }; @@ -609,6 +613,7 @@ public okhttp3.Call gdprConsentCall(Integer networkId, ConsentRequest consentReq Map localVarHeaderParams = new HashMap(); Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); + final String[] localVarAccepts = { "image/gif" }; @@ -722,6 +727,10 @@ public okhttp3.Call ipOverrideCall(Integer networkId, String userKey, String ip, List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } @@ -730,9 +739,6 @@ public okhttp3.Call ipOverrideCall(Integer networkId, String userKey, String ip, localVarQueryParams.addAll(localVarApiClient.parameterToPair("ip", ip)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -860,6 +866,10 @@ public okhttp3.Call matchUserCall(Integer networkId, String userKey, Integer par List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } @@ -872,9 +882,6 @@ public okhttp3.Call matchUserCall(Integer networkId, String userKey, Integer par localVarQueryParams.addAll(localVarApiClient.parameterToPair("userId", userId)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -1008,13 +1015,14 @@ public okhttp3.Call optOutCall(Integer networkId, String userKey, final ApiCallb List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "image/gif" }; @@ -1132,13 +1140,14 @@ public okhttp3.Call readCall(Integer networkId, String userKey, final ApiCallbac List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + if (userKey != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("userKey", userKey)); } - Map localVarHeaderParams = new HashMap(); - Map localVarCookieParams = new HashMap(); - Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { "application/json" }; diff --git a/src/main/java/com/adzerk/sdk/generated/auth/ApiKeyAuth.java b/src/main/java/com/adzerk/sdk/generated/auth/ApiKeyAuth.java index 4aeb5de..5fc9b80 100644 --- a/src/main/java/com/adzerk/sdk/generated/auth/ApiKeyAuth.java +++ b/src/main/java/com/adzerk/sdk/generated/auth/ApiKeyAuth.java @@ -18,7 +18,7 @@ import java.util.Map; import java.util.List; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class ApiKeyAuth implements Authentication { private final String location; private final String paramName; diff --git a/src/main/java/com/adzerk/sdk/generated/auth/HttpBearerAuth.java b/src/main/java/com/adzerk/sdk/generated/auth/HttpBearerAuth.java index a6f0405..86b92fc 100644 --- a/src/main/java/com/adzerk/sdk/generated/auth/HttpBearerAuth.java +++ b/src/main/java/com/adzerk/sdk/generated/auth/HttpBearerAuth.java @@ -18,7 +18,7 @@ import java.util.Map; import java.util.List; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class HttpBearerAuth implements Authentication { private final String scheme; private String bearerToken; diff --git a/src/main/java/com/adzerk/sdk/generated/model/ConsentRequest.java b/src/main/java/com/adzerk/sdk/generated/model/ConsentRequest.java index 036a863..1fabd9e 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/ConsentRequest.java +++ b/src/main/java/com/adzerk/sdk/generated/model/ConsentRequest.java @@ -28,7 +28,7 @@ /** * ConsentRequest */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class ConsentRequest implements Serializable { private static final long serialVersionUID = 1L; @@ -88,7 +88,7 @@ public void setConsent(Object consent) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -105,7 +105,6 @@ public int hashCode() { return Objects.hash(userKey, consent); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -120,7 +119,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/Content.java b/src/main/java/com/adzerk/sdk/generated/model/Content.java index 3f53c40..23df3f6 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/Content.java +++ b/src/main/java/com/adzerk/sdk/generated/model/Content.java @@ -28,7 +28,7 @@ /** * Content */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Content implements Serializable { private static final long serialVersionUID = 1L; @@ -169,7 +169,7 @@ public void setBody(String body) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -189,7 +189,6 @@ public int hashCode() { return Objects.hash(type, template, customTemplate, data, body); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -207,7 +206,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/Decision.java b/src/main/java/com/adzerk/sdk/generated/model/Decision.java index 4e07156..3be0691 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/Decision.java +++ b/src/main/java/com/adzerk/sdk/generated/model/Decision.java @@ -35,7 +35,7 @@ /** * Decision */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Decision implements Serializable { private static final long serialVersionUID = 1L; @@ -389,7 +389,7 @@ public void setPricing(PricingData pricing) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -416,7 +416,6 @@ public int hashCode() { return Objects.hash(adId, advertiserId, creativeId, flightId, campaignId, priorityId, clickUrl, contents, impressionUrl, events, matchedPoints, pricing); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -441,7 +440,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/DecisionRequest.java b/src/main/java/com/adzerk/sdk/generated/model/DecisionRequest.java index 8ba439f..cbd0b5c 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/DecisionRequest.java +++ b/src/main/java/com/adzerk/sdk/generated/model/DecisionRequest.java @@ -32,7 +32,7 @@ /** * DecisionRequest */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class DecisionRequest implements Serializable { private static final long serialVersionUID = 1L; @@ -571,7 +571,7 @@ public void setIncludeMatchedPoints(Boolean includeMatchedPoints) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -605,7 +605,6 @@ public int hashCode() { return Objects.hash(placements, user, keywords, url, referrer, ip, blockedCreatives, isMobile, includePricingData, notrack, enableBotFiltering, enableUserDBIP, consent, deviceID, parallel, intendedLatitude, intendedLongitude, radius, includeMatchedPoints); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -637,7 +636,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/DecisionResponse.java b/src/main/java/com/adzerk/sdk/generated/model/DecisionResponse.java index 1075c13..6fbd35b 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/DecisionResponse.java +++ b/src/main/java/com/adzerk/sdk/generated/model/DecisionResponse.java @@ -15,6 +15,7 @@ import java.util.Objects; import java.util.Arrays; +import com.adzerk.sdk.generated.model.Decision; import com.adzerk.sdk.generated.model.User; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; @@ -24,12 +25,15 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.io.Serializable; /** * DecisionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class DecisionResponse implements Serializable { private static final long serialVersionUID = 1L; @@ -39,7 +43,7 @@ public class DecisionResponse implements Serializable { public static final String SERIALIZED_NAME_DECISIONS = "decisions"; @SerializedName(SERIALIZED_NAME_DECISIONS) - private Object decisions; + private Map decisions = null; public static final String SERIALIZED_NAME_EXPLAIN = "explain"; @SerializedName(SERIALIZED_NAME_EXPLAIN) @@ -69,12 +73,20 @@ public void setUser(User user) { } - public DecisionResponse decisions(Object decisions) { + public DecisionResponse decisions(Map decisions) { this.decisions = decisions; return this; } + public DecisionResponse putDecisionsItem(String key, Decision decisionsItem) { + if (this.decisions == null) { + this.decisions = new HashMap(); + } + this.decisions.put(key, decisionsItem); + return this; + } + /** * Get decisions * @return decisions @@ -82,12 +94,12 @@ public DecisionResponse decisions(Object decisions) { @javax.annotation.Nullable @ApiModelProperty(value = "") - public Object getDecisions() { + public Map getDecisions() { return decisions; } - public void setDecisions(Object decisions) { + public void setDecisions(Map decisions) { this.decisions = decisions; } @@ -116,7 +128,7 @@ public void setExplain(Object explain) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -134,7 +146,6 @@ public int hashCode() { return Objects.hash(user, decisions, explain); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -150,7 +161,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/Event.java b/src/main/java/com/adzerk/sdk/generated/model/Event.java index 128e3ed..da44a28 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/Event.java +++ b/src/main/java/com/adzerk/sdk/generated/model/Event.java @@ -29,7 +29,7 @@ /** * Event */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Event implements Serializable { private static final long serialVersionUID = 1L; @@ -89,7 +89,7 @@ public void setUrl(URI url) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -106,7 +106,6 @@ public int hashCode() { return Objects.hash(id, url); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -121,7 +120,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/MatchedPoint.java b/src/main/java/com/adzerk/sdk/generated/model/MatchedPoint.java index 4df88ff..cbc29d7 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/MatchedPoint.java +++ b/src/main/java/com/adzerk/sdk/generated/model/MatchedPoint.java @@ -28,7 +28,7 @@ /** * MatchedPoint */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class MatchedPoint implements Serializable { private static final long serialVersionUID = 1L; @@ -88,7 +88,7 @@ public void setLon(String lon) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -105,7 +105,6 @@ public int hashCode() { return Objects.hash(lat, lon); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -120,7 +119,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/Placement.java b/src/main/java/com/adzerk/sdk/generated/model/Placement.java index 4525aef..d0b4ff6 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/Placement.java +++ b/src/main/java/com/adzerk/sdk/generated/model/Placement.java @@ -15,6 +15,7 @@ import java.util.Objects; import java.util.Arrays; +import com.adzerk.sdk.generated.model.SkipFilters; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -32,7 +33,7 @@ /** * Placement */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class Placement implements Serializable { private static final long serialVersionUID = 1L; @@ -124,6 +125,10 @@ public class Placement implements Serializable { @SerializedName(SERIALIZED_NAME_FLOOR_CPC) private Float floorCpc; + public static final String SERIALIZED_NAME_SKIP_FILTERS = "skipFilters"; + @SerializedName(SERIALIZED_NAME_SKIP_FILTERS) + private SkipFilters skipFilters; + public Placement divName(String divName) { @@ -673,8 +678,31 @@ public void setFloorCpc(Float floorCpc) { } + public Placement skipFilters(SkipFilters skipFilters) { + + this.skipFilters = skipFilters; + return this; + } + + /** + * Get skipFilters + * @return skipFilters + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public SkipFilters getSkipFilters() { + return skipFilters; + } + + + public void setSkipFilters(SkipFilters skipFilters) { + this.skipFilters = skipFilters; + } + + @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -703,15 +731,15 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.skipSelection, placement.skipSelection) && Objects.equals(this.adQuery, placement.adQuery) && Objects.equals(this.floorPrice, placement.floorPrice) && - Objects.equals(this.floorCpc, placement.floorCpc); + Objects.equals(this.floorCpc, placement.floorCpc) && + Objects.equals(this.skipFilters, placement.skipFilters); } @Override public int hashCode() { - return Objects.hash(divName, networkId, siteId, adTypes, zoneIds, campaignId, flightId, adId, clickUrl, properties, eventIds, overrides, contentKeys, count, proportionality, ecpmPartition, ecpmPartitions, eventMultiplier, skipSelection, adQuery, floorPrice, floorCpc); + return Objects.hash(divName, networkId, siteId, adTypes, zoneIds, campaignId, flightId, adId, clickUrl, properties, eventIds, overrides, contentKeys, count, proportionality, ecpmPartition, ecpmPartitions, eventMultiplier, skipSelection, adQuery, floorPrice, floorCpc, skipFilters); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -738,6 +766,7 @@ public String toString() { sb.append(" adQuery: ").append(toIndentedString(adQuery)).append("\n"); sb.append(" floorPrice: ").append(toIndentedString(floorPrice)).append("\n"); sb.append(" floorCpc: ").append(toIndentedString(floorCpc)).append("\n"); + sb.append(" skipFilters: ").append(toIndentedString(skipFilters)).append("\n"); sb.append("}"); return sb.toString(); } @@ -746,7 +775,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/PricingData.java b/src/main/java/com/adzerk/sdk/generated/model/PricingData.java index 0b7a168..d5e9add 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/PricingData.java +++ b/src/main/java/com/adzerk/sdk/generated/model/PricingData.java @@ -28,7 +28,7 @@ /** * PricingData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class PricingData implements Serializable { private static final long serialVersionUID = 1L; @@ -169,7 +169,7 @@ public void seteCPM(Float eCPM) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -189,7 +189,6 @@ public int hashCode() { return Objects.hash(price, clearPrice, revenue, rateType, eCPM); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -207,7 +206,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/generated/model/RequestLocation.java b/src/main/java/com/adzerk/sdk/generated/model/RequestLocation.java deleted file mode 100644 index 1021811..0000000 --- a/src/main/java/com/adzerk/sdk/generated/model/RequestLocation.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Adzerk Decision API - * Adzerk Decision API - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -package com.adzerk.sdk.generated.model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.io.Serializable; - -/** - * RequestLocation - */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-16T14:55:19.451-04:00[America/New_York]") -public class RequestLocation implements Serializable { - private static final long serialVersionUID = 1L; - - public static final String SERIALIZED_NAME_LATITUDE = "latitude"; - @SerializedName(SERIALIZED_NAME_LATITUDE) - private String latitude; - - public static final String SERIALIZED_NAME_LONGITUDE = "longitude"; - @SerializedName(SERIALIZED_NAME_LONGITUDE) - private String longitude; - - - public RequestLocation latitude(String latitude) { - - this.latitude = latitude; - return this; - } - - /** - * Get latitude - * @return latitude - **/ - @javax.annotation.Nullable - @ApiModelProperty(value = "") - - public String getLatitude() { - return latitude; - } - - - public void setLatitude(String latitude) { - this.latitude = latitude; - } - - - public RequestLocation longitude(String longitude) { - - this.longitude = longitude; - return this; - } - - /** - * Get longitude - * @return longitude - **/ - @javax.annotation.Nullable - @ApiModelProperty(value = "") - - public String getLongitude() { - return longitude; - } - - - public void setLongitude(String longitude) { - this.longitude = longitude; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - RequestLocation requestLocation = (RequestLocation) o; - return Objects.equals(this.latitude, requestLocation.latitude) && - Objects.equals(this.longitude, requestLocation.longitude); - } - - @Override - public int hashCode() { - return Objects.hash(latitude, longitude); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class RequestLocation {\n"); - sb.append(" latitude: ").append(toIndentedString(latitude)).append("\n"); - sb.append(" longitude: ").append(toIndentedString(longitude)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/com/adzerk/sdk/generated/model/SkipFilters.java b/src/main/java/com/adzerk/sdk/generated/model/SkipFilters.java new file mode 100644 index 0000000..4164a3d --- /dev/null +++ b/src/main/java/com/adzerk/sdk/generated/model/SkipFilters.java @@ -0,0 +1,304 @@ +/* + * Adzerk Decision API + * Adzerk Decision API + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.adzerk.sdk.generated.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; +import java.io.Serializable; + +/** + * SkipFilters + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") +public class SkipFilters implements Serializable { + private static final long serialVersionUID = 1L; + + public static final String SERIALIZED_NAME_DISTANCE = "distance"; + @SerializedName(SERIALIZED_NAME_DISTANCE) + private Boolean distance; + + public static final String SERIALIZED_NAME_FACET = "facet"; + @SerializedName(SERIALIZED_NAME_FACET) + private Boolean facet; + + public static final String SERIALIZED_NAME_GEODISTANCE = "geodistance"; + @SerializedName(SERIALIZED_NAME_GEODISTANCE) + private Boolean geodistance; + + public static final String SERIALIZED_NAME_GEOLOCATION = "geolocation"; + @SerializedName(SERIALIZED_NAME_GEOLOCATION) + private Boolean geolocation; + + public static final String SERIALIZED_NAME_KEYWORD = "keyword"; + @SerializedName(SERIALIZED_NAME_KEYWORD) + private Boolean keyword; + + public static final String SERIALIZED_NAME_LOCATION = "location"; + @SerializedName(SERIALIZED_NAME_LOCATION) + private Boolean location; + + public static final String SERIALIZED_NAME_PLACEMENT_LIMIT = "placementLimit"; + @SerializedName(SERIALIZED_NAME_PLACEMENT_LIMIT) + private Boolean placementLimit; + + public static final String SERIALIZED_NAME_SITE_ZONE = "siteZone"; + @SerializedName(SERIALIZED_NAME_SITE_ZONE) + private Boolean siteZone; + + + public SkipFilters distance(Boolean distance) { + + this.distance = distance; + return this; + } + + /** + * Geodistance filter, which skips geodistance targeting if true. + * @return distance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Geodistance filter, which skips geodistance targeting if true.") + + public Boolean getDistance() { + return distance; + } + + + public void setDistance(Boolean distance) { + this.distance = distance; + } + + + public SkipFilters facet(Boolean facet) { + + this.facet = facet; + return this; + } + + /** + * Facet targeting filter, which skips facet targeting if true. + * @return facet + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Facet targeting filter, which skips facet targeting if true.") + + public Boolean getFacet() { + return facet; + } + + + public void setFacet(Boolean facet) { + this.facet = facet; + } + + + public SkipFilters geodistance(Boolean geodistance) { + + this.geodistance = geodistance; + return this; + } + + /** + * Geodistance filter, which skips geodistance targeting if true. + * @return geodistance + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Geodistance filter, which skips geodistance targeting if true.") + + public Boolean getGeodistance() { + return geodistance; + } + + + public void setGeodistance(Boolean geodistance) { + this.geodistance = geodistance; + } + + + public SkipFilters geolocation(Boolean geolocation) { + + this.geolocation = geolocation; + return this; + } + + /** + * Geolocation filter, which skips location targeting if true. + * @return geolocation + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Geolocation filter, which skips location targeting if true.") + + public Boolean getGeolocation() { + return geolocation; + } + + + public void setGeolocation(Boolean geolocation) { + this.geolocation = geolocation; + } + + + public SkipFilters keyword(Boolean keyword) { + + this.keyword = keyword; + return this; + } + + /** + * Keyword limit filter, which skips all (ad and/or flight) keyword targeting if true. + * @return keyword + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Keyword limit filter, which skips all (ad and/or flight) keyword targeting if true.") + + public Boolean getKeyword() { + return keyword; + } + + + public void setKeyword(Boolean keyword) { + this.keyword = keyword; + } + + + public SkipFilters location(Boolean location) { + + this.location = location; + return this; + } + + /** + * Geolocation filter, which skips location targeting if true. + * @return location + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Geolocation filter, which skips location targeting if true.") + + public Boolean getLocation() { + return location; + } + + + public void setLocation(Boolean location) { + this.location = location; + } + + + public SkipFilters placementLimit(Boolean placementLimit) { + + this.placementLimit = placementLimit; + return this; + } + + /** + * Placement limit filter, where no advertiser placement limit if true. + * @return placementLimit + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Placement limit filter, where no advertiser placement limit if true.") + + public Boolean getPlacementLimit() { + return placementLimit; + } + + + public void setPlacementLimit(Boolean placementLimit) { + this.placementLimit = placementLimit; + } + + + public SkipFilters siteZone(Boolean siteZone) { + + this.siteZone = siteZone; + return this; + } + + /** + * Site/zone limit filter, which skips site/zone targeting if true. + * @return siteZone + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "Site/zone limit filter, which skips site/zone targeting if true.") + + public Boolean getSiteZone() { + return siteZone; + } + + + public void setSiteZone(Boolean siteZone) { + this.siteZone = siteZone; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SkipFilters skipFilters = (SkipFilters) o; + return Objects.equals(this.distance, skipFilters.distance) && + Objects.equals(this.facet, skipFilters.facet) && + Objects.equals(this.geodistance, skipFilters.geodistance) && + Objects.equals(this.geolocation, skipFilters.geolocation) && + Objects.equals(this.keyword, skipFilters.keyword) && + Objects.equals(this.location, skipFilters.location) && + Objects.equals(this.placementLimit, skipFilters.placementLimit) && + Objects.equals(this.siteZone, skipFilters.siteZone); + } + + @Override + public int hashCode() { + return Objects.hash(distance, facet, geodistance, geolocation, keyword, location, placementLimit, siteZone); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SkipFilters {\n"); + sb.append(" distance: ").append(toIndentedString(distance)).append("\n"); + sb.append(" facet: ").append(toIndentedString(facet)).append("\n"); + sb.append(" geodistance: ").append(toIndentedString(geodistance)).append("\n"); + sb.append(" geolocation: ").append(toIndentedString(geolocation)).append("\n"); + sb.append(" keyword: ").append(toIndentedString(keyword)).append("\n"); + sb.append(" location: ").append(toIndentedString(location)).append("\n"); + sb.append(" placementLimit: ").append(toIndentedString(placementLimit)).append("\n"); + sb.append(" siteZone: ").append(toIndentedString(siteZone)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/com/adzerk/sdk/generated/model/User.java b/src/main/java/com/adzerk/sdk/generated/model/User.java index d6ae06b..6b5eddd 100644 --- a/src/main/java/com/adzerk/sdk/generated/model/User.java +++ b/src/main/java/com/adzerk/sdk/generated/model/User.java @@ -29,7 +29,7 @@ * Object containing the UserKey used for [UserDB targeting](https://dev.adzerk.com/docs/userdb-1) */ @ApiModel(description = "Object containing the UserKey used for [UserDB targeting](https://dev.adzerk.com/docs/userdb-1)") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2022-12-10T07:56:36.651701-06:00[America/Chicago]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-07-16T01:15:27.717Z[Etc/UTC]") public class User implements Serializable { private static final long serialVersionUID = 1L; @@ -62,7 +62,7 @@ public void setKey(String key) { @Override - public boolean equals(java.lang.Object o) { + public boolean equals(Object o) { if (this == o) { return true; } @@ -78,7 +78,6 @@ public int hashCode() { return Objects.hash(key); } - @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -92,7 +91,7 @@ public String toString() { * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ - private String toIndentedString(java.lang.Object o) { + private String toIndentedString(Object o) { if (o == null) { return "null"; } diff --git a/src/main/java/com/adzerk/sdk/model/DecisionResponse.java b/src/main/java/com/adzerk/sdk/model/DecisionResponse.java index aaec1a6..c8ecaec 100644 --- a/src/main/java/com/adzerk/sdk/model/DecisionResponse.java +++ b/src/main/java/com/adzerk/sdk/model/DecisionResponse.java @@ -20,37 +20,6 @@ public class DecisionResponse extends com.adzerk.sdk.generated.model.DecisionResponse { private static final long serialVersionUID = 1; - @javax.annotation.Nullable - @ApiModelProperty(value = "") - public Map> getDecisions() { - Gson gson = new Gson(); - - HashMap> result = new HashMap>(); - - Type mapType = new TypeToken>(){}.getType(); - Type decisionType = new TypeToken(){}.getType(); - Type decisionListType = new TypeToken>(){}.getType(); - - JsonObject mapJsonObject = gson.toJsonTree(super.getDecisions()).getAsJsonObject(); - Map map = gson.fromJson(mapJsonObject, mapType); - - for(String key : map.keySet()) { - JsonElement element = gson.toJsonTree(map.get(key)); - - if (element.isJsonObject()) { - JsonObject obj = element.getAsJsonObject(); - Decision parsed = gson.fromJson(obj, decisionType); - result.put(key, Arrays.asList(parsed)); - } else { - JsonArray obj = element.getAsJsonArray(); - ArrayList parsed = gson.fromJson(obj, decisionListType); - result.put(key, parsed); - } - } - - return result; - } - @javax.annotation.Nullable @ApiModelProperty(value = "") public Map getExplain() { @@ -60,4 +29,4 @@ public Map> getDecisions() { return (Map) explanation; } -} \ No newline at end of file +} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml new file mode 100644 index 0000000..e7b334d --- /dev/null +++ b/src/main/resources/log4j2.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + +