Skip to content
Snippets Groups Projects

Production Release | nshmp-ws-static

Merged Clayton, Brandon Scott requested to merge main into production
4 files
+ 238
6
Compare changes
  • Side-by-side
  • Inline
Files
4
 
package gov.usgs.earthquake.nshmp.netcdf.www;
 
 
import com.google.gson.JsonElement;
 
 
import gov.usgs.earthquake.nshmp.geo.json.FeatureCollection;
 
import gov.usgs.earthquake.nshmp.netcdf.NetcdfVersion;
 
import gov.usgs.earthquake.nshmp.www.ResponseBody;
 
import gov.usgs.earthquake.nshmp.www.ResponseMetadata;
 
 
import io.micronaut.http.HttpRequest;
 
import jakarta.inject.Singleton;
 
 
/**
 
* Handle feature collection services.
 
*
 
* @author U.S. Geological Survey
 
*/
 
@Singleton
 
public class FeatureCollectionService {
 
 
static String handleFeatureCollection(
 
HttpRequest<?> http,
 
String name,
 
FeatureCollection fc,
 
Boolean raw) {
 
RequestData requestData = new RequestData(raw);
 
 
if (requestData.raw) {
 
return fc.toJson();
 
} else {
 
var response = ResponseBody.<RequestData, JsonElement> success()
 
.name(name)
 
.url(http.getUri().toString())
 
.metadata(new ResponseMetadata(NetcdfVersion.appVersions()))
 
.request(requestData)
 
.response(fc.toJsonTree())
 
.build();
 
 
return NetcdfWsUtils.GSON.toJson(response);
 
}
 
}
 
 
static class RequestData {
 
public boolean raw;
 
 
RequestData(Boolean raw) {
 
this.raw = raw == null ? false : raw;
 
}
 
}
 
}
Loading