// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.trustosm.gui; import static org.openstreetmap.josm.tools.I18n.tr; import java.io.IOException; import org.openstreetmap.josm.gui.ExceptionDialogUtil; import org.openstreetmap.josm.gui.PleaseWaitRunnable; import org.openstreetmap.josm.io.OsmTransferException; import org.xml.sax.SAXException; public class KeyGenerationTask extends PleaseWaitRunnable { private boolean canceled; private Exception lastException; public KeyGenerationTask() { super(tr("Generating new Keypair.\nCollecting randomness...")); } @Override protected void cancel() { canceled = true; synchronized (this) { /* if (objectReader != null) { objectReader.cancel(); }*/ } } @Override protected void finish() { if (canceled) return; if (lastException != null) { ExceptionDialogUtil.explainException(lastException); } } @Override protected void realRun() throws SAXException, IOException, OsmTransferException { /*try { synchronized (this) { if (canceled) return; objectReader = new MultiFetchServerObjectReader(); } objectReader.append(missing); progressMonitor.indeterminateSubTask( buildDownloadFeedbackMessage() ); final DataSet dataSet = objectReader.parseOsm(progressMonitor .createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); if (dataSet == null) return; synchronized (this) { if (canceled) return; objectReader = null; } SwingUtilities.invokeLater( new Runnable() { public void run() { curLayer.mergeFrom(dataSet); curLayer.onPostDownloadFromServer(); AutoScaleAction.zoomTo(dataSet.allPrimitives()); } } ); } catch (Exception e) { if (canceled) { System.out.println(tr("Warning: Ignoring exception because task was canceled. Exception: {0}", e .toString())); return; } lastException = e; }*/ } }