Revision 928

View differences:

tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
1
<assembly>
2
  <id>gvsig-plugin-package</id>
3
  <formats>
4
    <format>zip</format>
5
  </formats>
6
  <baseDirectory>${project.artifactId}</baseDirectory>
7
  <includeBaseDirectory>true</includeBaseDirectory>
8
  <files>
9
    <file>
10
      <source>target/${project.artifactId}-${project.version}.jar</source>
11
      <outputDirectory>lib</outputDirectory>
12
    </file>
13
    <file>
14
      <source>target/package.info</source>
15
    </file>
16
    <file>
17
      <source>src/main/resources-plugin/config.xml</source>
18
    </file>
19
  </files>
20

  
21
  <dependencySets>
22
  
23
    <dependencySet>
24
      <useProjectArtifact>false</useProjectArtifact>
25
      <useTransitiveDependencies>false</useTransitiveDependencies>
26
      <outputDirectory>lib</outputDirectory>
27
      <includes>
28
        <include>org.gvsig:org.gvsig.postgresql.provider</include>
29
      </includes>
30
    </dependencySet>
31
    
32
    <dependencySet>
33
      <useProjectArtifact>false</useProjectArtifact>
34
      <useTransitiveDependencies>false</useTransitiveDependencies>
35
      <outputDirectory>lib</outputDirectory>
36
      <includes>
37
		<include>org.postgresql:postgresql</include>
38
		<include>org.apache.commons:commons-dbcp2</include>
39
		<include>org.apache.commons:commons-pool2</include>
40
      </includes>
41
    </dependencySet>
42
    
43
  </dependencySets>
44

  
45
</assembly>
46

  
47

  
48

  
49

  
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
1
_PostgreSQL_loading_parameters=PostgreSQL loading parameters
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/i18n/text.properties
1
_PostgreSQL_loading_parameters=Par\u00e1metros de carga de PostgreSQL
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
  <libraries library-dir="lib/"/>
4
  <depends plugin-name="org.gvsig.app.mainplugin"/>
5
  <resourceBundle name="text"/>
6
  <extensions>
7
     <extension class-name="org.gvsig.andami.LibraryExtension" active="false"/>
8
  </extensions>    
9
</plugin-config>
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.app.mainplugin</artifactId>
7
  <packaging>jar</packaging>
8
  <name>${project.artifactId}</name>
9
  <description>PostgreSQL file format support</description>
10

  
11
  <parent>
12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.postgresql.app</artifactId>
14
      <version>2.0.182</version>
15
  </parent>
16

  
17
  <dependencies>
18
    <dependency>
19
        <groupId>org.gvsig</groupId>
20
        <artifactId>org.gvsig.tools.lib</artifactId>
21
        <scope>compile</scope>
22
    </dependency>
23
    <dependency>
24
        <groupId>org.gvsig</groupId>
25
        <artifactId>org.gvsig.andami</artifactId>
26
        <scope>compile</scope>
27
    </dependency>
28
    <dependency>
29
        <groupId>org.gvsig</groupId>
30
        <artifactId>org.gvsig.postgresql.provider</artifactId>
31
        <scope>compile</scope>
32
    </dependency>
33
    
34
    <dependency>
35
      <groupId>org.postgresql</groupId>
36
      <artifactId>postgresql</artifactId>
37
      <scope>runtime</scope>
38
    </dependency>
39
    <dependency>
40
      <groupId>org.apache.commons</groupId>
41
      <artifactId>commons-dbcp2</artifactId>
42
      <scope>runtime</scope>
43
    </dependency>    
44
    <dependency>
45
      <groupId>org.apache.commons</groupId>
46
      <artifactId>commons-pool2</artifactId>
47
      <scope>runtime</scope>
48
    </dependency>
49

  
50
  </dependencies>
51
  
52
    <properties>
53
        <!-- Package info property values -->
54
        <!-- Default values in org.gvsig.desktop -->
55
        <gvsig.package.info.name>Formats: PostgreSQL support</gvsig.package.info.name>
56
        <gvsig.package.info.state>testing</gvsig.package.info.state>
57
        <gvsig.package.info.official>true</gvsig.package.info.official>
58
        <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.0.1</gvsig.package.info.dependencies>
59
        <gvsig.package.info.categories>Formats,Vector,Database</gvsig.package.info.categories>
60
        <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-postgresql/pool/</gvsig.package.info.poolURL>
61
    </properties>
62
  
63

  
64
</project>
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/org.gvsig.postgresql.app.mainplugin/buildNumber.properties
1
#Fri Nov 26 00:53:29 CET 2021
2
buildNumber=2239
0 3

  
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.app/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.app</artifactId>
7
  <packaging>pom</packaging>
8
  <name>${project.artifactId}</name>
9
  <parent>
10
      <groupId>org.gvsig</groupId>
11
      <artifactId>org.gvsig.postgresql</artifactId>
12
      <version>2.0.182</version>
13
  </parent>
14

  
15
  <modules>
16
    <module>org.gvsig.postgresql.app.mainplugin</module>
17
    <!--
18
    <module>org.gvsig.postgresql.app.export</module>
19
    -->
20
  </modules>
21

  
22
</project>
tags/org.gvsig.postgresql-2.0.182/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql</artifactId>
7
  <version>2.0.182</version>
8
  <packaging>pom</packaging>
9
  <name>${project.artifactId}</name>
10
  <description>PostgreSQL support fort DAL and gvSIG</description>
11
  <parent>
12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.desktop</artifactId>
14
      <version>2.0.343</version>
15
  </parent>
16

  
17
  <url>https://devel.gvsig.org/redmine/projects/gvsig-postgresql</url>
18
  <scm>
19
      <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-postgresql/tags/org.gvsig.postgresql-2.0.182</connection>
20
      <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-postgresql/tags/org.gvsig.postgresql-2.0.182</developerConnection>
21
      <url>https://devel.gvsig.org/redmine/projects/gvsig-postgresql/repository/show/tags/org.gvsig.postgresql-2.0.182</url>
22
  </scm>
23

  
24
    <repositories>
25
        <repository>
26
            <id>gvsig-public-http-repository</id>
27
            <name>gvSIG maven public HTTP repository</name>
28
            <url>http://devel.gvsig.org/m2repo/j2se</url>
29
            <releases>
30
                <enabled>true</enabled>
31
                <updatePolicy>daily</updatePolicy>
32
                <checksumPolicy>warn</checksumPolicy>
33
            </releases>
34
            <snapshots>
35
                <enabled>true</enabled>
36
                <updatePolicy>daily</updatePolicy>
37
                <checksumPolicy>warn</checksumPolicy>
38
            </snapshots>
39
        </repository>
40
    </repositories>
41
  
42
  
43
	<build>
44
		<plugins>
45
			<plugin>
46
				<groupId>org.apache.maven.plugins</groupId>
47
				<artifactId>maven-release-plugin</artifactId>
48
				<configuration>
49
					<tagBase>https://devel.gvsig.org/svn/gvsig-postgresql/tags/</tagBase>
50
					<goals>deploy</goals>
51
				</configuration>
52
			</plugin>
53
		</plugins>
54
	</build>
55

  
56

  
57
  <dependencyManagement>
58
      <dependencies>
59
          <dependency>
60
            <groupId>org.gvsig</groupId>
61
            <artifactId>org.gvsig.postgresql.provider</artifactId>
62
            <version>2.0.182</version>
63
          </dependency>
64
          <dependency>
65
            <groupId>org.gvsig</groupId>
66
            <artifactId>org.gvsig.postgresql.app.mainplugin</artifactId>
67
            <version>2.0.182</version>
68
          </dependency>
69
        <dependency>
70
            <groupId>org.postgresql</groupId>
71
            <artifactId>postgresql</artifactId>
72
            <version>42.3.1</version>
73
        </dependency>
74
        <dependency>
75
          <groupId>org.apache.commons</groupId>
76
          <artifactId>commons-dbcp2</artifactId>
77
          <version>2.7.0</version>
78
        </dependency>   
79
        <dependency>
80
            <groupId>org.apache.commons</groupId>
81
            <artifactId>commons-pool2</artifactId>
82
            <version>2.7.0</version>
83
        </dependency>
84
      </dependencies>
85
  </dependencyManagement>
86
 
87
  <modules>
88
    <module>org.gvsig.postgresql.app</module>
89
    <module>org.gvsig.postgresql.provider</module>
90
  </modules>
91

  
92
</project>
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.postgresql.provider</artifactId>
7
  <packaging>jar</packaging>
8
  <name>${project.artifactId}</name>
9
  <description>DAL provider for PostgeSQL files</description>
10
  <parent>
11
    <groupId>org.gvsig</groupId>
12
    <artifactId>org.gvsig.postgresql</artifactId>
13
    <version>2.0.182</version>
14
  </parent>
15
  <dependencies>
16
    <dependency>
17
      <groupId>com.googlecode.log4jdbc</groupId>
18
      <artifactId>log4jdbc</artifactId>
19
      <scope>compile</scope>
20
    </dependency>
21
    <dependency>
22
      <groupId>org.gvsig</groupId>
23
      <artifactId>org.gvsig.tools.lib</artifactId>
24
      <scope>compile</scope>
25
    </dependency>
26
    <dependency>
27
      <groupId>org.gvsig</groupId>
28
      <artifactId>org.gvsig.projection.api</artifactId>
29
      <scope>compile</scope>
30
    </dependency>
31
    <dependency>
32
      <groupId>org.gvsig</groupId>
33
      <artifactId>org.gvsig.fmap.dal.api</artifactId>
34
      <scope>compile</scope>
35
    </dependency>
36
    
37
    <dependency>
38
      <groupId>org.gvsig</groupId>
39
      <artifactId>org.gvsig.fmap.dal.db.jdbc</artifactId>
40
      <scope>compile</scope>
41
    </dependency>
42

  
43
    <dependency>
44
      <groupId>org.gvsig</groupId>
45
      <artifactId>org.gvsig.fmap.dal.db.lib</artifactId>
46
      <scope>compile</scope>
47
    </dependency>
48
    
49
    <dependency>
50
      <groupId>org.gvsig</groupId>
51
      <artifactId>org.gvsig.fmap.dal.spi</artifactId>
52
      <scope>compile</scope>
53
    </dependency>
54
    <dependency>
55
      <groupId>org.gvsig</groupId>
56
      <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
57
      <scope>compile</scope>
58
    </dependency>
59
    <dependency>
60
      <groupId>org.gvsig</groupId>
61
      <artifactId>org.gvsig.fmap.geometry.api</artifactId>
62
      <scope>compile</scope>
63
    </dependency>
64
    <!--
65
    <dependency>
66
        <groupId>org.gvsig</groupId>
67
        <artifactId>org.gvsig.fmap.geometry.operation</artifactId>
68
        <scope>compile</scope>
69
    </dependency>
70
    -->
71
    <dependency>
72
      <groupId>org.gvsig</groupId>
73
      <artifactId>org.gvsig.timesupport.lib.api</artifactId>
74
      <scope>compile</scope>
75
    </dependency>  
76
    <dependency>
77
      <groupId>org.gvsig</groupId>
78
      <artifactId>org.gvsig.utils</artifactId>
79
      <scope>compile</scope>
80
    </dependency>
81
    <dependency>
82
      <groupId>org.postgresql</groupId>
83
      <artifactId>postgresql</artifactId>
84
      <scope>compile</scope>
85
    </dependency>
86
    <dependency>
87
        <groupId>org.apache.commons</groupId>
88
        <artifactId>commons-dbcp2</artifactId>
89
    </dependency>
90
    <dependency>
91
        <groupId>org.apache.commons</groupId>
92
        <artifactId>commons-pool2</artifactId>
93
    </dependency>
94
    <dependency>
95
      <groupId>commons-collections</groupId>
96
      <artifactId>commons-collections</artifactId>
97
      <scope>compile</scope>
98
    </dependency>
99

  
100

  
101
    <!-- TESTS -->
102
    <dependency>
103
      <groupId>org.gvsig</groupId>
104
      <artifactId>org.gvsig.tools.lib</artifactId>
105
      <type>test-jar</type>
106
      <scope>test</scope>
107
    </dependency>
108
    <dependency>
109
      <groupId>org.gvsig</groupId>
110
      <artifactId>org.gvsig.compat.se</artifactId>
111
      <scope>test</scope>
112
    </dependency>
113
    <dependency>
114
      <groupId>org.gvsig</groupId>
115
      <artifactId>org.gvsig.fmap.dal.impl</artifactId>
116
      <scope>test</scope>
117
    </dependency>
118
    <dependency>
119
      <groupId>org.gvsig</groupId>
120
      <artifactId>org.gvsig.fmap.dal.file.csv</artifactId>
121
      <scope>test</scope>
122
    </dependency>
123
    <dependency>
124
      <groupId>org.gvsig</groupId>
125
      <artifactId>org.gvsig.tools.util.impl</artifactId>
126
      <scope>test</scope>
127
    </dependency>
128
    <dependency>
129
      <groupId>org.gvsig</groupId>
130
      <artifactId>org.gvsig.tools.swing.impl</artifactId>
131
      <scope>test</scope>
132
    </dependency>
133
    <dependency>
134
      <groupId>org.gvsig</groupId>
135
      <artifactId>${org.gvsig.fmap.geometry.impl}</artifactId>
136
      <scope>test</scope>
137
    </dependency>    
138
    <dependency>
139
      <groupId>org.gvsig</groupId>
140
      <artifactId>org.gvsig.expressionevaluator.geometry.lib.impl</artifactId>
141
      <scope>test</scope>
142
    </dependency>    
143
    <dependency>
144
      <groupId>org.gvsig</groupId>
145
      <artifactId>${org.gvsig.proj.lib.impl}</artifactId>
146
      <scope>test</scope>
147
    </dependency>
148
    <dependency>
149
      <groupId>org.gvsig</groupId>
150
      <artifactId>org.gvsig.projection.cresques.impl</artifactId>
151
      <scope>test</scope>
152
    </dependency>
153
    <dependency>
154
      <groupId>org.gvsig</groupId>
155
      <artifactId>org.gvsig.timesupport.lib.impl</artifactId>
156
      <scope>test</scope>
157
    </dependency>
158
    <dependency>
159
      <groupId>org.gvsig</groupId>
160
      <artifactId>org.gvsig.metadata.lib.basic.impl</artifactId>
161
      <scope>test</scope>
162
    </dependency>      
163
    
164
    
165
    <dependency>
166
      <artifactId>junit</artifactId>
167
      <groupId>junit</groupId>
168
      <scope>test</scope>
169
    </dependency>
170
  </dependencies>
171

  
172
  <build>
173
    <plugins>
174

  
175
      <!-- Skip test execution ? -->
176
      <plugin>
177
        <groupId>org.apache.maven.plugins</groupId>
178
        <artifactId>maven-surefire-plugin</artifactId>
179
        <configuration>
180
          <skipTests>false</skipTests>
181
        </configuration>
182
      </plugin>
183
        
184
      <!-- Skip test compilation ? -->
185
      <plugin>
186
        <groupId>org.apache.maven.plugins</groupId>
187
        <artifactId>maven-compiler-plugin</artifactId>
188
        <executions>
189
          <execution>
190
            <id>default-testCompile</id>
191
            <phase>process-test-sources</phase>
192
            <goals>
193
              <goal>testCompile</goal>
194
            </goals>
195
            <configuration>
196
              <skip>false</skip>
197
            </configuration>
198
          </execution>
199
        </executions>
200
      </plugin>
201

  
202
      <!-- Ignore test execution failure ? -->
203
      <plugin>
204
        <groupId>org.apache.maven.plugins</groupId>
205
        <artifactId>maven-surefire-plugin</artifactId>
206
        <configuration>
207
          <testFailureIgnore>false</testFailureIgnore>
208
        </configuration>
209
      </plugin>
210

  
211
    </plugins>
212
  </build>
213

  
214
</project>
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/PostgreSQLBuilderTest.java
1
package org.gvsig.postgresql.dal;
2

  
3
import junit.framework.TestCase;
4
import org.apache.commons.lang3.ArrayUtils;
5
import org.cresques.cts.IProjection;
6
import org.gvsig.expressionevaluator.ExpressionBuilder;
7
import org.gvsig.expressionevaluator.GeometryExpressionBuilder;
8
import org.gvsig.fmap.crs.CRSFactory;
9
import org.gvsig.fmap.dal.SQLBuilder;
10
import org.gvsig.fmap.dal.SQLBuilder.Privilege;
11
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase;
12
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
13
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.OperationsFactoryBase;
14
import org.gvsig.fmap.geom.DataTypes;
15
import org.gvsig.fmap.geom.Geometry;
16
import org.gvsig.fmap.geom.GeometryLocator;
17
import org.gvsig.fmap.geom.GeometryManager;
18
import org.gvsig.fmap.geom.primitive.Polygon;
19
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
20

  
21
public class PostgreSQLBuilderTest extends TestCase {
22
    
23
    public PostgreSQLBuilderTest(String testName) {
24
        super(testName);
25
    }
26

  
27
    @Override
28
    protected void setUp() throws Exception {
29
        super.setUp();
30
        new DefaultLibrariesInitializer().fullInitialize();
31
    }
32

  
33
    @Override
34
    protected void tearDown() throws Exception {
35
        super.tearDown();
36
    }
37

  
38
    private SQLBuilder createSQLBuilder() {
39
        return new PostgreSQLBuilder(new PostgreSQLHelper(new FakePostgreSQLConnectionParameters()));
40
    }
41
    
42
    public void testCalulateEnvelopeOfColumn() throws Exception {
43
        
44
        TableReference table = new OperationsFactoryBase.DefaultTableReference("master","dbo","test1", null);
45
        String columnName = "the_geom";
46
        
47
        SQLBuilder sqlbuilder = createSQLBuilder();
48
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
49
        
50
        sqlbuilder.select().column().value(
51
            expbuilder.as_geometry(
52
                expbuilder.ST_ExtentAggregate(
53
                        expbuilder.column(columnName)
54
                )
55
            )
56
        );
57
        //sqlbuilder.select().group_by(expbuilder.column(columnName));
58
        sqlbuilder.select().from().table()
59
                .database(table.getDatabase())
60
                .schema(table.getSchema())
61
                .name(table.getTable());
62
        sqlbuilder.select().from().subquery(table.getSubquery());
63

  
64
        sqlbuilder.select().where().and(        
65
            expbuilder.not_is_null(expbuilder.column(columnName))
66
        );
67
        
68
        System.out.println("# Test:: testCalulateEnvelopeOfColumn");
69
        System.out.println("# SQL:: " + sqlbuilder.toString());
70
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
71
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
72
        assertEquals(
73
                "SELECT ST_AsBinary(ST_Extent(\"the_geom\")) FROM \"master\".\"dbo\".\"test1\" WHERE ( (\"the_geom\") IS NOT NULL )",
74
                sqlbuilder.toString()
75
        );
76
        assertEquals(
77
                "[the_geom]",
78
                ArrayUtils.toString(sqlbuilder.variables_names())
79
        );
80
        assertEquals(
81
                "[]",
82
                ArrayUtils.toString(sqlbuilder.parameters_names())
83
        );
84
    }
85
 
86
    public void testCalulateEnvelope() throws Exception {
87
        GeometryManager geometryManager = GeometryLocator.getGeometryManager();
88
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
89
        
90
        Polygon limit = geometryManager.createPolygon(Geometry.SUBTYPES.GEOM2D);
91
        limit.addVertex(0, 0);
92
        limit.addVertex(0, 100);
93
        limit.addVertex(100, 100);
94
        limit.addVertex(100, 0);
95
        limit.addVertex(0, 0);
96
        
97
        SQLBuilder sqlbuilder = createSQLBuilder();
98
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
99
        
100
        sqlbuilder.select().column().value(
101
            expbuilder.as_geometry(
102
              expbuilder.ST_ExtentAggregate(
103
                expbuilder.column("the_geom")
104
              )
105
            )
106
        ).as("envelope");
107
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
108
        sqlbuilder.select().where().set(
109
            expbuilder.ST_Intersects(
110
                expbuilder.ST_Envelope(
111
                    expbuilder.column("the_geom")
112
                ),
113
                expbuilder.geometry(limit, proj)
114
            )
115
        );
116
        sqlbuilder.select().where().and(
117
                expbuilder.custom("x = 27")
118
        );
119
        
120
        System.out.println("# Test:: testCalulateEnvelope");
121
        System.out.println("# SQL:: " + sqlbuilder.toString());
122
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
123
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
124
        assertEquals(
125
                "SELECT ST_AsBinary(ST_Extent(\"the_geom\")) AS \"envelope\" FROM \"master\".\"dbo\".\"test1\" WHERE (ST_Intersects((ST_Envelope(\"the_geom\")), (ST_GeomFromWKB(('\\x000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000'::bytea), (4326)))) AND x = 27)",
126
                sqlbuilder.toString()
127
        );
128
        assertEquals(
129
                "[the_geom]",
130
                ArrayUtils.toString(sqlbuilder.variables_names())
131
        );
132
        assertEquals(
133
                "[]",
134
                ArrayUtils.toString(sqlbuilder.parameters_names())
135
        );
136
    }
137

  
138
    public void testCount() throws Exception {
139
        SQLBuilder sqlbuilder = createSQLBuilder();
140
        ExpressionBuilder expbuilder = sqlbuilder.expression();
141
        
142
        sqlbuilder.select().column().value(sqlbuilder.count().all());
143
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
144
        sqlbuilder.select().from().subquery(null);
145
        sqlbuilder.select().where().set( expbuilder.custom("pp = 200"));
146

  
147
        System.out.println("# Test:: testCount");
148
        System.out.println("# SQL:: " + sqlbuilder.toString());
149
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
150
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
151

  
152
        //# Test:: testCount
153
        //# SQL:: SELECT COUNT(*) FROM "test1" WHERE pp = 200
154
        //# Variables:: []
155
        //# Parametros:: []
156

  
157
        assertEquals(
158
                "SELECT COUNT(*) FROM \"master\".\"dbo\".\"test1\" WHERE pp = 200",
159
                sqlbuilder.toString()
160
        );
161
        assertEquals(
162
                "[]",
163
                ArrayUtils.toString(sqlbuilder.variables_names())
164
        );
165
        assertEquals(
166
                "[]",
167
                ArrayUtils.toString(sqlbuilder.parameters_names())
168
        );
169
    }
170
    
171
    public void testCreateTable() throws Exception {
172
        SQLBuilder sqlbuilder = createSQLBuilder();
173
        ExpressionBuilder expbuilder = sqlbuilder.expression();
174

  
175
        sqlbuilder.create_table().table().database("master").schema("dbo").name("test1");
176
        sqlbuilder.create_table().add_column(
177
                "name",
178
                DataTypes.STRING,
179
                45,
180
                0,
181
                0,
182
                false,
183
                false,
184
                true,
185
                false,
186
                null
187
        );
188
        sqlbuilder.create_table().add_column(
189
                "id",
190
                DataTypes.INT,
191
                0,
192
                0,
193
                0,
194
                true,
195
                false,
196
                false,
197
                true,
198
                0
199
        );
200
        sqlbuilder.create_table().add_column(
201
                "geom",
202
                DataTypes.GEOMETRY,
203
                0,
204
                0,
205
                0,
206
                false,
207
                false,
208
                true,
209
                false,
210
                null
211
        );
212

  
213
        
214
        // CREATE TABLE "test1" ("name" VARCHAR(45) DEFAULT NULL, "id" INTEGER PRIMARY KEY AUTO_INCREMENT DEFAULT '0' NOT NULL, "geom" GEOMETRY ); ALTER TABLE "test1" ADD CONSTRAINT IF NOT EXISTS "constraint_test1_geom_dim" CHECK ST_CoordDim("geom") = 2
215
        System.out.println("# Test:: testCreateTable");
216
        System.out.println("# SQL:: " + sqlbuilder.toString());
217
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
218
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
219
        assertEquals(
220
                "CREATE TABLE \"master\".\"dbo\".\"test1\" (\"name\" VARCHAR(45) DEFAULT NULL NULL, \"id\"  SERIAL PRIMARY KEY ); SELECT AddGeometryColumn('dbo' , 'test1' , 'geom', null , 'GEOMETRY' , 2, TRUE)",
221
                sqlbuilder.toString()
222
        );
223
        assertEquals(
224
                "[]",
225
                ArrayUtils.toString(sqlbuilder.variables_names())
226
        );
227
        assertEquals(
228
                "[]",
229
                ArrayUtils.toString(sqlbuilder.parameters_names())
230
        );
231
    }
232

  
233
    public void testDropTable() throws Exception {
234
        SQLBuilder sqlbuilder = createSQLBuilder();
235
        ExpressionBuilder expbuilder = sqlbuilder.expression();
236
        
237
        sqlbuilder.drop_table().table().database("master").schema("dbo").name("test1");
238

  
239
        // DROP TABLE "test1"
240
        
241
        System.out.println("# Test:: testDropTable");
242
        System.out.println("# SQL:: " + sqlbuilder.toString());
243
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
244
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
245
        assertEquals(
246
                "DROP TABLE \"master\".\"dbo\".\"test1\"",
247
                sqlbuilder.toString()
248
        );
249
        assertEquals(
250
                "[]",
251
                ArrayUtils.toString(sqlbuilder.variables_names())
252
        );
253
        assertEquals(
254
                "[]",
255
                ArrayUtils.toString(sqlbuilder.parameters_names())
256
        );
257
    }
258
    
259
    public void testFetchFeatureProviderByReference() throws Exception {
260
        SQLBuilder sqlbuilder = new SQLBuilderBase();
261
        ExpressionBuilder expbuilder = sqlbuilder.expression();
262
        
263
        String value = "yoyo";
264
        sqlbuilder.select().column().name("name");
265
        sqlbuilder.select().column().name("id");
266
        sqlbuilder.select().column().name("geom").as_geometry();
267
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
268
        sqlbuilder.select().where().set(
269
            expbuilder.eq(
270
                expbuilder.column("name"),
271
                expbuilder.parameter(value).as_constant()
272
            )
273
        );
274
        sqlbuilder.select().limit(1);
275

  
276
        // SELECT "name", "id", ST_AsBinary("geom") FROM "master"."dbo"."test1" WHERE ( ("name") = (?) ) LIMIT 1
277

  
278
        System.out.println("# Test:: testFetchFeatureProviderByReference");
279
        System.out.println("# SQL:: " + sqlbuilder.toString());
280
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
281
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
282
        assertEquals(
283
                "SELECT \"name\", \"id\", ST_AsBinary(\"geom\") FROM \"master\".\"dbo\".\"test1\" WHERE ( (\"name\") = (?) ) LIMIT 1",
284
                sqlbuilder.toString()
285
        );
286
        assertEquals(
287
                "[geom, id, name]",
288
                ArrayUtils.toString(sqlbuilder.variables_names())
289
        );
290
        assertEquals(
291
                "['yoyo']",
292
                ArrayUtils.toString(sqlbuilder.parameters_names())
293
        );
294
    }
295
    
296
    public void testFetchFeatureType() throws Exception {
297
        SQLBuilder sqlbuilder = createSQLBuilder();
298
        ExpressionBuilder expbuilder = sqlbuilder.expression();
299

  
300
        sqlbuilder.select().column().all();
301
        sqlbuilder.select().from().table().database("master").schema("dbo").name("test1");
302
        sqlbuilder.select().limit(1);
303

  
304
        System.out.println("# Test:: testFetchFeatureType");
305
        System.out.println("# SQL:: " + sqlbuilder.toString());
306
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
307
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
308
        
309
        //# Test:: testFetchFeatureType
310
        //# SQL:: SELECT * FROM "test1" LIMIT 1
311
        //# Variables:: []
312
        //# Parametros:: []        
313
        
314
        assertEquals(
315
                "SELECT * FROM \"master\".\"dbo\".\"test1\" LIMIT 1",
316
                sqlbuilder.toString()
317
        );
318
        assertEquals(
319
                "[]",
320
                ArrayUtils.toString(sqlbuilder.variables_names())
321
        );
322
        assertEquals(
323
                "[]",
324
                ArrayUtils.toString(sqlbuilder.parameters_names())
325
        );
326
    }
327
        
328
    public void testPerformDeletes() throws Exception {
329
        SQLBuilder sqlbuilder = createSQLBuilder();
330
        ExpressionBuilder expbuilder = sqlbuilder.expression();
331

  
332
        sqlbuilder.delete().table().database("master").schema("dbo").name("test1");
333
        sqlbuilder.delete().where().and(
334
            expbuilder.eq( 
335
                expbuilder.column("id1"),
336
                expbuilder.parameter("id1").as_variable()
337
            )
338
        );
339
        sqlbuilder.delete().where().and(
340
            expbuilder.eq( 
341
                expbuilder.column("id2"),
342
                expbuilder.parameter("id2").as_variable()
343
            )
344
        );
345

  
346
        // DELETE FROM "test1" WHERE ( ("id1") = (?) ) AND ( ("id2") = (?) )
347

  
348
        System.out.println("# Test:: testPerformDeletes");
349
        System.out.println("# SQL:: " + sqlbuilder.toString());
350
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
351
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
352
        assertEquals(
353
                "DELETE FROM \"master\".\"dbo\".\"test1\" WHERE (( (\"id1\") = (?) ) AND ( (\"id2\") = (?) ))",
354
                sqlbuilder.toString()
355
        );
356
        assertEquals(
357
                "[id1, id2]",
358
                ArrayUtils.toString(sqlbuilder.variables_names())
359
        );
360
        assertEquals(
361
                "[\"id1\", \"id2\"]",
362
                ArrayUtils.toString(sqlbuilder.parameters_names())
363
        );
364
    }
365

  
366
    public void testPerformInserts1() throws Exception {
367
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
368

  
369
        SQLBuilder sqlbuilder = createSQLBuilder();
370
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
371

  
372
        sqlbuilder.insert().table().database("master").schema("dbo").name("test1");
373
        sqlbuilder.insert().column().name("id").with_value(expbuilder.parameter("id"));
374
        sqlbuilder.insert().column().name("name").with_value(expbuilder.parameter("name"));
375
        sqlbuilder.insert().column().name("geom").with_value(expbuilder.parameter("geom").as_geometry_variable().srs(proj));
376
        
377
        System.out.println("# Test:: testPerformInserts1");
378
        System.out.println("# SQL:: " + sqlbuilder.toString());
379
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
380
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
381
        assertEquals(
382
                "INSERT INTO \"master\".\"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
383
                sqlbuilder.toString()
384
        );
385
        assertEquals(
386
                "[geom, id, name]",
387
                ArrayUtils.toString(sqlbuilder.variables_names())
388
        );
389
        assertEquals(
390
                "[\"id\", \"name\", \"geom\"]",
391
                ArrayUtils.toString(sqlbuilder.parameters_names())
392
        );
393
    }
394

  
395
    public void testPerformInserts2() throws Exception {
396
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
397

  
398
        SQLBuilder sqlbuilder = createSQLBuilder();
399
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
400

  
401
        sqlbuilder.insert().table().database("master").schema("dbo").name("test1");
402
        sqlbuilder.insert().column().name("id").with_value(expbuilder.parameter("id"));
403
        sqlbuilder.insert().column().name("name").with_value(expbuilder.parameter("name"));
404
        sqlbuilder.insert().column().name("geom").with_value(expbuilder.parameter("geom").as_geometry_variable().srs(proj));
405
        
406
        System.out.println("# Test:: testPerformInserts2");
407
        System.out.println("# SQL:: " + sqlbuilder.toString());
408
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
409
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
410
        assertEquals(
411
                "INSERT INTO \"master\".\"dbo\".\"test1\" ( \"id\", \"name\", \"geom\" ) VALUES ( ?, ?, ST_GeomFromWKB((?), (4326)) )",
412
                sqlbuilder.toString()
413
        );
414
        assertEquals(
415
                "[geom, id, name]",
416
                ArrayUtils.toString(sqlbuilder.variables_names())
417
        );
418
        assertEquals(
419
                "[\"id\", \"name\", \"geom\"]",
420
                ArrayUtils.toString(sqlbuilder.parameters_names())
421
        );
422
    }
423

  
424
    public void testPerformUpdates1() throws Exception {
425
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
426

  
427
        SQLBuilder sqlbuilder = createSQLBuilder();
428
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
429

  
430
        sqlbuilder.update().table().database("master").schema("dbo").name("test1");
431
        sqlbuilder.update().where().and(
432
            expbuilder.eq(
433
                expbuilder.column("id"), 
434
                expbuilder.parameter("id").as_variable()
435
            )
436
        );
437
        sqlbuilder.update().column().name("name").with_value(expbuilder.parameter("name"));
438
        sqlbuilder.update().column().name("geom").with_value(
439
                expbuilder.parameter("geom").as_geometry_variable().srs(proj) 
440
        );
441

  
442
        System.out.println("# Test:: testPerformUpdates");
443
        System.out.println("# SQL:: " + sqlbuilder.toString());
444
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
445
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
446
        assertEquals(
447
                "UPDATE \"master\".\"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (4326)) WHERE ( (\"id\") = (?) )",
448
                sqlbuilder.toString()
449
        );
450
        assertEquals(
451
                "[geom, id, name]",
452
                ArrayUtils.toString(sqlbuilder.variables_names())
453
        );
454
        assertEquals(
455
                "[\"name\", \"geom\", \"id\"]",
456
                ArrayUtils.toString(sqlbuilder.parameters_names())
457
        );
458
    }
459

  
460
    public void testPerformUpdates2() throws Exception {
461
        IProjection proj = CRSFactory.getCRS("EPSG:4326");
462

  
463
        SQLBuilder sqlbuilder = createSQLBuilder();
464
        GeometryExpressionBuilder expbuilder = sqlbuilder.expression();
465

  
466
        sqlbuilder.update().table().database("master").schema("dbo").name("test1");
467
        sqlbuilder.update().where().and(
468
            expbuilder.eq(
469
                expbuilder.column("id"), 
470
                expbuilder.parameter("id").as_variable()
471
            )
472
        );
473
        sqlbuilder.update().column().name("name").with_value(expbuilder.parameter("name"));
474
        sqlbuilder.update().column().name("geom").with_value(
475
                expbuilder.parameter("geom").as_geometry_variable()
476
                        .srs(expbuilder.parameter().value(proj)) 
477
        );
478

  
479
        System.out.println("# Test:: testPerformUpdates");
480
        System.out.println("# SQL:: " + sqlbuilder.toString());
481
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
482
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
483
        assertEquals(
484
                "UPDATE \"master\".\"dbo\".\"test1\" SET \"name\" = ?, \"geom\" = ST_GeomFromWKB((?), (?)) WHERE ( (\"id\") = (?) )",
485
                sqlbuilder.toString()
486
        );
487
        assertEquals(
488
                "[geom, id, name]",
489
                ArrayUtils.toString(sqlbuilder.variables_names())
490
        );
491
        assertEquals(
492
                "[\"name\", \"geom\", 4326, \"id\"]",
493
                ArrayUtils.toString(sqlbuilder.parameters_names())
494
        );
495
    }
496

  
497
    public void testGrant1() throws Exception {
498

  
499
        SQLBuilder sqlbuilder = createSQLBuilder();
500
        ExpressionBuilder expbuilder = sqlbuilder.expression();
501

  
502
        sqlbuilder.grant().table().database("master").schema("dbo").name("test1");
503
        sqlbuilder.grant().role("prueba").select().insert().update();
504
        sqlbuilder.grant().role("gis").all();
505
                
506
        
507
        System.out.println("# Test:: testGrant1");
508
        System.out.println("# SQL:: " + sqlbuilder.toString());
509
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
510
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
511
        assertEquals(
512
                "",
513
                sqlbuilder.toString()
514
        );
515
        assertEquals(
516
                "[]",
517
                ArrayUtils.toString(sqlbuilder.variables_names())
518
        );
519
        assertEquals(
520
                "[]",
521
                ArrayUtils.toString(sqlbuilder.parameters_names())
522
        );
523
    }
524

  
525
    public void testGrant2() throws Exception {
526

  
527
        SQLBuilder sqlbuilder = new SQLBuilderBase();
528
        ExpressionBuilder expbuilder = sqlbuilder.expression();
529

  
530
        sqlbuilder.grant().table().database("master").schema("dbo").name("test1");
531
        sqlbuilder.grant().role("prueba").privilege(Privilege.SELECT)
532
                .privilege(Privilege.INSERT)
533
                .privilege(Privilege.UPDATE);
534
        sqlbuilder.grant().role("gis").privilege(Privilege.ALL);
535
                
536
        
537
        System.out.println("# Test:: testGrant2");
538
        System.out.println("# SQL:: " + sqlbuilder.toString());
539
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
540
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
541
        assertEquals(
542
                "",
543
                sqlbuilder.toString()
544
        );
545
        assertEquals(
546
                "[]",
547
                ArrayUtils.toString(sqlbuilder.variables_names())
548
        );
549
        assertEquals(
550
                "[]",
551
                ArrayUtils.toString(sqlbuilder.parameters_names())
552
        );
553
    }
554

  
555

  
556
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/TestUtils.java
1
package org.gvsig.postgresql.dal;
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.DataStore;
12
import org.gvsig.fmap.dal.feature.Feature;
13
import org.gvsig.fmap.dal.feature.FeatureStore;
14
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
15
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
16
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
17
import org.gvsig.fmap.dal.store.jdbc2.spi.FakeConnectionParameters;
18
import org.gvsig.fmap.dal.store.jdbc2.spi.FakeConnectionProvider;
19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21

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

  
26
    public static final String PROVIDER_NAME = PostgreSQLLibrary.NAME;
27

  
28
    public static File getTargetFolder() throws Exception {
29
        URL url = TestUtils.class.getResource("/");
30
        File x = new File(url.toURI());
31
        File target = x.getParentFile();
32
        return target;
33
    }
34
    
35
    public static File getResource(String name) throws Exception {
36
        File x = new File(getTargetFolder(), name);
37
        return x;
38
    }
39
    
40
    public static File getResourceAsFile(String pathname) throws Exception {
41
        URL url = TestUtils.class.getResource(pathname);
42
        File x = new File(url.toURI());
43
        return x;
44
    }
45

  
46
    public static FeatureStore openSourceStore1() throws Exception {
47
        DataManager dataManager = DALLocator.getDataManager();
48
        File f = getResourceAsFile("/org/gvsig/postgresql/dal/testCreateSource1.csv");
49
        FeatureStore store = (FeatureStore) dataManager.openStore(
50
                DataStore.CSV_PROVIDER_NAME, 
51
                "file=",f,
52
                "automaticTypesDetection=", false,
53
                "locale=","en"
54
        );
55
        return store;
56
    }
57
 
58

  
59
    public static List<String> getSQLs(String name) throws Exception {
60
      File f = getResourceAsFile("/org/gvsig/postgresql/dal/"+name);
61
      List<String> SQLs = new ArrayList<>();
62
      List<String> lines = FileUtils.readLines(f);
63
      StringBuilder sb = new StringBuilder();
64
      for (String line : lines) {
65
        line = StringUtils.stripStart(line, null);
66
        if( line.startsWith("--") ) {
67
          continue;
68
        }
69
        if( line.endsWith(";") ) {
70
          sb.append(line.substring(0, line.length()-1));
71
          SQLs.add(sb.toString());
72
          sb.setLength(0);
73
        } else {
74
          sb.append(line);
75
        }
76
      }
77
      return SQLs;
78
    }
79
    
80
    public static JDBCHelper getJDBCHelper() {
81
      JDBCHelper helper = new PostgreSQLHelper(new FakePostgreSQLConnectionParameters(), new FakeConnectionProvider());
82
      return helper;
83
    }
84
    
85
    public static FeatureProvider getFeatureProvider(Feature feature) {
86
      return ((DefaultFeature)feature).getData();
87
    }
88
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestFetchFeatureProviderByReference.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.Feature;
6
import org.gvsig.fmap.dal.feature.FeatureReference;
7
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.feature.FeatureType;
9
import org.gvsig.fmap.dal.feature.impl.featurereference.FeatureReferenceFactory;
10
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices;
11
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
12
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
13
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
14
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
15
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.FetchFeatureProviderByReferenceOperation;
16
import org.gvsig.postgresql.dal.TestUtils;
17
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20

  
21
public class TestFetchFeatureProviderByReference extends TestCase {
22

  
23
  private static final Logger LOGGER = LoggerFactory.getLogger(TestFetchFeatureProviderByReference.class);
24

  
25
  public TestFetchFeatureProviderByReference(String testName) {
26
    super(testName);
27
  }
28

  
29
  @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
    JDBCHelper helper = TestUtils.getJDBCHelper();
45
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
46
    OperationsFactory operations = helper.getOperations();
47

  
48
    List<String> expectedSQLs = TestUtils.getSQLs("fetchFeatureProviderByReference.sql");
49
    
50
    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 = FeatureReferenceFactory.createReferencePKFromFeature(feature);
60
    
61
    FetchFeatureProviderByReferenceOperation fetchFeatureProviderByReference = operations.createFetchFeatureProviderByReference(
62
            (FeatureReferenceProviderServices) reference,
63
            featureType, 
64
            table
65
    );
66
    
67
    String sql = fetchFeatureProviderByReference.getSQL();
68
    assertEquals("FetchFeatureProviderByReference SQL", expectedSQLs.get(0), sql);
69
  }
70

  
71
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestCalculateEnvelope.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.feature.FeatureType;
7
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
8
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
9
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
10
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
11
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CalculateEnvelopeOfColumnOperation;
12
import org.gvsig.postgresql.dal.TestUtils;
13
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
16

  
17
public class TestCalculateEnvelope extends TestCase {
18

  
19
  private static final Logger LOGGER = LoggerFactory.getLogger(TestCalculateEnvelope.class);
20

  
21
  public TestCalculateEnvelope(String testName) {
22
    super(testName);
23
  }
24

  
25
  @Override
26
  protected void setUp() throws Exception {
27
    super.setUp();
28
    new DefaultLibrariesInitializer().fullInitialize();
29
  }
30

  
31
  @Override
32
  protected void tearDown() throws Exception {
33
    super.tearDown();
34
  }
35

  
36
  // TODO add test methods here. The name must begin with 'test'. For example:
37
  // public void testHello() {}
38
  
39
  public void testCalculateEnvelope() throws Exception {
40
    JDBCHelper helper = TestUtils.getJDBCHelper();
41
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
42
    OperationsFactory operations = helper.getOperations();
43

  
44
    List<String> expectedSQLs = TestUtils.getSQLs("calculateEnvelope.sql");
45
    
46
    FeatureStore sourceStore = TestUtils.openSourceStore1();
47

  
48
    TableReference table = operations.createTableReference(
49
            "dbtest", 
50
            sqlbuilder.default_schema(), 
51
            "test", 
52
            null
53
    );
54
    FeatureType featureType = sourceStore.getDefaultFeatureType();
55
    CalculateEnvelopeOfColumnOperation calculateEnvelope = operations.createCalculateEnvelopeOfColumn(
56
            featureType,
57
            table, 
58
            "Geometry",
59
            null,
60
            null, 
61
            featureType.getDefaultSRS()
62
    );
63
    
64
    String sql = calculateEnvelope.getSQL();
65
    assertEquals("CalculateEnvelope SQL", expectedSQLs.get(0), sql);
66
  }
67

  
68
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestCreateTable.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.feature.FeatureType;
7
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
8
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
9
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
10
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
11
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CreateTableOperation;
12
import org.gvsig.postgresql.dal.TestUtils;
13
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
16

  
17
public class TestCreateTable extends TestCase {
18

  
19
  private static final Logger LOGGER = LoggerFactory.getLogger(TestCreateTable.class);
20

  
21
  public TestCreateTable(String testName) {
22
    super(testName);
23
  }
24

  
25
  @Override
26
  protected void setUp() throws Exception {
27
    super.setUp();
28
    new DefaultLibrariesInitializer().fullInitialize();
29
  }
30

  
31
  @Override
32
  protected void tearDown() throws Exception {
33
    super.tearDown();
34
  }
35

  
36
  // TODO add test methods here. The name must begin with 'test'. For example:
37
  // public void testHello() {}
38
  
39
  public void testCreateTable() throws Exception {
40
    JDBCHelper helper = TestUtils.getJDBCHelper();
41
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
42
    OperationsFactory operations = helper.getOperations();
43

  
44
    List<String> expectedSQLs = TestUtils.getSQLs("createTable.sql");
45
    
46
    FeatureStore sourceStore = TestUtils.openSourceStore1();
47

  
48
    TableReference table = operations.createTableReference(
49
            "dbtest", 
50
            sqlbuilder.default_schema(), 
51
            "test", 
52
            null
53
    );
54
    FeatureType featureType = sourceStore.getDefaultFeatureType();
55
    CreateTableOperation createTable = operations.createTable(
56
            table,
57
            featureType,
58
            null,
59
            null
60
    );
61
    List<String> SQLs = createTable.getSQLs();
62
    assertEquals("CreateTable num. SQLs", expectedSQLs.size(), SQLs.size());
63
    for (int i = 0; i < expectedSQLs.size(); i++) {
64
      assertEquals("CreateTable SQL "+i, expectedSQLs.get(i), SQLs.get(i));
65
    }
66

  
67
  }
68

  
69
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestDropTable.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
7
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
8
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
9
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
10
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.DropTableOperation;
11
import org.gvsig.postgresql.dal.TestUtils;
12
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
13
import org.slf4j.Logger;
14
import org.slf4j.LoggerFactory;
15

  
16
public class TestDropTable extends TestCase {
17

  
18
  private static final Logger LOGGER = LoggerFactory.getLogger(TestDropTable.class);
19

  
20
  public TestDropTable(String testName) {
21
    super(testName);
22
  }
23

  
24
  @Override
25
  protected void setUp() throws Exception {
26
    super.setUp();
27
    new DefaultLibrariesInitializer().fullInitialize();
28
  }
29

  
30
  @Override
31
  protected void tearDown() throws Exception {
32
    super.tearDown();
33
  }
34

  
35
  // TODO add test methods here. The name must begin with 'test'. For example:
36
  // public void testHello() {}
37
  
38
  public void testDropTable() throws Exception {
39
    JDBCHelper helper = TestUtils.getJDBCHelper();
40
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
41
    OperationsFactory operations = helper.getOperations();
42

  
43
    List<String> expectedSQLs = TestUtils.getSQLs("dropTable.sql");
44
    
45
    FeatureStore sourceStore = TestUtils.openSourceStore1();
46

  
47
    TableReference table = operations.createTableReference(
48
            "dbtest", 
49
            sqlbuilder.default_schema(), 
50
            "test", 
51
            null
52
    );
53
    DropTableOperation dropTable = operations.createDropTable(
54
            table
55
    );
56
    List<String> SQLs = dropTable.getSQLs();
57
    assertEquals("DropTable num. SQLs", expectedSQLs.size(), SQLs.size());
58
    for (int i = 0; i < expectedSQLs.size(); i++) {
59
      assertEquals("DropTable SQL "+i, expectedSQLs.get(i), SQLs.get(i));
60
    }
61
  }
62

  
63
}
tags/org.gvsig.postgresql-2.0.182/org.gvsig.postgresql.provider/src/test/java/org/gvsig/postgresql/dal/operations/sql/TestTableIsEmpty.java
1
package org.gvsig.postgresql.dal.operations.sql;
2

  
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.feature.FeatureType;
7
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
8
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
9
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
10
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
11
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.TableIsEmptyOperation;
12
import org.gvsig.postgresql.dal.TestUtils;
13
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
16

  
17
public class TestTableIsEmpty extends TestCase {
18

  
19
  private static final Logger LOGGER = LoggerFactory.getLogger(TestTableIsEmpty.class);
20

  
21
  public TestTableIsEmpty(String testName) {
22
    super(testName);
23
  }
24

  
25
  @Override
26
  protected void setUp() throws Exception {
27
    super.setUp();
28
    new DefaultLibrariesInitializer().fullInitialize();
29
  }
30

  
31
  @Override
32
  protected void tearDown() throws Exception {
33
    super.tearDown();
34
  }
35

  
36
  // TODO add test methods here. The name must begin with 'test'. For example:
37
  // public void testHello() {}
38
  
39
  public void testTableIsEmpty() throws Exception {
40
    JDBCHelper helper = TestUtils.getJDBCHelper();
41
    JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
42
    OperationsFactory operations = helper.getOperations();
43

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff