comparison RemotedbConn.R @ 1:45e985cd8e9e draft

planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit d4048accde6bdfd5b3e14f5394902d38991854f8-dirty
author prog
date Tue, 31 Jan 2017 05:27:24 -0500
parents
children
comparison
equal deleted inserted replaced
0:3afe41d3e9e7 1:45e985cd8e9e
1 if ( ! exists('RemotedbConn')) {
2
3 #####################
4 # CLASS DECLARATION #
5 #####################
6
7 RemotedbConn <- methods::setRefClass("RemotedbConn", contains = "BiodbConn", fields = list(.scheduler = "UrlRequestScheduler", .token = "character"))
8
9 ###############
10 # CONSTRUCTOR #
11 ###############
12
13 RemotedbConn$methods( initialize = function(useragent = NA_character_, scheduler = NULL, token = NA_character_, ...) {
14
15 # Check useragent
16 ( ! is.null(useragent) && ! is.na(useragent)) || stop("You must specify a valid useragent string (e.g.: \"myapp ; my.email@address\").")
17
18 # Set token
19 .token <<- token
20
21 # Set scheduler
22 if (is.null(scheduler))
23 scheduler <- UrlRequestScheduler$new(n = 3)
24 inherits(scheduler, "UrlRequestScheduler") || stop("The scheduler instance must inherit from UrlRequestScheduler class.")
25 scheduler$setUserAgent(useragent) # set agent
26 .scheduler <<- scheduler
27
28 callSuper(...) # calls super-class initializer with remaining parameters
29 })
30
31 ###########
32 # GET URL #
33 ###########
34
35 RemotedbConn$methods( .get.url = function(url) {
36 .self$.print.debug.msg(paste0("Sending URL request '", url, "'..."))
37 return(.self$.scheduler$getUrl(url))
38 })
39
40 ###########
41 # GET URL #
42 ###########
43
44 RemotedbConn$methods( .set.useragent = function(useragent) {
45 .scheduler$setUserAgent(useragent) # set agent
46 })
47
48 }