Package org.geoserver.importer

Examples of org.geoserver.importer.ImportContext


        acceptData(data);
    }

    private void acceptData(ImportData data) {
        ImportContext context = context();
        List<ImportTask> newTasks = null;
        try {
            newTasks = importer.update(context, data);
            //importer.prep(context);
            //context.updated();
        } catch (ValidationException ve) {
            throw ImportJSONWriter.badRequest(ve.getMessage());
        } catch (IOException e) {
            throw new RestletException("Error updating context", Status.SERVER_ERROR_INTERNAL, e);
        }

        if (!newTasks.isEmpty()) {
            Object result = newTasks;
            if (newTasks.size() == 1) {
                result = newTasks.get(0);
                long taskId = newTasks.get(0).getId();
                getResponse().redirectSeeOther(getPageInfo().rootURI(
                    String.format("/imports/%d/tasks/%d", context.getId(), taskId)));
            }

            getResponse().setEntity(getFormatGet().toRepresentation(result));
            getResponse().setStatus(Status.SUCCESS_CREATED);
        }
View Full Code Here


        DataStoreInfo ds = cat.getFactory().createDataStore();
        ds.setName("data");

        File dir = unpack("shape/archsites_epsg_prj.zip");
        ImportContext context = importer.createContext(new Directory(dir), ws, ds);

        SerialVersionSafeSerialBinding binding = new SerialVersionSafeSerialBinding();

        DatabaseEntry e = new DatabaseEntry();
        binding.objectToEntry(context, e);
       
        ImportContext context2 = (ImportContext) binding.entryToObject(e);
        context2.reattach(cat, true);

        assertNotNull(context2.getTargetWorkspace().getId());
        assertNotNull(context2.getTargetStore().getId());

        assertEquals(1, context2.getTasks().size());
        ImportTask task = context2.getTasks().get(0);

        assertNotNull(task.getStore());
        assertNotNull(task.getStore().getId());
        assertNotNull(task.getStore().getWorkspace());
View Full Code Here

                root.mkdirs();
                return root;
            }
           
        };
        ImportContext ctx = new ImportContext2();
        ctx.setState(ImportContext.State.PENDING);
        ctx.setUser("fooboo");
        BDBImportStore store = new BDBImportStore(imp);
        try {
            store.init();
            store.add(ctx);
           
            Iterator<ImportContext> iterator = store.iterator();
            while (iterator.hasNext()) {
                ctx = iterator.next();
                assertEquals("fooboo", ctx.getUser());
            }
           
            store.add(ctx);
        } finally {       
            store.destroy();
View Full Code Here

    }

    @Test
    public void testAdd() throws Exception {
        File dir = unpack("shape/archsites_epsg_prj.zip");
        ImportContext context = importer.createContext(new Directory(dir));

        assertEquals(1,context.getTasks().size());
        for (int i = 0; i < context.getTasks().size(); i++) {
            assertNotNull(context.getTasks().get(i).getStore());
            assertNotNull(context.getTasks().get(i).getStore().getCatalog());
        }
       
        // @todo commented these out as importer.createContext adds to the store
//        assertNull(context.getId());

        CountingVisitor cv = new CountingVisitor();
//        store.query(cv);
//        assertEquals(0, cv.getCount());

        store.add(context);
        assertNotNull(context.getId());
        assertNotNull(context.getTasks().get(0).getLayer());

        ImportContext context2 = store.get(context.getId());
        assertNotNull(context2);
        assertEquals(context.getId(), context2.getId());

        store.query(cv);
        assertEquals(1, cv.getCount());
       
        SearchingVisitor sv = new SearchingVisitor(context.getId());
        store.query(sv);
        assertTrue(sv.isFound());
       
        importer.reattach(context2);

        // ensure various transient bits are set correctly on deserialization
        assertEquals(1,context2.getTasks().size());
        for (int i = 0; i < context2.getTasks().size(); i++) {
            assertNotNull(context2.getTasks().get(i).getStore());
            assertNotNull(context2.getTasks().get(i).getStore().getCatalog());
        }
        assertNotNull(context2.getTasks().get(0).getLayer());
    }
View Full Code Here

    @Test
    public void testSave() throws Exception {
        testAdd();

        ImportContext context = store.get(0);
        assertNotNull(context);

        assertEquals(ImportContext.State.PENDING, context.getState());
        context.setState(ImportContext.State.COMPLETE);

        ImportContext context2 = store.get(0);
        assertNotNull(context2);
        assertEquals(ImportContext.State.PENDING, context2.getState());

        store.save(context);
        context2 = store.get(0);
        assertNotNull(context2);
        assertEquals(ImportContext.State.COMPLETE, context2.getState());
    }
View Full Code Here

    }
   
    @Test
    public void testIDManagement() throws Exception {
        // verify base - first one is zero
        ImportContext zero = new ImportContext();
        store.add(zero);
        assertEquals(new Long(0), zero.getId());

        // try for zero again (less than current case - client out of sync)
        Long advanceId = store.advanceId(0L);
        assertEquals(new Long(1), advanceId);

        // and again for current (equals current case - normal mode)
        advanceId = store.advanceId(2L);
        assertEquals(new Long(2), advanceId);

        // now jump ahead (client advances case - server out of sync)
        advanceId = store.advanceId(666L);
        assertEquals(new Long(666), advanceId);

        // the next created import should be one higher
        ImportContext dumby = new ImportContext();
        store.add(dumby);
        assertEquals(new Long(667), dumby.getId());
    }
View Full Code Here

    }

    public void contexts(Iterator<ImportContext> contexts, int expand) throws IOException {
        json.object().key("imports").array();
        while (contexts.hasNext()) {
            ImportContext context = contexts.next();
            context(context, false, expand);
        }
        json.endArray().endObject();
        json.flush();
    }
View Full Code Here

public class XStreamInfoSerialBindingTest extends ImporterTestSupport {

    @Test
    public void testSerializeWithNewStore() throws Exception {
        File dir = unpack("shape/archsites_epsg_prj.zip");
        ImportContext context = importer.createContext(new Directory(dir));

        XStreamPersister xp = importer.createXStreamPersisterXML();
        XStreamInfoSerialBinding<ImportContext> binding =
                new XStreamInfoSerialBinding<ImportContext>(xp, ImportContext.class);
        binding.setCompress(false);

        DatabaseEntry e = new DatabaseEntry();
        binding.objectToEntry(context, e);

        Document dom = dom(new ByteArrayInputStream(e.getData(), 0, e.getSize()));
        print(dom);
        XMLAssert.assertXpathExists("/import", dom);
       
        print(dom);
       
        //workspace referenced by id
        XMLAssert.assertXpathExists("/import/targetWorkspace/id", dom);

        //store inline
        XMLAssert.assertXpathExists("/import/tasks/task[position()=1]/store/name", dom);
        XMLAssert.assertXpathNotExists("/import/tasks/task[position()=1]/store/id", dom);

        ImportContext context2 = binding.entryToObject(e);
        assertNotNull(context2.getTargetWorkspace());
        assertNotNull(context2.getTargetWorkspace().getId());
        assertNotNull(context2.getTargetWorkspace().getName());

        ImportTask task = context2.getTasks().get(0);
        assertNotNull(task.getStore());
        assertNull(task.getStore().getId());
        assertNotNull(task.getStore().getName());

        assertNotNull(task.getLayer());
View Full Code Here

        File dir = tmpDir();
        unpack("shape/archsites_epsg_prj.zip", dir);
        unpack("shape/bugsites_esri_prj.tar.gz", dir);

        ds = cat.getDataStore(ds.getId());
        ImportContext context = importer.createContext(new Directory(dir), ds);
        assertEquals(2, context.getTasks().size());

        XStreamPersister xp = new XStreamPersisterFactory().createXMLPersister();
        xp.getXStream().omitField(ImportTask.class, "context");

        XStreamInfoSerialBinding<ImportContext> binding =
View Full Code Here

    }

    void checkAndFixDbIncompatability(DatabaseConfig dbConfig, Environment env) {
        // check for potential class incompatibilities and attempt recovery
        try {
            ImportContext context = iterator().next();
            System.out.println(context);
        } catch (RuntimeException re) {
            if (re.getCause() instanceof java.io.ObjectStreamException) {
                LOGGER.warning("Unable to read import database, attempting recovery");
               
View Full Code Here

TOP

Related Classes of org.geoserver.importer.ImportContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.