Hi all,
playing with GeoServer's REST API I experienced a behavior that doesn't
sound right, at least to me.

When a namespace is created issuing a POST request to the /namespaces
endpoint, a corresponding workspace is automatically created by
GeoServer; conversely, when a namespace is deleted issuing a DELETE
request to the /namespaces/<ns> endpoint, the associated workspace is
not explictly removed from the catalog (I checked the code in
NamespaceResource) and continues to appear in the UI (a
NullPointerException is thrown if user clicks on it) and in the outcome
of REST calls, even though the workspace.xml file no longer exists on
disk. If GeoServer is rebooted, the workspace disappears.

I believe this could be fixed either by adding a few lines of code to
NamespaceResource's  method:
https://github.com/geoserver/geoserver/blob/d54d57219141b9d8806307c1f02228c0008912c4/src/restconfig/src/main/java/org/geoserver/catalog/rest/NamespaceResource.java#L109

or, more generally, by implementing the method
handleRemoveEvent(CatalogRemoveEvent) in the catalog listener
NamespaceWorkspaceConsistencyListener:
https://github.com/geoserver/geoserver/blob/d54d57219141b9d8806307c1f02228c0008912c4/src/main/src/main/java/org/geoserver/catalog/NamespaceWorkspaceConsistencyListener.java#L128

cURL requests to reproduce the issue:

curl -X POST -d
'<namespace><prefix>test_ns</prefix><uri>http://www.exmple.com</uri></namespace>'
 -H "Content-Type: text/xml" -u admin:geoserver 
http://localhost:8080/geoserver/rest/namespaces

curl -X DELETE -u admin:geoserver
http://localhost:8080/geoserver/rest/namespaces/test_ns

I'm using GeoServer master.

-- 

Best regards,
Stefano Costa

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==
Dott. Stefano Costa
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
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.


------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to