Revision 7275

View differences:

org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/pom.xml
1
<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">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.vcsgis</artifactId>
6
    <version>1.0.79</version>
7
  </parent>
8
  <artifactId>org.gvsig.vcsgis.lib</artifactId>
9
  <packaging>pom</packaging>
10
  <modules>
11
    <module>org.gvsig.vcsgis.lib.api</module>
12
    <module>org.gvsig.vcsgis.lib.impl</module>
13
  </modules>
14
</project>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/pom.xml
1
<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">
2
  <modelVersion>4.0.0</modelVersion>
3
  <artifactId>org.gvsig.vcsgis.lib.api</artifactId>
4
  <name>${project.artifactId}</name>
5
  <parent>
6
    <groupId>org.gvsig</groupId>
7
    <artifactId>org.gvsig.vcsgis.lib</artifactId>
8
    <version>1.0.79</version>
9
  </parent>
10

  
11
  <build>
12
    <plugins>
13
      <plugin>
14
        <groupId>org.apache.maven.plugins</groupId>
15
        <artifactId>maven-jar-plugin</artifactId>
16
        <configuration>
17
        </configuration>
18
        <executions>
19
          <!-- Generates a jar file only with the test classes -->
20
          <execution>
21
            <goals>
22
              <goal>test-jar</goal>
23
            </goals>
24
          </execution>
25
        </executions>
26
      </plugin>
27
    </plugins>
28
  </build>
29

  
30
  <dependencies>
31
    <dependency>
32
      <groupId>org.gvsig</groupId>
33
      <artifactId>org.gvsig.tools.lib</artifactId>
34
      <scope>compile</scope>
35
    </dependency>
36
    <dependency>
37
      <groupId>javax.servlet</groupId>
38
      <artifactId>javax.servlet-api</artifactId>
39
      <scope>compile</scope>
40
    </dependency>
41
    <dependency>
42
      <groupId>org.gvsig</groupId>
43
      <artifactId>org.gvsig.fmap.geometry.api</artifactId>
44
      <scope>compile</scope>
45
    </dependency>
46
    <dependency>
47
      <groupId>org.gvsig</groupId>
48
      <artifactId>org.gvsig.fmap.dal.api</artifactId>
49
      <scope>compile</scope>
50
    </dependency>
51
  </dependencies>
52
</project>
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisTopologyPlan.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.lib;
23

  
24
import org.gvsig.json.SupportJson;
25
import org.gvsig.json.SupportToJson;
26
import org.gvsig.tools.util.LabeledValue;
27

  
28
/**
29
 *
30
 * @author gvSIG Team
31
 */
32
public interface VCSGisTopologyPlan extends LabeledValue<VCSGisTopologyPlan>, SupportToJson {
33

  
34
    public String getTopologyPlanCode();
35
    
36
    public String getName();
37
    
38
    public String getDescription();
39

  
40
    public String getData();
41
    
42
    public void copyFrom(VCSGisTopologyPlan other);
43
    
44
    public String getHashCode();
45

  
46
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisUserIdentificationRequester.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.lib;
23

  
24
/**
25
 *
26
 * @author gvSIG Team
27
 */
28
public interface VCSGisUserIdentificationRequester {
29
    
30
    public boolean requestIdentification();
31
    
32
    public String getUserId();
33
    
34
    public String getPassword();
35
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisTopologyPlanStatus.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.vcsgis.lib;
7

  
8
import org.gvsig.json.SupportToJson;
9

  
10
/**
11
 *
12
 * @author fdiaz
13
 */
14
public interface VCSGisTopologyPlanStatus extends SupportToJson {
15

  
16
    public String getTopologyPlanCode();
17

  
18
    public String getHashCode();
19

  
20
    public boolean isPassed();
21

  
22
    public void setTopologyPlanCode(String topologyPlanCode);
23

  
24
    public void setHashCode(String hashCode);
25

  
26
    public void setPassed(boolean passed);
27

  
28
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisRevision.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.lib;
23

  
24
import java.sql.Timestamp;
25
import org.gvsig.json.SupportToJson;
26
import org.gvsig.tools.util.LabeledValue;
27

  
28
/**
29
 *
30
 * @author gvSIG Team
31
 */
32
public interface VCSGisRevision extends LabeledValue<VCSGisRevision>, SupportToJson {
33

  
34
    public String getRevisionCode();
35
    
36
    public String getEntityCode();
37
    
38
    public String getUserCode();
39

  
40
    public Timestamp getRevisionDate();
41

  
42
    public Timestamp getEfectiveDate();
43

  
44
    public String getComment();
45

  
46
    public long getNumber();
47

  
48
    public int getTopologyPlan();
49

  
50
    public String getTags();
51
    
52
    public void copyFrom(VCSGisRevision other);
53
    
54
    public long getChangesCount();
55
    
56
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceDescriptor.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.lib.workspace;
23

  
24
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
25
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
26
import org.gvsig.tools.dispose.Disposable;
27
import org.gvsig.tools.persistence.Persistent;
28
import org.gvsig.tools.util.LabeledValue;
29

  
30
/**
31
 *
32
 * @author gvSIG Team
33
 */
34
public interface VCSGisWorkspaceDescriptor 
35
        extends LabeledValue<VCSGisWorkspaceDescriptor>, Persistent, Disposable
36
    {
37
    public String getCode();
38
    
39
    public boolean isWorkspaceInitialized();
40

  
41
    public VCSGisWorkspace getWorkspace();
42
    
43
    public JDBCServerExplorer getExplorer();
44
    
45
    public JDBCServerExplorerParameters getExplorerParameters();
46
    
47
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspace.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.lib.workspace;
23

  
24
import java.sql.Timestamp;
25
import java.util.Collection;
26
import java.util.List;
27
import org.apache.commons.lang3.mutable.MutableLong;
28
import org.apache.commons.lang3.mutable.MutableObject;
29
import org.gvsig.fmap.dal.OpenDataStoreParameters;
30
import org.gvsig.fmap.dal.feature.Feature;
31
import org.gvsig.fmap.dal.feature.FeatureStore;
32
import org.gvsig.fmap.dal.feature.FeatureType;
33
import org.gvsig.fmap.dal.feature.OpenFeatureStoreParameters;
34
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
35
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
36
import org.gvsig.fmap.geom.Geometry;
37
import org.gvsig.fmap.geom.primitive.Envelope;
38
import org.gvsig.tools.dispose.Disposable;
39
import org.gvsig.tools.task.SimpleTaskStatus;
40
import org.gvsig.tools.util.GetItemWithSize64;
41
import org.gvsig.vcsgis.lib.VCSGisEntity;
42
import org.gvsig.vcsgis.lib.VCSGisRevision;
43
import org.gvsig.vcsgis.lib.VCSGisTopologyPlan;
44
import org.gvsig.vcsgis.lib.VCSGisTopologyPlanStatus;
45
import org.gvsig.vcsgis.lib.VCSGisUser;
46
import org.gvsig.vcsgis.lib.VCSGisUserIdentificationRequester;
47
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
48
import org.gvsig.vcsgis.lib.repository.VCSGisRepositoryChange;
49

  
50
/**
51
 *
52
 * @author gvSIG Team
53
 */
54
public interface VCSGisWorkspace extends Disposable {
55

  
56
    public static final String ALL_REVISIONS = "ALL";
57
    
58
    public static final String TABLE_NAME_ENTITIES = "VCSGIS_ENTITIES";
59
    
60
    public static final String AUTODETECT_FLAG = "@AUTODETECT";
61
    public static final String CATEGORY_DETECT = AUTODETECT_FLAG;
62
    public static final String DATAMODEL_DETECT = AUTODETECT_FLAG;
63
    public static final String RESOURCES_DETECT = AUTODETECT_FLAG;
64
    public static final String FIELDFORLABEL_DETECT = AUTODETECT_FLAG;
65
    public static final String LABEL_DETECT = AUTODETECT_FLAG;
66
    
67
    public String getCode();
68
    
69
    public String getLabel();
70
    
71
    public String getErrorMessage(int errcode);
72
    
73
    public JDBCServerExplorer getExplorer();
74
    
75
    public JDBCServerExplorerParameters getExplorerParameters();
76
    
77
    /** 
78
     * Return the store associted to the tableName.
79
     * The store don't by used to edit.
80
     * The store don't load the associted resources.
81
     * The store is chached, and next calls return the same instance.
82
     * 
83
     * @param tableName
84
     * @return 
85
     */
86
    public FeatureStore getFeatureStore(String tableName);
87
    
88
    /** 
89
     * Return the store associted to the tableName.
90
     * The store is not cached, every call to this method create a new store.
91
     * 
92
     * @param tableName
93
     * @param ignoreDALResource
94
     * @return 
95
     */
96
    public FeatureStore openFeatureStore(String tableName, boolean ignoreDALResource);
97
    
98
    public FeatureType getFeatureType(String tableName);
99
    
100
    public void forceReloadWorkspaceEntities();
101

  
102
    public void reloadWorkspaceEntities();    
103

  
104
    public void create_table(String name);
105

  
106
    public void create_table(VCSGisEntity entity);
107

  
108
    public int add(String name, FeatureStore store, String fieldForLabel);
109

  
110
    public int add(String name, FeatureStore store, String fieldForLabel, String category, String label);
111

  
112
    public int add(String name, FeatureStore source, String fieldForLabel, String category, String label, String model, String resources, String pkName, boolean importData, SimpleTaskStatus status);
113
    
114
    public boolean canCommit();
115
    
116
    public boolean canCommit(MutableObject<String> message);
117
    
118
    public boolean canCommit(MutableObject<String> message, List<String> entityCodes);
119
    
120
    public int commit();
121
    
122
    public int commit(Timestamp date, String comment, SimpleTaskStatus status);
123

  
124
    public int commit(Timestamp revisionDate, Timestamp efectiveDate, String comment, SimpleTaskStatus status);
125

  
126
    public int commit(List<String> entityCodes, Timestamp revisiondate, Timestamp efectivedate, String comment, SimpleTaskStatus status, List<VCSGisTopologyPlanStatus> topologyPlanStatusList);
127

  
128
    public int checkout(String tableName);
129

  
130
    public int checkout(String tableName, String revisionCode);
131
    
132
    public int checkout(String tableName, String revisionCode, SimpleTaskStatus status);
133

  
134
    public int checkout(String tableName, String revisionCode, Timestamp efectiveDate, SimpleTaskStatus status);
135
    
136
    public int checkout(String tableName, String revisionCode, Timestamp efectiveDate, Envelope roi, SimpleTaskStatus status);
137
    
138
    public int checkout(List<String> tableNames, SimpleTaskStatus status);
139
    
140
    public int update(List<String> tableNames, SimpleTaskStatus status);
141
    
142
    public int updatePrepare(String tableName);
143
    
144
    public int updatePrepare(String tableName, SimpleTaskStatus status);
145
    
146
    public int update(String tableName);
147
    
148
    public int update(String tableName, SimpleTaskStatus status);
149

  
150
    public int merge(String tableName);
151

  
152
    public int merge(String tableName, SimpleTaskStatus status);
153
    
154
    public int merge(String tableName, MutableLong localChangesCreated, SimpleTaskStatus status);
155

  
156
    public int updateClean(String entityCode);
157
    
158
    public int updateClean(String entityCode, SimpleTaskStatus status);
159
    
160
    public boolean updateNeedMerge(String entityName);
161
    
162
    public int updateEntitiesFromRepository();
163
    
164
    public int updateEntitiesFromRepository(SimpleTaskStatus status);
165
    
166
    public VCSGisWorkspaceChanges<VCSGisRepositoryChange> getRemoteChanges();
167
    
168
    public VCSGisWorkspaceChanges<VCSGisRepositoryChange> getRemoteChangesByEntity(String... entityName);
169
    
170
    public VCSGisWorkspaceChanges<VCSGisWorkspaceChange> getLocalChanges();
171
    
172
    public VCSGisWorkspaceChanges<VCSGisWorkspaceChange> getLocalChanges(List<VCSGisEntity> entities);
173

  
174
    public boolean hasLocalChanges(List<VCSGisEntity> entities);
175
    
176
    public void reloadRepositoryEntities(SimpleTaskStatus status);
177
    
178
    public void clearRepositoryEntitiesCached();
179

  
180
    public List<VCSGisEntity> getRepositoryEntities();
181

  
182
    public List<VCSGisWorkspaceEntity> getWorkspaceEntities();
183
    
184
    public VCSGisWorkspaceEntity getWorkspaceEntity(String entity);
185

  
186
    public VCSGisWorkspaceEntity getWorkspaceEntityByName(String entityName);
187

  
188
    public VCSGisWorkspaceEntity getWorkspaceEntityByCode(String entityCode);
189
    
190
    public boolean existsInWorkspace(String entity);
191
    
192
    public boolean existsInWorkspace(VCSGisEntity entity);
193
    
194
    public boolean existsInWorkspace(OpenFeatureStoreParameters parameters);
195
    
196
    public VCSGisEntity getRepositoryEntity(String entity);
197

  
198
    public VCSGisEntity getRepositoryEntityByCode(String entityCode);
199
    
200
    public VCSGisEntity getRepositoryEntityByName(String entityName);
201

  
202
    public String createUniqueCode();
203

  
204
    public VCSGisEntity getEntity(String entityName);
205
    
206
    public VCSGisRepository getRepository();
207

  
208
    public List<VCSGisEntity> getEntitiesOfRemoteChanges();
209
    
210
    public List<VCSGisEntity> getEntitiesOfLocalChanges();
211
    
212
    public void addToConnectionPool();
213

  
214
    public int history(String entityName, String group, Timestamp minDate, Timestamp maxDate, int maxNumberOfRevisions, SimpleTaskStatus status);
215

  
216
    public int history(String entityName, String group, int maxNumberOfRevisions, SimpleTaskStatus status);
217

  
218
    public GetItemWithSize64<VCSGisRevision> getRevisions(String entityName, String group, String filter);
219

  
220
    public FeatureStore getRevisionsStore();
221

  
222
    public String getUserName(String userCode);
223

  
224
    public VCSGisUser getUser(String userCodeOrId);
225

  
226
    public boolean isInMyDatabase(FeatureStore store);
227
    
228
    public boolean isInMyDatabase(OpenFeatureStoreParameters parameters);
229

  
230
    public boolean isInMyDatabase(String tableName);
231

  
232
    public Feature getRelatedFeature(VCSGisEntity entity, String featureCode);
233
    
234
    public Feature getRelatedFeature(VCSGisRepositoryChange change);
235
    
236
    public int removeEntity(String nameOrCode);
237

  
238
    public int removeEntities(List<String> namesOrCodes);
239

  
240
    public VCSGisUserIdentificationRequester getUserIdentificationRequester();
241

  
242
    public void setUserIdentificationRequester(VCSGisUserIdentificationRequester userIdentificationRequester);
243
    
244
    public Collection<String> getEntityCategories();
245

  
246
    public VCSGisTopologyPlan getTopologyPlan(String topologyPlanCode);
247

  
248
    public int importHistory( FeatureStore sourceStore,
249
            String name,
250
            String label,
251
            String category,
252
            String attrNameForLabel,
253
            String fieldCodeName,
254
            String fieldDateName,
255
            String fieldOrderName);
256
    
257
    public int revert(String nameOrCode);
258

  
259
    public int revert(String nameOrCode, SimpleTaskStatus status);
260
    
261
    public List<VCSGisWorkspaceEntity> getEntitiesWithSelectedChanges();
262
    
263
    public int export(String entityName, String tableName, String revisionCode, Timestamp efectiveDate, Envelope roi, SimpleTaskStatus status);
264
    
265
    public List<String> getDataModels();
266

  
267
    public int authenticate(String userId, String password, SimpleTaskStatus status);
268
    
269
    public boolean authenticate(SimpleTaskStatus status);
270
    
271
    public void logout();
272
    
273
    public OpenDataStoreParameters createOpenStoreParameters(String tableName);
274
    
275
    public void updateTopologyPlansFromRepository(SimpleTaskStatus status);
276
    
277
    public boolean isOutOfDate(FeatureStore store, Feature feature);
278
    
279
    public boolean isOutOfDate(String tableName, String recordCode);
280

  
281
    public boolean setAllowAssignTheRevisionDate(boolean allow);
282
    
283
    public boolean isTheRepositoryLocal();
284
    
285
    public void registerDataModelRepository(String modelName);
286
    
287
    public void setOffline(boolean offline);
288
    
289
    public boolean isOffline();
290
    
291
    public String getEntityLabelTemplate();
292
    
293
    public String formatEntityLabel(VCSGisEntity entity);
294
    
295
    public boolean useSafeMode();
296
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceChange.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.lib.workspace;
23

  
24
import javax.json.JsonObject;
25
import org.gvsig.fmap.dal.feature.Feature;
26
import org.gvsig.vcsgis.lib.VCSGisChange;
27

  
28
/**
29
 *
30
 * @author gvSIG Team
31
 */
32
public interface VCSGisWorkspaceChange extends VCSGisChange {
33

  
34
    public Feature getRelatedFeature();
35
    
36
    public String getData();
37

  
38
    public JsonObject getDataAsJson();
39

  
40
    
41
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceChanges.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.lib.workspace;
23

  
24
import java.util.Iterator;
25
import java.util.List;
26
import java.util.function.Predicate;
27
import org.gvsig.tools.dispose.Disposable;
28
import org.gvsig.tools.swing.api.ChangeListenerSupport;
29
import org.gvsig.tools.util.GetItemWithSize64;
30
import org.gvsig.tools.util.IsEmpty;
31
import org.gvsig.vcsgis.lib.VCSGisEntity;
32

  
33
/**
34
 *
35
 * @author gvSIG Team
36
 * @param <CHANGE>
37
 */
38
public interface VCSGisWorkspaceChanges<CHANGE> extends IsEmpty, GetItemWithSize64<CHANGE>, ChangeListenerSupport, Disposable{
39

  
40
    public void addSelectionInterval(long start, long end);
41

  
42
    public void removeSelectionInterval(long start, long end);
43

  
44
    public void setSelectionInterval(long start, long end);
45

  
46
    public void clearSelection();
47

  
48
    public void process(Iterator<Long> rows, Predicate<CHANGE> action);
49

  
50
    public boolean isSelectedIndex(long index);
51

  
52
    public boolean isSelectionEmpty();
53

  
54
    public void setSelectionAll();
55
    
56
    public boolean isSelectionFromEntitiesEmpty(List<VCSGisEntity> entities);
57
    
58
    
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceEntity.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.lib.workspace;
23

  
24
import org.gvsig.fmap.dal.feature.FeatureType;
25
import org.gvsig.vcsgis.lib.VCSGisEntityEditable;
26

  
27
/**
28
 *
29
 * @author gvSIG Team
30
 */
31
public interface VCSGisWorkspaceEntity extends VCSGisEntityEditable {
32

  
33
    public String getLocalRevisionCode();
34

  
35
    public VCSGisWorkspaceEntity setLocalRevisionCode(String revisionCode);
36

  
37
    @Override
38
    public FeatureType getFeatureType();
39

  
40
    public long getCountLocalChanges();
41

  
42
    /**
43
     * Return the state of the entity.
44
     * @return the state
45
     */
46
    public int getState();
47
    
48
//    public void setState(int state);
49
//
50
//    /**
51
//     * Update the state of the entity.
52
//     * This operation is an expensive operation.
53
//     */
54
//    public void updateState();
55
    
56

  
57
    public boolean isOutdated();
58
    
59
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisRuntimeException.java
1
package org.gvsig.vcsgis.lib;
2

  
3
/**
4
 *
5
 * @author gvSIG Team
6
 */
7
public class VCSGisRuntimeException extends RuntimeException {
8

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

  
25
import org.gvsig.tools.locator.AbstractLocator;
26
import org.gvsig.tools.locator.Locator;
27
import org.gvsig.tools.locator.LocatorException;
28

  
29

  
30
/**
31
 * @author fdiaz
32
 *
33
 */
34
public class VCSGisLocator extends AbstractLocator {
35

  
36
    private static final String LOCATOR_NAME = "VCSGisLocator";
37
    public static final String VCSGIS_MANAGER_NAME = "VCSGisManager";
38
    private static final String VCSGIS_MANAGER_DESCRIPTION = "VCSGis manager of gvSIG";
39

  
40
    private static final VCSGisLocator INSTANCE = new VCSGisLocator();
41

  
42
    public static Locator getInstance() {
43
        return INSTANCE;
44
    }
45

  
46
    @Override
47
    public String getLocatorName() {
48
        return LOCATOR_NAME;
49
    }
50

  
51
    public static VCSGisManager getManager() throws LocatorException {
52
        return (VCSGisManager) getInstance().get(VCSGIS_MANAGER_NAME);
53
    }
54

  
55
    /**
56
     * Registers the Class implementing the VCSGisManager interface.
57
     *
58
     * @param clazz implementing the VCSGisManager interface
59
     */
60
    public static void registerVCSGisManager(Class clazz){
61
        getInstance().register(VCSGIS_MANAGER_NAME, VCSGIS_MANAGER_DESCRIPTION, clazz);
62
    }
63

  
64
    /**
65
     * Registers the default Class implementing the VCSGisRepositoryManager interface
66
     *
67
     * @param clazz implementing the VCSGisRepositoryManager interface
68
     */
69
    public static void registerDefaultVCSGisManager(Class clazz){
70
        getInstance().registerDefault(VCSGIS_MANAGER_NAME, VCSGIS_MANAGER_DESCRIPTION, clazz);
71
    }
72

  
73
    /**
74
     * Return a reference to local VCSGisManager.
75
     *
76
     * @return a reference to VCSGisManager
77
     * @throws LocatorException
78
     *             if there is no access to the class or the class
79
     *             cannot be instantiated
80
     * @see Locator#get(String)
81
     */
82
    public static VCSGisManager getVCSGisManager() throws LocatorException {
83
        return (VCSGisManager) getInstance().get(VCSGIS_MANAGER_NAME);
84
    }
85

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

  
25
import org.gvsig.tools.library.AbstractLibrary;
26
import org.gvsig.tools.library.LibraryException;
27
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
28

  
29

  
30
/**
31
 * @author gvSIG Team
32
 *
33
 */
34
public class VCSGisLibrary extends AbstractLibrary {
35

  
36
    @Override
37
    protected void doInitialize() throws LibraryException {
38
        registerAsAPI(VCSGisLibrary.class);
39
    }
40

  
41
    @Override
42
    protected void doPostInitialize() throws LibraryException {
43
        // Validate there is any implementation registered.
44
        VCSGisManager manager = VCSGisLocator.getVCSGisManager();
45
        if (manager == null) {
46
            throw new ReferenceNotRegisteredException(
47
                VCSGisLocator.VCSGIS_MANAGER_NAME, VCSGisLocator.getInstance());
48
        }
49
    }
50

  
51
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisPreparedWorkingCopyInformation.java
1
package org.gvsig.vcsgis.lib;
2

  
3
import java.sql.Timestamp;
4
import org.gvsig.json.SupportToJson;
5

  
6
/**
7
 *
8
 * @author jjdelcerro
9
 */
10
public interface VCSGisPreparedWorkingCopyInformation extends SupportToJson {
11

  
12
    public String getName();
13
    
14
    public Timestamp getDate();
15
    
16
    public String getLocation();
17
    
18
    public int getNumParts();
19
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisEntityEditable.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.lib;
23

  
24
import org.cresques.cts.IProjection;
25
import org.gvsig.json.SupportJson;
26

  
27
/**
28
 *
29
 * @author gvSIG Team
30
 */
31
public interface VCSGisEntityEditable extends VCSGisEntity, SupportJson {
32

  
33
    public VCSGisEntityEditable setEntityCode(String code);
34

  
35
    public VCSGisEntityEditable setRepositoryRevisionCode(String revisionCode);
36

  
37
    public VCSGisEntityEditable setEntityName(String entityName);
38

  
39
    public VCSGisEntityEditable setDataTableName(String dataTableName);
40

  
41
    public VCSGisEntityEditable setGeometryFieldName(String geometryFieldName);
42

  
43
    public VCSGisEntityEditable setFeatureIdFieldName(String featureIdFieldName);
44

  
45
    public VCSGisEntityEditable setDescription(String descripcion);
46

  
47
    public VCSGisEntityEditable setFieldForLabel(String fieldForLabel);
48

  
49
    public VCSGisEntityEditable setFeatureTypeAsJson(String featureType);
50

  
51
    public VCSGisEntityEditable setUserCode(String userCode);
52

  
53
    public VCSGisEntityEditable setTopologyPlanCode(String topologyplanCode);
54

  
55
    public VCSGisEntityEditable setCategory(String category);
56
    
57
    public VCSGisEntityEditable setTopologyPlanMode(int topologyPlanMode);
58
    
59
    public void copyfrom(VCSGisEntity entity);
60
    
61
    public VCSGisEntityEditable setLabel(String label);
62
    
63
    public VCSGisEntityEditable setAuthorizations(String authorizations);
64
    
65
    public VCSGisEntityEditable setResources(String resources);
66

  
67
    public VCSGisEntityEditable setDataModels(String dataModels);
68
    
69
    public VCSGisEntityEditable setCRS(IProjection crs);
70
    
71
    public VCSGisEntityEditable setCRS(String crs);
72
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/server/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
package org.gvsig.vcsgis.lib.server;
23

  
24
import java.io.File;
25
import java.io.FileOutputStream;
26
import java.io.InputStream;
27
import java.io.OutputStream;
28
import java.io.Writer;
29
import java.net.URL;
30
import java.util.Objects;
31
import javax.json.JsonObject;
32
import org.apache.commons.io.IOUtils;
33
import org.apache.commons.io.output.NullWriter;
34
import org.gvsig.fmap.dal.DALLocator;
35
import org.gvsig.fmap.dal.DataManager;
36
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
37
import org.gvsig.json.Json;
38
import org.gvsig.json.JsonObjectBuilder;
39
import org.gvsig.tools.util.URLUtils;
40
import org.slf4j.Logger;
41
import org.slf4j.LoggerFactory;
42

  
43
/**
44
 *
45
 * @author gvSIG Team
46
 */
47
@SuppressWarnings("UseSpecificCatch")
48
public class VCSGisServerUtils {
49
    private static final Logger LOGGER = LoggerFactory.getLogger(VCSGisServerUtils.class);
50

  
51
    private static Writer consoleWriter = new NullWriter();
52

  
53
    private static JsonObject config = null;
54
    
55
    public static void setConsoleWriter(Writer console) {
56
        consoleWriter = console;
57
    }
58

  
59
    public static Writer getConsoleWriter() {
60
        return consoleWriter;
61
    }
62
    
63
    public static JsonObject getConfiguration() {
64
            return config;
65
    }
66
    
67
    public static void setConfiguration(JsonObject theConfig) {
68
        config = theConfig;
69
    }
70
    
71
    public static void setConfiguration(URL config_url) {
72
        InputStream config_is = null;
73
        try {
74
            config_is = config_url.openStream();
75
            JsonObject theConfig = Json.createObject(config_is);
76
            setConfiguration(theConfig);
77
        } catch (Exception ex) {
78
            LOGGER.warn("Can't set configuration file (url="+Objects.toString(config_url)+").",ex);
79
        } finally {
80
            IOUtils.closeQuietly(config_is);
81
        }
82
    }
83
    
84
    public static void writeConfiguration(URL config_url) {
85
        if( config == null ) {
86
            LOGGER.warn("Can't write configuration to null url.");
87
            return;
88
        }
89
        OutputStream os = null;
90
        try {
91
            File f = URLUtils.toFile(config_url);
92
            os = new FileOutputStream(f);
93
            IOUtils.write(config.toString(), os);
94
        } catch(Exception ex) {
95
            LOGGER.warn("Can't write configuration to "+Objects.toString(config_url)+" url.", ex);
96
        } finally {
97
            IOUtils.closeQuietly(os);
98
        }
99
    }
100
    
101
    public static void setConnectionParameters(JDBCServerExplorerParameters connectionParameters) {
102
        JsonObjectBuilder config_builder = Json.createObjectBuilder(config);
103
        config_builder.add("ConnectionParameters", connectionParameters);
104
        config = config_builder.build();
105
    }
106
    
107
    public static JDBCServerExplorerParameters getConnectionParameters(JsonObject config) {
108
        try {
109
            DataManager dataManager = DALLocator.getDataManager();
110
            
111
            JsonObject connectionParameters_json = config.getJsonObject("ConnectionParameters");
112
            
113
            JDBCServerExplorerParameters connectionParameters = (JDBCServerExplorerParameters) dataManager.createServerExplorerParameters(
114
                    connectionParameters_json.getString("ProviderName")
115
            );
116
            connectionParameters.fromJson(connectionParameters_json);
117
            return connectionParameters;
118
        } catch (Exception ex) {
119
            LOGGER.warn("Can't create connection parameters.",ex);
120
            return null;
121
        }
122
        
123
    }
124
    
125
    public static void console_writeln(String s) {
126
        try {
127
            consoleWriter.write(s);
128
            consoleWriter.write("\n");
129
        } catch (Exception ex) {
130
            LOGGER.info(s);
131
        }
132
    }
133
        
134
    
135
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/server/VCSGisServerController.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.lib.server;
23

  
24
import org.gvsig.tools.dispose.Disposable;
25
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
26

  
27
/**
28
 *
29
 * @author jjdelcerro
30
 */
31
public interface VCSGisServerController extends Disposable {
32

  
33
    public VCSGisRepository getRepository();
34
    
35
    public VCSGisServerHandler createEntitiesHandler();
36

  
37
    public VCSGisServerHandler createListWCHandler();
38

  
39
    public VCSGisServerHandler createPrepareWCHandler();
40

  
41
    public VCSGisServerHandler createCommitHandler();
42
   
43
    public VCSGisServerHandler createCheckoutHandler();
44

  
45
    public VCSGisServerHandler createHistoryHandler();
46
    
47
    public VCSGisServerHandler createUpdateHandler();
48
    
49
    public VCSGisServerHandler createRevisionChangesHandler();
50
    
51
    public VCSGisServerHandler createRowCreateHandler();
52
    
53
    public VCSGisServerHandler createRowUpdateHandler();
54
    
55
    public VCSGisServerHandler createRowDeleteHandler();
56
    
57
    public VCSGisServerHandler createRowIsOutofdateHandler();
58
    
59
    public VCSGisServerHandler createUsersHandler();
60

  
61
    public VCSGisServerHandler createTopologyPlansHandler();
62

  
63
    public VCSGisServerHandler createAuthenticateHandler();
64

  
65
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/server/VCSGisServerHandler.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.lib.server;
23

  
24
import java.io.InputStream;
25
import java.io.Writer;
26
import java.util.Map;
27

  
28
/**
29
 *
30
 * @author gvSIG Team
31
 */
32
public interface VCSGisServerHandler {
33

  
34
    public String getContentType();
35
    
36
    public void handle(Writer console, Map<String,String> params, InputStream request_contents, Writer response_contents) throws Exception;
37

  
38
    
39
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/SupportError.java
1
package org.gvsig.vcsgis.lib;
2

  
3
/**
4
 *
5
 * @author jjdelcerro
6
 */
7
public interface SupportError {
8

  
9
    void cleanLastError();
10

  
11
    int error(int code);
12

  
13
    int error(int code, String message);
14

  
15
    int getLastErrorCode();
16

  
17
    String getLastErrorMessage();
18
    
19
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/UserCancelledException.java
1
package org.gvsig.vcsgis.lib;
2

  
3
/**
4
 *
5
 * @author jjdelcerro
6
 */
7
public class UserCancelledException extends RuntimeException {
8
    public UserCancelledException() {
9
        super("User cancelled.");
10
    }
11
}
org.gvsig.vcsgis/tags/org.gvsig.vcsgis-1.0.79/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/VCSGisManager.java
1
package org.gvsig.vcsgis.lib;
2

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

  
26
import java.io.File;
27
import java.lang.ref.WeakReference;
28
import java.net.URL;
29
import java.util.List;
30
import java.util.Map;
31
import javax.servlet.http.HttpServlet;
32
import org.apache.commons.lang3.tuple.Pair;
33
import org.cresques.cts.IProjection;
34
import org.gvsig.fmap.dal.feature.FeatureStore;
35
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
36
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
37
import org.gvsig.fmap.geom.primitive.Envelope;
38
import org.gvsig.tools.dynobject.DynObjectValueItem;
39
import org.gvsig.tools.task.SimpleTaskStatus;
40
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
41
import org.gvsig.vcsgis.lib.server.VCSGisServerController;
42
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace;
43
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspaceDescriptor;
44

  
45

  
46
/**
47
 * @author gvSIG Teamn
48
 *
49
 */
50
public interface VCSGisManager {
51

  
52
    public static final String STORESREPOSITORY_VCSGIS_MODEL = "VCSGISModel";
53
    public static final String STORESREPOSITORY_VCSGIS_LOCALURL = "VCSGISLocalUrl";
54

  
55
    public static final int ERR_OK = 0;
56
    public static final int ERR_NO_ERROR = ERR_OK;
57
    public static final int ERR_DBFILE_IS_NULL = 1;
58
    public static final int ERR_WSEXPLORER_IS_NULL = 2;
59
    public static final int ERR_CANT_OPEN_WORKSPACE = 3;
60
    public static final int ERR_CANT_OPEN_WORKSPACE_SERVEREXPLORER = 4;
61
    public static final int ERR_STORE_NOT_IN_VERSION_CONTROL = 5;
62
    public static final int ERR_LABEL_IS_NULL = 6;
63
    public static final int ERR_CANT_EXECUTE_REQUEST = 7;
64
    public static final int ERR_CANT_BUILD_REQUEST_RESPONSE = 8;
65
    public static final int ERR_CANT_BUILD_REQUEST = 9;
66
    public static final int ERR_CANT_HANDLE_REQUEST = 10;
67
    public static final int ERR_CANT_INITIALIZE_REPOSITORY = 11;
68
    public static final int ERR_CANT_CONSUME_RESPONSE = 12;
69
    public static final int ERR_INVALID_DATA = 13;
70
    public static final int ERR_INVALID_REPOSITORY = 14;
71
    public static final int ERR_INVALID_REVISION = 15;
72
    public static final int ERR_INVALID_REVISION_FOR_ENTITY = 16;
73
    public static final int ERR_CANCELLED_BY_USER = 17;
74
    public static final int ERR_CANT_ADD_LAYER = 18;
75
    public static final int ERR_CANT_AUTHENTICATE_USER = 19;
76
    public static final int ERR_INVALID_AUTHENTICATION_TOKEN = 20;
77
    public static final int ERR_USER_NOT_AUTHORIZED = 21;
78
    public static final int ERR_AUTHENTICATION_EXPIRED = 22;
79
    public static final int ERR_INVALID_USERCODE = 23;
80
    public static final int ERR_INVALID_PARAMETERS = 24;
81
    public static final int ERR_EXCEPTION = 25;
82

  
83
    public static final int ERR_CANT_RETRIEVE_USERS = 30;
84
    public static final int ERR_CANT_RETRIEVE_TOPOLOGYPLANS = 31;
85
    public static final int ERR_TOPOLOGYPLAN_REQUIRED = 32;
86
    public static final int ERR_TOPOLOGYPLAN_OUTDATED = 33;
87
    
88
    public static final int ERR_INVALID_RECORDCODE = 34;
89
    public static final int ERR_DATA_RECORD_NOT_FOUND = 35;
90
    
91
    
92
    public static final int ERR_CANT_CREATE_TABLE = 100;
93
    public static final int ERR_CANT_CREATE_TABLE_CONFIG = 110;
94
    public static final int ERR_CANT_CREATE_TABLE_ENTITIES = 120;
95
    public static final int ERR_CANT_CREATE_TABLE_CHANGES = 130;
96
    
97
    public static final int ERR_ENTITY_ALREADY_EXISTS = 200;
98
    public static final int ERR_ENTITY_NOT_HAS_VCSGISCODE = 210;
99
    public static final int ERR_CANT_OPEN_ENTITIES = 220;
100
    public static final int ERR_CANT_INSERT_ENTITIES = 230;
101
    public static final int ERR_ENTITY_NOT_EXISTS = 240;
102
    public static final int ERR_CANT_RETRIEVE_ENTITIES = 250;
103
    public static final int ERR_CANT_ADD_ENTITY_WITHOUT_PRIMARY_KEY = 260;
104
    public static final int ERR_CANT_ADD_TABLE = 270;
105
    public static final int ERR_CANT_REMOVE_ENTITY = 280;
106
    
107
    public static final int ERR_CANT_OPEN_CHANGES = 300;
108
    public static final int ERR_CANT_INSERT_CHANGE = 310;
109
    public static final int ERR_CANT_ADD_CHANGE = 320;
110
    public static final int ERR_CANT_REMOVE_CHANGES = 330;
111

  
112
    public static final int ERR_CANT_OPEN_STORE = 400;
113
    public static final int ERR_CANT_RETRIEVE_SOURCE_FEATURES = 410;
114
    public static final int ERR_CANT_INSERT_FEATURES = 420;
115

  
116
    public static final int ERR_CANT_COMMIT = 500;
117
    public static final int ERR_CANT_COMMIT_WORKSPACE_OUTDATED = 510;
118
    public static final int ERR_CANT_COMMIT_WITH_FEATURE_CODE_BLANK = 520;
119
    public static final int ERR_CANT_COMMIT_WITH_FEATURE_DATA_BLANK = 530;
120

  
121
    public static final int ERR_CANT_CHECKOUT = 600;
122
    
123
    public static final int ERR_CANT_REVERT = 700;
124
    
125
    public static final int ERR_CANT_UPDATE_ENTITIES = 70;
126

  
127
    public static final int ERR_CANT_UPDATE = 80;
128
    public static final int ERR_CANT_PREPARE_UPDATE = 81;
129
    public static final int ERR_UPDATE_NEED_MERGE = 82;
130
    public static final int ERR_CANT_UPDATE_CLEAN = 83;
131
    public static final int ERR_CANT_MERGE = 84;
132
    public static final int ERR_CANNOT_UPDATE_TABLE_THAT_NOT_EXIST = 85;
133
    
134
    public static final int ERR_CANT_PREPARE_WORKSPACE = 800;
135
    public static final int ERR_REPOSITORY_URL_NOT_DEFINED = 801;
136
    public static final int ERR_WORKING_COPIES_FOLDER_NOT_DEFINED = 802;
137
    
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff