if(!is.null(content$.__enclos_env__$private$collection))
stop("ArvadosFile/Subcollection already belongs to a collection.")
+ childWithSameName <- private$getChild(content$getName())
+ if(!is.null(childWithSameName))
+ stop("Subcollection already contains ArvadosFile
+ or Subcollection with same name.")
+
if(!is.null(private$collection))
{
- contentPath <- paste0(self$getRelativePath(), "/", content$getFileList())
+ contentPath <- paste0(self$getRelativePath(),
+ "/", content$getFileList())
+
private$collection$.__enclos_env__$private$createFilesOnREST(contentPath)
content$.__enclos_env__$private$addToCollection(private$collection)
}
private$children <- c(private$children, content)
content$.__enclos_env__$private$parent = self
+
+ "Content added successfully."
}
else
{
- stop("Expected AravodsFile or Subcollection object, got ...")
+ stop(paste("Expected AravodsFile or Subcollection object, got",
+ class(content), "."))
}
},
if(is.null(private$collection))
stop("Subcollection doesn't belong to any collection.")
- if(self$name == "")
+ if(private$name == "")
stop("Unable to delete root folder.")
- collectionList <- paste0(self$getRelativePath(), "/", self$getFileList(fullpath = FALSE))
+ collectionList <- paste0(self$getRelativePath(),
+ "/", self$getFileList(fullpath = FALSE))
sapply(collectionList, function(file)
{
private$collection$.__enclos_env__$private$deleteFromREST(file)
private$addToCollection(NULL)
private$dettachFromParent()
+
+ "Content removed successfully."
},
getFileList = function(fullpath = TRUE)
getSizeInBytes = function()
{
- collectionURL <- URLencode(paste0(private$collection$api$getWebDavHostName(), "c=", private$collection$uuid))
+ collectionURL <- URLencode(paste0(private$collection$api$getWebDavHostName(),
+ "c=", private$collection$uuid))
subcollectionURL <- paste0(collectionURL, "/", self$getRelativePath(), "/");
headers = list("Authorization" = paste("OAuth2", private$collection$api$getToken()))
relativePath <- c(private$name)
parent <- private$parent
- #Recurse back to root
while(!is.null(parent))
{
relativePath <- c(parent$getName(), relativePath)
move = function(newLocation)
{
+ if(is.null(private$collection))
+ stop("Subcollection doesn't belong to any collection.")
+
if(endsWith(newLocation, paste0(private$name, "/")))
{
- newLocation <- substr(newLocation, 0, nchar(newLocation) - nchar(paste0(private$name, "/")))
+ newLocation <- substr(newLocation, 0,
+ nchar(newLocation) - nchar(paste0(private$name, "/")))
}
else if(endsWith(newLocation, private$name))
{
- newLocation <- substr(newLocation, 0, nchar(newLocation) - nchar(private$name))
+ newLocation <- substr(newLocation, 0,
+ nchar(newLocation) - nchar(private$name))
}
else
{
if(is.null(newParent))
{
- stop("Unable to get destination subcollectin")
+ stop("Unable to get destination subcollection.")
}
- status <- private$collection$.__enclos_env__$private$moveOnRest(self$getRelativePath(), paste0(newParent$getRelativePath(), "/", self$getName()))
+ status <- private$collection$.__enclos_env__$private$moveOnREST(self$getRelativePath(),
+ paste0(newParent$getRelativePath(), "/", self$getName()))
private$attachToParent(newParent)
- paste("Status code :", status$status_code)
+ "Content moved successfully."
},
getParent = function() private$parent
attachToParent = function(parent)
{
- parent$.__enclos_env__$private$children <- c(parent$.__enclos_env__$private$children, self)
- private$parent <- parent
+ if(private$name != "")
+ {
+ parent$.__enclos_env__$private$children <- c(parent$.__enclos_env__$private$children, self)
+ private$parent <- parent
+ }
}
),