Hello,

Thanks for the feedback and sorry for being a little bit late caching up.

Regarding the resource listener idea, I agree with Andrea comments. In my opinion the resource listener API is good to use when we want to listen to a specific resource like configuration file for example. In this case I would rather extend the catalog to let us register listeners for resources changed events.

That say, when we receive a style info object we should be able to access is associated resource and not have to worry about synchronization issues, i.e. waiting for the associated resource to be created \ modified. This is the main issue in my opinion.

The only draw-back of this behavior is that it implicitly requires that the style resource should be saved before the style info being updated but this behavior greatly simplifies the handling of these events.

Regarding the REST doubt (good question by the way), there is three ways of uploading a style(s) for update (same method) and in two of them it is always assured that a style modified event is issued (there is even a comment about it):
https://github.com/nmco/geoserver/blob/e7e0a3cdce8140dc1afa02b9cff6a46d8ab15fb7/src/restconfig/src/main/java/org/geoserver/catalog/rest/StyleResource.java#L365-L367

The code you highlighted is for the situation were several styles are upload using a ZIP file and yes in this case JMS will not be aware of those changes, IMHO this is a bug and style modified events should be fired.

Another thing, in GS only JMS depends on this behavior but we don't know what other people are doing with GS ... the catalog API is public, for me this is a regression.

Cheers,

Nuno Oliveira

On 03/14/2017 05:23 PM, Andrea Aime wrote:
Ha, I have no clue honestly, never looked much under the hood, it may well be that it does not :-p

Cheers
Andrea

On Tue, Mar 14, 2017 at 6:21 PM, Torben Barsballe <[email protected] <mailto:[email protected]>> wrote:

    At this point I'm mostly just curious how the JMS community module
    handles changes to style content via the REST API if it is relying
    on CatalogEvents.

    Torben


    On Tue, Mar 14, 2017 at 10:10 AM, Andrea Aime
    <[email protected]
    <mailto:[email protected]>> wrote:

        On Tue, Mar 14, 2017 at 5:58 PM, Torben Barsballe
        <[email protected]
        <mailto:[email protected]>> wrote:



                    In my opinion the old behavior makes sense, if I
                    get an event from the
                    catalog saying that a style was updated I would
                    say it makes sense to
                    assume that the associated resource was also updated.

            Just as a note, if you are using the REST api to modify
            styles, this assumption is not valid. Instead, the
            resource is modified entirely independently from the
            catalog object, and does not trigger modification events:
            
https://github.com/geoserver/geoserver/blob/master/src/restconfig/src/main/java/org/geoserver/catalog/rest/StyleResource.java#L334
            
<https://github.com/geoserver/geoserver/blob/master/src/restconfig/src/main/java/org/geoserver/catalog/rest/StyleResource.java#L334>

            Strictly speaking, catalog events should not be relied
            upon to deal with resource changes; I believe we already
            have a ResourceListener for that sort of thing.


        Hum hum... is the style body really a resource? That's the
        "style", the xml file contains like... nothing.
        A resource listener would not do the trick imho, unless there
        is a way to listen to an entire class of files (or just the
        entire data dir). Like, how does one listen to 10000 style files?
        Even if the issue is solved for the style contents, associated
        symbol files are still something that would be nice to listen to.

            That being said, I can see how this use case makes sense.
            Not sure if it should be considered a regression or not.


        Used to work, now it does not, matches my notion of
        regression.... although a community module regressing is not a
        "big deal" given it's not supported and we don't run tests.

        Cheers
        Andrea

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

        Ing. Andrea Aime
        @geowolf
        Technical Lead

        GeoSolutions S.A.S.
        Via di Montramito 3/A
        55054 Massarosa (LU)
        phone: +39 0584 962313 <tel:+39%200584%20962313>
        fax: +39 0584 1660272 <tel:+39%200584%20166%200272>
        mob: +39  339 8844549 <tel:+39%20339%20884%204549>

        http://www.geo-solutions.it
        http://twitter.com/geosolutions_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.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
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.


-------------------------------------------------------


------------------------------------------------------------------------------
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

--
==
GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information.
==
Nuno Miguel Carvalho Oliveira
@nmcoliveira
Software Engineer

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.

------------------------------------------------------------------------------
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

Reply via email to