From 1fdc00ce4f1bedacecf13e7c5f685d43bd6f8825 Mon Sep 17 00:00:00 2001 From: Oscar Fonts Date: Tue, 26 Jun 2012 18:26:39 +0200 Subject: [PATCH] Added testcase trying to reproduce #11. Changed method to ProjectionPolicy.FORCE_DECLARED. --- .../rest/GeoServerRESTPublisher.java | 4 ++- .../publisher/GeoserverRESTShapeTest.java | 32 ++++++++++++++++++ .../resources/testdata/testshp_no_prj.zip | Bin 0 -> 38850 bytes 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/testdata/testshp_no_prj.zip diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java index 19502c2..2975db5 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java +++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java @@ -1199,7 +1199,9 @@ public class GeoServerRESTPublisher { String layerName, File zipFile, String nativeCrs, String defaultStyle) throws FileNotFoundException, IllegalArgumentException { - return publishShp(workspace, storename, (NameValuePair[])null, layerName, UploadMethod.FILE, zipFile.toURI(), nativeCrs, ProjectionPolicy.NONE,defaultStyle); + return publishShp(workspace, storename, (NameValuePair[]) null, + layerName, UploadMethod.FILE, zipFile.toURI(), nativeCrs, + ProjectionPolicy.FORCE_DECLARED, defaultStyle); } /** diff --git a/src/test/java/it/geosolutions/geoserver/rest/publisher/GeoserverRESTShapeTest.java b/src/test/java/it/geosolutions/geoserver/rest/publisher/GeoserverRESTShapeTest.java index cb349da..960b001 100644 --- a/src/test/java/it/geosolutions/geoserver/rest/publisher/GeoserverRESTShapeTest.java +++ b/src/test/java/it/geosolutions/geoserver/rest/publisher/GeoserverRESTShapeTest.java @@ -235,6 +235,38 @@ public class GeoserverRESTShapeTest extends GeoserverRESTTest { } + /** + * Test case to solve error described in: + * https://github.com/geosolutions-it/geoserver-manager/issues/11 + * + * @throws IllegalArgumentException + * @throws FileNotFoundException + */ + public void testPublishShpUsingDeclaredNativeCRS() throws Exception { + if (!enabled()) + return; + + // layer publication params + String workspace = DEFAULT_WS; + String storename = "resttestshp"; + String layerName = "cities"; + File zipFile = new ClassPathResource("testdata/testshp_no_prj.zip") + .getFile(); + String nativeCrs = "EPSG:4230"; + String defaultStyle = null; + + // Cleanup + deleteAllWorkspacesRecursively(); + assertTrue(publisher.createWorkspace(workspace)); + + // Publish layer + assertTrue(publisher.publishShp(workspace, storename, layerName, + zipFile, nativeCrs, defaultStyle)); + + // Read CRS. Should be using the one indicated at publication time. + assertNotNull(reader.getLayer(layerName)); + } + // public void testDeleteUnexistingFT() throws FileNotFoundException, IOException { // String wsName = "this_ws_does_not_exist"; diff --git a/src/test/resources/testdata/testshp_no_prj.zip b/src/test/resources/testdata/testshp_no_prj.zip new file mode 100644 index 0000000000000000000000000000000000000000..734704ffb6dd559d5319fa3b2f97ec8d681dbb93 GIT binary patch literal 38850 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 z