gvsig-projects-pool / org.gvsig.vcsgis / trunk / org.gvsig.vcsgis / org.gvsig.vcsgis.app / org.gvsig.vcsgis.app.mainplugin / src / main / java / org / gvsig / vcsgis / app / VCSGisExtension.java @ 3455
History | View | Annotate | Download (37.8 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.app; |
23 |
|
24 |
import org.gvsig.vcsgis.app.addlayer.WizardVCSGisVectorial; |
25 |
import org.gvsig.vcsgis.app.addlayer.WizardVCSGisTabular; |
26 |
import java.awt.event.ActionEvent; |
27 |
import java.awt.event.ComponentAdapter; |
28 |
import java.awt.event.ComponentEvent; |
29 |
import java.util.Map; |
30 |
import javax.swing.JOptionPane; |
31 |
import org.gvsig.andami.IconThemeHelper; |
32 |
import org.gvsig.andami.PluginsLocator; |
33 |
import org.gvsig.andami.plugins.Extension; |
34 |
import org.gvsig.app.ApplicationLocator; |
35 |
import org.gvsig.app.ApplicationManager; |
36 |
import org.gvsig.app.extension.AddLayer; |
37 |
import org.gvsig.app.project.documents.view.ViewDocument; |
38 |
import org.gvsig.app.project.documents.view.gui.IView; |
39 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
40 |
import org.gvsig.tools.ToolsLocator; |
41 |
import org.gvsig.tools.dynobject.DynObject; |
42 |
import org.gvsig.tools.i18n.I18nManager; |
43 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
44 |
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager; |
45 |
import org.gvsig.tools.swing.api.windowmanager.Dialog; |
46 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
47 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2; |
48 |
import org.gvsig.vcsgis.lib.VCSGisEntity; |
49 |
import org.gvsig.vcsgis.lib.VCSGisLocator; |
50 |
import org.gvsig.vcsgis.lib.VCSGisManager; |
51 |
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace; |
52 |
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspaceDescriptor; |
53 |
import org.gvsig.vcsgis.swing.VCSGisJAddToWorkspace; |
54 |
import org.gvsig.vcsgis.swing.VCSGisJChanges; |
55 |
import org.gvsig.vcsgis.swing.VCSGisJCheckout; |
56 |
import org.gvsig.vcsgis.swing.VCSGisJCreateResourceTable; |
57 |
import org.gvsig.vcsgis.swing.VCSGisJExport; |
58 |
import org.gvsig.vcsgis.swing.VCSGisJImportHistory; |
59 |
import org.gvsig.vcsgis.swing.VCSGisJInitServer; |
60 |
import org.gvsig.vcsgis.swing.VCSGisJInitWorkspace; |
61 |
import org.gvsig.vcsgis.swing.VCSGisJRegisterWorkspace; |
62 |
import org.gvsig.vcsgis.swing.VCSGisJRevisions; |
63 |
import org.gvsig.vcsgis.swing.VCSGisJShowServerTableForm; |
64 |
import org.gvsig.vcsgis.swing.VCSGisSwingLocator; |
65 |
import org.gvsig.vcsgis.swing.VCSGisSwingManager; |
66 |
import org.slf4j.Logger; |
67 |
import org.slf4j.LoggerFactory; |
68 |
|
69 |
/**
|
70 |
*
|
71 |
* @author gvSIG Team
|
72 |
*/
|
73 |
public class VCSGisExtension extends Extension { |
74 |
|
75 |
private static final Logger LOGGER = LoggerFactory.getLogger(VCSGisExtension.class); |
76 |
|
77 |
private VCSGisJAddToWorkspace addToWorkspacePanel = null; |
78 |
private VCSGisJImportHistory importHistoryPanel = null; |
79 |
private VCSGisJChanges changesPanel = null; |
80 |
private VCSGisJCheckout checkoutPanel = null; |
81 |
private VCSGisJRevisions revisionsPanel = null; |
82 |
private VCSGisJExport exportPanel = null; |
83 |
private VCSGisJCreateResourceTable createResurceTable = null; |
84 |
|
85 |
private boolean addToWorkspacePanelClosed = true; |
86 |
private boolean importHistoryPanelClosed = true; |
87 |
private boolean changesPanelClosed = true; |
88 |
private boolean checkoutPanelClosed = true; |
89 |
private boolean revisionsPanelClosed = true; |
90 |
private boolean exportPanelClosed = true; |
91 |
|
92 |
@Override
|
93 |
public void initialize() { |
94 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-init-server", this); |
95 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-init-workspace", this); |
96 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-add-to-workspace", this); |
97 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-export", this); |
98 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-checkout", this); |
99 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-showchanges", this); |
100 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-register-workspace", this); |
101 |
IconThemeHelper.registerIcon("action", "tools-vcsgis-show-revisions", this); |
102 |
} |
103 |
|
104 |
@Override
|
105 |
public void postInitialize() { |
106 |
super.postInitialize();
|
107 |
VCSGisManager manager = VCSGisLocator.getVCSGisManager(); |
108 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
109 |
swingManager.setDefaultServices(new VCSGisSwingServicesImpl());
|
110 |
|
111 |
DynObject pluginProperties = this.getPlugin().getPluginProperties();
|
112 |
Map<String, VCSGisWorkspaceDescriptor> workspaces = (Map) pluginProperties.getDynValue("workspaces"); |
113 |
manager.restoreWorkspaces(workspaces); |
114 |
|
115 |
PluginsLocator.getPluginsManager().addShutdownTask("VCSGisSave", () -> {
|
116 |
VCSGisManager manager1 = VCSGisLocator.getVCSGisManager(); |
117 |
DynObject pluginProperties1 = getPlugin().getPluginProperties(); |
118 |
pluginProperties1.setDynValue("workspaces", manager1.getWorkspaces());
|
119 |
}, |
120 |
false,
|
121 |
100
|
122 |
); |
123 |
|
124 |
ApplicationLocator.getManager().registerAddTableWizard("VCSGis", "VCSGis", WizardVCSGisTabular.class); |
125 |
AddLayer.addWizard(WizardVCSGisVectorial.class); |
126 |
|
127 |
} |
128 |
|
129 |
@Override
|
130 |
public void execute(String actionCommand) { |
131 |
|
132 |
switch (actionCommand) {
|
133 |
case "tools-vcsgis-showchanges": |
134 |
this.showChangesDialog();
|
135 |
break;
|
136 |
|
137 |
case "tools-vcsgis-init-server": |
138 |
showInitServerDialog(); |
139 |
break;
|
140 |
case "tools-vcsgis-init-workspace": |
141 |
showInitWorkspaceDialog(); |
142 |
break;
|
143 |
case "tools-vcsgis-add-to-workspace": |
144 |
showAddToWorkspaceDialog(); |
145 |
break;
|
146 |
case "tools-vcsgis-checkout": |
147 |
showCheckoutDialog(); |
148 |
break;
|
149 |
case "tools-vcsgis-export": |
150 |
showExportDialog(); |
151 |
break;
|
152 |
case "tools-vcsgis-register-workspace": |
153 |
showRegisterWorkspaceDialog(); |
154 |
break;
|
155 |
case "tools-vcsgis-show_server-entities": |
156 |
showServerEntitiesDialog(); |
157 |
break;
|
158 |
case "tools-vcsgis-show_server-hooks": |
159 |
showServerHooksDialog(); |
160 |
break;
|
161 |
case "tools-vcsgis-show-revisions": |
162 |
showHistory(); |
163 |
break;
|
164 |
case "tools-vcsgis-import-history": |
165 |
showImportHistoryDialog(); |
166 |
break;
|
167 |
case "tools-vcsgis-create-resource-table": |
168 |
createResourceTableDialog(); |
169 |
break;
|
170 |
|
171 |
|
172 |
} |
173 |
} |
174 |
|
175 |
private void showAddToWorkspaceDialog() { |
176 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
177 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
178 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
179 |
|
180 |
if( this.addToWorkspacePanel==null ) { |
181 |
addToWorkspacePanel = swingManager.createAddToWorkspacePanel(); |
182 |
this.addToWorkspacePanel.asJComponent().addComponentListener(new ComponentAdapter() { |
183 |
@Override
|
184 |
public void componentHidden(ComponentEvent e) { |
185 |
addToWorkspacePanelClosed=true;
|
186 |
if( !addToWorkspacePanel.isProcessing() ) {
|
187 |
addToWorkspacePanel=null;
|
188 |
} |
189 |
} |
190 |
}); |
191 |
} else {
|
192 |
if( !this.addToWorkspacePanelClosed ) { |
193 |
return;
|
194 |
} |
195 |
} |
196 |
|
197 |
final Dialog dialogAddToWorkspace = winManager.createDialog( |
198 |
addToWorkspacePanel.asJComponent(), |
199 |
i18nManager.getTranslation("_VCS_Add_to_workspace"),
|
200 |
i18nManager.getTranslation("_VCS_Add_to_workspace"),
|
201 |
WindowManager_v2.BUTTONS_OK_CANCEL |
202 |
); |
203 |
dialogAddToWorkspace.setAutoclose(false);
|
204 |
|
205 |
addToWorkspacePanel.setDialog(dialogAddToWorkspace); |
206 |
dialogAddToWorkspace.setButtonLabel( |
207 |
WindowManager_v2.BUTTON_OK, |
208 |
i18nManager.getTranslation("_VCS_Add_to_workspace")
|
209 |
); |
210 |
dialogAddToWorkspace.setButtonLabel( |
211 |
WindowManager_v2.BUTTON_CANCEL, |
212 |
i18nManager.getTranslation("_Close")
|
213 |
); |
214 |
dialogAddToWorkspace.addActionListener((ActionEvent e) -> {
|
215 |
switch (dialogAddToWorkspace.getAction()) {
|
216 |
case WindowManager_v2.BUTTON_OK:
|
217 |
|
218 |
Thread task = new Thread(() -> { |
219 |
int r = addToWorkspacePanel.add();
|
220 |
if (r != 0) { |
221 |
FeatureStore featureStore = addToWorkspacePanel.getFeatureStore(); |
222 |
String targetName = addToWorkspacePanel.getTabletName();
|
223 |
VCSGisWorkspace workspace = addToWorkspacePanel.getWorkspace(); |
224 |
|
225 |
String message = "_Cant_add_{0}_as_{1}_in_{2}"; |
226 |
|
227 |
StringBuilder compoundMessage = new StringBuilder(); |
228 |
String[] messageArgs = new String[]{featureStore.getName(), targetName, workspace.getLabel()}; |
229 |
|
230 |
compoundMessage.append(i18nManager.getTranslation( |
231 |
message, |
232 |
messageArgs |
233 |
)); |
234 |
compoundMessage.append("\n");
|
235 |
compoundMessage.append(workspace.getErrorMessage(r)); |
236 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
237 |
dialogsManager.messageDialog( |
238 |
compoundMessage.toString(), |
239 |
i18nManager.getTranslation("_VCS_Add_to_workspace"),
|
240 |
JOptionPane.WARNING_MESSAGE
|
241 |
); |
242 |
} |
243 |
}, "Adding_to_workspace");
|
244 |
task.start(); |
245 |
break;
|
246 |
case WindowManager_v2.BUTTON_CANCEL:
|
247 |
// dialog.asJComponent().getParent().setVisible(false);
|
248 |
dialogAddToWorkspace.asJComponent().setVisible(false);
|
249 |
break;
|
250 |
|
251 |
} |
252 |
}); |
253 |
dialogAddToWorkspace.show(WindowManager.MODE.WINDOW); |
254 |
} |
255 |
|
256 |
private void showImportHistoryDialog() { |
257 |
|
258 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
259 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
260 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
261 |
|
262 |
if( this.importHistoryPanel==null ) { |
263 |
importHistoryPanel = swingManager.createImportHistoryPanel(); |
264 |
|
265 |
this.importHistoryPanel.asJComponent().addComponentListener(new ComponentAdapter() { |
266 |
@Override
|
267 |
public void componentHidden(ComponentEvent e) { |
268 |
importHistoryPanelClosed=true;
|
269 |
if( !importHistoryPanel.isProcessing() ) {
|
270 |
importHistoryPanel=null;
|
271 |
} |
272 |
} |
273 |
}); |
274 |
} else {
|
275 |
if( !this.importHistoryPanelClosed ) { |
276 |
return;
|
277 |
} |
278 |
} |
279 |
|
280 |
final Dialog dialogImportHistory = winManager.createDialog( |
281 |
importHistoryPanel.asJComponent(), |
282 |
i18nManager.getTranslation("_VCS_Import_history"),
|
283 |
i18nManager.getTranslation("_VCS_Import_history"),
|
284 |
WindowManager_v2.BUTTONS_OK_CANCEL |
285 |
); |
286 |
dialogImportHistory.setAutoclose(false);
|
287 |
|
288 |
importHistoryPanel.setDialog(dialogImportHistory); |
289 |
dialogImportHistory.setButtonLabel( |
290 |
WindowManager_v2.BUTTON_OK, |
291 |
i18nManager.getTranslation("_VCS_Import_history")
|
292 |
); |
293 |
dialogImportHistory.setButtonLabel( |
294 |
WindowManager_v2.BUTTON_CANCEL, |
295 |
i18nManager.getTranslation("_Close")
|
296 |
); |
297 |
dialogImportHistory.addActionListener((ActionEvent e) -> {
|
298 |
switch (dialogImportHistory.getAction()) {
|
299 |
case WindowManager_v2.BUTTON_OK:
|
300 |
|
301 |
Thread task = new Thread(() -> { |
302 |
int r = importHistoryPanel.importHistory();
|
303 |
if (r != 0) { |
304 |
FeatureStore featureStore = importHistoryPanel.getFeatureStore(); |
305 |
String targetName = importHistoryPanel.getTabletName();
|
306 |
VCSGisWorkspace workspace = importHistoryPanel.getWorkspace(); |
307 |
|
308 |
String message = "_Cant_add_{0}_as_{1}_in_{2}"; |
309 |
|
310 |
StringBuilder compoundMessage = new StringBuilder(); |
311 |
String[] messageArgs = new String[]{featureStore.getName(), targetName, workspace.getLabel()}; |
312 |
|
313 |
compoundMessage.append(i18nManager.getTranslation( |
314 |
message, |
315 |
messageArgs |
316 |
)); |
317 |
compoundMessage.append("\n");
|
318 |
compoundMessage.append(workspace.getErrorMessage(r)); |
319 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
320 |
dialogsManager.messageDialog( |
321 |
compoundMessage.toString(), |
322 |
i18nManager.getTranslation("_VCS_Import_history"),
|
323 |
JOptionPane.WARNING_MESSAGE
|
324 |
); |
325 |
} |
326 |
}, "ImportHistory");
|
327 |
task.start(); |
328 |
break;
|
329 |
case WindowManager_v2.BUTTON_CANCEL:
|
330 |
// dialog.asJComponent().getParent().setVisible(false);
|
331 |
dialogImportHistory.asJComponent().setVisible(false);
|
332 |
break;
|
333 |
|
334 |
} |
335 |
}); |
336 |
dialogImportHistory.show(WindowManager.MODE.WINDOW); |
337 |
|
338 |
// I18nManager i18nManager = ToolsLocator.getI18nManager();
|
339 |
// WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
|
340 |
// VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager();
|
341 |
//
|
342 |
// if( this.importHistoryPanel==null ) {
|
343 |
// Hay que darlo de alta en el mamager del api y de la impl.
|
344 |
// addToWorkspacePanel = swingManager.createImportHistoryPanel();
|
345 |
//
|
346 |
// this.importHistoryPanel.asJComponent().addComponentListener(new ComponentAdapter() {
|
347 |
// @Override
|
348 |
// public void componentHidden(ComponentEvent e) {
|
349 |
// importHistoryPanelClosed=true;
|
350 |
// if( !importHistoryPanel.isProcessing() ) {
|
351 |
// importHistoryPanel=null;
|
352 |
// }
|
353 |
// }
|
354 |
// });
|
355 |
// } else {
|
356 |
// if( !this.importHistoryPanelClosed ) {
|
357 |
// return;
|
358 |
// }
|
359 |
// }
|
360 |
//
|
361 |
// final Dialog dialogImportHistory = winManager.createDialog(
|
362 |
// importHistoryPanel.asJComponent(),
|
363 |
// i18nManager.getTranslation("_VCS_Add_to_workspace"), XXX
|
364 |
// i18nManager.getTranslation("_VCS_Add_to_workspace"), XXX
|
365 |
// WindowManager_v2.BUTTONS_OK_CANCEL
|
366 |
// );
|
367 |
// dialogImportHistory.setAutoclose(false);
|
368 |
//
|
369 |
// importHistoryPanel.setDialog(dialogImportHistory);
|
370 |
// dialogImportHistory.setButtonLabel(
|
371 |
// WindowManager_v2.BUTTON_OK,
|
372 |
// i18nManager.getTranslation("_VCS_Add_to_workspace") XXX
|
373 |
// );
|
374 |
// dialogImportHistory.setButtonLabel(
|
375 |
// WindowManager_v2.BUTTON_CANCEL,
|
376 |
// i18nManager.getTranslation("_Close")
|
377 |
// );
|
378 |
// dialogImportHistory.addActionListener((ActionEvent e) -> {
|
379 |
// switch (dialogImportHistory.getAction()) {
|
380 |
// case WindowManager_v2.BUTTON_OK:
|
381 |
//
|
382 |
// Thread task = new Thread(() -> {
|
383 |
// int r = importHistoryPanel.add();
|
384 |
// if (r != 0) {
|
385 |
// FeatureStore featureStore = importHistoryPanel.getFeatureStore();
|
386 |
// String targetName = importHistoryPanel.getTabletName();
|
387 |
// VCSGisWorkspace workspace = importHistoryPanel.getWorkspace();
|
388 |
//
|
389 |
// String message = "_Cant_add_{0}_as_{1}_in_{2}";
|
390 |
//
|
391 |
// StringBuilder compoundMessage = new StringBuilder();
|
392 |
// String[] messageArgs = new String[]{featureStore.getName(), targetName, workspace.getLabel()};
|
393 |
//
|
394 |
// compoundMessage.append(i18nManager.getTranslation(
|
395 |
// message,
|
396 |
// messageArgs
|
397 |
// ));
|
398 |
// compoundMessage.append("\n");
|
399 |
// compoundMessage.append(workspace.getErrorMessage(r));
|
400 |
// ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager();
|
401 |
// dialogsManager.messageDialog(
|
402 |
// compoundMessage.toString(),
|
403 |
// i18nManager.getTranslation("_VCS_Add_to_workspace"), XXX
|
404 |
// JOptionPane.WARNING_MESSAGE
|
405 |
// );
|
406 |
// }
|
407 |
// }, "ImportHistory");
|
408 |
// task.start();
|
409 |
// break;
|
410 |
// case WindowManager_v2.BUTTON_CANCEL:
|
411 |
//// dialog.asJComponent().getParent().setVisible(false);
|
412 |
// dialogImportHistory.asJComponent().setVisible(false);
|
413 |
// break;
|
414 |
//
|
415 |
// }
|
416 |
// });
|
417 |
// dialogImportHistory.show(WindowManager.MODE.WINDOW);
|
418 |
|
419 |
} |
420 |
|
421 |
private void showInitWorkspaceDialog() { |
422 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
423 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
424 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
425 |
|
426 |
final VCSGisJInitWorkspace panelInitWorkspace = swingManager.createInitWorkspacePanel();
|
427 |
final Dialog dialogInitWorkspace = winManager.createDialog( |
428 |
panelInitWorkspace.asJComponent(), |
429 |
i18nManager.getTranslation("_VCS_Initialize_workspace"),
|
430 |
i18nManager.getTranslation("_VCS_Initialize_workspace"),
|
431 |
WindowManager_v2.BUTTONS_OK_CANCEL |
432 |
); |
433 |
|
434 |
panelInitWorkspace.setDialog(dialogInitWorkspace); |
435 |
dialogInitWorkspace.setButtonLabel( |
436 |
WindowManager_v2.BUTTON_OK, |
437 |
i18nManager.getTranslation("_VCS_Initialize_workspace")
|
438 |
); |
439 |
dialogInitWorkspace.addActionListener((ActionEvent e) -> {
|
440 |
switch (dialogInitWorkspace.getAction()) {
|
441 |
case WindowManager_v2.BUTTON_OK:
|
442 |
int r = panelInitWorkspace.initializeWorkspace();
|
443 |
if (r != 0) { |
444 |
String message = "_Cant_initialize_workspace_{0}"; |
445 |
|
446 |
StringBuilder compoundMessage = new StringBuilder(); |
447 |
String[] messageArgs = new String[]{panelInitWorkspace.getWorkspaceName()}; |
448 |
|
449 |
compoundMessage.append(i18nManager.getTranslation( |
450 |
message, |
451 |
messageArgs |
452 |
)); |
453 |
|
454 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
455 |
dialogsManager.messageDialog( |
456 |
compoundMessage.toString(), |
457 |
i18nManager.getTranslation("_VCS_Initialize_workspace"),
|
458 |
JOptionPane.WARNING_MESSAGE
|
459 |
); |
460 |
} |
461 |
|
462 |
break;
|
463 |
|
464 |
} |
465 |
}); |
466 |
dialogInitWorkspace.show(WindowManager.MODE.WINDOW); |
467 |
} |
468 |
|
469 |
private void showInitServerDialog() { |
470 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
471 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
472 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
473 |
|
474 |
final VCSGisJInitServer panel = swingManager.createInitServerPanel();
|
475 |
final Dialog dialog = winManager.createDialog( |
476 |
panel.asJComponent(), |
477 |
i18nManager.getTranslation("_VCS_Initialize_repository"),
|
478 |
i18nManager.getTranslation("_VCS_Initialize_repository"),
|
479 |
WindowManager_v2.BUTTONS_OK_CANCEL |
480 |
); |
481 |
|
482 |
panel.setDialog(dialog); |
483 |
dialog.setButtonLabel( |
484 |
WindowManager_v2.BUTTON_OK, |
485 |
i18nManager.getTranslation("_VCS_Initialize_repository")
|
486 |
); |
487 |
dialog.addActionListener((ActionEvent e) -> {
|
488 |
switch (dialog.getAction()) {
|
489 |
case WindowManager_v2.BUTTON_OK:
|
490 |
int r = panel.initialize();
|
491 |
if (r != 0) { |
492 |
String message = "_Cant_initialize_server_{0}"; |
493 |
|
494 |
StringBuilder compoundMessage = new StringBuilder(); |
495 |
String[] messageArgs = new String[]{ |
496 |
panel.getConnectionLabel()}; |
497 |
|
498 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
499 |
dialogsManager.messageDialog( |
500 |
i18nManager.getTranslation( |
501 |
message, |
502 |
messageArgs |
503 |
), |
504 |
i18nManager.getTranslation("_VCS_Initialize_repository"),
|
505 |
JOptionPane.WARNING_MESSAGE);
|
506 |
} |
507 |
|
508 |
break;
|
509 |
} |
510 |
}); |
511 |
dialog.show(WindowManager.MODE.WINDOW); |
512 |
} |
513 |
|
514 |
// private void showAddLayerDialog() {
|
515 |
// I18nManager i18nManager = ToolsLocator.getI18nManager();
|
516 |
// WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
|
517 |
// VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager();
|
518 |
//
|
519 |
// ApplicationManager application = ApplicationLocator.getManager();
|
520 |
// LabeledValue labeledView = null;
|
521 |
// JComponent activeComponent = application.getActiveComponent(ViewDocument.class);
|
522 |
// if (activeComponent != null && activeComponent instanceof IView) {
|
523 |
// IView view = (IView) activeComponent;
|
524 |
// ViewDocument viewDocument = ((IView) activeComponent).getViewDocument();
|
525 |
// labeledView = new LabeledValueImpl(viewDocument.getName(), viewDocument);
|
526 |
// }
|
527 |
//
|
528 |
// if (labeledView == null || labeledView.getValue() == null) {
|
529 |
// return;
|
530 |
// }
|
531 |
//
|
532 |
// if (this.addLayerPanel == null || this.addLayerPanel.getView().getValue() != labeledView.getValue()) {
|
533 |
// addLayerPanel = swingManager.createAddLayerFormPanel(labeledView);
|
534 |
// this.addLayerPanel.asJComponent().addComponentListener(new ComponentAdapter() {
|
535 |
// @Override
|
536 |
// public void componentHidden(ComponentEvent e) {
|
537 |
// addLayerPanelClosed = true;
|
538 |
// if(!addLayerPanel.isProcessing()){
|
539 |
// addLayerPanel = null;
|
540 |
// }
|
541 |
// }
|
542 |
// });
|
543 |
//
|
544 |
// } else {
|
545 |
// if (!this.addLayerPanelClosed) {
|
546 |
// return;
|
547 |
// }
|
548 |
// }
|
549 |
// final Dialog dialog = winManager.createDialog(
|
550 |
// addLayerPanel.asJComponent(),
|
551 |
// i18nManager.getTranslation("_VCS_Add_layer"),
|
552 |
// i18nManager.getTranslation("_VCS_Add_layer"),
|
553 |
// WindowManager_v2.BUTTONS_OK_CANCEL
|
554 |
// );
|
555 |
// dialog.setAutoclose(false);
|
556 |
//
|
557 |
// addLayerPanel.setDialog(dialog);
|
558 |
// dialog.setButtonLabel(
|
559 |
// WindowManager_v2.BUTTON_OK,
|
560 |
// i18nManager.getTranslation("_VCS_Add_layer")
|
561 |
// );
|
562 |
// dialog.setButtonLabel(
|
563 |
// WindowManager_v2.BUTTON_CANCEL,
|
564 |
// i18nManager.getTranslation("_Close")
|
565 |
// );
|
566 |
//
|
567 |
// dialog.addActionListener((ActionEvent e) -> {
|
568 |
// switch (dialog.getAction()) {
|
569 |
// case WindowManager_v2.BUTTON_OK:
|
570 |
// addLayerPanel.addLayer();
|
571 |
// break;
|
572 |
// case WindowManager_v2.BUTTON_CANCEL:
|
573 |
// dialog.asJComponent().setVisible(false);
|
574 |
// break;
|
575 |
//
|
576 |
// }
|
577 |
// });
|
578 |
// dialog.show(WindowManager.MODE.WINDOW);
|
579 |
// }
|
580 |
|
581 |
private void showCheckoutDialog() { |
582 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
583 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
584 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
585 |
|
586 |
if( this.checkoutPanel==null ) { |
587 |
this.checkoutPanel = swingManager.createCheckoutPanel();
|
588 |
this.checkoutPanel.asJComponent().addComponentListener(new ComponentAdapter() { |
589 |
@Override
|
590 |
public void componentHidden(ComponentEvent e) { |
591 |
checkoutPanelClosed=true;
|
592 |
if(!checkoutPanel.isProcessing()){
|
593 |
// checkoutPanel.asJComponent().removeComponentListener(this);
|
594 |
checkoutPanel = null;
|
595 |
} |
596 |
} |
597 |
}); |
598 |
|
599 |
} else {
|
600 |
if( !this.checkoutPanelClosed ) { |
601 |
return;
|
602 |
} |
603 |
} |
604 |
final Dialog dialog = winManager.createDialog( |
605 |
checkoutPanel.asJComponent(), |
606 |
i18nManager.getTranslation("_VCS_Checkout"),
|
607 |
i18nManager.getTranslation("_VCS_Checkout"),
|
608 |
WindowManager_v2.BUTTONS_OK_CANCEL |
609 |
); |
610 |
dialog.setAutoclose(false);
|
611 |
|
612 |
checkoutPanel.setDialog(dialog); |
613 |
dialog.setButtonLabel( |
614 |
WindowManager_v2.BUTTON_OK, |
615 |
i18nManager.getTranslation("_VCS_Checkout")
|
616 |
); |
617 |
dialog.setButtonLabel( |
618 |
WindowManager_v2.BUTTON_CANCEL, |
619 |
i18nManager.getTranslation("_Close")
|
620 |
); |
621 |
if(checkoutPanel.isProcessing()){
|
622 |
dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK,false);
|
623 |
} |
624 |
dialog.addActionListener((ActionEvent e) -> {
|
625 |
switch (dialog.getAction()) {
|
626 |
case WindowManager_v2.BUTTON_OK:
|
627 |
Thread task = new Thread(() -> { |
628 |
|
629 |
int r = checkoutPanel.checkout();
|
630 |
if (r != 0) { |
631 |
String message = "_Failed_checkout_of_{0}"; |
632 |
|
633 |
VCSGisEntity entity = checkoutPanel.getTable(); |
634 |
String[] messageArgs = new String[]{ |
635 |
entity.toString() |
636 |
}; |
637 |
|
638 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
639 |
dialogsManager.messageDialog( |
640 |
i18nManager.getTranslation( |
641 |
message, |
642 |
messageArgs |
643 |
), |
644 |
i18nManager.getTranslation("_Checkout"),
|
645 |
JOptionPane.WARNING_MESSAGE);
|
646 |
} |
647 |
}, "Checkout");
|
648 |
task.start(); |
649 |
break;
|
650 |
case WindowManager_v2.BUTTON_CANCEL:
|
651 |
// dialog.asJComponent().getParent().setVisible(false);
|
652 |
dialog.asJComponent().setVisible(false);
|
653 |
break;
|
654 |
} |
655 |
}); |
656 |
dialog.show(WindowManager.MODE.WINDOW); |
657 |
} |
658 |
|
659 |
private void showExportDialog() { |
660 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
661 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
662 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
663 |
|
664 |
if( this.exportPanel==null ) { |
665 |
this.exportPanel = swingManager.createExportPanel();
|
666 |
this.exportPanel.asJComponent().addComponentListener(new ComponentAdapter() { |
667 |
@Override
|
668 |
public void componentHidden(ComponentEvent e) { |
669 |
exportPanelClosed=true;
|
670 |
if(!exportPanel.isProcessing()){
|
671 |
exportPanel = null;
|
672 |
} |
673 |
} |
674 |
}); |
675 |
|
676 |
} else {
|
677 |
if( !this.exportPanelClosed ) { |
678 |
return;
|
679 |
} |
680 |
} |
681 |
final Dialog dialog = winManager.createDialog( |
682 |
exportPanel.asJComponent(), |
683 |
i18nManager.getTranslation("_VCS_Export"),
|
684 |
i18nManager.getTranslation("_Export_to_a_local_table_a_table_of_the_repository"),
|
685 |
WindowManager_v2.BUTTONS_OK_CANCEL |
686 |
); |
687 |
dialog.setAutoclose(false);
|
688 |
|
689 |
exportPanel.setDialog(dialog); |
690 |
dialog.setButtonLabel( |
691 |
WindowManager_v2.BUTTON_OK, |
692 |
i18nManager.getTranslation("_VCS_Export")
|
693 |
); |
694 |
dialog.setButtonLabel( |
695 |
WindowManager_v2.BUTTON_CANCEL, |
696 |
i18nManager.getTranslation("_Close")
|
697 |
); |
698 |
if(exportPanel.isProcessing()){
|
699 |
dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK,false);
|
700 |
} |
701 |
dialog.addActionListener((ActionEvent e) -> {
|
702 |
switch (dialog.getAction()) {
|
703 |
case WindowManager_v2.BUTTON_OK:
|
704 |
Thread task = new Thread(() -> { |
705 |
|
706 |
int r = exportPanel.export();
|
707 |
if (r != 0) { |
708 |
String message = "_Failed_export_of_{0}"; |
709 |
|
710 |
VCSGisEntity entity = checkoutPanel.getTable(); |
711 |
String[] messageArgs = new String[]{ |
712 |
entity.toString() |
713 |
}; |
714 |
|
715 |
ThreadSafeDialogsManager dialogsManager = ToolsSwingLocator.getThreadSafeDialogsManager(); |
716 |
dialogsManager.messageDialog( |
717 |
i18nManager.getTranslation( |
718 |
message, |
719 |
messageArgs |
720 |
), |
721 |
i18nManager.getTranslation("_VCS_Export"),
|
722 |
JOptionPane.WARNING_MESSAGE);
|
723 |
} |
724 |
}, "VCSGisExport");
|
725 |
task.start(); |
726 |
break;
|
727 |
case WindowManager_v2.BUTTON_CANCEL:
|
728 |
dialog.asJComponent().setVisible(false);
|
729 |
break;
|
730 |
} |
731 |
}); |
732 |
dialog.show(WindowManager.MODE.WINDOW); |
733 |
} |
734 |
|
735 |
private void showChangesDialog() { |
736 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
737 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
738 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
739 |
|
740 |
if( this.changesPanel==null ) { |
741 |
changesPanel = swingManager.createChangesPanel(); |
742 |
this.changesPanel.asJComponent().addComponentListener(new ComponentAdapter() { |
743 |
@Override
|
744 |
public void componentHidden(ComponentEvent e) { |
745 |
changesPanelClosed=true;
|
746 |
cleanHighligthed(); |
747 |
if( !changesPanel.isProcessing() ) {
|
748 |
changesPanel = null;
|
749 |
} |
750 |
} |
751 |
}); |
752 |
} else {
|
753 |
if( !this.changesPanelClosed ) { |
754 |
return;
|
755 |
} |
756 |
} |
757 |
|
758 |
winManager.showWindow( |
759 |
changesPanel.asJComponent(), |
760 |
i18nManager.getTranslation("_VCS_Changes"),
|
761 |
WindowManager.MODE.WINDOW |
762 |
); |
763 |
} |
764 |
|
765 |
private void showHistory() { |
766 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
767 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
768 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
769 |
|
770 |
if( this.revisionsPanel==null ) { |
771 |
revisionsPanel = swingManager.createRevisionsPanel(); |
772 |
this.revisionsPanel.asJComponent().addComponentListener(new ComponentAdapter() { |
773 |
@Override
|
774 |
public void componentHidden(ComponentEvent e) { |
775 |
revisionsPanelClosed=true;
|
776 |
if( !revisionsPanel.isProcessing() ) {
|
777 |
revisionsPanel = null;
|
778 |
} |
779 |
} |
780 |
}); |
781 |
} else {
|
782 |
if( !this.revisionsPanelClosed ) { |
783 |
return;
|
784 |
} |
785 |
} |
786 |
|
787 |
winManager.showWindow( |
788 |
revisionsPanel.asJComponent(), |
789 |
i18nManager.getTranslation("_VCS_Revisions"),
|
790 |
WindowManager.MODE.WINDOW |
791 |
); |
792 |
} |
793 |
|
794 |
private void showRegisterWorkspaceDialog() { |
795 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
796 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
797 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
798 |
|
799 |
final VCSGisJRegisterWorkspace panelInitWorkspace = swingManager.createRegisterWorkspacePanel();
|
800 |
final Dialog dialogRegisterWorkspace = winManager.createDialog( |
801 |
panelInitWorkspace.asJComponent(), |
802 |
i18nManager.getTranslation("_VCS_Register_workspace"),
|
803 |
i18nManager.getTranslation("_VCS_Register_workspace"),
|
804 |
WindowManager_v2.BUTTONS_OK |
805 |
); |
806 |
|
807 |
panelInitWorkspace.setDialog(dialogRegisterWorkspace); |
808 |
dialogRegisterWorkspace.setButtonLabel( |
809 |
WindowManager_v2.BUTTON_OK, |
810 |
i18nManager.getTranslation("_Close")
|
811 |
); |
812 |
|
813 |
dialogRegisterWorkspace.show(WindowManager.MODE.WINDOW); |
814 |
} |
815 |
|
816 |
private void showServerEntitiesDialog() { |
817 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
818 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
819 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
820 |
|
821 |
final VCSGisJShowServerTableForm panel = swingManager.createShowTableServerFormPanel("VCSGIS_ENTITIES"); |
822 |
winManager.showWindow( |
823 |
panel.asJComponent(), |
824 |
i18nManager.getTranslation("_VCS_Server_entities"),
|
825 |
WindowManager.MODE.WINDOW |
826 |
); |
827 |
} |
828 |
|
829 |
private void showServerHooksDialog() { |
830 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
831 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
832 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
833 |
|
834 |
final VCSGisJShowServerTableForm panel = swingManager.createShowTableServerFormPanel("VCSGIS_HOOKS"); |
835 |
winManager.showWindow( |
836 |
panel.asJComponent(), |
837 |
i18nManager.getTranslation("_VCS_Server_hooks"),
|
838 |
WindowManager.MODE.WINDOW |
839 |
); |
840 |
} |
841 |
|
842 |
private void createResourceTableDialog() { |
843 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
844 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
845 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
846 |
|
847 |
final VCSGisJCreateResourceTable panel = swingManager.createResourceTablePanel();
|
848 |
final Dialog dialog = winManager.createDialog( |
849 |
panel.asJComponent(), |
850 |
i18nManager.getTranslation("_VCS_Create_resource_table"),
|
851 |
i18nManager.getTranslation("_Create_resource_table_parameters"),
|
852 |
WindowManager_v2.BUTTONS_OK_CANCEL |
853 |
); |
854 |
|
855 |
panel.setDialog(dialog); |
856 |
|
857 |
dialog.setButtonLabel( |
858 |
WindowManager_v2.BUTTON_OK, |
859 |
i18nManager.getTranslation("_Accept")
|
860 |
); |
861 |
dialog.setButtonLabel( |
862 |
WindowManager_v2.BUTTON_CANCEL, |
863 |
i18nManager.getTranslation("_Close")
|
864 |
); |
865 |
|
866 |
dialog.addActionListener((ActionEvent e) -> {
|
867 |
switch (dialog.getAction()) {
|
868 |
case WindowManager_v2.BUTTON_OK:
|
869 |
panel.createResourceTable(); |
870 |
} |
871 |
}); |
872 |
|
873 |
dialog.show(WindowManager.MODE.WINDOW); |
874 |
} |
875 |
|
876 |
|
877 |
@Override
|
878 |
public boolean isEnabled() { |
879 |
return true; |
880 |
} |
881 |
|
882 |
@Override
|
883 |
public boolean isVisible() { |
884 |
return true; |
885 |
} |
886 |
|
887 |
private IView getActiveView() {
|
888 |
ApplicationManager application = ApplicationLocator.getManager(); |
889 |
IView view = (IView) application.getActiveComponent(ViewDocument.class); |
890 |
return view;
|
891 |
} |
892 |
|
893 |
private void cleanHighligthed() { |
894 |
VCSGisManager manager = VCSGisLocator.getVCSGisManager(); |
895 |
VCSGisSwingManager swingManager = VCSGisSwingLocator.getVCSGisSwingManager(); |
896 |
swingManager.getDefaultServices().cleanHighligthed(); |
897 |
} |
898 |
|
899 |
|
900 |
} |