Skip to content
Snippets Groups Projects

Match dynamic usage

1 file
+ 29
22
Compare changes
  • Side-by-side
  • Inline
@@ -126,39 +126,24 @@ public abstract class NetcdfService {
class Metadata {
final String description;
final String[] syntax;
final String netcdfFile;
final Parameters model;
final ScienceBaseMetadata scienceBaseMetadata;
final SourceModel model;
final DoubleParameter longitude;
final DoubleParameter latitude;
final DoubleParameter vs30;
final NetcdfMetadata netcdfMetadata;
Metadata(HttpRequest<?> request, String description) {
var url = request.getUri().toString();
url = url.endsWith("/") ? url.substring(0, url.length() - 1) : url;
this.description = description;
scienceBaseMetadata = netcdf().netcdfData().scienceBaseMetadata();
var fileName = netcdf.netcdfPath().getFileName();
netcdfFile = fileName == null ? netcdf().netcdfPath().toString() : fileName.toString();
syntax = new String[] {
url + "/{longitude:number}/{latitude:number}",
url + "?longitude={number}&latitude={number}",
url + "/{longitude:number}/{latitude:number}/{siteClass:NehrpSiteClass}",
url + "?longitude={number}&latitude={number}&siteClass={NehrpSiteClass}",
};
model = new Parameters();
}
}
class Parameters {
final String name;
final DoubleParameter longitude;
final DoubleParameter latitude;
final Map<NehrpSiteClass, Double> siteClasses;
final DoubleParameter vs30;
Parameters() {
var netcdfData = netcdf().netcdfData();
var bounds = netcdfData.bounds();
name = netcdfData.scienceBaseMetadata().label;
var bounds = netcdf().netcdfData().bounds();
longitude = new DoubleParameter(
"Longitude",
"°",
@@ -169,12 +154,34 @@ public abstract class NetcdfService {
"°",
Maths.round(bounds.min.latitude, 3),
Maths.round(bounds.max.latitude, 3));
siteClasses = netcdfData.vs30Map();
model = new SourceModel();
vs30 = new DoubleParameter(
"Vs30",
"m/s",
150,
1500);
netcdfMetadata = new NetcdfMetadata();
}
}
class NetcdfMetadata {
final String netcdfFile;
final ScienceBaseMetadata scienceBaseMetadata;
NetcdfMetadata() {
var fileName = netcdf.netcdfPath().getFileName();
netcdfFile = fileName == null ? netcdf().netcdfPath().toString() : fileName.toString();
scienceBaseMetadata = netcdf().netcdfData().scienceBaseMetadata();
}
}
class SourceModel {
final String name;
final Map<NehrpSiteClass, Double> siteClasses;
SourceModel() {
name = netcdf().netcdfData().scienceBaseMetadata().label;
siteClasses = netcdf().netcdfData().vs30Map();
}
}
Loading