protected void uploadLayers(List<SaveLayerInfo> toUpload) { for (final SaveLayerInfo layerInfo : toUpload) { AbstractModifiableLayer layer = layerInfo.getLayer(); if (canceled) { model.setUploadState(layer, UploadOrSaveState.CANCELED); continue; } monitor.subTask(tr("Preparing layer ''{0}'' for upload ...", layerInfo.getName())); if (!UploadAction.checkPreUploadConditions(layer)) { model.setUploadState(layer, UploadOrSaveState.FAILED); continue; } AbstractUploadDialog dialog = layer.getUploadDialog(); if (dialog != null) { dialog.setVisible(true); if (dialog.isCanceled()) { model.setUploadState(layer, UploadOrSaveState.CANCELED); continue; } dialog.rememberUserInput(); } currentTask = layer.createUploadTask(monitor); if (currentTask == null) { model.setUploadState(layer, UploadOrSaveState.FAILED); continue; } currentFuture = worker.submit(currentTask); try { // wait for the asynchronous task to complete // currentFuture.get(); } catch (CancellationException e) { Main.trace(e); model.setUploadState(layer, UploadOrSaveState.CANCELED); } catch (InterruptedException | ExecutionException e) { Main.error(e); model.setUploadState(layer, UploadOrSaveState.FAILED); ExceptionDialogUtil.explainException(e); } if (currentTask.isCanceled()) { model.setUploadState(layer, UploadOrSaveState.CANCELED); } else if (currentTask.isFailed()) { Main.error(currentTask.getLastException()); ExceptionDialogUtil.explainException(currentTask.getLastException()); model.setUploadState(layer, UploadOrSaveState.FAILED); } else { model.setUploadState(layer, UploadOrSaveState.OK); } currentTask = null; currentFuture = null; } }
public ReverterPlugin(PluginInformation info) { super(info); JMenu historyMenu = Main.main.menu.addMenu( marktr("History"), KeyEvent.VK_S, Main.main.menu.defaultMenuPos, ht("/Plugin/Reverter")); // MainMenu.add(historyMenu, new ObjectsHistoryAction()); MainMenu.add(historyMenu, new RevertChangesetAction()); UploadAction.registerUploadHook(new ReverterUploadHook(this)); }
/** * Creates the plugin and setup the default settings if necessary * * @throws Exception */ public CadastrePlugin(PluginInformation info) throws Exception { super(info); System.out.println("Pluging cadastre-fr v" + VERSION + " started..."); if (Main.pref.get("cadastrewms.cacheDir").equals("")) cacheDir = Main.pref.getPreferencesDir() + "plugins" + File.separatorChar + "cadastrewms" + File.separatorChar; else { cacheDir = Main.pref.get("cadastrewms.cacheDir"); if (cacheDir.charAt(cacheDir.length() - 1) != File.separatorChar) cacheDir += File.separatorChar; } System.out.println("current cache directory: " + cacheDir); refreshConfiguration(); UploadAction.registerUploadHook(new CheckSourceUploadHook()); }