Open-EO / openeo-earthengine-driver

openEO back-end driver for Google Earth Engine.
Apache License 2.0
21 stars 7 forks source link

Reject job/service/... when parameters are not defined #41

Closed m-mohr closed 3 years ago

m-mohr commented 4 years ago

The driver accepts this process as batch job:

{
  "id": null,
  "process_graph": {
    "load_collection_HTFOJ1599M": {
      "process_id": "load_collection",
      "arguments": {
        "id": {
          "from_parameter": "collection"
        },
        "spatial_extent": {
          "west": 16.1,
          "east": 16.6,
          "north": 48.6,
          "south": 47.2
        },
        "temporal_extent": [
          "2018-04-01",
          "2018-05-01"
        ],
        "bands": [
          "B8",
          "B4",
          "B2"
        ]
      }
    },
    "reduce_dimension_WUGND8993F": {
      "process_id": "reduce_dimension",
      "arguments": {
        "data": {
          "from_node": "load_collection_HTFOJ1599M"
        },
        "reducer": {
          "process_graph": {
            "array_element_ZPKMD8848G": {
              "process_id": "array_element",
              "arguments": {
                "data": {
                  "from_parameter": "data"
                },
                "index": 0,
                "return_nodata": false
              }
            },
            "array_element_ZPMEJ8888R": {
              "process_id": "array_element",
              "arguments": {
                "data": {
                  "from_parameter": "data"
                },
                "index": 1,
                "return_nodata": false
              }
            },
            "subtract_RDCCK7121G": {
              "process_id": "subtract",
              "arguments": {
                "x": {
                  "from_node": "array_element_ZPKMD8848G"
                },
                "y": {
                  "from_node": "array_element_ZPMEJ8888R"
                }
              }
            },
            "multiply_FTUUA2121D": {
              "process_id": "multiply",
              "arguments": {
                "x": 2.5,
                "y": {
                  "from_node": "subtract_RDCCK7121G"
                }
              }
            },
            "multiply_VXDJI2363O": {
              "process_id": "multiply",
              "arguments": {
                "x": 6,
                "y": {
                  "from_node": "array_element_ZPMEJ8888R"
                }
              }
            },
            "array_element_CECOT3873H": {
              "process_id": "array_element",
              "arguments": {
                "data": {
                  "from_parameter": "data"
                },
                "index": 2,
                "return_nodata": false
              }
            },
            "multiply_SMCYD7558T": {
              "process_id": "multiply",
              "arguments": {
                "x": -7.5,
                "y": {
                  "from_node": "array_element_CECOT3873H"
                }
              }
            },
            "sum_FNEAV2096U": {
              "process_id": "sum",
              "arguments": {
                "data": [
                  {
                    "from_node": "array_element_ZPKMD8848G"
                  },
                  {
                    "from_node": "multiply_VXDJI2363O"
                  },
                  {
                    "from_node": "multiply_SMCYD7558T"
                  },
                  1
                ]
              }
            },
            "divide_FGYKO2992N": {
              "process_id": "divide",
              "arguments": {
                "x": {
                  "from_node": "multiply_FTUUA2121D"
                },
                "y": {
                  "from_node": "sum_FNEAV2096U"
                }
              },
              "result": true
            }
          }
        },
        "dimension": "bands",
        "context": null
      }
    },
    "reduce_dimension_WESWN4894Y": {
      "process_id": "reduce_dimension",
      "arguments": {
        "data": {
          "from_node": "reduce_dimension_WUGND8993F"
        },
        "reducer": {
          "process_graph": {
            "min_PPFXV4054P": {
              "process_id": "min",
              "arguments": {
                "data": {
                  "from_parameter": "data"
                }
              },
              "result": true
            }
          }
        },
        "dimension": "temporal",
        "context": null
      }
    },
    "apply_PDQLG4644T": {
      "process_id": "apply",
      "arguments": {
        "data": {
          "from_node": "reduce_dimension_WESWN4894Y"
        },
        "process": {
          "process_graph": {
            "linear_scale_range_HLCXD1417I": {
              "process_id": "linear_scale_range",
              "arguments": {
                "x": {
                  "from_parameter": "x"
                },
                "inputMin": -1,
                "inputMax": 1,
                "outputMin": 0,
                "outputMax": 255
              },
              "result": true
            }
          }
        },
        "context": null
      }
    },
    "save_result_YRUKU2642I": {
      "process_id": "save_result",
      "arguments": {
        "data": {
          "from_node": "apply_PDQLG4644T"
        },
        "format": "PNG",
        "options": {}
      },
      "result": true
    }
  },
  "parameters": [
    {
      "name": "collection",
      "description": [],
      "schema": {
        "type": "string",
        "subtype": "collection-id",
        "pattern": "^[A-Za-z0-9_\\-\\.~/]+$",
        "parameters": [],
        "items": {
          "type": {}
        },
        "minItems": [],
        "maxItems": []
      }
    }
  ],
  "returns": {
    "schema": {
      "type": "boolean",
      "subtype": [],
      "pattern": [],
      "parameters": [],
      "items": {
        "type": {}
      },
      "minItems": [],
      "maxItems": []
    }
  }
}

The back-end should reject processes that have undefined parameters (i.e. no default value defined)

m-mohr commented 3 years ago

fixed (was fixed in @openeo/js-processgraphs)