-source("./R/Subcollection.R")
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+source("./R/Subcollection.R")
source("./R/ArvadosFile.R")
+source("./R/util.R")
-#' Arvados Collection Object
-#'
-#' Update description
-#'
-#' @examples arv = Collection$new(api, uuid)
-#' @export CollectionTree
CollectionTree <- R6::R6Class(
"CollectionTree",
public = list(
getElement = function(relativePath)
{
+ relativePath <- trimFromStart(relativePath, "./")
+ relativePath <- trimFromEnd(relativePath, "/")
+
if(endsWith(relativePath, "/"))
relativePath <- substr(relativePath, 0, nchar(relativePath) - 1)
}
else
{
+ # Note: REST always returns folder name alone before other folder
+ # content, so in first iteration we don't know if it's a file
+ # or folder since its just a name, so we assume it's a file.
+ # If we encounter that same name again we know
+ # it's a folder so we need to replace ArvadosFile with Subcollection.
if("ArvadosFile" %in% class(child))
{
child = private$replaceFileWithSubcollection(child)