package mil.nga.giat.geowave.adapter.vector.plugin;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.Serializable;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.List;
import mil.nga.giat.geowave.core.store.memory.MemoryStoreFactoryFamily;
import org.geotools.data.DataAccessFactory.Param;
import org.geotools.data.Parameter;
import org.junit.Assert;
import org.junit.Test;
public class GeoWavePluginConfigTest
{
@Test
public void test()
throws GeoWavePluginException,
URISyntaxException {
final List<Param> params = GeoWavePluginConfig.getPluginParams(new MemoryStoreFactoryFamily());
final HashMap<String, Serializable> paramValues = new HashMap<String, Serializable>();
for (final Param param : params) {
if (param.getName().equals(
GeoWavePluginConfig.LOCK_MGT_KEY)) {
final List<String> options = (List<String>) param.metadata.get(Parameter.OPTIONS);
assertNotNull(options);
assertTrue(options.size() > 0);
paramValues.put(
param.getName(),
options.get(0));
}
else if (param.getName().equals(
GeoWavePluginConfig.FEATURE_NAMESPACE_KEY)) {
paramValues.put(
param.getName(),
new URI(
"http://test/test"));
}
else if (param.getName().equals(
GeoWavePluginConfig.TRANSACTION_BUFFER_SIZE)) {
paramValues.put(
param.getName(),
1000);
}
else if (!param.getName().equals(
GeoWavePluginConfig.AUTH_URL_KEY)) {
paramValues.put(
param.getName(),
(Serializable) (param.getDefaultValue() == null ? "" : param.getDefaultValue()));
}
}
final GeoWavePluginConfig config = new GeoWavePluginConfig(
new MemoryStoreFactoryFamily(),
paramValues);
Assert.assertEquals(
1000,
(int) config.getTransactionBufferSize());
assertNotNull(config.getLockingManagementFactory());
assertNotNull(config.getLockingManagementFactory().createLockingManager(
config));
}
}