Statistics
| Revision:

gvsig-projects-pool / org.gvsig.vcsgis / trunk / org.gvsig.vcsgis / org.gvsig.vcsgis.lib / org.gvsig.vcsgis.lib.api / src / main / java / org / gvsig / vcsgis / lib / workspace / VCSGisWorkspace.java @ 3458

History | View | Annotate | Download (8.17 KB)

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.Iterator;
27
import java.util.List;
28
import org.apache.commons.lang3.mutable.MutableLong;
29
import org.apache.commons.lang3.mutable.MutableObject;
30
import org.gvsig.fmap.dal.feature.Feature;
31
import org.gvsig.fmap.dal.feature.FeatureReference;
32
import org.gvsig.fmap.dal.feature.FeatureStore;
33
import org.gvsig.fmap.dal.feature.FeatureType;
34
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
35
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
36
import org.gvsig.tools.dispose.Disposable;
37
import org.gvsig.tools.task.SimpleTaskStatus;
38
import org.gvsig.tools.util.GetItemWithSize64;
39
import org.gvsig.vcsgis.lib.VCSGisEntity;
40
import org.gvsig.vcsgis.lib.VCSGisRevision;
41
import org.gvsig.vcsgis.lib.VCSGisUser;
42
import org.gvsig.vcsgis.lib.VCSGisUserIdentificationRequester;
43
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
44
import org.gvsig.vcsgis.lib.repository.VCSGisRepositoryChange;
45

    
46
/**
47
 *
48
 * @author gvSIG Team
49
 */
50
public interface VCSGisWorkspace extends Disposable {
51

    
52
    public static final String ALL_REVISIONS = "ALL";
53
    
54
    public String getCode();
55
    
56
    public String getLabel();
57
    
58
    public String getErrorMessage(int errcode);
59
    
60
    public JDBCServerExplorer getExplorer();
61
    
62
    public JDBCServerExplorerParameters getExplorerParameters();
63
    
64
    public FeatureStore getFeatureStore(String tableName);
65
    
66
    public FeatureStore openFeatureStore(String tableName);
67
    
68
    public FeatureType getFeatureType(String tableName);
69
    
70
    public void forceReloadWorkspaceEntities();
71

    
72
    public void reloadWorkspaceEntities();    
73

    
74
    public void create_table(String name);
75

    
76
    public void create_table(VCSGisEntity entity);
77

    
78
    public int addEntity(FeatureType featureType, String name, String description, String fieldForLabel);
79

    
80
    public int addEntity(FeatureType featureType, String name, String description, String fieldForLabel, String category, String label, String pkName);
81

    
82
    public int add(String name, FeatureStore store, String fieldForLabel);
83

    
84
    public int add(String name, FeatureStore store, String fieldForLabel, String category, String label);
85

    
86
    public int add(String name, FeatureStore source, String fieldForLabel, String category, String label, String pkName, SimpleTaskStatus status);
87
    
88
    public int addChange(int changeCode, FeatureStore store, Feature feature);
89

    
90
    public int addChanges(
91
            FeatureStore store, 
92
            Iterator<Feature> insertedsFeatures, 
93
            Iterator<Feature> updatedsFeatures, 
94
            Iterator<FeatureReference> deletedsFeatures
95
    );
96

    
97
    public boolean canCommit();
98
    
99
    public boolean canCommit(MutableObject<String> message);
100
    
101
    public boolean canCommit(MutableObject<String> message, List<String> entityCodes);
102
    
103
    public int commit();
104
    
105
    public int commit(Timestamp date, String comment, SimpleTaskStatus status);
106

    
107
    public int commit(Timestamp revisionDate, Timestamp efectiveDate, String comment, SimpleTaskStatus status);
108

    
109
    public int commit(List<String> entityCodes, Timestamp revisiondate, Timestamp efectivedate, String comment, SimpleTaskStatus status);
110

    
111
    public int checkout(String tableName);
112

    
113
    public int checkout(String tableName, String revisionCode);
114
    
115
    public int checkout(String tableName, String revisionCode, SimpleTaskStatus status);
116
    
117
    public int updatePrepare(String tableName);
118
    
119
    public int updatePrepare(String tableName, SimpleTaskStatus status);
120
    
121
    public int update(String tableName);
122
    
123
    public int update(String tableName, SimpleTaskStatus status);
124

    
125
    public int merge(String tableName);
126

    
127
    public int merge(String tableName, SimpleTaskStatus status);
128
    
129
    public int merge(String tableName, MutableLong localChangesCreated, SimpleTaskStatus status);
130

    
131
    public int updateClean(String entityCode);
132
    
133
    public int updateClean(String entityCode, SimpleTaskStatus status);
134
    
135
    public boolean updateNeedMerge(String entityName);
136
    
137
    public int updateEntitiesFromRepository();
138
    
139
    public int updateEntitiesFromRepository(SimpleTaskStatus status);
140
    
141
    public VCSGisWorkspaceChanges<VCSGisRepositoryChange> getRemoteChanges();
142
    
143
    public VCSGisWorkspaceChanges<VCSGisRepositoryChange> getRemoteChangesByEntity(String entityName);
144
    
145
    public VCSGisWorkspaceChanges<VCSGisWorkspaceChange> getLocalChanges();
146
    
147
    public VCSGisWorkspaceChanges<VCSGisWorkspaceChange> getLocalChanges(List<VCSGisEntity> entities);
148

    
149
    public void reloadRepositoryEntities(SimpleTaskStatus status);
150

    
151
    public List<VCSGisEntity> getRepositoryEntities();
152

    
153
    public List<VCSGisWorkspaceEntity> getWorkspaceEntities();
154
    
155
    public VCSGisWorkspaceEntity getWorkspaceEntity(String entity);
156

    
157
    public VCSGisWorkspaceEntity getWorkspaceEntityByName(String entityName);
158

    
159
    public VCSGisWorkspaceEntity getWorkspaceEntityByCode(String entityCode);
160
    
161
    public boolean existsInWorkspace(String entity);
162
    
163
    public boolean existsInWorkspace(VCSGisEntity entity);
164
    
165
    public VCSGisEntity getRepositoryEntity(String entity);
166

    
167
    public VCSGisEntity getRepositoryEntityByCode(String entityCode);
168
    
169
    public VCSGisEntity getRepositoryEntityByName(String entityName);
170

    
171
    public String createUniqueCode();
172

    
173
    public VCSGisEntity getEntity(String entityName);
174
    
175
    public VCSGisRepository getRepository();
176

    
177
    public List<VCSGisEntity> getEntitiesOfRemoteChanges();
178
    
179
    public List<VCSGisEntity> getEntitiesOfLocalChanges();
180
    
181
    public void addToConnectionPool();
182

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

    
185
    public int history(String entityName, String group, int maxNumberOfRevisions, SimpleTaskStatus status);
186

    
187
    public GetItemWithSize64<VCSGisRevision> getRevisions(String entityName, String group);
188

    
189
    public String getUserName(String userCode);
190

    
191
    public VCSGisUser getUser(String userCode);
192

    
193
    public boolean isInMyDatabase(FeatureStore store);
194

    
195
    public Feature getRelatedFeature(VCSGisEntity entity, String featureCode);
196
    
197
    public Feature getRelatedFeature(VCSGisRepositoryChange change);
198
    
199
    public int removeEntity(String nameOrCode);
200

    
201
    public VCSGisUserIdentificationRequester getUserIdentificationRequester();
202

    
203
    public void setUserIdentificationRequester(VCSGisUserIdentificationRequester userIdentificationRequester);
204
    
205
    public Collection<String> getEntityCategories();
206

    
207
    public String getTopologyPlan(String topologyPlanCode);
208

    
209
    public int importHistory( FeatureStore sourceStore,
210
            String name,
211
            String label,
212
            String category,
213
            String attrNameForLabel,
214
            String fieldCodeName,
215
            String fieldDateName,
216
            String fieldOrderName);
217
    
218
    public int revert(String nameOrCode);
219

    
220
    public int revert(String nameOrCode, SimpleTaskStatus status);
221
    
222
    public List<VCSGisWorkspaceEntity> getEntitiesWithChanges();
223
    
224
    public int export(String entityName, String tableName, String revisionCode, Timestamp efectiveDate, SimpleTaskStatus status);
225
    
226
    public List<String> getDataModels();
227

    
228
    public int authenticate(String userId, String password, SimpleTaskStatus status);
229
    
230
    public boolean authenticate(SimpleTaskStatus status);
231
}