From def602081c85a912fbbc4e37e71945b1089321ae Mon Sep 17 00:00:00 2001 From: MohamedHamou Date: Fri, 17 Apr 2020 13:52:22 +0200 Subject: [PATCH] release version 12.7.8 --- CHANGELOG.md | 9 ++ arlas-admin/pom.xml | 6 +- arlas-core/pom.xml | 4 +- arlas-opensearch/pom.xml | 8 +- arlas-rest/pom.xml | 6 +- arlas-server/pom.xml | 14 +-- arlas-tests/pom.xml | 6 +- ogc-common/pom.xml | 6 +- ogc-csw/pom.xml | 6 +- ogc-wfs/pom.xml | 6 +- openapi/swagger.json | 134 ++++++++++++------------- openapi/swagger.yaml | 132 ++++++++++++------------ packaging/helm/arlas-server/Chart.yaml | 4 +- pom.xml | 2 +- 14 files changed, 176 insertions(+), 167 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d93649275..6c7dcbf9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## [v12.7.8](https://github.com/gisaia/ARLAS-server/tree/v12.7.8) (2020-04-17) + +[Full Changelog](https://github.com/gisaia/ARLAS-server/compare/v12.7.7...v12.7.8) + +**Maintenance:** + +- Update geotools repository [\#627](https://github.com/gisaia/ARLAS-server/pull/627) + + ## [v12.7.7](https://github.com/gisaia/ARLAS-server/tree/v12.7.7) (2020-03-26) [Full Changelog](https://github.com/gisaia/ARLAS-server/compare/v12.7.6...v12.7.7) diff --git a/arlas-admin/pom.xml b/arlas-admin/pom.xml index ed16eb125..703a16172 100644 --- a/arlas-admin/pom.xml +++ b/arlas-admin/pom.xml @@ -2,14 +2,14 @@ 4.0.0 io.arlas arlas-admin - 12.7.7 + 12.7.8 jar ARLAS server admin io.arlas arlas-server-parent - 12.7.7 + 12.7.8 @@ -27,7 +27,7 @@ io.arlas arlas-core - 12.7.7 + 12.7.8 com.auth0 diff --git a/arlas-core/pom.xml b/arlas-core/pom.xml index 6db3b32c9..4f8630921 100644 --- a/arlas-core/pom.xml +++ b/arlas-core/pom.xml @@ -4,14 +4,14 @@ 4.0.0 io.arlas arlas-core - 12.7.7 + 12.7.8 jar ARLAS server core io.arlas arlas-server-parent - 12.7.7 + 12.7.8 diff --git a/arlas-opensearch/pom.xml b/arlas-opensearch/pom.xml index cf6d0e259..40f43faf8 100644 --- a/arlas-opensearch/pom.xml +++ b/arlas-opensearch/pom.xml @@ -2,26 +2,26 @@ 4.0.0 io.arlas arlas-opensearch - 12.7.7 + 12.7.8 jar ARLAS server opensearch io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas arlas-rest - 12.7.7 + 12.7.8 io.arlas ogc-common - 12.7.7 + 12.7.8 diff --git a/arlas-rest/pom.xml b/arlas-rest/pom.xml index 258ca34ed..8160fa805 100644 --- a/arlas-rest/pom.xml +++ b/arlas-rest/pom.xml @@ -2,21 +2,21 @@ 4.0.0 io.arlas arlas-rest - 12.7.7 + 12.7.8 jar ARLAS server rest io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas arlas-core - 12.7.7 + 12.7.8 diff --git a/arlas-server/pom.xml b/arlas-server/pom.xml index 2d9f2b957..5805e0622 100644 --- a/arlas-server/pom.xml +++ b/arlas-server/pom.xml @@ -2,41 +2,41 @@ 4.0.0 io.arlas arlas-server - 12.7.7 + 12.7.8 jar ARLAS server io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas arlas-rest - 12.7.7 + 12.7.8 io.arlas arlas-opensearch - 12.7.7 + 12.7.8 io.arlas ogc-csw - 12.7.7 + 12.7.8 io.arlas ogc-wfs - 12.7.7 + 12.7.8 io.arlas arlas-admin - 12.7.7 + 12.7.8 diff --git a/arlas-tests/pom.xml b/arlas-tests/pom.xml index f2461d80d..b0061efb0 100644 --- a/arlas-tests/pom.xml +++ b/arlas-tests/pom.xml @@ -2,21 +2,21 @@ 4.0.0 io.arlas arlas-tests - 12.7.7 + 12.7.8 jar ARLAS server tests io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas arlas-server - 12.7.7 + 12.7.8 diff --git a/ogc-common/pom.xml b/ogc-common/pom.xml index 26afd25ef..fc1b6e778 100644 --- a/ogc-common/pom.xml +++ b/ogc-common/pom.xml @@ -2,21 +2,21 @@ 4.0.0 io.arlas ogc-common - 12.7.7 + 12.7.8 jar ARLAS ogc common io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas arlas-core - 12.7.7 + 12.7.8 diff --git a/ogc-csw/pom.xml b/ogc-csw/pom.xml index 53f5efbec..48ce6825f 100644 --- a/ogc-csw/pom.xml +++ b/ogc-csw/pom.xml @@ -2,21 +2,21 @@ 4.0.0 io.arlas ogc-csw - 12.7.7 + 12.7.8 jar ARLAS ogc csw io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas ogc-common - 12.7.7 + 12.7.8 diff --git a/ogc-wfs/pom.xml b/ogc-wfs/pom.xml index 1ec8d09ba..d58c8a442 100644 --- a/ogc-wfs/pom.xml +++ b/ogc-wfs/pom.xml @@ -2,21 +2,21 @@ 4.0.0 io.arlas ogc-wfs - 12.7.7 + 12.7.8 jar ARLAS ogc wfs io.arlas arlas-server-parent - 12.7.7 + 12.7.8 io.arlas ogc-common - 12.7.7 + 12.7.8 diff --git a/openapi/swagger.json b/openapi/swagger.json index ccf21ec47..4729b74eb 100644 --- a/openapi/swagger.json +++ b/openapi/swagger.json @@ -407,12 +407,12 @@ } } }, - "/explore/{collection}/_geoaggregate" : { + "/explore/{collection}/_geoaggregate/{geohash}" : { "get" : { "tags" : [ "explore" ], - "summary" : "GeoAggregate", - "description" : "Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters.", - "operationId" : "geoaggregate", + "summary" : "GeoAggregate on a geohash", + "description" : "Aggregate the elements in the collection(s) and localized in the given geohash as features, given the filters and the aggregation parameters.", + "operationId" : "geohashgeoaggregate", "consumes" : [ "application/json;charset=utf-8" ], "produces" : [ "application/json;charset=utf-8" ], "parameters" : [ { @@ -421,11 +421,17 @@ "description" : "collection", "required" : true, "type" : "string" + }, { + "name" : "geohash", + "in" : "path", + "description" : "geohash", + "required" : true, + "type" : "string" }, { "name" : "agg", "in" : "query", "description" : "- The agg parameter should be given in the following formats: \n \n {type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:fetcbGeometry-{fetch_geometry values}\n \nWhere :\n \n - **{type}:{field}** part is mandatory. \n \n - **interval** must be specified only when aggregation type is datehistogram, histogram and geohash.\n \n - **format** is optional for datehistogram, and must not be specified for the other types.\n \n - (**collect_field**,**collect_fct**) couple is optional for all aggregation types.\n \n - (**order**,**on**) couple is optional for all aggregation types.\n \n - **size** is optional for term and geohash, and must not be specified for the other types.\n \n - **include** is optional for term, and must not be specified for the other types.\n \n- {type} possible values are : \n \n geohash, datehistogram, histogram and term. geohash must be the main aggregation.\n \n- {interval} possible values depends on {type}. \n \n If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities. \n \n If {type} = histogram, then {interval} = {size}. \n \n If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation. \n \n If {type} = term, then interval-{interval} is not needed. \n \n- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.\n \n- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}. \n \n {collect_fct} possible values are : \n \n avg,cardinality,max,min,sum,geobbox,geocentroid\n \n- (collect_field,collect_fct) should both be specified, except when collect_fct = `geobbox` or `geocentroid`, it could be specified alone. The metrics `geobbox` and `geocentroid` are returned as features collections.\n \n- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'. \n \n- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'. \n \n- When {on} = `result`, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = `geobbox` or `geocentroid`, then {on}=`result` is prohibited\n \n- {size} Defines how many buckets should be returned. \n \n- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.\n \n- **fetch_geometry**\n \n > **What it does**: Specifies the strategy of fetching a geometry in each aggregation bucket.\n \n > __**Syntax**__: `fetch_geometry` || `fetch_geometry-{strategy}` || `fetch_geometry-{field}-(first||last)`.\n \n > **fetch_geometry** or **fetch_geometry-byDefault**: the fetched geometry is the centroid of the geohash for `geohash` aggregation or a random geometry for the rest of aggregation types.\n \n > **fetch_geometry-centroid**: the fetched geometry is the centroid of data inside each bucket.\n \n > **fetch_geometry-bbox**: the fetched geometry is the data extend (bbox) in each bucket.\n \n > **fetch_geometry-geohash**: the fetched geometry is the 'geohash' extend of each bucket. This strategy is supported for **geohash** aggregation type only.\n \n > **fetch_geometry-first**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-last**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-{field}-first**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **fetch_geometry-{field}-last**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **Note 1**: if **fetch_geometry** is specified, the returned geometry is set int the 'geometry' attribute of the geojson.\n \n > **Note 2**: If **fetch_geometry-centroid** and **collect_fct**=`geocentroid` are both set, the centroid of each bucket is only returned in the geojson 'geometry' attribute but not in the metrics. Same for **fetch_geometry-bbox** and **collect_fct**=`geobbox`\n \n- **fetch_hits** \n \n > **What it does**: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.\n \n > __**Syntax**__: `fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...)`.\n \n > **Note 1**: `{sizeOfHitsToFetch}` is optional, if not specified, 1 is considered as default.\n \n > **Note 2**: `{field}` can be preceded by **+** or **-** for **ascending** or **descending** sort of the hits. Order matters.\n \n > __**Example**__: `fetch_hits-3(-timestamp, geometry)`. Fetches the 3 last positions for each bucket.\n \n**agg** parameter is multiple. The first (main) aggregation must be geohash. Every agg parameter specified is a subaggregation of the previous one : order matters. \n \nFor more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md ", - "required" : true, + "required" : false, "type" : "array", "items" : { "type" : "string" @@ -505,12 +511,14 @@ } } } - }, - "post" : { + } + }, + "/explore/{collection}/_geoaggregate" : { + "get" : { "tags" : [ "explore" ], "summary" : "GeoAggregate", "description" : "Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters.", - "operationId" : "geoaggregatePost", + "operationId" : "geoaggregate", "consumes" : [ "application/json;charset=utf-8" ], "produces" : [ "application/json;charset=utf-8" ], "parameters" : [ { @@ -520,12 +528,41 @@ "required" : true, "type" : "string" }, { - "in" : "body", - "name" : "body", + "name" : "agg", + "in" : "query", + "description" : "- The agg parameter should be given in the following formats: \n \n {type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:fetcbGeometry-{fetch_geometry values}\n \nWhere :\n \n - **{type}:{field}** part is mandatory. \n \n - **interval** must be specified only when aggregation type is datehistogram, histogram and geohash.\n \n - **format** is optional for datehistogram, and must not be specified for the other types.\n \n - (**collect_field**,**collect_fct**) couple is optional for all aggregation types.\n \n - (**order**,**on**) couple is optional for all aggregation types.\n \n - **size** is optional for term and geohash, and must not be specified for the other types.\n \n - **include** is optional for term, and must not be specified for the other types.\n \n- {type} possible values are : \n \n geohash, datehistogram, histogram and term. geohash must be the main aggregation.\n \n- {interval} possible values depends on {type}. \n \n If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities. \n \n If {type} = histogram, then {interval} = {size}. \n \n If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation. \n \n If {type} = term, then interval-{interval} is not needed. \n \n- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.\n \n- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}. \n \n {collect_fct} possible values are : \n \n avg,cardinality,max,min,sum,geobbox,geocentroid\n \n- (collect_field,collect_fct) should both be specified, except when collect_fct = `geobbox` or `geocentroid`, it could be specified alone. The metrics `geobbox` and `geocentroid` are returned as features collections.\n \n- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'. \n \n- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'. \n \n- When {on} = `result`, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = `geobbox` or `geocentroid`, then {on}=`result` is prohibited\n \n- {size} Defines how many buckets should be returned. \n \n- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.\n \n- **fetch_geometry**\n \n > **What it does**: Specifies the strategy of fetching a geometry in each aggregation bucket.\n \n > __**Syntax**__: `fetch_geometry` || `fetch_geometry-{strategy}` || `fetch_geometry-{field}-(first||last)`.\n \n > **fetch_geometry** or **fetch_geometry-byDefault**: the fetched geometry is the centroid of the geohash for `geohash` aggregation or a random geometry for the rest of aggregation types.\n \n > **fetch_geometry-centroid**: the fetched geometry is the centroid of data inside each bucket.\n \n > **fetch_geometry-bbox**: the fetched geometry is the data extend (bbox) in each bucket.\n \n > **fetch_geometry-geohash**: the fetched geometry is the 'geohash' extend of each bucket. This strategy is supported for **geohash** aggregation type only.\n \n > **fetch_geometry-first**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-last**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-{field}-first**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **fetch_geometry-{field}-last**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **Note 1**: if **fetch_geometry** is specified, the returned geometry is set int the 'geometry' attribute of the geojson.\n \n > **Note 2**: If **fetch_geometry-centroid** and **collect_fct**=`geocentroid` are both set, the centroid of each bucket is only returned in the geojson 'geometry' attribute but not in the metrics. Same for **fetch_geometry-bbox** and **collect_fct**=`geobbox`\n \n- **fetch_hits** \n \n > **What it does**: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.\n \n > __**Syntax**__: `fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...)`.\n \n > **Note 1**: `{sizeOfHitsToFetch}` is optional, if not specified, 1 is considered as default.\n \n > **Note 2**: `{field}` can be preceded by **+** or **-** for **ascending** or **descending** sort of the hits. Order matters.\n \n > __**Example**__: `fetch_hits-3(-timestamp, geometry)`. Fetches the 3 last positions for each bucket.\n \n**agg** parameter is multiple. The first (main) aggregation must be geohash. Every agg parameter specified is a subaggregation of the previous one : order matters. \n \nFor more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md ", + "required" : true, + "type" : "array", + "items" : { + "type" : "string" + }, + "collectionFormat" : "multi" + }, { + "name" : "f", + "in" : "query", + "description" : "- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter. \n \n- A triplet is composed of a field name, a comparison operator and a value. \n \n The possible values of the comparison operator are : \n \n Operator | Description | value type\n \n :eq: | {fieldName} equals {comma separated values}. **OR** operation is applied for the specified values | numeric or strings \n \n :ne: | {fieldName} must not equal {comma separated values }. **AND** operation is applied for the specified values | numeric or strings \n \n :like: | {fieldName} is like {value} | numeric or strings \n \n :gte: | {fieldName} is greater than or equal to {value} | numeric \n \n :gt: | {fieldName} is greater than {value} | numeric \n \n :lte: | {fieldName} is less than or equal to {value} | numeric \n \n :lt: | {fieldName} is less than {value} | numeric \n \n :range: | {fieldName} is between `{comma separated [min **What it does**: Specifies the strategy of fetching a geometry in each aggregation bucket.\n \n > __**Syntax**__: `fetch_geometry` || `fetch_geometry-{strategy}` || `fetch_geometry-{field}-(first||last)`.\n \n > **fetch_geometry** or **fetch_geometry-byDefault**: the fetched geometry is the centroid of the geohash for `geohash` aggregation or a random geometry for the rest of aggregation types.\n \n > **fetch_geometry-centroid**: the fetched geometry is the centroid of data inside each bucket.\n \n > **fetch_geometry-bbox**: the fetched geometry is the data extend (bbox) in each bucket.\n \n > **fetch_geometry-geohash**: the fetched geometry is the 'geohash' extend of each bucket. This strategy is supported for **geohash** aggregation type only.\n \n > **fetch_geometry-first**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-last**: the fetched geometry is the first hit's geometry fetched in each bucket (chronologically)\n \n > **fetch_geometry-{field}-first**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **fetch_geometry-{field}-last**: the fetched geometry is the geometry of the first hit - ordered by the {field} - fetched in each bucket.\n \n > **Note 1**: if **fetch_geometry** is specified, the returned geometry is set int the 'geometry' attribute of the geojson.\n \n > **Note 2**: If **fetch_geometry-centroid** and **collect_fct**=`geocentroid` are both set, the centroid of each bucket is only returned in the geojson 'geometry' attribute but not in the metrics. Same for **fetch_geometry-bbox** and **collect_fct**=`geobbox`\n \n- **fetch_hits** \n \n > **What it does**: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.\n \n > __**Syntax**__: `fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...)`.\n \n > **Note 1**: `{sizeOfHitsToFetch}` is optional, if not specified, 1 is considered as default.\n \n > **Note 2**: `{field}` can be preceded by **+** or **-** for **ascending** or **descending** sort of the hits. Order matters.\n \n > __**Example**__: `fetch_hits-3(-timestamp, geometry)`. Fetches the 3 last positions for each bucket.\n \n**agg** parameter is multiple. The first (main) aggregation must be geohash. Every agg parameter specified is a subaggregation of the previous one : order matters. \n \nFor more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md ", - "required" : false, - "type" : "array", - "items" : { - "type" : "string" - }, - "collectionFormat" : "multi" - }, { - "name" : "f", - "in" : "query", - "description" : "- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter. \n \n- A triplet is composed of a field name, a comparison operator and a value. \n \n The possible values of the comparison operator are : \n \n Operator | Description | value type\n \n :eq: | {fieldName} equals {comma separated values}. **OR** operation is applied for the specified values | numeric or strings \n \n :ne: | {fieldName} must not equal {comma separated values }. **AND** operation is applied for the specified values | numeric or strings \n \n :like: | {fieldName} is like {value} | numeric or strings \n \n :gte: | {fieldName} is greater than or equal to {value} | numeric \n \n :gt: | {fieldName} is greater than {value} | numeric \n \n :lte: | {fieldName} is less than or equal to {value} | numeric \n \n :lt: | {fieldName} is less than {value} | numeric \n \n :range: | {fieldName} is between `{comma separated [minio.arlas arlas-server-parent - 12.7.7 + 12.7.8 pom ARLAS server parent