From f5187e5d369fb2755025afb3566d8e56e87ccea0 Mon Sep 17 00:00:00 2001 From: Christian Autermann Date: Wed, 2 Jul 2014 13:00:49 +0200 Subject: [PATCH 1/2] fix form parser for only one input --- src/main/webapp/js/wps-js/form/FormParser.js | 54 ++++++++++---------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/src/main/webapp/js/wps-js/form/FormParser.js b/src/main/webapp/js/wps-js/form/FormParser.js index 5ad4877..d274acd 100644 --- a/src/main/webapp/js/wps-js/form/FormParser.js +++ b/src/main/webapp/js/wps-js/form/FormParser.js @@ -1,14 +1,14 @@ var FormParser = Class.extend({ - + init : function(settings) { this.settings = settings; }, - + parseInputs : function(formValues) { var inputs = []; var inputNameToPosition = {}; - + for (var i = 0; i < formValues.length; i++) { var prop = formValues[i]; if (stringStartsWith(prop.name, "input_")) { @@ -22,7 +22,7 @@ var FormParser = Class.extend({ } } } - + /* * look for each input's type */ @@ -30,11 +30,11 @@ var FormParser = Class.extend({ var prop = formValues[i]; if (stringStartsWith(prop.name, "type_input")) { var originalInputName = prop.name.substring(5, prop.name.length); - + // check if input is set before setting the type if(inputNameToPosition[originalInputName] != null) { inputs[inputNameToPosition[originalInputName]].type = prop.value; - + if (stringStartsWith(prop.value, "complex")) { inputs[inputNameToPosition[originalInputName]].complexPayload = inputs[inputNameToPosition[originalInputName]].value; } @@ -44,7 +44,7 @@ var FormParser = Class.extend({ } } } - + /* * check asReference flag */ @@ -58,7 +58,7 @@ var FormParser = Class.extend({ inputs[inputNameToPosition[originalInputName]].asReference = true; } } - + /* * look for each input's format */ @@ -66,14 +66,16 @@ var FormParser = Class.extend({ var prop = formValues[i]; if (stringStartsWith(prop.name, "format_input")) { var originalInputName = prop.name.substring(7, prop.name.length); - var formatObject = JSON.parse(prop.value); - this.parseFormatObject(formatObject, inputs[inputNameToPosition[originalInputName]]); + if (inputNameToPosition[originalInputName] != null) { + var formatObject = JSON.parse(prop.value); + this.parseFormatObject(formatObject, inputs[inputNameToPosition[originalInputName]]); + } } } - + return inputs; }, - + parseBboxValue : function(bboxString, targetObject) { var array = bboxString.split(","); @@ -86,15 +88,15 @@ var FormParser = Class.extend({ array[i] = "0.0"; } } - + targetObject.lowerCorner = jQuery.trim(array[0]) + " " + jQuery.trim(array[1]); targetObject.upperCorner = jQuery.trim(array[2]) + " " + jQuery.trim(array[3]); }, - + parseOutputs : function(formValues) { var outputs = []; var outputNameToPosition = {}; - + for (var i = 0; i < formValues.length; i++) { var prop = formValues[i]; if (stringStartsWith(prop.name, "output_")) { @@ -107,7 +109,7 @@ var FormParser = Class.extend({ outputNameToPosition[prop.name] = j; } } - + /* * look for each outputs type */ @@ -115,11 +117,11 @@ var FormParser = Class.extend({ var prop = formValues[i]; if (stringStartsWith(prop.name, "type_output")) { var originalName = prop.name.substring(5, prop.name.length); - + // only set output properties for selected outputs if(outputNameToPosition[originalName] != null) { outputs[outputNameToPosition[originalName]].type = prop.value; - + //TODO: set via form if (stringStartsWith(prop.value, "complex")) { outputs[outputNameToPosition[originalName]].asReference = true; @@ -127,7 +129,7 @@ var FormParser = Class.extend({ } } } - + /* * look for each outputs format */ @@ -136,30 +138,30 @@ var FormParser = Class.extend({ if (stringStartsWith(prop.name, "format_output")) { var originalName = prop.name.substring(7, prop.name.length); var formatObject = JSON.parse(prop.value); - + if(outputNameToPosition[originalName] != null) { this.parseFormatObject(formatObject, outputs[outputNameToPosition[originalName]]); } } } - + return outputs; }, - + parseFormatObject : function(formatObject, targetObject) { if (formatObject.mimeType) { targetObject.mimeType = formatObject.mimeType; } - + if (formatObject.schema) { targetObject.schema = formatObject.schema; } - + if (formatObject.encoding) { targetObject.encoding = formatObject.encoding; } }, - + parseProcessIdentifier : function(formValues) { for (var i = 0; i < formValues.length; i++) { var prop = formValues[i]; @@ -169,7 +171,7 @@ var FormParser = Class.extend({ } return ""; }, - + parseOutputStyle : function(formValues) { return { storeExecuteResponse: true, From c0d4b10f51830a0470b79b30efbd58151f6211b8 Mon Sep 17 00:00:00 2001 From: Christian Autermann Date: Wed, 2 Jul 2014 13:55:23 +0200 Subject: [PATCH 2/2] updated version to 0.1.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fc092aa..c6eb4d7 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ 52North WPS JavaScript Client - 0.1.0 + 0.1.1 https://wiki.52north.org/bin/view/Processing/Wps-js/ 2013