From 315f4c6c16d682f839ecf849b0bdf886599df250 Mon Sep 17 00:00:00 2001 From: luk-kaminski Date: Mon, 10 Feb 2025 11:20:22 +0100 Subject: [PATCH] SearchType.Result proper deserialization --- .../main/java/org/graylog/plugins/views/ViewsBindings.java | 6 ++++++ .../java/org/graylog/plugins/views/search/SearchType.java | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/graylog2-server/src/main/java/org/graylog/plugins/views/ViewsBindings.java b/graylog2-server/src/main/java/org/graylog/plugins/views/ViewsBindings.java index 09c59f473099..409d3cf171bc 100644 --- a/graylog2-server/src/main/java/org/graylog/plugins/views/ViewsBindings.java +++ b/graylog2-server/src/main/java/org/graylog/plugins/views/ViewsBindings.java @@ -85,6 +85,7 @@ import org.graylog.plugins.views.search.searchtypes.MessageList; import org.graylog.plugins.views.search.searchtypes.events.EventList; import org.graylog.plugins.views.search.searchtypes.pivot.Pivot; +import org.graylog.plugins.views.search.searchtypes.pivot.PivotResult; import org.graylog.plugins.views.search.searchtypes.pivot.PivotSort; import org.graylog.plugins.views.search.searchtypes.pivot.SeriesSort; import org.graylog.plugins.views.search.searchtypes.pivot.buckets.AutoInterval; @@ -191,6 +192,11 @@ protected void configure() { registerJacksonSubtype(Pivot.class); registerJacksonSubtype(EventList.class); + //search type results + registerJacksonSubtype(PivotResult.class, Pivot.NAME); + registerJacksonSubtype(MessageList.Result.class, MessageList.NAME); + registerJacksonSubtype(EventList.Result.class, EventList.NAME); + // pivot specs registerJacksonSubtype(Values.class); registerJacksonSubtype(Time.class); diff --git a/graylog2-server/src/main/java/org/graylog/plugins/views/search/SearchType.java b/graylog2-server/src/main/java/org/graylog/plugins/views/search/SearchType.java index e96c24f29ff0..748503ec0a0c 100644 --- a/graylog2-server/src/main/java/org/graylog/plugins/views/search/SearchType.java +++ b/graylog2-server/src/main/java/org/graylog/plugins/views/search/SearchType.java @@ -126,6 +126,11 @@ default boolean hasStreamCategories() { *

* The frontend components then make use of the structured data to display it. */ + @JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "type", + visible = true) interface Result { @JsonProperty("id") String id();