Skip to content
Snippets Groups Projects
Commit 572292c6 authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

Add generic type

parent fe6b148c
No related branches found
No related tags found
2 merge requests!128Production Release | nshmp-ws-static,!127Resolves - Handle Multiple NetCDF Files for AASHTO Service
......@@ -10,6 +10,7 @@ import gov.usgs.earthquake.nshmp.netcdf.NetcdfGroundMotions;
import gov.usgs.earthquake.nshmp.netcdf.NetcdfVersion;
import gov.usgs.earthquake.nshmp.netcdf.data.StaticData;
import gov.usgs.earthquake.nshmp.netcdf.www.Metadata.ServiceResponseMetadata;
import gov.usgs.earthquake.nshmp.netcdf.www.NetcdfService.SourceModel;
import gov.usgs.earthquake.nshmp.netcdf.www.NetcdfWsUtils.Key;
import gov.usgs.earthquake.nshmp.netcdf.www.Query.Service;
import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData;
......@@ -27,7 +28,7 @@ import io.micronaut.http.HttpRequest;
*
* @author U.S. Geological Survey
*/
public class NetcdfServiceGroundMotions extends NetcdfService<Query> {
public class NetcdfServiceGroundMotions extends NetcdfService<List<SourceModel>, Query> {
static final String SERVICE_DESCRIPTION = "Get static ground motions from a NetCDF file";
static final String X_LABEL = "Period (s)";
......@@ -38,10 +39,11 @@ public class NetcdfServiceGroundMotions extends NetcdfService<Query> {
}
@Override
ResponseBody<String, Metadata<Query>> getMetadataResponse(HttpRequest<?> request) {
var metadata = new Metadata<Query>(request, this, SERVICE_DESCRIPTION);
ResponseBody<String, Metadata<List<SourceModel>, Query>> getMetadataResponse(
HttpRequest<?> request) {
var metadata = new Metadata<List<SourceModel>, Query>(request, this, SERVICE_DESCRIPTION);
return ResponseBody.<String, Metadata<Query>> usage()
return ResponseBody.<String, Metadata<List<SourceModel>, Query>> usage()
.metadata(new ResponseMetadata(NetcdfVersion.appVersions()))
.name(getServiceName())
.request(NetcdfWsUtils.getRequestUrl(request))
......@@ -50,6 +52,12 @@ public class NetcdfServiceGroundMotions extends NetcdfService<Query> {
.build();
}
List<SourceModel> getSourceModels() {
return netcdfDataFiles().stream()
.map(SourceModel::new)
.collect(Collectors.toList());
}
@Override
String getServiceName() {
return String.format("AASHTO-%d Web Services", netcdfDataFiles().aashtoYear());
......
package gov.usgs.earthquake.nshmp.netcdf.www;
import gov.usgs.earthquake.nshmp.netcdf.data.ScienceBaseMetadata;
import io.micronaut.http.HttpRequest;
/**
......@@ -13,6 +15,25 @@ class SwaggerGroundMotions extends Swagger<NetcdfServiceGroundMotions> {
super(request, service);
}
@Override
String description() {
StringBuilder builder = new StringBuilder()
.append(serviceInfo())
.append("\n## " + descriptionHeader() + "\n");
service.netcdfDataFiles()
.forEach(netcdf -> {
ScienceBaseMetadata metadata = netcdf.netcdfData().scienceBaseMetadata();
builder
.append("### " + metadata.label + "\n")
.append(metadata.description + "\n")
.append(parameterSection(netcdf.netcdfData()) + "\n")
.append(scienceBaseSection(metadata) + "\n");
});
return builder.toString();
}
@Override
String descriptionHeader() {
return String.format("AASHTO-%d Data Sets", service.netcdfDataFiles().aashtoYear());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment