Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.sqlite / org.gvsig.sqlite.provider / src / test / java / org / gvsig / sqlite / dal / WorkspaceTest.java @ 47539

History | View | Annotate | Download (4 KB)

1
package org.gvsig.sqlite.dal;
2

    
3
import java.util.HashMap;
4
import java.util.List;
5
import java.util.Map;
6
import junit.framework.TestCase;
7
import org.gvsig.fmap.dal.DALLocator;
8
import org.gvsig.fmap.dal.DataManager;
9
import org.gvsig.fmap.dal.DataStore;
10
import org.gvsig.fmap.dal.DataStoreParameters;
11
import org.gvsig.fmap.dal.DatabaseWorkspaceManager;
12
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
13
import org.gvsig.fmap.dal.feature.EditableFeatureType;
14
import org.gvsig.fmap.dal.feature.FeatureStore;
15
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
16
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
17
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
18
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21

    
22
/**
23
 *
24
 * @author jjdelcerro
25
 */
26
public class WorkspaceTest extends TestCase {
27
    private static final Logger LOGGER = LoggerFactory.getLogger(TestCreate.class);
28

    
29
    public static final String DBNAME = "test_workspace";
30
   
31
    public WorkspaceTest(String testName) {
32
        super(testName);
33
    }
34

    
35
    @Override
36
    protected void setUp() throws Exception {
37
        super.setUp();
38
        new DefaultLibrariesInitializer().fullInitialize();
39
    }
40

    
41
    @Override
42
    protected void tearDown() throws Exception {
43
        super.tearDown();
44
    }
45

    
46
    protected String getProviderName() {
47
        return DataStore.H2SPATIAL_PROVIDER_NAME;
48
    }
49
    
50
    protected String getTargetName() {
51
        return "testCreateTarget1";
52
    }
53
    
54
    protected FeatureStore openTargetStore1(JDBCServerExplorer explorer) throws Exception {
55
        JDBCStoreParameters params = explorer.get(getTargetName());
56
        
57
        DataManager dataManager = DALLocator.getDataManager();
58
        FeatureStore store;
59
        try {
60
            store = (FeatureStore) dataManager.openStore(
61
                    getProviderName(), 
62
                    params
63
            );
64
        } catch(ValidateDataParametersException ex) {
65
            LOGGER.warn(ex.getLocalizedMessageStack());
66
            throw ex;
67
        }
68
        return store;
69
    }
70

    
71
    protected void createFrom(JDBCServerExplorer explorer, FeatureStore sourceStore) throws Exception {
72
        NewFeatureStoreParameters params = (NewFeatureStoreParameters) explorer.getAddParameters(
73
                getTargetName()
74
        );
75
        EditableFeatureType ft = params.getDefaultFeatureType();
76
        ft.addAll(sourceStore.getDefaultFeatureType());
77
        explorer.add(getProviderName(), params, true);
78
    }
79

    
80
    public void testWorkspace() throws Exception {
81
        FeatureStore sourceStore = TestUtils.openSourceStore1();
82
        JDBCServerExplorer explorer = TestUtils.openServerExplorer(DBNAME);
83
        
84
        createFrom(explorer, sourceStore);        
85
        
86
        DataManager dataManager = DALLocator.getDataManager();
87
        
88
        DatabaseWorkspaceManager workspace = dataManager.createDatabaseWorkspaceManager(explorer.getParameters());
89
        
90
        workspace.create("Testid", "Test label");
91
        workspace.disconnect();
92
        
93
        workspace = dataManager.createDatabaseWorkspaceManager(explorer.getParameters());
94
        assertEquals("Testid",workspace.getId());
95
        assertEquals("Test label",workspace.getLabel());
96
        
97
        List<DataStoreParameters> tables_l = explorer.list();
98
        assertEquals(6, tables_l.size());
99
        
100
        Map<String, JDBCStoreParameters> tables = new HashMap<>();        
101
        for (DataStoreParameters table1 : tables_l) {
102
            JDBCStoreParameters table = (JDBCStoreParameters) table1;
103
            tables.put(table.getTable(), table);
104
        }
105
     
106
        JDBCStoreParameters params = tables.get("testCreateTarget1");
107
        assertNotNull("Table testCreateTarget1 not found",params);
108
        
109
        workspace.writeStoresRepositoryEntry(params.getTable(), params);
110
        
111
        DataStoreParameters store = workspace.getStoresRepository().get(params.getTable());
112
        assertNotNull("Can't open table testCreateTarget1 ",store);
113
    }
114

    
115
}