+ projectInserter.start(new ProgressListener() {
+
+ public void onProgress(final long copied, final long length) {
+ SwingUtilities.invokeLater(new Runnable() {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void run() {
+ int divisor = 1;
+ while (((copied / divisor) > Integer.MAX_VALUE) || ((length / divisor) > Integer.MAX_VALUE)) {
+ divisor *= 10;
+ }
+ progressBar.setMaximum((int) (length / divisor));
+ progressBar.setValue((int) (copied / divisor));
+ progressBar.setString("Uploaded: " + copied + " / " + length);
+ }
+ });
+ }
+ });
+ }
+
+ /**
+ * Stops the currently running insert.
+ */
+ public void stopInsert() {
+ if (running) {
+ wizard.setNextEnabled(false);
+ projectInserter.stop();
+ }
+ }
+
+ /**
+ * Returns whether the insert is currently running.
+ *
+ * @return {@code true} if the insert is currently running, {@code false}
+ * otherwise
+ */
+ public boolean isRunning() {
+ return running;