public ImportContext createContext(ImportData data, WorkspaceInfo targetWorkspace) throws IOException { return createContext(data, targetWorkspace, null); }
@Override protected ImportContext call(ProgressMonitor monitor) throws Exception { return createContext(data, targetWorkspace, targetStore, monitor); }
public ImportContext createContext(ImportData data, StoreInfo targetStore) throws IOException { return createContext(data, null, targetStore); }
public ImportContext createContext(ImportData data, StoreInfo targetStore) throws IOException { return createContext(data, null, targetStore); }
@Override protected ImportContext callInternal(ProgressMonitor monitor) throws Exception { return createContext(data, targetWorkspace, targetStore, monitor); }
public ImportContext createContext(ImportData data, WorkspaceInfo targetWorkspace, StoreInfo targetStore) throws IOException { return createContext(data, targetWorkspace, targetStore, null); }
public ImportContext createContext(ImportData data) throws IOException { return createContext(data, null, null); }
public ImportContext registerContext(Long id) throws IOException, IllegalArgumentException { ImportContext context = createContext(id); context.setState(org.geoserver.importer.ImportContext.State.INIT); return context; }
@Test public void testImportDatabaseIntoDatabase() throws Exception { File dir = unpack("h2/cookbook.zip"); DataStoreInfo ds = createH2DataStore("gs", "cookbook"); Map params = new HashMap(); params.put(H2DataStoreFactory.DBTYPE.key, "h2"); params.put(H2DataStoreFactory.DATABASE.key, new File(dir, "cookbook").getAbsolutePath()); ImportContext context = importer.createContext(new Database(params), ds); assertEquals(3, context.getTasks().size()); }
@Test public void testCreateContextSingleFile() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); SpatialFile file = new SpatialFile(new File(dir, "archsites.shp")); file.prepare(); ImportContext context = importer.createContext(file); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(file, task.getData()); }
@Test public void testCreateContextIgnoreHidden() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); FileUtils.touch(new File(dir, ".DS_Store")); ImportContext context = importer.createContext(new Directory(dir)); assertEquals(1, context.getTasks().size()); }
@Test public void testImportShapefilesWithExtraFiles() throws Exception { File dir = tmpDir(); unpack("shape/archsites_epsg_prj.zip", dir); // make some 'extra' files new File(dir, "archsites.sbn").createNewFile(); new File(dir, "archsites.sbx").createNewFile(); new File(dir, "archsites.shp.xml").createNewFile(); ImportContext context = importer.createContext(new Directory(dir)); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(ImportTask.State.READY, task.getState()); assertEquals("archsites", task.getLayer().getResource().getName()); }
@Test public void testCreateContextFromArchive() throws Exception { File file = file("shape/archsites_epsg_prj.zip"); Archive arch = new Archive(file); ImportContext context = importer.createContext(arch); assertEquals(1, context.getTasks().size()); }
@Test public void testCreateContextDirectoryHetero() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("geotiff/EmissiveCampania.tif.bz2", dir); Directory d = new Directory(dir); ImportContext context = importer.createContext(d); assertEquals(2, context.getTasks().size()); // cannot ensure order of tasks due to hashing HashSet files = new HashSet(); files.add(context.getTasks().get(0).getData()); files.add(context.getTasks().get(1).getData()); assertTrue(files.containsAll(d.getFiles())); }
@Test public void testImportUnknownFile() throws Exception { File dir = new File("./src/test/resources/org/geoserver/importer/test-data/random"); ImportContext context = importer.createContext(new Directory(dir)); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(ImportTask.State.NO_FORMAT, task.getState()); assertNull(task.getData().getFormat()); }
@Test public void testImportUnknownFileIndirect() throws Exception { DataStoreInfo ds = createH2DataStore(null, "foo"); File dir = new File("./src/test/resources/org/geoserver/importer/test-data/random"); ImportContext context = importer.createContext(new Directory(dir), ds); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(ImportTask.State.NO_FORMAT, task.getState()); assertNull(task.getData().getFormat()); }
StyleInfo writeStyleAndImport(String sld, String filename, File dir) throws IOException { FileUtils.write(new File(dir, filename), sld); ImportContext imp = importer.createContext(new Directory(dir)); importer.run(imp); assertEquals(ImportContext.State.COMPLETE, imp.getState()); checkNoErrors(imp); return getCatalog().getStyle(imp.getTasks().get(0).getLayer().getDefaultStyle().getId()); }
@Test public void testSimpleMosaic() throws Exception { File dir = unpack("mosaic/bm.zip"); ImportContext context = importer.createContext(new Mosaic(dir)); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertTrue(task.getData() instanceof Mosaic); assertTrue(task.getData().getFormat() instanceof MosaicFormat); importer.run(context); runChecks(dir.getName()); }
@Test public void testCreateContextDirectoryHomo() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("shape/bugsites_esri_prj.tar.gz", dir); Directory d = new Directory(dir); ImportContext context = importer.createContext(d); assertEquals(2, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(d.part("archsites"), task.getData()); task = context.getTasks().get(1); assertEquals(d.part("bugsites"), task.getData()); }
@Test public void testDirectImport() throws Exception { Database db = new Database(getConnectionParams()); ImportContext context = importer.createContext(db); assertEquals(ImportContext.State.PENDING, context.getState()); assertEquals(1, context.getTasks().size()); importer.run(context); runChecks("gs:" + tableName("widgets")); }