VirtualTable support - fix GSFeatureTypeEncoder + add test data &
setting info for integration test
This commit is contained in:
parent
3dc49b952f
commit
00e3f89d10
@ -53,46 +53,22 @@ public class GSFeatureTypeEncoder extends GSResourceEncoder {
|
|||||||
* @param key
|
* @param key
|
||||||
* @param dimensionInfo
|
* @param dimensionInfo
|
||||||
*
|
*
|
||||||
* @deprecated Replaced by
|
|
||||||
* {@link #addMetadataDimension(String, GSFeatureDimensionInfoEncoder)}
|
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
protected void addMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
protected void addMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
||||||
super.addMetadata(key, dimensionInfo);
|
super.addMetadata(key, dimensionInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* @param dimensionInfo
|
|
||||||
*/
|
|
||||||
protected void addMetadataDimension(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
|
||||||
super.addMetadata(key, dimensionInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param key
|
* @param key
|
||||||
* @param dimensionInfo
|
* @param dimensionInfo
|
||||||
*
|
*
|
||||||
* @deprecated Replaced by
|
|
||||||
* {@link #setMetadataDimension(String, GSFeatureDimensionInfoEncoder)}
|
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
public void setMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
public void setMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
||||||
super.setMetadata(key, dimensionInfo);
|
super.setMetadata(key, dimensionInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* @param dimensionInfo
|
|
||||||
*/
|
|
||||||
public void setMetadataDimension(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
|
|
||||||
super.setMetadata(key, dimensionInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a VirtualTable (SQL View feature type)
|
* Add a VirtualTable (SQL View feature type)
|
||||||
*
|
*
|
||||||
|
|||||||
@ -148,7 +148,7 @@ public class GSFeatureEncoderTest extends GeoserverRESTPublisherTest {
|
|||||||
|
|
||||||
GSFeatureDimensionInfoEncoder dim2 = new GSFeatureDimensionInfoEncoder("ELE");
|
GSFeatureDimensionInfoEncoder dim2 = new GSFeatureDimensionInfoEncoder("ELE");
|
||||||
|
|
||||||
encoder.addMetadataDimension("elevation", dim2);
|
encoder.addMetadata("elevation", dim2);
|
||||||
dim2.setPresentation(PresentationDiscrete.DISCRETE_INTERVAL, BigDecimal.valueOf(10));
|
dim2.setPresentation(PresentationDiscrete.DISCRETE_INTERVAL, BigDecimal.valueOf(10));
|
||||||
Element el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.PRESENTATION);
|
Element el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.PRESENTATION);
|
||||||
Assert.assertNotNull(el);
|
Assert.assertNotNull(el);
|
||||||
@ -162,7 +162,7 @@ public class GSFeatureEncoderTest extends GeoserverRESTPublisherTest {
|
|||||||
|
|
||||||
dim2.setPresentation(Presentation.CONTINUOUS_INTERVAL);
|
dim2.setPresentation(Presentation.CONTINUOUS_INTERVAL);
|
||||||
|
|
||||||
encoder.setMetadataDimension("time", new GSFeatureDimensionInfoEncoder("time"));
|
encoder.setMetadata("time", new GSFeatureDimensionInfoEncoder("time"));
|
||||||
el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.PRESENTATION);
|
el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.PRESENTATION);
|
||||||
Assert.assertNotNull(el);
|
Assert.assertNotNull(el);
|
||||||
el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.RESOLUTION);
|
el = ElementUtils.contains(encoder.getRoot(), GSDimensionInfoEncoder.RESOLUTION);
|
||||||
@ -213,7 +213,7 @@ public class GSFeatureEncoderTest extends GeoserverRESTPublisherTest {
|
|||||||
// LOGGER.info(encoder.toString());
|
// LOGGER.info(encoder.toString());
|
||||||
|
|
||||||
final String metadata = "elevation";
|
final String metadata = "elevation";
|
||||||
encoder.setMetadataDimension(metadata, elevationDimension);
|
encoder.setMetadata(metadata, elevationDimension);
|
||||||
|
|
||||||
elevationDimension.setPresentation(PresentationDiscrete.DISCRETE_INTERVAL,
|
elevationDimension.setPresentation(PresentationDiscrete.DISCRETE_INTERVAL,
|
||||||
BigDecimal.valueOf(10));
|
BigDecimal.valueOf(10));
|
||||||
@ -234,6 +234,17 @@ public class GSFeatureEncoderTest extends GeoserverRESTPublisherTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for virtual table encoding / SQL view layer integration
|
||||||
|
*
|
||||||
|
* Settings information for integration tests
|
||||||
|
* - test is based on the data used in http://docs.geoserver.org/latest/en/user/data/database/sqlview.html#parameterizing-sql-views
|
||||||
|
* (states shapefile - available in testdata/states.zip)
|
||||||
|
* - create a postgis db
|
||||||
|
* - import the states shapefile (using shp2pgsql or Postgis shapefile uploader)
|
||||||
|
* - In Geoserver, create a postgis datastore for this DB, with the name "statesdb"
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testSQLViewIntegration(){
|
public void testSQLViewIntegration(){
|
||||||
|
|
||||||
@ -241,7 +252,8 @@ public class GSFeatureEncoderTest extends GeoserverRESTPublisherTest {
|
|||||||
return;
|
return;
|
||||||
deleteAll();
|
deleteAll();
|
||||||
GeoServerRESTPublisher publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW);
|
GeoServerRESTPublisher publisher = new GeoServerRESTPublisher(RESTURL, RESTUSER, RESTPW);
|
||||||
|
|
||||||
|
|
||||||
String storeName = "statesdb"; //name of the datastore setup for tests
|
String storeName = "statesdb"; //name of the datastore setup for tests
|
||||||
String layerName = "my_sqlviewlayer";
|
String layerName = "my_sqlviewlayer";
|
||||||
String nativeName = "popstates";
|
String nativeName = "popstates";
|
||||||
|
|||||||
BIN
src/test/resources/testdata/states.zip
vendored
Normal file
BIN
src/test/resources/testdata/states.zip
vendored
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user