[Geoserver-devel] Allowing range of values as the default value for dimensions

Hi,
I’m currently working on an improvement for the dimensions support in GeoServer
that I would like to share.

Currently our default value support is rather generic, stored in this class and subject
to different policies:

https://github.com/geoserver/geoserver/blob/master/src/main/src/main/java/org/geoserver/catalog/DimensionDefaultValueSetting.java

The default value is stored as a String, and it’s up to the strategy to decide what to do with it.
In all cases though, it’s a single value, never a range, and that poses some limitations and make
some interesting use cases not possible.

In particular, when using the FIXED policy, that uses the reference value as the
default value, it would be nice to allow usage of a range instead of a single value.
This is made especially interesting by our current ability to express a range using
relative expressions, like:

PT36H/PRESENT

See this for an example:
http://docs.geoserver.org/latest/en/user/services/wms/time.html#specifying-a-relative-interval

Mind, this is unrelated to whether or not the actual dimension is range based, or not,
as it makes a lot of sense also the dimensions that are not range based.

The idea is to extend a bit the UI so that it allows the choice of a single value, or range
using the well known range syntax (just relaxing the validators to allow also ranges),
and then making sure the code dealing with dimension can handle ranges.

In several places it already can, since the user can invariably enter a single value
or a range already, but others know they are dealing with the default value and
are enforcing a single value representation instead, those need to be amended too.

This improvement is going to be implemented on master, with an interest in backport
later.

Do you see any problems with it?

Cheers
Andrea

···

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Geosolutions’ Winter Holidays from 24/12 to 6/1

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Hi,
I took the lack of feedback as a silent “ok” and proceeded with a pull request:
https://github.com/geoserver/geoserver/pull/1397

Cheers
Andrea

···

On Mon, Dec 21, 2015 at 7:00 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
I’m currently working on an improvement for the dimensions support in GeoServer
that I would like to share.

Currently our default value support is rather generic, stored in this class and subject
to different policies:

https://github.com/geoserver/geoserver/blob/master/src/main/src/main/java/org/geoserver/catalog/DimensionDefaultValueSetting.java

The default value is stored as a String, and it’s up to the strategy to decide what to do with it.
In all cases though, it’s a single value, never a range, and that poses some limitations and make
some interesting use cases not possible.

In particular, when using the FIXED policy, that uses the reference value as the
default value, it would be nice to allow usage of a range instead of a single value.
This is made especially interesting by our current ability to express a range using
relative expressions, like:

PT36H/PRESENT

See this for an example:
http://docs.geoserver.org/latest/en/user/services/wms/time.html#specifying-a-relative-interval

Mind, this is unrelated to whether or not the actual dimension is range based, or not,
as it makes a lot of sense also the dimensions that are not range based.

The idea is to extend a bit the UI so that it allows the choice of a single value, or range
using the well known range syntax (just relaxing the validators to allow also ranges),
and then making sure the code dealing with dimension can handle ranges.

In several places it already can, since the user can invariably enter a single value
or a range already, but others know they are dealing with the default value and
are enforcing a single value representation instead, those need to be amended too.

This improvement is going to be implemented on master, with an interest in backport
later.

Do you see any problems with it?

Cheers
Andrea

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Geosolutions’ Winter Holidays from 24/12 to 6/1

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Geosolutions’ Winter Holidays from 24/12 to 6/1

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Yeah, silent agreement here as well.

I have read over the pull request, thanks for including docs.

···

On Mon, Dec 21, 2015 at 7:00 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
I’m currently working on an improvement for the dimensions support in GeoServer
that I would like to share.

Currently our default value support is rather generic, stored in this class and subject
to different policies:

https://github.com/geoserver/geoserver/blob/master/src/main/src/main/java/org/geoserver/catalog/DimensionDefaultValueSetting.java

The default value is stored as a String, and it’s up to the strategy to decide what to do with it.
In all cases though, it’s a single value, never a range, and that poses some limitations and make
some interesting use cases not possible.

In particular, when using the FIXED policy, that uses the reference value as the
default value, it would be nice to allow usage of a range instead of a single value.
This is made especially interesting by our current ability to express a range using
relative expressions, like:

PT36H/PRESENT

See this for an example:
http://docs.geoserver.org/latest/en/user/services/wms/time.html#specifying-a-relative-interval

Mind, this is unrelated to whether or not the actual dimension is range based, or not,
as it makes a lot of sense also the dimensions that are not range based.

The idea is to extend a bit the UI so that it allows the choice of a single value, or range
using the well known range syntax (just relaxing the validators to allow also ranges),
and then making sure the code dealing with dimension can handle ranges.

In several places it already can, since the user can invariably enter a single value
or a range already, but others know they are dealing with the default value and
are enforcing a single value representation instead, those need to be amended too.

This improvement is going to be implemented on master, with an interest in backport
later.

Do you see any problems with it?

Cheers
Andrea

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Geosolutions’ Winter Holidays from 24/12 to 6/1

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Geosolutions’ Winter Holidays from 24/12 to 6/1

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.