public void setControlRequest(DataAccessPoint dataAccessPoint, String datasetUri) { this.dataAccessPoint = dataAccessPoint ; this.dataService = null ; if ( dataAccessPoint != null ) this.dataService = dataAccessPoint.getDataService() ; this.datasetName = datasetUri ; if ( dataService != null ) setDataset(dataAccessPoint.getDataService().getDataset()) ; }
public void setControlRequest(DataAccessPoint dataAccessPoint, String datasetUri) { this.dataAccessPoint = dataAccessPoint ; this.dataService = null ; if ( dataAccessPoint != null ) this.dataService = dataAccessPoint.getDataService() ; this.datasetName = datasetUri ; if ( dataService != null ) setDataset(dataAccessPoint.getDataService().getDataset()) ; }
public void print(String string) { System.out.flush() ; if ( string == null ) string = "DataAccessPointRegistry" ; System.out.println("== "+string) ; this.forEach((k,ref)->{ System.out.printf(" (key=%s, ref=%s)\n", k, ref.getName()) ; ref.getDataService().getOperations().forEach((op)->{ ref.getDataService().getEndpoints(op).forEach(ep->{ System.out.printf(" %s : %s\n", op, ep.getName()) ; }); }); }) ; }
public void print(String string) { System.out.flush() ; if ( string == null ) string = "DataAccessPointRegistry" ; System.out.println("== "+string) ; this.forEach((k,ref)->{ System.out.printf(" (key=%s, ref=%s)\n", k, ref.getName()) ; ref.getDataService().getOperations().forEach((op)->{ ref.getDataService().getEndpoints(op).forEach(ep->{ System.out.printf(" %s : %s\n", op, ep.getName()) ; }); }); }) ; }
private static Map<String, List<String>> description(DataAccessPointRegistry reg) { Map<String, List<String>> desc = new LinkedHashMap<>(); reg.forEach((ds,dap)->{ List<String> endpoints = new ArrayList<>(); desc.put(ds, endpoints); DataService dSrv = dap.getDataService(); dSrv.getOperations().forEach((op)->{ dSrv.getEndpoints(op).forEach(ep-> { String x = ep.getName(); if ( x.isEmpty() ) x = "quads"; endpoints.add(x); }); }); }); return desc; }
private static Map<String, List<String>> description(DataAccessPointRegistry reg) { Map<String, List<String>> desc = new LinkedHashMap<>(); reg.forEach((ds,dap)->{ List<String> endpoints = new ArrayList<>(); desc.put(ds, endpoints); DataService dSrv = dap.getDataService(); dSrv.getOperations().forEach((op)->{ dSrv.getEndpoints(op).forEach(ep-> { String x = ep.getName(); if ( x.isEmpty() ) x = "quads"; endpoints.add(x); }); }); }); return desc; }
private static void enable(DataAccessPointRegistry registry, List<DataAccessPoint> datapoints) { for ( DataAccessPoint dap : datapoints ) { Fuseki.configLog.info("Register: "+dap.getName()) ; dap.getDataService().goActive(); registry.register(dap); } }
private static Map<String, List<String>> description(DataAccessPointRegistry reg) { Map<String, List<String>> desc = new LinkedHashMap<>(); reg.forEach((ds,dap)->{ List<String> endpoints = new ArrayList<>(); desc.put(ds, endpoints); DataService dSrv = dap.getDataService(); dSrv.getOperations().forEach((op)->{ dSrv.getEndpoints(op).forEach(ep-> { String x = ep.getEndpoint(); if ( x.isEmpty() ) x = "quads"; endpoints.add(x); }); }); }); return desc; }
private static Map<String, List<String>> description(DataAccessPointRegistry reg) { Map<String, List<String>> desc = new LinkedHashMap<>(); reg.forEach((ds,dap)->{ List<String> endpoints = new ArrayList<>(); desc.put(ds, endpoints); DataService dSrv = dap.getDataService(); dSrv.getOperations().forEach((op)->{ dSrv.getEndpoints(op).forEach(ep-> { String x = ep.getName(); if ( x.isEmpty() ) x = "quads"; endpoints.add(x); }); }); }); return desc; }
private static Map<String, List<String>> description(DataAccessPointRegistry reg) { Map<String, List<String>> desc = new LinkedHashMap<>(); reg.forEach((ds,dap)->{ List<String> endpoints = new ArrayList<>(); desc.put(ds, endpoints); DataService dSrv = dap.getDataService(); dSrv.getOperations().forEach((op)->{ dSrv.getEndpoints(op).forEach(ep-> { String x = ep.getName(); if ( x.isEmpty() ) x = "quads"; endpoints.add(x); }); }); }); return desc; }
private static void enable(DataAccessPointRegistry registry, List<DataAccessPoint> datapoints) { for ( DataAccessPoint dap : datapoints ) { Fuseki.configLog.info("Register: "+dap.getName()) ; dap.getDataService().goActive(); registry.register(dap); } }
.map(name-> dataAccessPoints.get(name).getDataService().getDataset()) .anyMatch(DataAccessCtl::isAccessControlled); .map(name-> dataAccessPoints.get(name).getDataService()) .anyMatch(dSvc->dSvc.authPolicy() != null); .map(name-> dataAccessPoints.get(name).getDataService()) .flatMap(dSrv->dSrv.getEndpoints().stream()) .anyMatch(ep->ep.getAuthPolicy()!=null);
public static void describe(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; builder.key(ServerConst.dsName).value(access.getName()) ; builder.key(ServerConst.dsState).value(access.getDataService().isAcceptingRequests()) ; builder.key(ServerConst.dsService) ; builder.startArray() ; for ( Operation operation : access.getDataService().getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operation) ; describe(builder, operation, endpoints) ; } builder.finishArray() ; builder.finishObject() ; }
public static void describe(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; builder.key(ServerConst.dsName).value(access.getName()) ; builder.key(ServerConst.dsState).value(access.getDataService().isAcceptingRequests()) ; builder.key(ServerConst.dsService) ; builder.startArray() ; for ( Operation operation : access.getDataService().getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operation) ; describe(builder, operation, endpoints) ; } builder.finishArray() ; builder.finishObject() ; }
/** * Create an endpoint on the dataset. * The operation must already be registered with the builder. * @see #registerOperation(Operation, ActionService) */ public Builder addOperation(String datasetName, String endpointName, Operation operation) { Objects.requireNonNull(datasetName, "datasetName"); Objects.requireNonNull(endpointName, "endpointName"); String name = DataAccessPoint.canonical(datasetName); if ( ! serviceDispatch.isRegistered(operation) ) throw new FusekiConfigException("Operation not registered: "+operation.getName()); if ( ! dataAccessPoints.isRegistered(name) ) throw new FusekiConfigException("Dataset not registered: "+datasetName); DataAccessPoint dap = dataAccessPoints.get(name); FusekiBuilder.addServiceEP(dap.getDataService(), operation, endpointName); return this; }
/** * Create an endpoint on the dataset. * The operation must already be registered with the builder. * @see #registerOperation(Operation, ActionService) */ public Builder addOperation(String datasetName, String endpointName, Operation operation) { Objects.requireNonNull(datasetName, "datasetName"); Objects.requireNonNull(endpointName, "endpointName"); String name = DataAccessPoint.canonical(datasetName); if ( ! serviceDispatch.isRegistered(operation) ) throw new FusekiConfigException("Operation not registered: "+operation.getName()); if ( ! dataAccessPoints.isRegistered(name) ) throw new FusekiConfigException("Dataset not registered: "+datasetName); DataAccessPoint dap = dataAccessPoints.get(name); FusekiBuilder.addServiceEP(dap.getDataService(), operation, endpointName); return this; }
/** Build one configured Fuseki processor (ServletContext), same dispatch ContextPath */ private ServletContextHandler buildFusekiContext() { ServletContextHandler handler = buildServletContext(contextPath); ServletContext cxt = handler.getServletContext(); Fuseki.setVerbose(cxt, verbose); servletAttr.forEach((n,v)->cxt.setAttribute(n, v)); // Clone to isolate from any future changes (reusing the builder). DataAccessPointRegistry dapRegistry = new DataAccessPointRegistry(dataAccessPoints); ServiceDispatchRegistry svcRegistry = new ServiceDispatchRegistry(serviceDispatch); ServiceDispatchRegistry.set(cxt, svcRegistry); DataAccessPointRegistry.set(cxt, dapRegistry); JettyLib.setMimeTypes(handler); servletsAndFilters(handler); buildAccessControl(handler); if ( hasDataAccessControl ) { // Consider making this "always" and changing the standard operation bindings. FusekiLib.modifyForAccessCtl(svcRegistry, DataAccessCtl.requestUserServlet); } // Start services. dapRegistry.forEach((name, dap)->dap.getDataService().goActive()); return handler; }
/** Build one configured Fuseki processor (ServletContext), same dispatch ContextPath */ private ServletContextHandler buildFusekiContext() { ServletContextHandler handler = buildServletContext(contextPath); ServletContext cxt = handler.getServletContext(); Fuseki.setVerbose(cxt, verbose); servletAttr.forEach((n,v)->cxt.setAttribute(n, v)); // Clone to isolate from any future changes (reusing the builder). DataAccessPointRegistry dapRegistry = new DataAccessPointRegistry(dataAccessPoints); ServiceDispatchRegistry svcRegistry = new ServiceDispatchRegistry(serviceDispatch); ServiceDispatchRegistry.set(cxt, svcRegistry); DataAccessPointRegistry.set(cxt, dapRegistry); JettyLib.setMimeTypes(handler); servletsAndFilters(handler); buildAccessControl(handler); if ( hasDataAccessControl ) { // Consider making this "always" and changing the standard operation bindings. FusekiLib.modifyForAccessCtl(svcRegistry, DataAccessCtl.requestUserServlet); } // Start services. dapRegistry.forEach((name, dap)->dap.getDataService().goActive()); return handler; }
private static void statsDataset(JsonBuilder builder, DataAccessPoint access) { // Object started builder.key(access.getName()) ; DataService dSrv = access.getDataService() ; builder.startObject("counters") ; builder.key(CounterName.Requests.getName()).value(dSrv.getCounters().value(CounterName.Requests)) ; builder.key(CounterName.RequestsGood.getName()).value(dSrv.getCounters().value(CounterName.RequestsGood)) ; builder.key(CounterName.RequestsBad.getName()).value(dSrv.getCounters().value(CounterName.RequestsBad)) ; builder.key(ServerConst.endpoints).startObject("endpoints") ; for ( Operation operName : dSrv.getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operName) ; for ( Endpoint endpoint : endpoints ) { // Endpoint names are unique for a given service. builder.key(endpoint.getName()) ; builder.startObject() ; operationCounters(builder, endpoint); builder.key(ServerConst.operation).value(operName.getName()) ; builder.key(ServerConst.description).value(operName.getDescription()); builder.finishObject() ; } } builder.finishObject("endpoints") ; builder.finishObject("counters") ; }
private static void statsDataset(JsonBuilder builder, DataAccessPoint access) { // Object started builder.key(access.getName()) ; DataService dSrv = access.getDataService() ; builder.startObject("counters") ; builder.key(CounterName.Requests.getName()).value(dSrv.getCounters().value(CounterName.Requests)) ; builder.key(CounterName.RequestsGood.getName()).value(dSrv.getCounters().value(CounterName.RequestsGood)) ; builder.key(CounterName.RequestsBad.getName()).value(dSrv.getCounters().value(CounterName.RequestsBad)) ; builder.key(ServerConst.endpoints).startObject("endpoints") ; for ( Operation operName : dSrv.getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operName) ; for ( Endpoint endpoint : endpoints ) { // Endpoint names are unique for a given service. builder.key(endpoint.getName()) ; builder.startObject() ; operationCounters(builder, endpoint); builder.key(ServerConst.operation).value(operName.getName()) ; builder.key(ServerConst.description).value(operName.getDescription()); builder.finishObject() ; } } builder.finishObject("endpoints") ; builder.finishObject("counters") ; }