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 / operations / sql / TestFetchFeatureProviderByReference.java @ 44871

History | View | Annotate | Download (2.85 KB)

1 44678 jjdelcerro
package org.gvsig.fmap.dal.store.h2.operations.sql;
2 43512 jjdelcerro
3 44669 jjdelcerro
import java.util.List;
4 43512 jjdelcerro
import junit.framework.TestCase;
5 44669 jjdelcerro
import org.gvsig.fmap.dal.feature.Feature;
6 44678 jjdelcerro
import org.gvsig.fmap.dal.feature.FeatureReference;
7 44669 jjdelcerro
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.feature.FeatureType;
9 44678 jjdelcerro
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
10
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureReference;
11
import org.gvsig.fmap.dal.store.h2.TestUtils;
12
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
13
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
14
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
15
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
16
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.FetchFeatureProviderByReferenceOperation;
17 44098 jjdelcerro
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
18 44669 jjdelcerro
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20 43512 jjdelcerro
21 44678 jjdelcerro
public class TestFetchFeatureProviderByReference extends TestCase {
22 43512 jjdelcerro
23 44678 jjdelcerro
  private static final Logger LOGGER = LoggerFactory.getLogger(TestFetchFeatureProviderByReference.class);
24 44139 jjdelcerro
25 44678 jjdelcerro
  public TestFetchFeatureProviderByReference(String testName) {
26
    super(testName);
27
  }
28 44421 jjdelcerro
29 44678 jjdelcerro
  @Override
30
  protected void setUp() throws Exception {
31
    super.setUp();
32
    new DefaultLibrariesInitializer().fullInitialize();
33
  }
34
35
  @Override
36
  protected void tearDown() throws Exception {
37
    super.tearDown();
38
  }
39
40
  // TODO add test methods here. The name must begin with 'test'. For example:
41
  // public void testHello() {}
42
43
  public void testFetchFeatureProviderByReference() throws Exception {
44 44685 jjdelcerro
    JDBCHelper helper = TestUtils.getJDBCHelper();
45 44678 jjdelcerro
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
46
    OperationsFactory operations = helper.getOperations();
47
48
    List<String> expectedSQLs = TestUtils.getSQLs("fetchFeatureProviderByReference.sql");
49 44421 jjdelcerro
50 44678 jjdelcerro
    FeatureStore sourceStore = TestUtils.openSourceStore1();
51
    TableReference table = operations.createTableReference(
52
            "dbtest",
53
            sqlbuilder.default_schema(),
54
            "test",
55
            null
56
    );
57
    FeatureType featureType = sourceStore.getDefaultFeatureType();
58
    Feature feature = sourceStore.getFeatures().get(1);
59
    FeatureReference reference = feature.getReference();
60 43512 jjdelcerro
61 44678 jjdelcerro
    // Como venimos de un CSV, este no tiene calculado el PK en la FeatureReference
62
    // (ya que el CSV usa OID).
63
    // Forzamos a que se calcule.
64
    ((DefaultFeatureReference) reference).calculatePK(((DefaultFeature)feature).getData());
65 43512 jjdelcerro
66 44678 jjdelcerro
    FetchFeatureProviderByReferenceOperation fetchFeatureProviderByReference = operations.createFetchFeatureProviderByReference(
67
            (DefaultFeatureReference) reference,
68
            featureType,
69
            table
70
    );
71 43512 jjdelcerro
72 44678 jjdelcerro
    String sql = fetchFeatureProviderByReference.getSQL();
73
    assertEquals("FetchFeatureProviderByReference SQL", expectedSQLs.get(0), sql);
74
  }
75 44139 jjdelcerro
76 43939 jjdelcerro
}