Hi Torben,
while your suggestion makes sense and I have asked Emanuele to take into
account I am also a bit reluctant to follow it.
We tried to stick to the current structure (not saying it is good or bad,
it is just the way it is) and doing a general refactor now might give us
more harm than anything
as it would introduce instability and open a can of worms.
So let's see what Emanuele says but I would more in favour of refactoring
the whole thing separately, even because winter is coming (see other email
threads).
Regards,
Simone Giannecchini
==
GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information.
==
Ing. Simone Giannecchini
@simogeo
Founder/Director
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 333 8128928
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.
On Fri, Jul 14, 2017 at 6:34 PM, Torben Barsballe <
[email protected]> wrote:
> Hello Emanuele,
>
> There is one immediate concern I see with this change:
>
> There are a number of places, both in core code as well as extensions and
> community modules, in the GeoServer codebase that use the following pattern:
>
> if ( r instanceof FeatureTypeInfo ) {
> ...
> }
> else if ( r instanceof CoverageInfo ) {
> ...
> }
> else if ( r instanceof WMSLayerInfo ) {
> ...
> }
>
> A fairly basic search turns up the following places this pattern is likely
> used:
>
> gs-geofence, gs-gwc, gs-jms-geoserver, gs-main, gs-notificat
> ion, gs-notification-geonode, gs-restconfig, gs-web-demo, gs-web-gwc,
> gs-wms
>
> Properly implementing this change would involve modifying and testing each
> of these modules.
>
>
> As an alternative, consider the following approach:
>
> Refactor WMSLayerInfo into a parent interface for both WMSLayerInfo and
> WMTSLayerInfo:
>
> - Create a WebServiceInfo interface extending ReosoueceInfo, with
> common functionality to WMSLayerInfo and WMTSLayerInfo.
> - Refactor all current GeoServer code to use WebServiceInfo in place
> of WMSLayerInfo
> - Make the currentl WMSLayerInfo extend WebServiceInfo
> - Add WMTSLayerInfo as an extension of WebServiceInfo
>
>
> [image: Inline image 1]
> Diagram of the resulting class structure. Interfaces with abstract
> implementations are in grey.
>
> (The StoreInfo class diagram would be similar)
>
> This is a slightly more stable class structure, and less likely to cause
> issues in downstream modules, as they can treat WMSLayerInfo and
> WMTSLayerInfo the same.
> This also makes creating new cascaded service stores easier in the future.
>
>
> Apart from architectural issues, the actual functionality you present here
> looks useful.
>
> Torben
>
>
>
>
>
> On Thu, Jul 13, 2017 at 3:26 AM, Emanuele Tajariol <[email protected]>
> wrote:
>
>> Hi list!
>>
>> I submitted a GSIP for adding WMTS cascading capabilities to GeoServer,
>> i.e.
>> the ability to create WMS layers backed by remote WMTS layers.
>>
>> Here's the GSIP:
>> https://github.com/geoserver/geoserver/wiki/GSIP-162
>>
>> Since the work also requires some changes in GT, here's the related
>> proposal:
>> https://github.com/geotools/geotools/wiki/Add-a-WMTS-CoverageReader
>>
>> Looking forward for your feedback.
>>
>> Thanks,
>> Emanuele
>>
>> --
>> Regards,
>> Emanuele Tajariol
>> ==
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/it488V
>> for more information.
>> ==
>>
>> Ing. Emanuele Tajariol
>> Technical Lead
>>
>> GeoSolutions S.A.S.
>> Via di Montramito 3/A
>> 55054 Massarosa (LU)
>> Italy
>> phone: +39 0584 962313
>> fax: +39 0584 1660272
>>
>> 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.
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Geoserver-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>>
>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel