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 | 45472 | jjdelcerro | 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 | } |