Merge 4e0ebffa3c into aef225d60e
This commit is contained in:
commit
ace38f553d
@ -7,18 +7,50 @@ import it.geosolutions.geoserver.rest.decoder.RESTPublished;
|
|||||||
import it.geosolutions.geoserver.rest.decoder.RESTPublishedList;
|
import it.geosolutions.geoserver.rest.decoder.RESTPublishedList;
|
||||||
import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem;
|
import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
|
||||||
public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setup() throws Exception {
|
||||||
|
String ws = "topp";
|
||||||
|
String storeName = "testshpcollection";
|
||||||
|
|
||||||
|
// Delete all resources except styles
|
||||||
|
deleteAllWorkspacesRecursively();
|
||||||
|
|
||||||
|
// Create workspace
|
||||||
|
assertTrue(publisher.createWorkspace(ws));
|
||||||
|
|
||||||
|
// Publish shp collection
|
||||||
|
URI location = new ClassPathResource("testdata/multipleshp.zip").getFile().toURI();
|
||||||
|
assertTrue(publisher.publishShpCollection(ws, storeName, location));
|
||||||
|
|
||||||
|
String storeType = reader.getDatastore(ws, storeName).getStoreType();
|
||||||
|
assertEquals(storeType, "Shapefile");
|
||||||
|
|
||||||
|
// Test published layer names
|
||||||
|
List<String> layers = reader.getLayers().getNames();
|
||||||
|
assertTrue(layers.contains("cities"));
|
||||||
|
assertTrue(layers.contains("boundaries"));
|
||||||
|
|
||||||
|
// Publish style
|
||||||
|
publisher.publishStyle(new ClassPathResource("testdata/default_line.sld").getFile(), "default_line");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateLayerGroup() throws Exception {
|
public void testCreateLayerGroup() throws Exception {
|
||||||
String groupName = "my-tasmania";
|
String groupName = "my-tasmania";
|
||||||
|
|
||||||
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
||||||
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
groupWriter.addLayer("topp:tasmania_cities");
|
groupWriter.addLayer("topp:cities");
|
||||||
assertTrue(publisher.createLayerGroup(groupName, groupWriter));
|
assertTrue(publisher.createLayerGroup(groupName, groupWriter));
|
||||||
try {
|
try {
|
||||||
RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
|
RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
|
||||||
@ -31,13 +63,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
assertEquals(2, publishedList.size());
|
assertEquals(2, publishedList.size());
|
||||||
for (RESTPublished published : publishedList) {
|
for (RESTPublished published : publishedList) {
|
||||||
assertEquals("layer", published.getType());
|
assertEquals("layer", published.getType());
|
||||||
assertTrue("tasmania_roads".equals(published.getName()) || "tasmania_cities".equals(published.getName()));
|
assertTrue("boundaries".equals(published.getName()) || "cities".equals(published.getName()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
RESTLayerList layerList = groupReader.getLayerList();
|
RESTLayerList layerList = groupReader.getLayerList();
|
||||||
assertEquals(2, layerList.size());
|
assertEquals(2, layerList.size());
|
||||||
for (NameLinkElem layer : layerList) {
|
for (NameLinkElem layer : layerList) {
|
||||||
assertTrue("tasmania_roads".equals(layer.getName()) || "tasmania_cities".equals(layer.getName()));
|
assertTrue("boundaries".equals(layer.getName()) || "cities".equals(layer.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -51,8 +83,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
|
|
||||||
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
||||||
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
groupWriter.addLayer("topp:tasmania_cities");
|
groupWriter.addLayer("topp:cities");
|
||||||
assertTrue(publisher.createLayerGroup("topp", groupName, groupWriter));
|
assertTrue(publisher.createLayerGroup("topp", groupName, groupWriter));
|
||||||
try {
|
try {
|
||||||
RESTLayerGroup groupReader = reader.getLayerGroup("topp", groupName);
|
RESTLayerGroup groupReader = reader.getLayerGroup("topp", groupName);
|
||||||
@ -65,13 +97,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
assertEquals(2, publishedList.size());
|
assertEquals(2, publishedList.size());
|
||||||
for (RESTPublished published : publishedList) {
|
for (RESTPublished published : publishedList) {
|
||||||
assertEquals("layer", published.getType());
|
assertEquals("layer", published.getType());
|
||||||
assertTrue("tasmania_roads".equals(published.getName()) || "tasmania_cities".equals(published.getName()));
|
assertTrue("boundaries".equals(published.getName()) || "cities".equals(published.getName()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
RESTLayerList layerList = groupReader.getLayerList();
|
RESTLayerList layerList = groupReader.getLayerList();
|
||||||
assertEquals(2, layerList.size());
|
assertEquals(2, layerList.size());
|
||||||
for (NameLinkElem layer : layerList) {
|
for (NameLinkElem layer : layerList) {
|
||||||
assertTrue("tasmania_roads".equals(layer.getName()) || "tasmania_cities".equals(layer.getName()));
|
assertTrue("boundaries".equals(layer.getName()) || "cities".equals(layer.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -82,8 +114,8 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
private void createTestLayerGroup(String workspace, String groupName) {
|
private void createTestLayerGroup(String workspace, String groupName) {
|
||||||
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
||||||
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
groupWriter.addLayer("topp:tasmania_cities");
|
groupWriter.addLayer("topp:cities");
|
||||||
assertTrue(publisher.createLayerGroup(workspace, groupName, groupWriter));
|
assertTrue(publisher.createLayerGroup(workspace, groupName, groupWriter));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,7 +126,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
createTestLayerGroup(null, groupName);
|
createTestLayerGroup(null, groupName);
|
||||||
try {
|
try {
|
||||||
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
|
|
||||||
assertTrue(publisher.configureLayerGroup(groupName, groupWriter));
|
assertTrue(publisher.configureLayerGroup(groupName, groupWriter));
|
||||||
|
|
||||||
@ -108,13 +140,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
assertEquals(1, publishedList.size());
|
assertEquals(1, publishedList.size());
|
||||||
for (RESTPublished published : publishedList) {
|
for (RESTPublished published : publishedList) {
|
||||||
assertEquals("layer", published.getType());
|
assertEquals("layer", published.getType());
|
||||||
assertTrue("tasmania_roads".equals(published.getName()));
|
assertTrue("boundaries".equals(published.getName()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
RESTLayerList layerList = groupReader.getLayerList();
|
RESTLayerList layerList = groupReader.getLayerList();
|
||||||
assertEquals(1, layerList.size());
|
assertEquals(1, layerList.size());
|
||||||
for (NameLinkElem layer : layerList) {
|
for (NameLinkElem layer : layerList) {
|
||||||
assertTrue("tasmania_roads".equals(layer.getName()));
|
assertTrue("boundaries".equals(layer.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -129,7 +161,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
createTestLayerGroup("topp", groupName);
|
createTestLayerGroup("topp", groupName);
|
||||||
try {
|
try {
|
||||||
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
GSLayerGroupEncoder groupWriter = new GSLayerGroupEncoder();
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
|
|
||||||
assertTrue(publisher.configureLayerGroup("topp", groupName, groupWriter));
|
assertTrue(publisher.configureLayerGroup("topp", groupName, groupWriter));
|
||||||
|
|
||||||
@ -143,13 +175,13 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
assertEquals(1, publishedList.size());
|
assertEquals(1, publishedList.size());
|
||||||
for (RESTPublished published : publishedList) {
|
for (RESTPublished published : publishedList) {
|
||||||
assertEquals("layer", published.getType());
|
assertEquals("layer", published.getType());
|
||||||
assertTrue("tasmania_roads".equals(published.getName()));
|
assertTrue("boundaries".equals(published.getName()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
RESTLayerList layerList = groupReader.getLayerList();
|
RESTLayerList layerList = groupReader.getLayerList();
|
||||||
assertEquals(1, layerList.size());
|
assertEquals(1, layerList.size());
|
||||||
for (NameLinkElem layer : layerList) {
|
for (NameLinkElem layer : layerList) {
|
||||||
assertTrue("tasmania_roads".equals(layer.getName()));
|
assertTrue("boundaries".equals(layer.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -164,7 +196,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
createTestLayerGroup(null, groupName);
|
createTestLayerGroup(null, groupName);
|
||||||
try {
|
try {
|
||||||
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
|
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
|
||||||
groupWriter.addLayer("topp:tasmania_roads");
|
groupWriter.addLayer("topp:boundaries");
|
||||||
groupWriter.setMode(GSLayerGroupEncoder23.MODE_NAMED);
|
groupWriter.setMode(GSLayerGroupEncoder23.MODE_NAMED);
|
||||||
groupWriter.setTitle("my title");
|
groupWriter.setTitle("my title");
|
||||||
groupWriter.setAbstract("my abstract");
|
groupWriter.setAbstract("my abstract");
|
||||||
@ -182,7 +214,7 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
assertEquals(1, publishedList.size());
|
assertEquals(1, publishedList.size());
|
||||||
for (RESTPublished published : publishedList) {
|
for (RESTPublished published : publishedList) {
|
||||||
assertEquals("layer", published.getType());
|
assertEquals("layer", published.getType());
|
||||||
assertTrue("tasmania_roads".equals(published.getName()));
|
assertTrue("boundaries".equals(published.getName()));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
assertTrue(publisher.removeLayerGroup(groupName));
|
assertTrue(publisher.removeLayerGroup(groupName));
|
||||||
@ -196,37 +228,42 @@ public class GSLayerGroupEncoderTest extends GeoserverRESTTest {
|
|||||||
public void testCreateNestedLayerGroup23() throws Exception {
|
public void testCreateNestedLayerGroup23() throws Exception {
|
||||||
String groupName = "my-tasmania-eo";
|
String groupName = "my-tasmania-eo";
|
||||||
|
|
||||||
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
|
createTestLayerGroup(null, "tasmania");
|
||||||
groupWriter.setTitle("my title");
|
|
||||||
groupWriter.setAbstract("my abstract");
|
|
||||||
groupWriter.setMode(GSLayerGroupEncoder23.MODE_EO);
|
|
||||||
groupWriter.setRootLayer("topp:tasmania_roads", "simple_roads");
|
|
||||||
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
|
||||||
groupWriter.addLayer("topp:tasmania_cities");
|
|
||||||
groupWriter.addLayerGroup("tasmania");
|
|
||||||
|
|
||||||
assertTrue(publisher.createLayerGroup(groupName, groupWriter));
|
|
||||||
try {
|
try {
|
||||||
RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
|
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
|
||||||
assertNull(groupReader.getWorkspace());
|
groupWriter.setTitle("my title");
|
||||||
assertEquals(groupName, groupReader.getName());
|
groupWriter.setAbstract("my abstract");
|
||||||
assertEquals("my title", groupReader.getTitle());
|
groupWriter.setMode(GSLayerGroupEncoder23.MODE_EO);
|
||||||
assertEquals("my abstract", groupReader.getAbstract());
|
groupWriter.setRootLayer("topp:boundaries", "default_line");
|
||||||
assertEquals(GSLayerGroupEncoder23.MODE_EO, groupReader.getMode());
|
groupWriter.setBounds("EPSG:26713", 589425.93423656, 609518.6719560538, 4913959.224611808, 4928082.949945881);
|
||||||
assertEquals("tasmania_roads", groupReader.getRootLayer());
|
groupWriter.addLayer("topp:cities");
|
||||||
|
groupWriter.addLayerGroup("tasmania");
|
||||||
|
|
||||||
RESTPublishedList publishedList = groupReader.getPublishedList();
|
assertTrue(publisher.createLayerGroup(groupName, groupWriter));
|
||||||
assertEquals(2, publishedList.size());
|
try {
|
||||||
for (RESTPublished published : publishedList) {
|
RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
|
||||||
if ("layer".equals(published.getType())) {
|
assertNull(groupReader.getWorkspace());
|
||||||
assertEquals("tasmania_cities", published.getName());
|
assertEquals(groupName, groupReader.getName());
|
||||||
} else {
|
assertEquals("my title", groupReader.getTitle());
|
||||||
assertEquals("layerGroup", published.getType());
|
assertEquals("my abstract", groupReader.getAbstract());
|
||||||
assertEquals("tasmania", published.getName());
|
assertEquals(GSLayerGroupEncoder23.MODE_EO, groupReader.getMode());
|
||||||
|
assertEquals("boundaries", groupReader.getRootLayer());
|
||||||
|
|
||||||
|
RESTPublishedList publishedList = groupReader.getPublishedList();
|
||||||
|
assertEquals(2, publishedList.size());
|
||||||
|
for (RESTPublished published : publishedList) {
|
||||||
|
if ("layer".equals(published.getType())) {
|
||||||
|
assertEquals("cities", published.getName());
|
||||||
|
} else {
|
||||||
|
assertEquals("layerGroup", published.getType());
|
||||||
|
assertEquals("tasmania", published.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
assertTrue(publisher.removeLayerGroup(groupName));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
assertTrue(publisher.removeLayerGroup(groupName));
|
assertTrue(publisher.removeLayerGroup("tasmania"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user