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