From 017072113e5b2673ed646e8e452057e93df928a1 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Wed, 2 Mar 2022 14:20:40 -0700 Subject: [PATCH] Add schema for swagger --- .../nshmp/netcdf/www/NetcdfService.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java index 4c55ecf..3ea88fa 100644 --- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java +++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfService.java @@ -187,10 +187,8 @@ public abstract class NetcdfService { } static class ResponseMetadata extends RequestDataSiteClass { - @Schema(description = "X label") - public final String xLabel; - @Schema(description = "Y label") - public final String yLabel; + public String xLabel; + public String yLabel; ResponseMetadata( String xLabel, @@ -204,19 +202,26 @@ public abstract class NetcdfService { } static class ResponseData<T extends ResponseMetadata> { - @Schema(description = "Response metadata") - public final T metadata; - @Schema(description = "Data") - public final XySequence data; + final T metadata; + final XySequence data; ResponseData(T metadata, XySequence data) { this.metadata = metadata; this.data = data; } + + public T getMetadata() { + return metadata; + } + + @Schema(implementation = XySequenceSchema.class) + public XySequence getData() { + return data; + } } static class RequestData { - @Schema(description = "The latitude and longitude, in degrees") + @Schema(implementation = LocationSchema.class) public Location site; RequestData(Location site) { @@ -233,4 +238,16 @@ public abstract class NetcdfService { this.siteClass = siteClass; } } + + private static class LocationSchema { + public Double latitude; + public Double longitude; + + LocationSchema() {} + } + + private static class XySequenceSchema { + public double[] xs; + public double[] ys; + } } -- GitLab