Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.h2spatial / org.gvsig.h2spatial.h2gis130 / org.gvsig.h2spatial.h2gis130.provider / src / test / java / org / gvsig / fmap / dal / store / h2 / WorkspaceTest.java @ 45647

History | View | Annotate | Download (4.07 KB)

1
package org.gvsig.fmap.dal.store.h2;
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 static org.gvsig.fmap.dal.store.h2.TestCreate.DBNAME;
17
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
18
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
19
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
22

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

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

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

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

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

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

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

    
116
}