diff --git a/52n-wps-r/src/main/java/org/n52/wps/server/r/LocalRAlgorithmRepository.java b/52n-wps-r/src/main/java/org/n52/wps/server/r/LocalRAlgorithmRepository.java
index b0c0f677a..86b00a762 100644
--- a/52n-wps-r/src/main/java/org/n52/wps/server/r/LocalRAlgorithmRepository.java
+++ b/52n-wps-r/src/main/java/org/n52/wps/server/r/LocalRAlgorithmRepository.java
@@ -280,6 +280,13 @@ public boolean removeAlgorithm(Object processID) {
@Override
public ProcessDescriptionType getProcessDescription(String processID) {
+ if ( !this.rConfig.getCacheDescriptions()) {
+ LOGGER.debug("Process description cache disabled, creating new process and returning its description for id {}",
+ processID);
+ GenericRProcess process = new GenericRProcess(processID);
+ return process.getDescription();
+ }
+
if ( !this.algorithmDescriptionMap.containsKey(processID)) {
LOGGER.debug("Creating new process to get the description for " + processID);
GenericRProcess process = new GenericRProcess(processID);
diff --git a/52n-wps-r/src/main/java/org/n52/wps/server/r/RWPSConfigVariables.java b/52n-wps-r/src/main/java/org/n52/wps/server/r/RWPSConfigVariables.java
index 1acc044f9..d68ca046b 100644
--- a/52n-wps-r/src/main/java/org/n52/wps/server/r/RWPSConfigVariables.java
+++ b/52n-wps-r/src/main/java/org/n52/wps/server/r/RWPSConfigVariables.java
@@ -31,7 +31,7 @@
public enum RWPSConfigVariables {
- SCRIPT_DIR, RESOURCE_DIR, ALGORITHM_PROPERTY_NAME, ENABLE_BATCH_START, RSERVE_HOST, RSERVE_PORT, RSERVE_USER, RSERVE_PASSWORD, R_DATATYPE_CONFIG, R_WORK_DIR_STRATEGY, R_WORK_DIR_NAME;
+ SCRIPT_DIR, RESOURCE_DIR, ALGORITHM_PROPERTY_NAME, ENABLE_BATCH_START, RSERVE_HOST, RSERVE_PORT, RSERVE_USER, RSERVE_PASSWORD, R_DATATYPE_CONFIG, R_WORK_DIR_STRATEGY, R_WORK_DIR_NAME, R_CACHE_DESCRIPTIONS;
public String toString() {
switch (this) {
@@ -57,6 +57,8 @@ public String toString() {
return "R_RservePassword";
case R_DATATYPE_CONFIG:
return "R_datatypeConfig";
+ case R_CACHE_DESCRIPTIONS:
+ return "R_cacheDescriptions";
default:
return "NO STRING REPRESENTATION DEFINED FOR ENUM CONSTANT!";
}
diff --git a/52n-wps-r/src/main/java/org/n52/wps/server/r/R_Config.java b/52n-wps-r/src/main/java/org/n52/wps/server/r/R_Config.java
index 7e5e474df..150ac2c28 100644
--- a/52n-wps-r/src/main/java/org/n52/wps/server/r/R_Config.java
+++ b/52n-wps-r/src/main/java/org/n52/wps/server/r/R_Config.java
@@ -479,4 +479,9 @@ public URL getProcessDescriptionURL(String processWKN) {
return null;
}
}
+
+ public boolean getCacheDescriptions() {
+ String s = getConfigVariable(RWPSConfigVariables.R_CACHE_DESCRIPTIONS);
+ return Boolean.valueOf(s);
+ }
}
diff --git a/52n-wps-webapp/src/main/webapp/R/scripts/demo_meuse-rdata.R b/52n-wps-webapp/src/main/webapp/R/scripts/demo_meuse-rdata.R
index 2d4fa3ebe..2b1e90b6e 100644
--- a/52n-wps-webapp/src/main/webapp/R/scripts/demo_meuse-rdata.R
+++ b/52n-wps-webapp/src/main/webapp/R/scripts/demo_meuse-rdata.R
@@ -5,10 +5,14 @@
# wps.off;
filename <- "meuse"
+setwd(tempdir())
+cat("wd: ", getwd(), "\n")
# wps.on;
library(sp)
data(meuse)
+data(meuse.grid)
+data(meuse.riv)
summary(meuse)
summary(meuse.grid)
diff --git a/52n-wps-webapp/src/main/webapp/config/wps_config_geotools.xml b/52n-wps-webapp/src/main/webapp/config/wps_config_geotools.xml
index 37106eb1c..eccecad01 100644
--- a/52n-wps-webapp/src/main/webapp/config/wps_config_geotools.xml
+++ b/52n-wps-webapp/src/main/webapp/config/wps_config_geotools.xml
@@ -498,6 +498,7 @@
NA
NA
R/scripts
+ true
org.n52.wps.server.r.test.calculator