Improve job progress bar
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 3 Nov 2012 20:38:19 +0000 (20:38 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 3 Nov 2012 20:38:19 +0000 (20:38 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@5692 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/NormalizeDistribution.java
plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java

index a1809518fe9ccbd4198cfab74fab441c8b10cb44..0a16e4dc533848f90d6c2d6e88f0de4f18c568c6 100644 (file)
@@ -21,6 +21,8 @@ import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
+import javax.jcr.query.Query;
+import javax.jcr.query.QueryResult;
 import javax.jcr.util.TraversingItemVisitor;
 
 import org.apache.commons.logging.Log;
@@ -96,8 +98,17 @@ public class NormalizeDistribution extends AbstractHandler implements SlcNames {
                                // log.debug("Count: " + count);
                                // long count = query.execute().getRows().nextRow()
                                // .getValue("count").getLong();
+                               Query countQuery = session
+                                               .getWorkspace()
+                                               .getQueryManager()
+                                               .createQuery("select file from [nt:file] as file",
+                                                               Query.JCR_SQL2);
+                               QueryResult result = countQuery.execute();
+                               Long expectedCount = result.getNodes().getSize();
+
                                monitor.beginTask("Normalize "
-                                               + session.getWorkspace().getName(), -1);
+                                               + session.getWorkspace().getName(),
+                                               expectedCount.intValue());
                                NormalizingTraverser tiv = new NormalizingTraverser(monitor);
                                session.getNode(artifactBasePath).accept(tiv);
                        } catch (Exception e) {
index 25e67382a7c264f27f3bd6069c864d2d7f1053ac..f4d2de99d7f493e83fa6c58db2d66e4926bb1ff2 100644 (file)
@@ -30,6 +30,8 @@ import javax.jcr.RepositoryException;
 import javax.jcr.RepositoryFactory;
 import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
+import javax.jcr.query.Query;
+import javax.jcr.query.QueryResult;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -588,8 +590,19 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames
                                // QueryResult result = countQuery.execute();
                                // Long expectedCount = result.getNodes().getSize();
 
-                               Long expectedCount = JcrUtils.countFiles(sourceSession
-                                               .getRootNode());
+                               Query countQuery = sourceSession
+                                               .getWorkspace()
+                                               .getQueryManager()
+                                               .createQuery("select file from [nt:file] as file",
+                                                               Query.JCR_SQL2);
+                               QueryResult result = countQuery.execute();
+                               Long expectedCount = result.getNodes().getSize();
+                               // Long expectedCount =
+                               // result.getRows().nextRow().getValues()[0]
+                               // .getLong();
+
+                               // Long expectedCount = JcrUtils.countFiles(sourceSession
+                               // .getRootNode());
                                if (log.isDebugEnabled())
                                        log.debug("Will copy " + expectedCount + " files...");