Merge 695877041a into 75f03072d1
This commit is contained in:
commit
830ea5a51c
@ -36,6 +36,7 @@ public class GSOracleNGDatastoreEncoder extends GSAbstractDatastoreEncoder {
|
|||||||
|
|
||||||
static final String TYPE = "Oracle NG";
|
static final String TYPE = "Oracle NG";
|
||||||
|
|
||||||
|
static final String DEFAULT_DB_TYPE = "oracle";
|
||||||
static final int DEFAULT_MIN_CONNECTIONS = 1;
|
static final int DEFAULT_MIN_CONNECTIONS = 1;
|
||||||
static final int DEFAULT_MAX_CONNECTIONS = 10;
|
static final int DEFAULT_MAX_CONNECTIONS = 10;
|
||||||
static final int DEFAULT_FETCH_SIZE = 1000;
|
static final int DEFAULT_FETCH_SIZE = 1000;
|
||||||
@ -68,6 +69,7 @@ public class GSOracleNGDatastoreEncoder extends GSAbstractDatastoreEncoder {
|
|||||||
|
|
||||||
// Set mandatory parameter
|
// Set mandatory parameter
|
||||||
setType(TYPE);
|
setType(TYPE);
|
||||||
|
setDatabaseType(DEFAULT_DB_TYPE);
|
||||||
setDatabase(database);
|
setDatabase(database);
|
||||||
|
|
||||||
// Set default values
|
// Set default values
|
||||||
@ -121,6 +123,11 @@ public class GSOracleNGDatastoreEncoder extends GSAbstractDatastoreEncoder {
|
|||||||
connectionParameters.set("passwd", password);
|
connectionParameters.set("passwd", password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setDatabaseType(String dbtype) {
|
||||||
|
connectionParameters.set("dbtype", dbtype);
|
||||||
|
}
|
||||||
|
|
||||||
public void setJndiReferenceName(String jndiReferenceName) {
|
public void setJndiReferenceName(String jndiReferenceName) {
|
||||||
connectionParameters.set("jndiReferenceName", jndiReferenceName);
|
connectionParameters.set("jndiReferenceName", jndiReferenceName);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,8 +29,10 @@ import java.net.MalformedURLException;
|
|||||||
import it.geosolutions.geoserver.rest.GeoserverRESTTest;
|
import it.geosolutions.geoserver.rest.GeoserverRESTTest;
|
||||||
import it.geosolutions.geoserver.rest.decoder.RESTDataStore;
|
import it.geosolutions.geoserver.rest.decoder.RESTDataStore;
|
||||||
import it.geosolutions.geoserver.rest.encoder.GSAbstractStoreEncoder;
|
import it.geosolutions.geoserver.rest.encoder.GSAbstractStoreEncoder;
|
||||||
|
import it.geosolutions.geoserver.rest.encoder.GSLayerEncoder;
|
||||||
import it.geosolutions.geoserver.rest.encoder.datastore.GSAbstractDatastoreEncoder;
|
import it.geosolutions.geoserver.rest.encoder.datastore.GSAbstractDatastoreEncoder;
|
||||||
import it.geosolutions.geoserver.rest.encoder.datastore.GSOracleNGDatastoreEncoder;
|
import it.geosolutions.geoserver.rest.encoder.datastore.GSOracleNGDatastoreEncoder;
|
||||||
|
import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureTypeEncoder;
|
||||||
import it.geosolutions.geoserver.rest.manager.GeoServerRESTStoreManager;
|
import it.geosolutions.geoserver.rest.manager.GeoServerRESTStoreManager;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@ -41,8 +43,14 @@ import org.slf4j.LoggerFactory;
|
|||||||
/**
|
/**
|
||||||
* <P>
|
* <P>
|
||||||
* Since these tests require a running Store instance, this is more like integration tests.<br/>
|
* Since these tests require a running Store instance, this is more like integration tests.<br/>
|
||||||
|
*
|
||||||
|
* For testing that a datastore is properly configured, a layer publication has
|
||||||
|
* to be attempted. For this, the 'states' data (states shapefile - available in
|
||||||
|
* testdata/states.zip) has to be imported in the corresponding store.
|
||||||
|
* Note: For Oracle NG this name has to be uppercase (STATES).
|
||||||
*
|
*
|
||||||
* @author carlo cancellieri - GeoSolutions
|
* @author carlo cancellieri - GeoSolutions
|
||||||
|
* @author emmanuel blondel
|
||||||
*
|
*
|
||||||
* @see GeoserverRESTTest
|
* @see GeoserverRESTTest
|
||||||
*/
|
*/
|
||||||
@ -102,6 +110,32 @@ public abstract class StoreIntegrationTest extends GeoserverRESTTest {
|
|||||||
assertNotNull(datastore);
|
assertNotNull(datastore);
|
||||||
LOGGER.info("The type of the created datastore is: " + datastore.getStoreType());
|
LOGGER.info("The type of the created datastore is: " + datastore.getStoreType());
|
||||||
|
|
||||||
|
// check if the datastore is properly configured in GS for publishing layers
|
||||||
|
String layername = "states";
|
||||||
|
if (storeEncoder instanceof GSOracleNGDatastoreEncoder)
|
||||||
|
layername = layername.toUpperCase();
|
||||||
|
|
||||||
|
GSFeatureTypeEncoder fte = new GSFeatureTypeEncoder();
|
||||||
|
fte.setName(layername);
|
||||||
|
fte.setTitle(layername);
|
||||||
|
fte.setNativeCRS("EPSG:4326");
|
||||||
|
fte.setDescription("desc");
|
||||||
|
fte.setEnabled(true);
|
||||||
|
GSLayerEncoder layerEncoder = new GSLayerEncoder();
|
||||||
|
layerEncoder.setEnabled(true);
|
||||||
|
layerEncoder.setQueryable(true);
|
||||||
|
layerEncoder.setDefaultStyle("polygon");
|
||||||
|
|
||||||
|
boolean published = publisher.publishDBLayer(DEFAULT_WS, storeName,
|
||||||
|
fte, layerEncoder);
|
||||||
|
if (!ignore) {
|
||||||
|
assertTrue("Test layer not published", published);
|
||||||
|
} else if (!published) {
|
||||||
|
LOGGER.error("*** Test layer "
|
||||||
|
+ layername
|
||||||
|
+ " has not been published. Problem in datastore configuration");
|
||||||
|
}
|
||||||
|
|
||||||
// removing test
|
// removing test
|
||||||
boolean removed = storeManager.remove(DEFAULT_WS, storeEncoder, true);
|
boolean removed = storeManager.remove(DEFAULT_WS, storeEncoder, true);
|
||||||
if( ! ignore )
|
if( ! ignore )
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user