I am encountering a problem trying to REPLACE data with Importer. I want to use Importer to ingest a shapefile then overwrite it with an updated shapefile of the same name. Here is how I reproduce the problem.
POST http://localhost:8080/geoserver/rest/imports
{“import”:{“targetWorkspace”:{“workspace”:{“name”:“cite”}},“data”:
{“type”:“file”, “file”:“C:/taz_shapes/tasmania_cities.shp”}
}}
POST http://localhost:8080/geoserver/rest/imports/0
So far, so good. tasmania_cities is imported.
Now I want to overwrite (REPLACE) the data.
POST http://localhost:8080/geoserver/rest/imports
{“import”:{“targetWorkspace”:{“workspace”:{“name”:“cite”}},“data”:
{“type”:“file”, “file”:“C:/taz_shapes/tasmania_cities.shp”}
}}
PUT http://localhost:8080/geoserver/rest/imports/1
{“task”:
{“updateMode” : “REPLACE”}
}
Here I get the following error which kills my import.
16 Aug 16:16:51 ERROR [geoserver.rest] - com.sun.proxy.$Proxy30 cannot be cast to org.geoserver.catalog.impl.LayerInfoImpl
java.lang.ClassCastException: com.sun.proxy.$Proxy30 cannot be cast to org.geoserver.catalog.impl.LayerInfoImpl
at org.geoserver.importer.rest.ImportTaskController.updateLayer(ImportTaskController.java:500)
at org.geoserver.importer.rest.ImportTaskController.handleTaskPut(ImportTaskController.java:416)
at org.geoserver.importer.rest.ImportTaskController.lambda$taskPut$4(ImportTaskController.java:192)
at org.geoserver.importer.rest.converters.ImportWrapperMessageConverter.writeJSON(ImportWrapperMessageConverter.java:84)
at org.geoserver.importer.rest.converters.ImportWrapperMessageConverter.writeInternal(ImportWrapperMessageConverter.java:66)
at org.geoserver.importer.rest.converters.ImportWrapperMessageConverter.writeInternal(ImportWrapperMessageConverter.java:26)
at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:227)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMeth
odProcessor.java:247)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:17
4)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
|