Skip to content

Commit

Permalink
Updated dna_jar and argument order in dna_openDatabase
Browse files Browse the repository at this point in the history
  • Loading branch information
leifeld committed Jun 16, 2022
1 parent 0f5051c commit 0b530d1
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 23 deletions.
33 changes: 18 additions & 15 deletions rDNA/R/rDNA.R
Expand Up @@ -102,7 +102,8 @@ dna_jar <- function() {

# try to locate jar file in library path and return jar file path
tryCatch({
jar <- paste0(find.package("rDNA"), "/inst/java/dna-", v, ".jar")
rdna_dir <- dirname(system.file(".", package = "rDNA"))
jar <- paste0(rdna_dir, "/inst/java/dna-", v, ".jar")
if (file.exists(jar)) {
message("Jar file found in library path.")
return(jar)
Expand All @@ -120,9 +121,10 @@ dna_jar <- function() {

# try to download from GitHub release directory to library path
tryCatch({
f <- paste0("https://github.com/leifeld/dna/releases/download/", v, "/dna-", v, ".jar")
dest <- paste0(find.package("rDNA"), "/inst/java/dna-", v, ".jar")
targetdir <- paste0(find.package("rDNA"), "/", "inst/java/")
rdna_dir <- dirname(system.file(".", package = "rDNA"))
f <- paste0("https://github.com/leifeld/dna/releases/download/v", v, "/dna-", v, ".jar")
dest <- paste0(rdna_dir, "/inst/java/dna-", v, ".jar")
targetdir <- paste0(rdna_dir, "/", "inst/java/")
dir.create(targetdir, showWarnings = FALSE)
suppressWarnings(download.file(url = f,
destfile = dest,
Expand All @@ -137,7 +139,8 @@ dna_jar <- function() {

# try to download from GitHub release directory to working directory
tryCatch({
f <- paste0("https://github.com/leifeld/dna/releases/download/", v, "/dna-", v, ".jar")
rdna_dir <- dirname(system.file(".", package = "rDNA"))
f <- paste0("https://github.com/leifeld/dna/releases/download/v", v, "/dna-", v, ".jar")
dest <- paste0(getwd(), "/dna-", v, ".jar")
suppressWarnings(download.file(url = f,
destfile = dest,
Expand Down Expand Up @@ -186,7 +189,7 @@ dna_jar <- function() {
}
}, error = function(e) {success <- FALSE})

# try to copy built jar to library path
# try to copy built jar to working directory
tryCatch({
dest <- paste0(getwd(), "/dna-", v, ".jar")
file.copy(from = builtjar, to = dest)
Expand All @@ -200,7 +203,7 @@ dna_jar <- function() {
stop("DNA jar file could not be identified or downloaded. Please download ",
"the DNA jar file matching the version number of rDNA and store it in ",
"the inst/java/ directory of your rDNA library installation path or in ",
"your working directory.")
"your working directory. Your current rDNA version is ", v, ".")
}

#' Provides a small sample database
Expand Down Expand Up @@ -349,14 +352,14 @@ dna_queryCoders <- function(db_url,
#'
#' @export
#' @importFrom rJava .jcall
dna_openDatabase <- function(coderId = 1,
coderPassword = "",
db_url,
db_type = "sqlite",
db_name = "",
db_port = -1,
db_login = "",
db_password = "") {
dna_openDatabase <- function(db_url,
coderId = 1,
coderPassword = "",
db_type = "sqlite",
db_name = "",
db_port = -1,
db_login = "",
db_password = "") {
if (is.null(db_port) && !is.null(db_type)) {
if (db_type == "sqlite") {
db_port <- as.integer(-1)
Expand Down
8 changes: 4 additions & 4 deletions rDNA/man/dna_openDatabase.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions rDNA/tests/testthat/test-data-access.R
Expand Up @@ -8,10 +8,10 @@ test_that("DNA can use databases and profiles", {
expect_message(dna_init(), "DNA connection established")
s <- dna_sample()
expect_equal(dim(dna_queryCoders("sample.dna")), c(4, 3))
expect_output(dna_openDatabase(coderId = 12, coderPassword = "sample", db_url = s), "Failed to authenticate coder 12")
expect_output(dna_openDatabase(coderId = 2, coderPassword = "test", db_url = s), "Failed to authenticate coder 2")
expect_error(dna_openDatabase(coderId = 2, coderPassword = "sample", db_url = "test.dna"), "Database file not found")
expect_output(dna_openDatabase(coderId = 2, coderPassword = "sample", db_url = s), "DNA database: ")
expect_output(dna_openDatabase(db_url = s, coderId = 12, coderPassword = "sample"), "Failed to authenticate coder 12")
expect_output(dna_openDatabase(db_url = s, coderId = 2, coderPassword = "test"), "Failed to authenticate coder 2")
expect_error(dna_openDatabase(db_url = "test.dna", coderId = 2, coderPassword = "sample"), "Database file not found")
expect_output(dna_openDatabase(db_url = s, coderId = 2, coderPassword = "sample"), "DNA database: ")
expect_output(dna_printDetails(), "DNA database: ")
expect_output(dna_printDetails(), "41 statements in 7 documents")
expect_output(dna_saveConnectionProfile(file = "profile.dnc", coderPassword = "sample"), "Connection profile saved to file")
Expand Down

0 comments on commit 0b530d1

Please sign in to comment.