grafana / cog

Code Generation with a human touch
Apache License 2.0
43 stars 2 forks source link

Java: Check more kinds to put the proper annotation #533

Closed spinillos closed 3 weeks ago

spinillos commented 3 weeks ago

If for any reason, we have problems to don't show initialise objects, we need to initialise them directly in the builder's constructor since there isn't exist an annotation or anything else to setup a non-null object.

github-actions[bot] commented 3 weeks ago

Note: in addition to the changes introduced by this PR, the diff includes unreleased changes living in main.

### 🔎 Changes to `grafana-foundation-sdk@next+cog-v0.0.x` ```patch diff --git a/java/gradle.properties b/java/gradle.properties index 35add1a..47ee727 100644 --- a/java/gradle.properties +++ b/java/gradle.properties @@ -1 +1 @@ -grafanaFoundationSDKVersion=next-1725548292 +grafanaFoundationSDKVersion=next-1725618346 diff --git a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java index 408e4d6..b0be59b 100644 --- a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java +++ b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java @@ -6,18 +6,24 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import java.util.List; import java.util.LinkedList; public class AccessPolicy { // The scope where these policies should apply + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("scope") public ResourceRef scope; // The role that must apply this policy + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("role") public RoleRef role; // The set of rules to apply. Note that * is required to modify // access policy rules, and that "none" will reject all actions + @JsonSetter(nulls = Nulls.AS_EMPTY) @JsonProperty("rules") public List rules; diff --git a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessRule.java b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessRule.java index ddbca8c..89f37bb 100644 --- a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessRule.java +++ b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessRule.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class AccessRule { // The kind this rule applies to (dashboards, alert, etc) @@ -17,7 +17,7 @@ public class AccessRule { @JsonProperty("verb") public String verb; // Specific sub-elements like "alert.rules" or "dashboard.permissions"???? - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("target") public String target; diff --git a/java/src/main/java/com/grafana/foundation/accesspolicy/RoleRef.java b/java/src/main/java/com/grafana/foundation/accesspolicy/RoleRef.java index d501bce..550fb92 100644 --- a/java/src/main/java/com/grafana/foundation/accesspolicy/RoleRef.java +++ b/java/src/main/java/com/grafana/foundation/accesspolicy/RoleRef.java @@ -6,10 +6,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.annotation.JsonInclude; public class RoleRef { // Policies can apply to roles, teams, or users // Applying policies to individual users is supported, but discouraged + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("kind") public RoleRefKind kind; @JsonProperty("name") diff --git a/java/src/main/java/com/grafana/foundation/alerting/ContactPoint.java b/java/src/main/java/com/grafana/foundation/alerting/ContactPoint.java index d1f2851..c6afca6 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/ContactPoint.java +++ b/java/src/main/java/com/grafana/foundation/alerting/ContactPoint.java @@ -6,37 +6,39 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. public class ContactPoint { // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("disableResolveMessage") public Boolean disableResolveMessage; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("name") public String name; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("provenance") public String provenance; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("settings") public Object settings; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("type") public ContactPointType type; // EmbeddedContactPoint is the contact point type that is used // by grafanas embedded alertmanager implementation. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("uid") public String uid; diff --git a/java/src/main/java/com/grafana/foundation/alerting/Matcher.java b/java/src/main/java/com/grafana/foundation/alerting/Matcher.java index f66bdd4..47738d7 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/Matcher.java +++ b/java/src/main/java/com/grafana/foundation/alerting/Matcher.java @@ -6,16 +6,16 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class Matcher { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("Name") public String name; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("Type") public MatchType type; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("Value") public String value; diff --git a/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java b/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java index 765311d..4cd5f85 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java +++ b/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java @@ -6,14 +6,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class MuteTiming { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("name") public String name; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("time_intervals") public List timeIntervals; diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java index a2fd571..8e14704 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; import java.util.Map; @@ -15,72 +15,72 @@ import java.util.Map; public class NotificationPolicy { // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("active_time_intervals") public List activeTimeIntervals; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("continue") public Boolean continueArg; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_by") public List groupBy; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_interval") public String groupInterval; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_wait") public String groupWait; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("match") public Map match; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("match_re") public Map matchRe; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("matchers") public List matchers; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("mute_time_intervals") public List muteTimeIntervals; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("object_matchers") public List> objectMatchers; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("provenance") public String provenance; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("receiver") public String receiver; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("repeat_interval") public String repeatInterval; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("routes") public List routes; diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java index 2f34de0..31c5666 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java @@ -6,25 +6,25 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class NotificationSettings { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_by") public List groupBy; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_interval") public String groupInterval; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("group_wait") public String groupWait; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("mute_time_intervals") public List muteTimeIntervals; @JsonProperty("receiver") public String receiver; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("repeat_interval") public String repeatInterval; diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java index d4f3fb2..8646d6f 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java @@ -6,19 +6,19 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class NotificationTemplate { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("name") public String name; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("provenance") public String provenance; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("template") public String template; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("version") public String version; diff --git a/java/src/main/java/com/grafana/foundation/alerting/Query.java b/java/src/main/java/com/grafana/foundation/alerting/Query.java index a52388f..397ddc1 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/Query.java +++ b/java/src/main/java/com/grafana/foundation/alerting/Query.java @@ -7,24 +7,24 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import com.grafana.foundation.cog.variants.Dataquery; @JsonDeserialize(using = QueryDeserializer.class) public class Query { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("datasourceUid") public String datasourceUid; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("model") public Dataquery model; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("queryType") public String queryType; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("refId") public String refId; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("relativeTimeRange") public RelativeTimeRange relativeTimeRange; diff --git a/java/src/main/java/com/grafana/foundation/alerting/RelativeTimeRange.java b/java/src/main/java/com/grafana/foundation/alerting/RelativeTimeRange.java index c47c11f..a80050f 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/RelativeTimeRange.java +++ b/java/src/main/java/com/grafana/foundation/alerting/RelativeTimeRange.java @@ -6,19 +6,19 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; // RelativeTimeRange is the per query start and end time // for requests. public class RelativeTimeRange { // RelativeTimeRange is the per query start and end time // for requests. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("from") public Long from; // RelativeTimeRange is the per query start and end time // for requests. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("to") public Long to; diff --git a/java/src/main/java/com/grafana/foundation/alerting/Rule.java b/java/src/main/java/com/grafana/foundation/alerting/Rule.java index 983f35c..bbdfa7e 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/Rule.java +++ b/java/src/main/java/com/grafana/foundation/alerting/Rule.java @@ -6,19 +6,23 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.Map; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import java.util.List; import java.util.LinkedList; public class Rule { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("annotations") public Map annotations; @JsonProperty("condition") public String condition; + @JsonSetter(nulls = Nulls.AS_EMPTY) @JsonProperty("data") public List data; + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("execErrState") public RuleExecErrState execErrState; @JsonProperty("folderUID") @@ -27,36 +31,37 @@ public class Rule { // Before this time has elapsed, the rule is only considered to be Pending. @JsonProperty("for") public String forArg; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("id") public Long id; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("isPaused") public Boolean isPaused; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("labels") public Map labels; + @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("noDataState") public RuleNoDataState noDataState; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("notification_settings") public NotificationSettings notificationSettings; @JsonProperty("orgID") public Long orgID; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("provenance") public String provenance; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("record") public RecordRule record; @JsonProperty("ruleGroup") public String ruleGroup; @JsonProperty("title") public String title; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("uid") public String uid; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("updated") public String updated; diff --git a/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java b/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java index acc4753..503d27f 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java +++ b/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java @@ -6,23 +6,23 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; import java.util.LinkedList; public class RuleGroup { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("folderUid") public String folderUid; // The interval, in seconds, at which all rules in the group are evaluated. // If a group contains many rules, the rules are evaluated sequentially. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("interval") public Long interval; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rules") public List rules; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("title") public String title; diff --git a/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java b/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java index a61ae35..b060aed 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java +++ b/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java @@ -6,14 +6,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class TimeInterval { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("name") public String name; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("time_intervals") public List timeIntervals; diff --git a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java index 3481bc5..07b4b87 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java +++ b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java @@ -6,26 +6,26 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class TimeIntervalItem { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("days_of_month") public List daysOfMonth; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("location") public String location; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("months") public List months; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("times") public List times; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("weekdays") public List weekdays; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("years") public List years; diff --git a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalTimeRange.java b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalTimeRange.java index 50d0f77..21d5074 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalTimeRange.java +++ b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalTimeRange.java @@ -6,13 +6,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class TimeIntervalTimeRange { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("end_time") public String endTime; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("start_time") public String startTime; diff --git a/java/src/main/java/com/grafana/foundation/annotationslist/Options.java b/java/src/main/java/com/grafana/foundation/annotationslist/Options.java index bd8ce48..a3d33a8 100644 --- a/java/src/main/java/com/grafana/foundation/annotationslist/Options.java +++ b/java/src/main/java/com/grafana/foundation/annotationslist/Options.java @@ -6,6 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import java.util.List; public class Options { @@ -13,6 +15,7 @@ public class Options { public Boolean onlyFromThisDashboard; @JsonProperty("onlyInTimeRange") public Boolean onlyInTimeRange; + @JsonSetter(nulls = Nulls.AS_EMPTY) @JsonProperty("tags") public List tags; @JsonProperty("limit") diff --git a/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java b/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java index 5372e0a..8f07884 100644 --- a/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java +++ b/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java @@ -6,6 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import java.util.List; import com.grafana.foundation.dashboard.Panel; import com.grafana.foundation.cog.variants.Dataquery; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsGroupByQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsGroupByQuery.java index 46c45ca..61c6dcf 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsGroupByQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsGroupByQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class AppInsightsGroupByQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsMetricNameQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsMetricNameQuery.java index 03e3aa8..85efb3e 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsMetricNameQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AppInsightsMetricNameQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class AppInsightsMetricNameQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java index 813eae0..5bb90a4 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java @@ -6,45 +6,45 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; // Azure Monitor Logs sub-query properties public class AzureLogsQuery { // KQL query to be executed. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("query") public String query; // Specifies the format results should be returned as. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resultFormat") public ResultFormat resultFormat; // Array of resource URIs to be queried. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resources") public List resources; // If set to true the dashboard time range will be used as a filter for the query. Otherwise the query time ranges will be used. Defaults to false. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("dashboardTime") public Boolean dashboardTime; // If dashboardTime is set to true this value dictates which column the time filter will be applied to. Defaults to the first tables timeSpan column, the first datetime column found, or TimeGenerated - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("timeColumn") public String timeColumn; // If set to true the query will be run as a basic logs query - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("basicLogsQuery") public Boolean basicLogsQuery; // Workspace ID. This was removed in Grafana 8, but remains for backwards compat. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("workspace") public String workspace; // @deprecated Use resources instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resource") public String resource; // @deprecated Use dashboardTime instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("intersectTime") public Boolean intersectTime; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java index f187f36..8952258 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java @@ -6,24 +6,24 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class AzureMetricDimension { // Name of Dimension to be filtered on. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("dimension") public String dimension; // String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("operator") public String operator; // Values to match with the filter. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("filters") public List filters; // @deprecated filter is deprecated in favour of filters to support multiselect. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("filter") public String filter; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java index 317ad8d..bf8015a 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java @@ -6,82 +6,82 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class AzureMetricQuery { // Array of resource URIs to be queried. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resources") public List resources; // metricNamespace is used as the resource type (or resource namespace). // It's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts // Kept the name of the variable as metricNamespace to avoid backward incompatibility issues. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricNamespace") public String metricNamespace; // Used as the value for the metricNamespace property when it's different from the resource namespace. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("customNamespace") public String customNamespace; // The metric to query data for within the specified metricNamespace. e.g. UsedCapacity - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricName") public String metricName; // The Azure region containing the resource(s). - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("region") public String region; // The granularity of data points to be queried. Defaults to auto. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("timeGrain") public String timeGrain; // The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("aggregation") public String aggregation; // Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("dimensionFilters") public List dimensionFilters; // Maximum number of records to return. Defaults to 10. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("top") public String top; // Time grains that are supported by the metric. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("allowedTimeGrainsMs") public List allowedTimeGrainsMs; // Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("alias") public String alias; // @deprecated - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("timeGrainUnit") public String timeGrainUnit; // @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("dimension") public String dimension; // @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("dimensionFilter") public String dimensionFilter; // @deprecated Use metricNamespace instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricDefinition") public String metricDefinition; // @deprecated Use resourceGroup, resourceName and metricNamespace instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceUri") public String resourceUri; // @deprecated Use resources instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceGroup") public String resourceGroup; // @deprecated Use resources instead - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceName") public String resourceName; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java index f161d5a..71d31aa 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; public class AzureMonitorQuery implements com.grafana.foundation.cog.variants.Dataquery { @@ -16,64 +16,64 @@ public class AzureMonitorQuery implements com.grafana.foundation.cog.variants.Da @JsonProperty("refId") public String refId; // If hide is set to true, Grafana will filter out the response(s) associated with this query before returning it to the panel. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("hide") public Boolean hide; // Specify the query flavor // TODO make this required and give it a default - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("queryType") public String queryType; // Azure subscription containing the resource(s) to be queried. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("subscription") public String subscription; // Subscriptions to be queried via Azure Resource Graph. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("subscriptions") public List subscriptions; // Azure Monitor Metrics sub-query properties. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("azureMonitor") public AzureMetricQuery azureMonitor; // Azure Monitor Logs sub-query properties. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("azureLogAnalytics") public AzureLogsQuery azureLogAnalytics; // Azure Resource Graph sub-query properties. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("azureResourceGraph") public AzureResourceGraphQuery azureResourceGraph; // Application Insights Traces sub-query properties. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("azureTraces") public AzureTracesQuery azureTraces; // @deprecated Legacy template variable support. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("grafanaTemplateVariableFn") public GrafanaTemplateVariableQuery grafanaTemplateVariableFn; // Template variables params. These exist for backwards compatiblity with legacy template variables. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceGroup") public String resourceGroup; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("namespace") public String namespace; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resource") public String resource; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("region") public String region; // For mixed data sources the selected datasource is on the query level. // For non mixed scenarios this is undefined. // TODO find a better way to do this ^ that's friendly to schema // TODO this shouldn't be unknown but DataSourceRef | null - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("datasource") public Object datasource; // Used only for exemplar queries from Prometheus - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("query") public String query; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorResource.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorResource.java index 01b3654..6547dd0 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorResource.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorResource.java @@ -6,22 +6,22 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class AzureMonitorResource { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("subscription") public String subscription; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceGroup") public String resourceGroup; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceName") public String resourceName; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricNamespace") public String metricNamespace; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("region") public String region; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureResourceGraphQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureResourceGraphQuery.java index 65ad158..4624c53 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureResourceGraphQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureResourceGraphQuery.java @@ -6,15 +6,15 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class AzureResourceGraphQuery { // Azure Resource Graph KQL query to be executed. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("query") public String query; // Specifies the format results should be returned as. Defaults to table. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resultFormat") public String resultFormat; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java index a72e3cf..119d597 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java @@ -6,6 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import java.util.List; public class AzureTracesFilter { @@ -16,6 +18,7 @@ public class AzureTracesFilter { @JsonProperty("operation") public String operation; // Values to filter by. + @JsonSetter(nulls = Nulls.AS_EMPTY) @JsonProperty("filters") public List filters; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java index 3467c63..866f37f 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java @@ -6,33 +6,33 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; // Application Insights Traces sub-query properties public class AzureTracesQuery { // Specifies the format results should be returned as. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resultFormat") public ResultFormat resultFormat; // Array of resource URIs to be queried. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resources") public List resources; // Operation ID. Used only for Traces queries. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("operationId") public String operationId; // Types of events to filter by. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("traceTypes") public List traceTypes; // Filters for property values. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("filters") public List filters; // KQL query to be executed. - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("query") public String query; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/BaseGrafanaTemplateVariableQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/BaseGrafanaTemplateVariableQuery.java index eba9e43..4d6c058 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/BaseGrafanaTemplateVariableQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/BaseGrafanaTemplateVariableQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class BaseGrafanaTemplateVariableQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java index a485718..6833ca6 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java @@ -7,38 +7,38 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; @JsonDeserialize(using = GrafanaTemplateVariableQueryDeserializer.class) public class GrafanaTemplateVariableQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected AppInsightsMetricNameQuery appInsightsMetricNameQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected AppInsightsGroupByQuery appInsightsGroupByQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected SubscriptionsQuery subscriptionsQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected ResourceGroupsQuery resourceGroupsQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected ResourceNamesQuery resourceNamesQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected MetricNamespaceQuery metricNamespaceQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected MetricDefinitionsQuery metricDefinitionsQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected MetricNamesQuery metricNamesQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected WorkspacesQuery workspacesQuery; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonUnwrapped protected UnknownQuery unknownQuery; protected GrafanaTemplateVariableQuery() {} diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricDefinitionsQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricDefinitionsQuery.java index dc485f8..edb96f3 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricDefinitionsQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricDefinitionsQuery.java @@ -6,11 +6,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; // @deprecated Use MetricNamespaceQuery instead public class MetricDefinitionsQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") @@ -19,10 +19,10 @@ public class MetricDefinitionsQuery { public String subscription; @JsonProperty("resourceGroup") public String resourceGroup; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricNamespace") public String metricNamespace; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceName") public String resourceName; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamesQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamesQuery.java index a2fad35..50e667d 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamesQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamesQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class MetricNamesQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamespaceQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamespaceQuery.java index d1f84ae..b3a83b6 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamespaceQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/MetricNamespaceQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class MetricNamespaceQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") @@ -18,10 +18,10 @@ public class MetricNamespaceQuery { public String subscription; @JsonProperty("resourceGroup") public String resourceGroup; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("metricNamespace") public String metricNamespace; - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("resourceName") public String resourceName; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceGroupsQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceGroupsQuery.java index f7c779d..678ffc9 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceGroupsQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceGroupsQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class ResourceGroupsQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceNamesQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceNamesQuery.java index e601fae..59a8804 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceNamesQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/ResourceNamesQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; public class ResourceNamesQuery { - @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("rawQuery") public String rawQuery; @JsonProperty("kind") diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/SubscriptionsQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/SubscriptionsQuery.java index f31ed62..fb8155c 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/SubscriptionsQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/SubscriptionsQuery.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; imp...*[Comment body truncated]*