5555@ Path ("/v1/datapoint" )
5656public class DataPointJSONResolver implements Resolver {
5757
58+ private final Identifiers identifiers ;
5859 private final DatapointStore datapointStore ;
5960 private final Formatter <Long > httpLastModifiedFormatter ;
6061
61-
6262 @ Inject
63- public DataPointJSONResolver (DatapointStore datapointStore , Formatters formatters ) {
63+ public DataPointJSONResolver (Identifiers identifiers , DatapointStore datapointStore , Formatters formatters ) {
64+ this .identifiers = identifiers ;
6465 this .datapointStore = datapointStore ;
6566 this .httpLastModifiedFormatter = formatters .httpLastModifiedLong ();
6667 }
@@ -71,7 +72,7 @@ public boolean canAccess(Request request) {
7172 if (user .isEmpty ()) return false ;
7273 DatapointType type = request .getQuery ().get ("type" , DatapointType ::find )
7374 .orElseThrow (() -> new BadRequestException ("type is required" ));
74- GenericFilter filter = GenericFilter . of (request .getQuery ());
75+ GenericFilter filter = identifiers . genericFilter (request .getQuery ());
7576
7677 Optional <WebPermission > permission = datapointStore .getPermission (type , filter );
7778 if (permission .isEmpty ()) return false ;
@@ -108,7 +109,7 @@ public boolean canAccess(Request request) {
108109 public Optional <Response > resolve (Request request ) {
109110 DatapointType type = request .getQuery ().get ("type" , DatapointType ::find )
110111 .orElseThrow (() -> new BadRequestException ("type is required" ));
111- GenericFilter filter = GenericFilter . of (request .getQuery ());
112+ GenericFilter filter = identifiers . genericFilter (request .getQuery ());
112113 @ Untrusted Optional <ETag > tag = Identifiers .getEtag (request );
113114 Long etag = tag .map (eTag -> eTag .parseAsLong ()
114115 .orElseThrow (() -> new BadRequestException ("If-Modified-Since should be a 64bit number" )))
0 commit comments