@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type", visible = true)
@JsonSubTypes({
- @JsonSubTypes.Type(value = Data.DataLogs.class, name = "report"),
+ @JsonSubTypes.Type(value = Data.DataLogs.class, name = "report-old"),
+ @JsonSubTypes.Type(value = Data.DataReports.class, name = "report"),
@JsonSubTypes.Type(value = Data.DataPolicies.class, name = "state-policy"),
})
public interface Data {
String getType();
List getData();
- @JsonRootName("report")
+ @JsonRootName("report-old")
@Getter @Setter @ToString
class DataLogs implements Data{
}
}
+ @JsonRootName("report")
+ @Getter @Setter @ToString
+ class DataReports implements Data{
+
+ @NotNull
+ private String type;
+
+ private String ctime;
+
+ @Valid
+ @JsonProperty("data")
+ private List<DReport> reports;
+
+ public String getType(){
+ return type;
+ }
+
+ public List<DReport> getData(){
+ return reports;
+ }
+ }
+
@JsonRootName("state-policy")
@Getter @Setter @ToString
class DataPolicies implements Data{