Add progress view
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Oct 2012 10:03:50 +0000 (10:03 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Oct 2012 10:03:50 +0000 (10:03 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@5645 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

plugins/org.argeo.slc.client.ui.dist/icons/pview.gif [new file with mode: 0644]
plugins/org.argeo.slc.client.ui.dist/plugin.xml
plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/DistributionPerspective.java
plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java

diff --git a/plugins/org.argeo.slc.client.ui.dist/icons/pview.gif b/plugins/org.argeo.slc.client.ui.dist/icons/pview.gif
new file mode 100644 (file)
index 0000000..4aa54a6
Binary files /dev/null and b/plugins/org.argeo.slc.client.ui.dist/icons/pview.gif differ
index cc4b39c239087a492e625d5ab6eac39155f6ff13..3d8bc0e025b1796aced91054d2abc9956fbc80b9 100644 (file)
             icon="icons/search.gif"
             name="Distributions">
       </view>
+          <view
+                name="Progress View"
+                icon="icons/pview.gif"
+                category="org.eclipse.ui"
+                class="org.eclipse.ui.ExtensionFactory:progressView"
+                id="org.eclipse.ui.views.ProgressView">
+          </view>
    </extension>
    <!-- Editors -->
    <extension
index 65021dc78af996f9cd8d54f412e65b725d2aacac..5b185a89aeb50639751cd427ce852f660663f1ff 100644 (file)
@@ -40,5 +40,6 @@ public class DistributionPerspective implements IPerspectiveFactory {
                main.addView(QueryArtifactsForm.ID);
                main.addView(QueryBundlesForm.ID);
                main.addView(QueryArtifactsText.ID);
+               main.addView("org.eclipse.ui.views.ProgressView");
        }
 }
index e5eea06fee9ecc16ef4bcb15c4a4cd3cab73f7d7..7338afda00d8911ef017e4ab9d84036bea5c6a45 100644 (file)
@@ -550,7 +550,10 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames
                                                        targetWorkspace);
                                }
 
-                               new WorkspaceMergeJob(sourceSession, targetSession).schedule();
+                               Job workspaceMergeJob = new WorkspaceMergeJob(sourceSession,
+                                               targetSession);
+                               workspaceMergeJob.setUser(true);
+                               workspaceMergeJob.schedule();
                                return true;
                        } catch (RepositoryException e) {
                                throw new SlcException("Cannot process drop from " + sourceDist
@@ -585,7 +588,7 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames
                }
 
                @Override
-               protected IStatus run(IProgressMonitor monitor) {
+               protected IStatus run(IProgressMonitor eclipseMonitor) {
                        long begin = System.currentTimeMillis();
                        try {
                                // Not implemented in Davex Jackrabbit v2.2
@@ -596,12 +599,13 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames
                                // Query.JCR_SQL2).execute().getRows().nextRow()
                                // .getValues()[0].getLong();
 
-                               ArgeoMonitor argeoMonitor = new EclipseArgeoMonitor(monitor);
-                               monitor.beginTask("Copy files", ArgeoMonitor.UNKNOWN);
+                               ArgeoMonitor monitor = new EclipseArgeoMonitor(eclipseMonitor);
+                               eclipseMonitor.beginTask("Copy files", ArgeoMonitor.UNKNOWN);
 
                                Long count = JcrUtils.copyFiles(sourceSession.getRootNode(),
-                                               targetSession.getRootNode(), true, argeoMonitor);
+                                               targetSession.getRootNode(), true, monitor);
 
+                               monitor.done();
                                long duration = (System.currentTimeMillis() - begin) / 1000;// in
                                                                                                                                                        // s
                                if (log.isDebugEnabled())