Revision 3930

View differences:

org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.main/src/main/resources/README.txt
1
====
2
    gvSIG. Desktop Geographic Information System.
3

  
4
    Copyright (C) 2007-2012 gvSIG Association.
5

  
6
    This program is free software; you can redistribute it and/or
7
    modify it under the terms of the GNU General Public License
8
    as published by the Free Software Foundation; either version 2
9
    of the License, or (at your option) any later version.
10

  
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU General Public License for more details.
15

  
16
    You should have received a copy of the GNU General Public License
17
    along with this program; if not, write to the Free Software
18
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
    MA  02110-1301, USA.
20

  
21
    For any additional information, do not hesitate to contact us
22
    at info AT gvsig.com, or visit our website www.gvsig.com.
23
====
24

  
25
Put into this folder the resources needed by your classes.
26

  
27
This folder is added to the classpath, so you can load any resources 
28
through the ClassLoader.
29

  
30
By default, in this folder you can find an example of log4j configuration,
31
prepared to log messages through the console, so logging works when you
32
run your classes.
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.main/src/main/resources/log4j.xml
1
<?xml version="1.0" encoding="ISO-8859-1" ?>
2
<!--
3

  
4
    gvSIG. Desktop Geographic Information System.
5

  
6
    Copyright (C) 2007-2012 gvSIG Association.
7

  
8
    This program is free software; you can redistribute it and/or
9
    modify it under the terms of the GNU General Public License
10
    as published by the Free Software Foundation; either version 2
11
    of the License, or (at your option) any later version.
12

  
13
    This program is distributed in the hope that it will be useful,
14
    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
    GNU General Public License for more details.
17

  
18
    You should have received a copy of the GNU General Public License
19
    along with this program; if not, write to the Free Software
20
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
    MA  02110-1301, USA.
22

  
23
    For any additional information, do not hesitate to contact us
24
    at info AT gvsig.com, or visit our website www.gvsig.com.
25

  
26
-->
27
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
28

  
29
<!-- 
30
Log4J configuration file for unit tests execution.
31
 -->
32
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
33

  
34
	<!-- Appender configuration to show logging messages through the console -->
35
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
36
		<layout class="org.apache.log4j.PatternLayout">
37
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]  %m%n" />
38
		</layout>
39
	</appender>
40

  
41
	<!-- 
42
	Activate logging messages of DEBUG level of higher only for the
43
	org.gvsig.tools packages.
44
	You can put full classes names or packages instead, to configure
45
	logging for all the classes and subpackages of the package.
46
	-->
47
	<category name="org.gvsig">
48
		<priority value="WARN" />
49
	</category>
50
	<category name="org.cresques">
51
		<priority value="WARN" />
52
	</category>
53

  
54
	<!-- 
55
	By default, show only logging messages of INFO level or higher, 
56
	through the previously configured CONSOLE appender. 
57
	-->
58
	<root>
59
		<priority value="INFO" />
60
		<appender-ref ref="CONSOLE" />
61
	</root>
62
</log4j:configuration>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.main/src/main/assembly/package-main.xml
1
<assembly>
2

  
3
    <id>package-main</id>
4
    <formats>
5
        <format>dir</format>
6
        <format>zip</format>
7
    </formats>
8

  
9
    <baseDirectory>${project.artifactId}</baseDirectory>
10
    <includeBaseDirectory>false</includeBaseDirectory>
11

  
12
    <files>
13
        <file>
14
            <source>target/${project.artifactId}-${project.version}.jar</source>
15
            <outputDirectory>.</outputDirectory>
16
        </file>
17
    </files>
18

  
19
    <fileSets>
20
        <fileSet>
21
            <directory>src/main/resources/data</directory>
22
            <outputDirectory>data</outputDirectory>
23
        </fileSet>
24
    </fileSets>
25

  
26
    <dependencySets>
27
        <dependencySet>
28
            <useProjectArtifact>false</useProjectArtifact>
29
            <useTransitiveDependencies>true</useTransitiveDependencies>
30
            <outputDirectory>lib</outputDirectory>
31
        </dependencySet>
32
    </dependencySets>
33

  
34
</assembly>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.main/src/main/java/org/gvsig/vcsgis/main/Main.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright ? 2007-2020 gvSIG Association
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.vcsgis.main;
25

  
26
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
27

  
28
/**
29
 * Main executable class of vcsgis tool.
30
 *
31
 * @author gvSIG Team
32
 */
33
public class Main {
34

  
35
    public static void main(String args[]) {
36
        new DefaultLibrariesInitializer().fullInitialize();
37
    }
38

  
39
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.main/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<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/maven-v4_0_0.xsd">
3
    <modelVersion>4.0.0</modelVersion>
4
    <artifactId>org.gvsig.vcsgis.main</artifactId>
5
    <packaging>jar</packaging>
6
    <name>${project.artifactId}</name>
7
    <parent>
8
        <groupId>org.gvsig</groupId>
9
        <artifactId>org.gvsig.vcsgis</artifactId>
10
        <version>1.0.0-SNAPSHOT</version>
11
    </parent>
12
  
13
  
14
    <build>
15
        <plugins>
16
            <plugin>
17
                <artifactId>maven-assembly-plugin</artifactId>
18
                <executions>
19
                    <execution>
20
                        <id>package-main</id>
21
                        <phase>package</phase>
22
                        <goals>
23
                            <goal>single</goal>
24
                        </goals>
25
                        <configuration>
26
                            <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
27
                            <appendAssemblyId>false</appendAssemblyId>
28
                            <finalName>${project.artifactId}-${project.version}</finalName>
29
                            <descriptors>
30
                                <descriptor>src/main/assembly/package-main.xml</descriptor>
31
                            </descriptors>
32
                        </configuration>
33
                    </execution>
34
                </executions>
35
            </plugin>
36

  
37
            <plugin>
38
                <groupId>org.apache.maven.plugins</groupId>
39
                <artifactId>maven-jar-plugin</artifactId>
40
                <configuration>
41
                    <archive>
42
                        <manifest>
43
                            <addClasspath>true</addClasspath>
44
                            <mainClass>org.gvsig.vcsgis.main.Main</mainClass>
45
                            <classpathPrefix>lib</classpathPrefix>
46
                        </manifest>
47
                    </archive>
48
                </configuration>
49
            </plugin>
50

  
51
        </plugins>
52

  
53
    </build>
54
  
55
  
56
    <dependencies>
57
        <dependency>
58
            <groupId>org.gvsig</groupId>
59
            <artifactId>org.gvsig.vcsgis.lib.api</artifactId>
60
            <scope>compile</scope>
61
        </dependency>
62
        <dependency>
63
            <groupId>org.gvsig</groupId>
64
            <artifactId>org.gvsig.vcsgis.swing.api</artifactId>
65
            <scope>compile</scope>
66
        </dependency>
67

  
68
        <!-- runtime dependencies -->
69
        <dependency>
70
            <groupId>org.gvsig</groupId>
71
            <artifactId>org.gvsig.vcsgis.lib.impl</artifactId>
72
            <scope>runtime</scope>
73
        </dependency>
74
        <dependency>
75
            <groupId>org.gvsig</groupId>
76
            <artifactId>org.gvsig.vcsgis.swing.impl</artifactId>
77
            <scope>compile</scope>
78
        </dependency>
79
        <dependency>
80
            <groupId>org.gvsig</groupId>
81
            <artifactId>${org.gvsig.metadata.lib.basic.impl}</artifactId>
82
            <scope>runtime</scope>
83
        </dependency>
84
        <dependency>
85
            <groupId>org.gvsig</groupId>
86
            <artifactId>org.gvsig.fmap.dal.impl</artifactId>
87
            <scope>runtime</scope>
88
        </dependency>
89
        <dependency>
90
            <groupId>org.gvsig</groupId>
91
            <artifactId>org.gvsig.fmap.dal.spi</artifactId>
92
            <scope>runtime</scope>
93
        </dependency>
94
        <dependency>
95
            <groupId>org.gvsig</groupId>
96
            <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
97
            <scope>runtime</scope>
98
        </dependency>
99
        <dependency>
100
            <groupId>org.gvsig</groupId>
101
            <artifactId>org.gvsig.fmap.dal.file.shp</artifactId>
102
            <scope>runtime</scope>
103
        </dependency>
104
        <dependency>
105
            <groupId>org.gvsig</groupId>
106
            <artifactId>org.gvsig.fmap.dal.file.dbf</artifactId>
107
            <scope>runtime</scope>
108
        </dependency>
109
        <dependency>
110
            <groupId>org.gvsig</groupId>
111
            <artifactId>org.gvsig.fmap.dal.db.lib</artifactId>
112
            <scope>runtime</scope>
113
        </dependency>
114
        <dependency>
115
            <groupId>org.gvsig</groupId>
116
            <artifactId>org.gvsig.fmap.dal.db.h2</artifactId>
117
            <scope>runtime</scope>
118
        </dependency>
119

  
120
        <dependency>
121
            <groupId>org.gvsig</groupId>
122
            <artifactId>org.gvsig.timesupport.lib.api</artifactId>
123
            <scope>runtime</scope>
124
        </dependency>
125
        <dependency>
126
            <groupId>org.gvsig</groupId>
127
            <artifactId>${org.gvsig.timesupport.lib.impl}</artifactId>
128
            <scope>runtime</scope>
129
        </dependency>
130

  
131
        <dependency>
132
            <groupId>org.gvsig</groupId>
133
            <artifactId>${org.gvsig.compat.impl}</artifactId>
134
            <scope>runtime</scope>
135
        </dependency>
136
        <dependency>
137
            <groupId>org.gvsig</groupId>
138
            <artifactId>${org.gvsig.fmap.geometry.impl}</artifactId>
139
            <scope>runtime</scope>
140
        </dependency>
141

  
142
        <dependency>
143
            <groupId>org.gvsig</groupId>            
144
            <artifactId>${org.gvsig.proj.lib.impl}</artifactId>
145
            <scope>runtime</scope>
146
        </dependency>
147

  
148
        <dependency>
149
            <groupId>org.gvsig</groupId>
150
            <artifactId>org.gvsig.tools.swing.api</artifactId>
151
            <scope>runtime</scope>
152
        </dependency>
153
        <dependency>
154
            <groupId>org.gvsig</groupId>
155
            <artifactId>org.gvsig.tools.swing.impl</artifactId>
156
            <scope>runtime</scope>
157
        </dependency>
158

  
159

  
160
    </dependencies>
161
</project>
0 162

  
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisCommitServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisCommitServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createCommitHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisRowDeleteServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisRowDeleteServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createRowUpdateHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisRowUpdateServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisRowUpdateServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createRowUpdateHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisRowCreateServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisRowCreateServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createRowCreateHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22

  
23
package org.gvsig.vcsgis.server.lib;
24

  
25
import javax.servlet.http.HttpServlet;
26
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
27
import org.gvsig.vcsgis.lib.VCSGisLocator;
28
import org.gvsig.vcsgis.lib.VCSGisManager;
29
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
30
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
31

  
32
/**
33
 *
34
 * @author gvSIG Team
35
 */
36
public abstract class VCSGisServlet extends HttpServlet {
37

  
38
    protected VCSGisServerController createVCSGisServerController() {
39
        VCSGisManager manager = VCSGisLocator.getVCSGisManager();
40
        JDBCServerExplorerParameters dbconn = (JDBCServerExplorerParameters) this.getServletContext().getAttribute(VCSGisServerUtils.VCSGIS_CONFIG_DBPARAMS);
41
        VCSGisRepository repository = manager.openRepository(dbconn);
42
        VCSGisServerController serverController = manager.createServerController(repository);
43
        return serverController;
44
    }
45

  
46
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisServerUtils.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22

  
23
package org.gvsig.vcsgis.server.lib;
24

  
25
import java.io.File;
26
import java.net.URL;
27
import org.apache.commons.io.FileUtils;
28
import org.apache.commons.math.stat.inference.TestUtils;
29
import org.eclipse.jetty.server.Server;
30
import org.eclipse.jetty.server.handler.ShutdownHandler;
31
import org.eclipse.jetty.servlet.ServletContextHandler;
32
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
33
import org.eclipse.jetty.server.handler.HandlerCollection;
34
import org.gvsig.fmap.dal.DALLocator;
35
import org.gvsig.fmap.dal.DataManager;
36
import org.gvsig.fmap.dal.DataStore;
37
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
38
import org.gvsig.tools.util.HasAFile;
39
import org.gvsig.vcsgis.lib.VCSGisLocator;
40
import org.gvsig.vcsgis.lib.VCSGisManager;
41

  
42
/**
43
 *
44
 * @author gvSIG Team
45
 */
46
public class VCSGisServerUtils {
47

  
48
    /*
49
    https://www.eclipse.org/jetty/documentation/current/
50
    
51
    */
52
    public static final String VCSGIS_CONFIG_DBPARAMS = "org.gvsig.vcsgis.server.params";
53
    
54
    public static final String PROVIDER_NAME = DataStore.H2SPATIAL_PROVIDER_NAME;
55
    public static final String DB_NAME = "vcsgisserver";
56
    public static final int SERVER_PORT = 9810;
57
    
58
    public static Server createServer(
59
            JDBCServerExplorerParameters dbparams, 
60
            String shutdownpass
61
        ) {
62
        return createServer(SERVER_PORT, dbparams, shutdownpass);
63
    }
64
    
65
    public static Server createServer(JDBCServerExplorerParameters dbparams) {
66
        return createServer(SERVER_PORT, dbparams, null);
67
    }
68
    
69
    public static Server createServer(
70
            int port, 
71
            JDBCServerExplorerParameters dbparams, 
72
            String shutdownpass
73
        ) {
74
        Server server = new Server(port);
75

  
76
        ServletContextHandler context = new ServletContextHandler(
77
                ServletContextHandler.NO_SECURITY | ServletContextHandler.NO_SESSIONS
78
        );
79

  
80
        context.setAttribute(VCSGIS_CONFIG_DBPARAMS, dbparams);
81
        
82
        context.addServlet(HelloServlet.class, "/hello");
83
        
84
        context.addServlet(VCSGisEntitiesServlet.class, "/entities");
85
        context.addServlet(VCSGisCommitServlet.class, "/commit");
86
        context.addServlet(VCSGisCheckoutServlet.class, "/checkout");
87

  
88
        context.addServlet(VCSGisRowCreateServlet.class, "/rowcreate");
89
        context.addServlet(VCSGisRowUpdateServlet.class, "/rowupdate");
90
        context.addServlet(VCSGisRowDeleteServlet.class, "/rowdelete");
91

  
92
        HandlerCollection handlers = new HandlerCollection();
93
        handlers.addHandler(context);
94
        if( shutdownpass!=null ) {
95
            handlers.addHandler(new ShutdownHandler(shutdownpass));
96
        }
97
        server.setHandler(handlers);
98

  
99
        return server;
100
    }
101

  
102
    public static void main(String[] args) throws Exception
103
    {
104
             
105
        new DefaultLibrariesInitializer().fullInitialize();
106
        
107
        VCSGisManager manager = VCSGisLocator.getVCSGisManager();
108
        JDBCServerExplorerParameters dbparams = getDBParameters(DB_NAME);
109
        manager.initRepository(dbparams, null);
110
        
111
        Server server = createServer(
112
                SERVER_PORT, 
113
                dbparams,
114
                "pass"
115
        );
116
        server.start();
117
        server.join();
118
    }
119
    
120
    private static JDBCServerExplorerParameters getDBParameters(String dbname)  {
121
        try {
122
            DataManager dataManager = DALLocator.getDataManager();
123
            JDBCServerExplorerParameters conn = (JDBCServerExplorerParameters) dataManager.createServerExplorerParameters(PROVIDER_NAME);
124
            
125
            File dbfile = getResource(String.format("test-dbs/%s",dbname));
126
            FileUtils.forceMkdir(dbfile.getParentFile());
127
            ((HasAFile)conn).setFile(dbfile);
128
            return conn;
129
        } catch (Exception ex) {
130
            return null;
131
        }
132
    }
133
    
134
    private static File getTargetFolder() throws Exception {
135
        URL url = TestUtils.class.getResource("/");
136
        File x = new File(url.toURI());
137
        File target = x.getParentFile();
138
        return target;
139
    }
140
    
141
    private static File getResource(String name) throws Exception {
142
        File x = new File(getTargetFolder(), name);
143
        return x;
144
    }
145

  
146
    
147

  
148
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisUpdateServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisUpdateServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createUpdateHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/HelloServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import javax.naming.InitialContext;
30
import javax.naming.NamingException;
31
import javax.servlet.http.HttpServlet;
32
import javax.servlet.http.HttpServletRequest;
33
import javax.servlet.http.HttpServletResponse;
34

  
35
public class HelloServlet extends HttpServlet {
36

  
37
    @Override
38
    protected void doGet(HttpServletRequest request,
39
            HttpServletResponse response) throws IOException {
40

  
41
        response.setStatus(HttpServletResponse.SC_OK);
42
        response.setContentType("text/html");
43
        response.setCharacterEncoding("utf-8");
44
        response.getWriter().println("<h1>Hello from HelloServlet</h1>");
45
        response.getWriter().println(this.getServletContext().getClass().getName()+"<br>");
46
        response.getWriter().println("VCSGisDatabaseParameters="+(this.getServletContext().getAttribute(VCSGisServerUtils.VCSGIS_CONFIG_DBPARAMS))+"<br>");
47
        
48
    }
49

  
50
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisEntitiesServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisEntitiesServlet extends VCSGisServlet {
38

  
39
    
40
    @Override
41
    protected void doGet(HttpServletRequest request,
42
            HttpServletResponse response) throws IOException {
43
        try {
44
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
45
            VCSGisServerHandler handler = vcsgisserver.createEntitiesHandler();
46
            
47
            InputStream response_stream = handler.handle(request.getInputStream());
48
            
49
            IOUtils.copy(response_stream, response.getWriter());
50
            
51
//            vcsgisserver.dispose();
52
            
53
            response.setStatus(HttpServletResponse.SC_OK);
54
            response.setContentType("application/json");
55
            response.setCharacterEncoding("utf-8");
56
        } catch (Exception ex) {
57
            throw new IOException(ex);
58
        }
59
    }
60

  
61
    @Override
62
    protected void doPost(HttpServletRequest request,
63
            HttpServletResponse response) throws IOException {
64
        try {
65
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
66
            VCSGisServerHandler handler = vcsgisserver.createEntitiesHandler();
67
            
68
            InputStream response_stream = handler.handle(request.getInputStream());
69
            
70
            IOUtils.copy(response_stream, response.getWriter());
71
            
72
//            vcsgisserver.dispose();
73
            
74
            response.setStatus(HttpServletResponse.SC_OK);
75
            response.setContentType("application/json");
76
            response.setCharacterEncoding("utf-8");
77
        } catch (Exception ex) {
78
            throw new IOException(ex);
79
        }
80
    }
81
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org/gvsig/vcsgis/server/lib/VCSGisCheckoutServlet.java
1
/*
2
 * gvSIG. Desktop Geographic Information System.
3
 * 
4
 * Copyright (C) 2007-2020 gvSIG Association.
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License 
17
 * along with this program. If not, see <https://www.gnu.org/licenses/>. 
18
 * 
19
 * For any additional information, do not hesitate to contact us
20
 * at info AT gvsig.com, or visit our website www.gvsig.com.
21
 */
22
package org.gvsig.vcsgis.server.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
import java.io.IOException;
29
import java.io.InputStream;
30
import javax.servlet.http.HttpServletRequest;
31
import javax.servlet.http.HttpServletResponse;
32
import org.apache.commons.io.IOUtils;
33
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
34
import org.gvsig.vcsgis.lib.server.VCSGisServerHandler;
35

  
36

  
37
public class VCSGisCheckoutServlet extends VCSGisServlet {
38

  
39
    @Override
40
    protected void doPost(HttpServletRequest request,
41
            HttpServletResponse response) throws IOException {
42
        try {
43
            VCSGisServerController vcsgisserver = this.createVCSGisServerController();
44
            VCSGisServerHandler handler = vcsgisserver.createCheckoutHandler();
45
            
46
            InputStream response_stream = handler.handle(request.getInputStream());
47
            
48
            IOUtils.copy(response_stream, response.getWriter());
49
            
50
//            vcsgisserver.dispose();
51
            
52
            response.setStatus(HttpServletResponse.SC_OK);
53
            response.setContentType("application/json");
54
            response.setCharacterEncoding("utf-8");
55
        } catch (Exception ex) {
56
            throw new IOException(ex);
57
        }
58
    }
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.vcsgis.lib.VCSGisLibraryImpl
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/resources/org/gvsig/vcsgis/lib/H2Spatial.sql
1
@begin createRepositoryIndex1
2
create index if not exists idx_data_1 on VCSGISREPO_DATA (COD_ENTITY ASC, DAT_REVNUMBER ASC)
3
@end createRepositoryIndex1
4

  
5
@begin createRepositoryIndex2
6
create index if not exists idx_data_2 on VCSGISREPO_DATA (DAT_FEATURERELATEDCODE ASC, DAT_REVNUMBER ASC, DAT_OPERATION ASC)
7
@end createRepositoryIndex2
8

  
9
@begin getDataOfEntityFromRevisionNumber
10
select 
11
  "VCSGISREPO_DATA1"."COD_DATA", 
12
  "VCSGISREPO_DATA1"."COD_REVISION", 
13
  "VCSGISREPO_DATA1"."COD_ENTITY", 
14
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
15
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
16
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
17
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
18
  "VCSGISREPO_DATA1"."DAT_GEOM", 
19
  "VCSGISREPO_DATA1"."DAT_DATA", 
20
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
21
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
22
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
23
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
24
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
25
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
26
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
27
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" > %1$d 
28
where 
29
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s' 
30
  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" > %1$d 
31
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
32
having not (
33
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
34
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
35
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
36
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
37
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
38
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)  )
39
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
40
@end getDataOfEntityFromRevisionNumber
41

  
42
@begin getDataOfEntityToRevisionNumber
43
select 
44
  "VCSGISREPO_DATA1"."COD_DATA", 
45
  "VCSGISREPO_DATA1"."COD_REVISION", 
46
  "VCSGISREPO_DATA1"."COD_ENTITY", 
47
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
48
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
49
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
50
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
51
  "VCSGISREPO_DATA1"."DAT_GEOM", 
52
  "VCSGISREPO_DATA1"."DAT_DATA", 
53
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
54
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
55
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
56
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
57
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
58
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
59
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
60
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" <= %1$d 
61
where 
62
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s' 
63
  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" <= %1$d 
64
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
65
having not (
66
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
67
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
68
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
69
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
70
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
71
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)  )
72
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
73
@end getDataOfEntityToRevisionNumber
74

  
75
@begin getDataOfEntityFromEfectiveDate
76
-- TABLE_NAME,
77
-- efectiveDate,
78
select 
79
  "VCSGISREPO_DATA1"."COD_DATA", 
80
  "VCSGISREPO_DATA1"."COD_REVISION", 
81
  "VCSGISREPO_DATA1"."COD_ENTITY", 
82
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
83
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
84
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
85
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
86
  "VCSGISREPO_DATA1"."DAT_GEOM", 
87
  "VCSGISREPO_DATA1"."DAT_DATA", 
88
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
89
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
90
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
91
  max("VCSGISREPO_DATA2"."DAT_EFECTIVEDATE") as MAXEFFECTIVEDATE,
92
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
93
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
94
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
95
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
96
    and "VCSGISREPO_DATA2"."DAT_EFECTIVEDATE" <= '%2$s'
97
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" != "VCSGISREPO_DATA1"."DAT_REVNUMBER"
98
where 
99
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%1$s' 
100
  and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= '%2$s' 
101
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
102
having not (
103
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
104
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
105
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
106
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)
107
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)
108
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)  )
109
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
110

  
111
@end getDataOfEntityFromEfectiveDate
112

  
113
@begin dateFormat
114
yyyy-MM-dd HH:mm:ss.S
115
@end dateFormat
116

  
117
@begin createWorkspaceIndex1
118
create index if not exists idx_wschanges_1 on VCSGIS_WSCHANGES (COD_ENTITY ASC, WSCH_OPERATION DESC, COD_WSCHANGE ASC)
119
@end createWorkspaceIndex1
120

  
121
@begin createWorkspaceIndex2
122
create index if not exists idx_wschanges_2 on VCSGIS_WSCHANGES (WSCH_SELECTED ASC, WSCH_OPERATION ASC)
123
@end createWorkspaceIndex2
124

  
125
@begin createWorkspaceIndex3
126
create index if not exists idx_remotechanges_3 on VCSGIS_REMOTECHANGES (COD_ENTITY ASC, RCH_SELECTED ASC)
127
@end createWorkspaceIndex3
128

  
129
@begin updateStateFromLocalChanges
130
-- status
131
update VCSGIS_REMOTECHANGES 
132
set RCH_STATUS = %1$d 
133
where exists (select 1 from VCSGIS_WSCHANGES where RCH_DATACODE = WSCH_FEATURECODE LIMIT 1)
134
@end updateStateFromLocalChanges
135

  
136
@begin removeLocalChangesRelatedToSelectedRemoteChanges
137
-- entityCode
138
delete from VCSGIS_WSCHANGES 
139
where COD_ENTITY = '%1$s' and WSCH_FEATURECODE in (
140
    select RCH_DATACODE from VCSGIS_REMOTECHANGES where RCH_DATACODE = WSCH_FEATURECODE and CAST(RCH_SELECTED as INT)=1)
141
@end removeLocalChangesRelatedToSelectedRemoteChanges
142

  
143
@begin getChangesWidthUserData
144
-- EntityName
145
-- FeatureIdFieldName (VCSGISCODE)
146
-- RelatedFeatureCode
147
-- filter
148
SELECT * FROM VCSGIS_WSCHANGES left join "%1$s" on WSCH_FEATURECODE = "%2$s" WHERE "%2$s" <> '%3$s' AND (%4$s)
149
@end getChangesWidthUserData
150

  
151

  
152

  
153
@begin alterTableAddColumnVCSGISCODE
154
-- EntityName
155
ALTER TABLE "%1$s" ADD COLUMN "VCSGISCODE" VARCHAR(40)
156
@end alterTableAddColumnVCSGISCODE
157

  
158
@begin alterTableDropPrimaryKey
159
-- EntityName
160
ALTER TABLE "%1$s" DROP PRIMARY KEY
161
@end alterTableDropPrimaryKey
162

  
163
@begin alterTableAlterColumnVCSGISCODESetNotNull
164
-- EntityName
165
ALTER TABLE "%1$s" ALTER COLUMN "VCSGISCODE" SET NOT NULL
166
@end alterTableAlterColumnVCSGISCODESetNotNull
167

  
168
@begin alterTableAddPrimaryKeyVCSGISCODE
169
-- EntityName
170
ALTER TABLE "%1$s" ADD PRIMARY KEY ("VCSGISCODE")
171
@end alterTableAddPrimaryKeyVCSGISCODE
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/resources/org/gvsig/vcsgis/lib/PostgreSQL.sql
1
@begin createRepositoryIndex1
2
create index if not exists idx_data_1 on VCSGISREPO_DATA (COD_ENTITY ASC, DAT_REVNUMBER ASC)
3
@end createRepositoryIndex1
4

  
5
@begin createRepositoryIndex2
6
create index if not exists idx_data_2 on VCSGISREPO_DATA (DAT_FEATURERELATEDCODE ASC, DAT_REVNUMBER ASC, DAT_OPERATION ASC)
7
@end createRepositoryIndex2
8

  
9
@begin getDataOfEntityFromRevisionNumber
10
select 
11
  "VCSGISREPO_DATA1"."COD_DATA", 
12
  "VCSGISREPO_DATA1"."COD_REVISION", 
13
  "VCSGISREPO_DATA1"."COD_ENTITY", 
14
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
15
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
16
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
17
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
18
  "VCSGISREPO_DATA1"."DAT_GEOM", 
19
  "VCSGISREPO_DATA1"."DAT_DATA", 
20
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
21
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
22
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
23
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
24
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
25
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
26
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
27
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" > %1$d 
28
where 
29
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s' 
30
  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" > %1$d 
31
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
32
having not (
33
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
34
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
35
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
36
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
37
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
38
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)  )
39
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
40
@end getDataOfEntityFromRevisionNumber
41

  
42
@begin getDataOfEntityToRevisionNumber
43
select 
44
  "VCSGISREPO_DATA1"."COD_DATA", 
45
  "VCSGISREPO_DATA1"."COD_REVISION", 
46
  "VCSGISREPO_DATA1"."COD_ENTITY", 
47
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
48
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
49
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
50
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
51
  "VCSGISREPO_DATA1"."DAT_GEOM", 
52
  "VCSGISREPO_DATA1"."DAT_DATA", 
53
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
54
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
55
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
56
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
57
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
58
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
59
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
60
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" <= %1$d 
61
where 
62
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s' 
63
  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" <= %1$d 
64
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
65
having not (
66
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
67
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
68
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
69
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
70
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)
71
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < MAXREV)  )
72
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
73
@end getDataOfEntityToRevisionNumber
74

  
75
@begin getDataOfEntityFromEfectiveDate
76
-- TABLE_NAME,
77
-- efectiveDate,
78
select 
79
  "VCSGISREPO_DATA1"."COD_DATA", 
80
  "VCSGISREPO_DATA1"."COD_REVISION", 
81
  "VCSGISREPO_DATA1"."COD_ENTITY", 
82
  case when "VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 2 else "VCSGISREPO_DATA1"."DAT_OPERATION" end as "DAT_OPERATION",
83
  "VCSGISREPO_DATA1"."DAT_REVNUMBER", 
84
  "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", 
85
  "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", 
86
  "VCSGISREPO_DATA1"."DAT_GEOM", 
87
  "VCSGISREPO_DATA1"."DAT_DATA", 
88
  (case when min("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 then 1 else 0 end) as "DEL",
89
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 then 1 else 0 end) as "UPD",
90
  (case when max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 then 1 else 0 end) as "INS",
91
  max("VCSGISREPO_DATA2"."DAT_EFECTIVEDATE") as MAXEFFECTIVEDATE,
92
  max("VCSGISREPO_DATA2"."DAT_REVNUMBER") as MAXREV
93
from "VCSGISREPO_DATA" as "VCSGISREPO_DATA1"
94
  left join "VCSGISREPO_DATA" as "VCSGISREPO_DATA2" on
95
    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
96
    and "VCSGISREPO_DATA2"."DAT_EFECTIVEDATE" <= to_timestamp('%2$s', 'YYYY-MM-DD HH24:MI:SS') 
97
    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" != "VCSGISREPO_DATA1"."DAT_REVNUMBER"
98
where 
99
  "VCSGISREPO_DATA1"."COD_ENTITY" = '%1$s' 
100
  and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= to_timestamp('%2$s', 'YYYY-MM-DD HH24:MI:SS') 
101
group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION", "VCSGISREPO_DATA1"."DAT_DATA"
102
having not (
103
  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and ( "INS" = 1 ))
104
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "DEL" = 1)
105
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and ("DEL" = 1 or "UPD" = 1))
106
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and "DEL" = 0 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)
107
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and "UPD" = 1 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)
108
  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and "INS" = 1 and "VCSGISREPO_DATA1"."DAT_EFECTIVEDATE" <= MAXEFFECTIVEDATE and "VCSGISREPO_DATA1"."DAT_REVNUMBER" != MAXREV)  )
109
order by "VCSGISREPO_DATA1"."DAT_OPERATION" desc
110

  
111
@end getDataOfEntityFromEfectiveDate
112

  
113
@begin dateFormat
114
yyyy-MM-dd HH:mm:ss
115
@end dateFormat
116

  
117
@begin createWorkspaceIndex1
118
create index if not exists idx_wschanges_1 on VCSGIS_WSCHANGES (COD_ENTITY ASC, WSCH_OPERATION DESC, COD_WSCHANGE ASC)
119
@end createWorkspaceIndex1
120

  
121
@begin createWorkspaceIndex2
122
create index if not exists idx_wschanges_2 on VCSGIS_WSCHANGES (WSCH_SELECTED ASC, WSCH_OPERATION ASC)
123
@end createWorkspaceIndex2
124

  
125
@begin createWorkspaceIndex3
126
create index if not exists idx_remotechanges_3 on VCSGIS_REMOTECHANGES (COD_ENTITY ASC, RCH_SELECTED ASC)
127
@end createWorkspaceIndex3
128

  
129
@begin updateStateFromLocalChanges
130
-- status
131
update VCSGIS_REMOTECHANGES 
132
set RCH_STATUS = %1$d 
133
where exists (select 1 from VCSGIS_WSCHANGES where RCH_DATACODE = WSCH_FEATURECODE LIMIT 1)
134
@end updateStateFromLocalChanges
135

  
136
@begin removeLocalChangesRelatedToSelectedRemoteChanges
137
-- entityCode
138
delete from VCSGIS_WSCHANGES 
139
where COD_ENTITY = '%1$s' and WSCH_FEATURECODE in (
140
    select RCH_DATACODE from VCSGIS_REMOTECHANGES where RCH_DATACODE = WSCH_FEATURECODE and CAST(RCH_SELECTED as INT)=1)
141
@end removeLocalChangesRelatedToSelectedRemoteChanges
142

  
143
@begin getChangesWidthUserData
144
-- EntityName
145
-- FeatureIdFieldName (VCSGISCODE)
146
-- RelatedFeatureCode
147
-- filter
148
SELECT * FROM VCSGIS_WSCHANGES left join "%1$s" on WSCH_FEATURECODE = "%2$s" WHERE "%2$s" <> '%3$s' AND (%4$s)
149
@end getChangesWidthUserData
150

  
151

  
152

  
153
@begin alterTableAddColumnVCSGISCODE
154
-- EntityName
155
ALTER TABLE "%1$s" ADD COLUMN "VCSGISCODE" VARCHAR(40)
156
@end alterTableAddColumnVCSGISCODE
157

  
158
@begin alterTableDropPrimaryKey
159
-- EntityName
160
ALTER TABLE "%1$s" DROP PRIMARY KEY
161
@end alterTableDropPrimaryKey
162

  
163
@begin alterTableAlterColumnVCSGISCODESetNotNull
164
-- EntityName
165
ALTER TABLE "%1$s" ALTER COLUMN "VCSGISCODE" SET NOT NULL
166
@end alterTableAlterColumnVCSGISCODESetNotNull
167

  
168
@begin alterTableAddPrimaryKeyVCSGISCODE
169
-- EntityName
170
ALTER TABLE "%1$s" ADD PRIMARY KEY ("VCSGISCODE")
171
@end alterTableAddPrimaryKeyVCSGISCODE
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.20/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/resources/org/gvsig/vcsgis/lib/Oracle.sql
1
@begin createRepositoryIndex1
2
create index idx_data_1 on VCSGISREPO_DATA (COD_ENTITY ASC, DAT_REVNUMBER ASC)
3
@end createRepositoryIndex1
4

  
5
@begin createRepositoryIndex2
6
create index idx_data_2 on VCSGISREPO_DATA (DAT_FEATURERELATEDCODE ASC, DAT_REVNUMBER ASC, DAT_OPERATION ASC)
7
@end createRepositoryIndex2
8

  
9
@begin getDataOfEntityFromRevisionNumber
10
select * from "VCSGISREPO_DATA" where "VCSGISREPO_DATA"."COD_DATA" in (
11
	select 
12
	  MIN("VCSGISREPO_DATA1"."COD_DATA")
13
	from "VCSGISREPO_DATA" "VCSGISREPO_DATA1"
14
	  left join "VCSGISREPO_DATA" "VCSGISREPO_DATA2" on
15
	    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
16
	    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" > %1$d 
17
	where 
18
	  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s'
19
	  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" > %1$d   
20
	group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION"
21
	having not (
22
	  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and MAX("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 )
23
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and MIN("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 )
24
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and (MIN("VCSGISREPO_DATA2"."DAT_OPERATION") = 0  or max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 ))
25
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and MIN("VCSGISREPO_DATA2"."DAT_OPERATION") <> 0  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < max("VCSGISREPO_DATA2"."DAT_REVNUMBER"))
26
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and (max("VCSGISREPO_DATA2"."DAT_OPERATION") = 1 or min("VCSGISREPO_DATA2"."DAT_OPERATION") = 1) and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < max("VCSGISREPO_DATA2"."DAT_REVNUMBER"))
27
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 2 and max("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 and "VCSGISREPO_DATA1"."DAT_REVNUMBER" < max("VCSGISREPO_DATA2"."DAT_REVNUMBER"))  )
28
)
29
order by "VCSGISREPO_DATA"."DAT_OPERATION" desc
30
@end getDataOfEntityFromRevisionNumber
31

  
32
@begin getDataOfEntityToRevisionNumber
33
select * from "VCSGISREPO_DATA" where "VCSGISREPO_DATA"."COD_DATA" in (
34
	select 
35
	  MIN("VCSGISREPO_DATA1"."COD_DATA")
36
	from "VCSGISREPO_DATA" "VCSGISREPO_DATA1"
37
	  left join "VCSGISREPO_DATA" "VCSGISREPO_DATA2" on
38
	    "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE" = "VCSGISREPO_DATA2"."DAT_FEATURERELATEDCODE"
39
	    and "VCSGISREPO_DATA2"."DAT_REVNUMBER" <= %1$d 
40
	where 
41
	  "VCSGISREPO_DATA1"."COD_ENTITY" = '%2$s'
42
	  and "VCSGISREPO_DATA1"."DAT_REVNUMBER" <= %1$d   
43
	group by "VCSGISREPO_DATA1"."DAT_FEATURERELATEDCODE", "VCSGISREPO_DATA1"."DAT_REVNUMBER", "VCSGISREPO_DATA1"."DAT_OPERATION"
44
	having not (
45
	  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 0 and MAX("VCSGISREPO_DATA2"."DAT_OPERATION") = 2 )
46
	  or  ("VCSGISREPO_DATA1"."DAT_OPERATION" = 1 and MIN("VCSGISREPO_DATA2"."DAT_OPERATION") = 0 )
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff