Mercurial > repos > prog > lcmsmatching
comparison BiodbConn.R @ 1:253d531a0193 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit 36c9d8099c20a1ae848f1337c16564335dd8fb2b
| author | prog |
|---|---|
| date | Sat, 03 Sep 2016 17:02:01 -0400 |
| parents | e66bb061af06 |
| children | 20d69a062da3 |
comparison
equal
deleted
inserted
replaced
| 0:e66bb061af06 | 1:253d531a0193 |
|---|---|
| 1 if ( ! exists('BiodbConn')) { # Do not load again if already loaded | 1 if ( ! exists('BiodbConn')) { |
| 2 | 2 |
| 3 source(file.path('UrlRequestScheduler.R'), chdir = TRUE) | |
| 4 source('biodb-common.R') | 3 source('biodb-common.R') |
| 5 | 4 |
| 6 ##################### | 5 ##################### |
| 7 # CLASS DECLARATION # | 6 # CLASS DECLARATION # |
| 8 ##################### | 7 ##################### |
| 9 | 8 |
| 10 BiodbConn <- setRefClass("BiodbConn", fields = list(.scheduler = "UrlRequestScheduler")) | 9 BiodbConn <- setRefClass("BiodbConn", fields = list( .debug = "logical" )) |
| 11 | 10 |
| 12 ############### | 11 ############### |
| 13 # CONSTRUCTOR # | 12 # CONSTRUCTOR # |
| 14 ############### | 13 ############### |
| 15 | 14 |
| 16 BiodbConn$methods( initialize = function(useragent = NA_character_, scheduler = NULL, ...) { | 15 BiodbConn$methods( initialize = function(debug = FALSE, ...) { |
| 16 .debug <<- debug | |
| 17 }) | |
| 17 | 18 |
| 18 # Check useragent | 19 ####################### |
| 19 ! is.null(useragent) && ! is.na(useragent) || stop("You must specify a valid useragent.") | 20 # PRINT DEBUG MESSAGE # |
| 21 ####################### | |
| 20 | 22 |
| 21 # Set scheduler | 23 BiodbConn$methods( .print.debug.msg = function(msg) { |
| 22 if (is.null(scheduler)) | 24 if (.self$.debug) |
| 23 scheduler <- UrlRequestScheduler$new(n = 3) | 25 .print.msg(msg = msg, class = class(.self)) |
| 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 }) | 26 }) |
| 30 | 27 |
| 31 ###################### | 28 ###################### |
| 32 # HANDLES ENTRY TYPE # | 29 # HANDLES ENTRY TYPE # |
| 33 ###################### | 30 ###################### |
| 34 | 31 |
| 35 BiodbConn$methods( handlesEntryType = function(type) { | 32 BiodbConn$methods( handlesEntryType = function(type) { |
| 57 # GET ENTRY CONTENT # | 54 # GET ENTRY CONTENT # |
| 58 ##################### | 55 ##################### |
| 59 | 56 |
| 60 # Download entry content from the public database. | 57 # Download entry content from the public database. |
| 61 # type The entry type. | 58 # type The entry type. |
| 62 # id The ID of the enttry to get. | 59 # id The ID of the entry to get. |
| 63 # RETURN An entry content downloaded from database. | 60 # RETURN An entry content downloaded from database. |
| 64 BiodbConn$methods( getEntryContent = function(type, id) { | 61 BiodbConn$methods( getEntryContent = function(type, id) { |
| 65 stop("Method getCompound() is not implemented in concrete class.") | 62 stop("Method getCompound() is not implemented in concrete class.") |
| 66 }) | 63 }) |
| 67 | 64 |
| 73 # content A file content, downloaded from the public database. | 70 # content A file content, downloaded from the public database. |
| 74 # RETURN A compound instance. | 71 # RETURN A compound instance. |
| 75 BiodbConn$methods( createEntry = function(type, content, drop = TRUE) { | 72 BiodbConn$methods( createEntry = function(type, content, drop = TRUE) { |
| 76 stop("Method createEntry() is not implemented in concrete class.") | 73 stop("Method createEntry() is not implemented in concrete class.") |
| 77 }) | 74 }) |
| 75 | |
| 76 ################# | |
| 77 # GET ENTRY IDS # | |
| 78 ################# | |
| 79 | |
| 80 # Get a list of IDs of all entries contained in this database. | |
| 81 BiodbConn$methods( getEntryIds = function(type) { | |
| 82 stop("Method getEntryIds() is not implemented in concrete class.") | |
| 83 }) | |
| 84 | |
| 85 ################## | |
| 86 # GET NB ENTRIES # | |
| 87 ################## | |
| 88 | |
| 89 # Get the number of entries contained in this database. | |
| 90 BiodbConn$methods( getNbEntries = function(type) { | |
| 91 stop("Method getNbEntries() is not implemented in concrete class.") | |
| 92 }) | |
| 78 } | 93 } |
