Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.db / org.gvsig.fmap.dal.db.h2 / src / test / java / org / gvsig / fmap / dal / store / h2 / TestUtils.java @ 44685

History | View | Annotate | Download (4.47 KB)

1
package org.gvsig.fmap.dal.store.h2;
2

    
3
import java.io.File;
4
import java.net.URL;
5
import java.util.ArrayList;
6
import java.util.List;
7
import org.apache.commons.io.FileUtils;
8
import org.apache.commons.lang3.StringUtils;
9
import org.gvsig.fmap.dal.DALLocator;
10
import org.gvsig.fmap.dal.DataManager;
11
import org.gvsig.fmap.dal.DataServerExplorerParameters;
12
import org.gvsig.fmap.dal.DataStore;
13
import org.gvsig.fmap.dal.DatabaseWorkspaceManager;
14
import org.gvsig.fmap.dal.feature.Feature;
15
import org.gvsig.fmap.dal.feature.FeatureStore;
16
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
17
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
18
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
19
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
20
import org.slf4j.Logger;
21
import org.slf4j.LoggerFactory;
22

    
23
public class TestUtils  {
24
    
25
    public static final Logger LOGGER = LoggerFactory.getLogger(TestUtils.class);
26

    
27
    public static final String PROVIDER_NAME = H2SpatialLibrary.NAME;
28

    
29
    private static int dbcounter = 1;
30
    
31
    public static H2SpatialConnectionParameters buildDBConnection(String dbname) throws Exception {
32
        DataManager dataManager = DALLocator.getDataManager();
33
        H2SpatialConnectionParameters conn = (H2SpatialConnectionParameters) 
34
                dataManager.createServerExplorerParameters(H2SpatialLibrary.NAME);
35

    
36
        File dbfile = TestUtils.getResource(String.format(
37
                "test-dbs/%s-%d-%03d",
38
                dbname,
39
                System.currentTimeMillis(), 
40
                dbcounter++
41
            )
42
        );
43
//        System.out.println("#### dbfile: " + dbfile.getAbsolutePath());
44
        conn.setFile(dbfile);
45
        return conn;
46
    }
47
    
48
    public static JDBCServerExplorer openServerExplorer(String dbname) throws Exception {
49
        DataManager dataManager = DALLocator.getDataManager();
50
        H2SpatialConnectionParameters conn = buildDBConnection(dbname);
51
        JDBCServerExplorer explorer = (JDBCServerExplorer) dataManager.openServerExplorer(
52
                PROVIDER_NAME, conn
53
        );
54
        return explorer;
55
    }
56
    
57
    public static File getTargetFolder() throws Exception {
58
        URL url = TestUtils.class.getResource("/");
59
        File x = new File(url.toURI());
60
        File target = x.getParentFile();
61
        return target;
62
    }
63
    
64
    public static File getResource(String name) throws Exception {
65
        File x = new File(getTargetFolder(), name);
66
        return x;
67
    }
68
    
69
    public static File getResourceAsFile(String pathname) throws Exception {
70
        URL url = TestUtils.class.getResource(pathname);
71
        File x = new File(url.toURI());
72
        return x;
73
    }
74

    
75
    public static void removeDALResource(String dbname, String name) throws Exception {
76
        H2SpatialConnectionParameters connection = buildDBConnection(dbname);
77
        DatabaseWorkspaceManager workspace = DALLocator.getDataManager().createDatabaseWorkspaceManager(
78
                (DataServerExplorerParameters) connection
79
        );
80
//        ResourcesStorage resources = workspace.getResourcesStorage(name);
81
//        resources.remove("dal");
82
    }
83

    
84
    public static FeatureStore openSourceStore1() throws Exception {
85
        DataManager dataManager = DALLocator.getDataManager();
86
        File f = getResourceAsFile("/org/gvsig/fmap/dal/store/h2/testCreateSource1.csv");
87
        FeatureStore store = (FeatureStore) dataManager.openStore(
88
                DataStore.CSV_PROVIDER_NAME, 
89
                "file=",f,
90
                "automaticTypesDetection=", false,
91
                "locale=","en"
92
        );
93
        return store;
94
    }
95
 
96

    
97
    public static List<String> getSQLs(String name) throws Exception {
98
      File f = getResourceAsFile("/org/gvsig/fmap/dal/store/h2/"+name);
99
      List<String> SQLs = new ArrayList<>();
100
      List<String> lines = FileUtils.readLines(f);
101
      StringBuilder sb = new StringBuilder();
102
      for (String line : lines) {
103
        line = StringUtils.stripStart(line, null);
104
        if( line.startsWith("--") ) {
105
          continue;
106
        }
107
        if( line.endsWith(";") ) {
108
          sb.append(line.substring(0, line.length()-1));
109
          SQLs.add(sb.toString());
110
          sb.setLength(0);
111
        } else {
112
          sb.append(line);
113
        }
114
      }
115
      return SQLs;
116
    }
117
    
118
    public static FeatureProvider getFeatureProvider(Feature feature) {
119
      return ((DefaultFeature)feature).getData();
120
    }
121

    
122
    public static JDBCHelper getJDBCHelper() {
123
      H2SpatialHelper helper = new H2SpatialHelper();
124
      return helper;
125
    }
126
    
127

    
128
}