# HG changeset patch # User ecology # Date 1755256771 0 # Node ID 71f754d61a04f1df75d93c7ecd8c59ad6204c920 # Parent 78768c06b60f9768b103f58b43b110f4d0178517 planemo upload for repository https://github.com/AquaINFRA/tools-ecology/tree/master commit d6d779f958b5d3347769bdc83c885950ae975a42 diff -r 78768c06b60f -r 71f754d61a04 aquainfra_ogc_api_processes.R --- a/aquainfra_ogc_api_processes.R Mon Jul 21 06:19:15 2025 +0000 +++ b/aquainfra_ogc_api_processes.R Fri Aug 15 11:19:31 2025 +0000 @@ -166,6 +166,11 @@ convertedKeys <- c() for (key in names(inputParameters)) { + value_no_spaces <- gsub(" ", "", inputParameters[[key]]) + if (value_no_spaces == "") { + inputParameters[[key]] <- NULL + } + if (is.character(inputParameters[[key]]) && (endsWith(inputParameters[[key]], ".dat") || endsWith(inputParameters[[key]], ".txt"))) { @@ -180,7 +185,61 @@ inputParameters[[key]] <- json_string convertedKeys <- append(convertedKeys, key) - } else { + } else if ( + grepl("_object", key) && + !is.null(inputParameters[[key]]) && + !is.na(inputParameters[[key]]) && + gsub(" ", "", inputParameters[[key]]) != "" + ) { + decoded_value <- gsub("__oc__", "{", inputParameters[[key]]) + decoded_value <- gsub("__cc__", "}", decoded_value) + decoded_value <- gsub("__ob__", "[", decoded_value) + decoded_value <- gsub("__cb__", "]", decoded_value) + decoded_value <- gsub("__dq__", "\"", decoded_value) # Optional: sometimes used for quotes + decoded_value <- gsub("__cn__", ":", decoded_value) # Optional: used for colon in older versions + + parsed_json <- fromJSON(decoded_value) + convertedKey <- gsub("_object", "", key) + convertedKeys <- append(convertedKeys, convertedKey) + #json_string <- toJSON(parsed_json, auto_unbox = FALSE) + inputParameters[[key]] <- parsed_json + } else if (grepl("_array", key)) { + keyParts <- strsplit(key, split = "_")[[1]] + type <- keyParts[length(keyParts)] + values <- inputParameters[[key]] + if (is.character(values) && grepl(",", values)) { + value_list <- unlist(strsplit(values, split = ",")) + } else if (is.character(values)) { + value_list <- c(values) + } + + convertedValues <- c() + + for (value in value_list) { + value <- as.character(value) + value <- gsub(" ", "", value) + #if(type == "integer") { + # value <- as.integer(value) + #} else if (type == "numeric") { + # value <- as.numeric(balue) + #} else if (type == "character") { + # value <- as.character(value) + # value <- gsub(" ", "", value) + #} + convertedValues <- append(convertedValues, value) + convertedKey <- "" + for (part in keyParts) { + if(part == "array") { + break + } + convertedKey <- paste(convertedKey, paste(part, "_", sep=""), sep="") + } + convertedKey <- substr(convertedKey, 1, nchar(convertedKey)-1) + } + inputParameters[[key]] <- convertedValues + convertedKeys <- append(convertedKeys, convertedKey) + } + else { if (!is.null(inputParameters[[key]])) { convertedKeys <- append(convertedKeys, key) } diff -r 78768c06b60f -r 71f754d61a04 aquainfra_ogc_api_processes.xml --- a/aquainfra_ogc_api_processes.xml Mon Jul 21 06:19:15 2025 +0000 +++ b/aquainfra_ogc_api_processes.xml Fri Aug 15 11:19:31 2025 +0000 @@ -1,4 +1,4 @@ - + macros.xml @@ -30,6 +30,11 @@ + + + + + @@ -163,6 +168,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 78768c06b60f -r 71f754d61a04 macros.xml --- a/macros.xml Mon Jul 21 06:19:15 2025 +0000 +++ b/macros.xml Fri Aug 15 11:19:31 2025 +0000 @@ -41,7 +41,7 @@ - + diff -r 78768c06b60f -r 71f754d61a04 test-data/points_att_polygon_test_input_2.txt --- a/test-data/points_att_polygon_test_input_2.txt Mon Jul 21 06:19:15 2025 +0000 +++ b/test-data/points_att_polygon_test_input_2.txt Fri Aug 15 11:19:31 2025 +0000 @@ -1,1 +1,1 @@ -https://vm4072.kaj.pouta.csc.fi/ddas/oapif/collections/lva_secchi/items?f=json&limit=3000 \ No newline at end of file +https://vm4072.kaj.pouta.csc.fi/ddas/oapif/collections/lva_secchi/items?f=json&limit=5871 \ No newline at end of file diff -r 78768c06b60f -r 71f754d61a04 test-data/points_att_polygon_test_input_3.txt --- a/test-data/points_att_polygon_test_input_3.txt Mon Jul 21 06:19:15 2025 +0000 +++ b/test-data/points_att_polygon_test_input_3.txt Fri Aug 15 11:19:31 2025 +0000 @@ -1,1 +1,1 @@ -https://aquainfra.ogc.igb-berlin.de/download/out/data_merged_with_regions-acd86cde-dfae-11ef-93fb-fa163e42fba0.csv \ No newline at end of file +https://aquainfra.ogc.igb-berlin.de/download/out/data_merged_with_regions-8355b3d0-79bb-11f0-9ce7-fa163e42fba0.csv \ No newline at end of file