From: Mathieu Baudier Date: Fri, 26 Oct 2012 22:04:47 +0000 (+0000) Subject: Centralise keyring X-Git-Tag: argeo-slc-2.1.7~579 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=33fbe14c8920b4947b5dae10aa47aaea20b76a30;p=gpl%2Fargeo-slc.git Centralise keyring Repair normalise git-svn-id: https://svn.argeo.org/slc/trunk@5665 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/jcr.xml b/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/jcr.xml index 51c210957..3ddc3521f 100644 --- a/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/jcr.xml +++ b/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/jcr.xml @@ -10,15 +10,13 @@ - - - + + + - - - - - + + + + diff --git a/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/osgi.xml b/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/osgi.xml index 48399342d..62036aac8 100644 --- a/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/osgi.xml +++ b/plugins/org.argeo.slc.client.ui.dist/META-INF/spring/osgi.xml @@ -12,9 +12,8 @@ filter="(argeo.jcr.repository.alias=java)" /> + - - \ No newline at end of file diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/NormalizeDistribution.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/NormalizeDistribution.java index e10e75f50..a1809518f 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/NormalizeDistribution.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/NormalizeDistribution.java @@ -26,6 +26,7 @@ import javax.jcr.util.TraversingItemVisitor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.JcrUtils; +import org.argeo.slc.SlcException; import org.argeo.slc.client.ui.dist.DistPlugin; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.repo.ArtifactIndexer; @@ -56,7 +57,12 @@ public class NormalizeDistribution extends AbstractHandler implements SlcNames { public Object execute(ExecutionEvent event) throws ExecutionException { String workspace = event.getParameter(PARAM_WORKSPACE); - NormalizeJob job = new NormalizeJob(workspace); + NormalizeJob job; + try { + job = new NormalizeJob(repository.login(workspace)); + } catch (RepositoryException e) { + throw new SlcException("Cannot normalize " + workspace, e); + } job.setUser(true); job.schedule(); return null; @@ -67,18 +73,18 @@ public class NormalizeDistribution extends AbstractHandler implements SlcNames { } private class NormalizeJob extends Job { - private String workspace; + private Session session; - public NormalizeJob(String workspace) { + public NormalizeJob(Session session) { super("Normalize Distribution"); - this.workspace = workspace; + this.session = session; } @Override protected IStatus run(IProgressMonitor monitor) { - Session session = null; + // Session session = null; try { - session = repository.login(workspace); + // session = repository.login(workspace); // QueryManager qm = session.getWorkspace().getQueryManager(); // Query query = qm // .createQuery( @@ -90,12 +96,14 @@ public class NormalizeDistribution extends AbstractHandler implements SlcNames { // log.debug("Count: " + count); // long count = query.execute().getRows().nextRow() // .getValue("count").getLong(); - monitor.beginTask("Normalize " + workspace, -1); + monitor.beginTask("Normalize " + + session.getWorkspace().getName(), -1); NormalizingTraverser tiv = new NormalizingTraverser(monitor); session.getNode(artifactBasePath).accept(tiv); } catch (Exception e) { return new Status(IStatus.ERROR, DistPlugin.ID, - "Cannot normalize distribution " + workspace, e); + "Cannot normalize distribution " + + session.getWorkspace().getName(), e); } finally { JcrUtils.logoutQuietly(session); } diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java index 07d23946b..0421239b9 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java @@ -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; @@ -479,8 +481,6 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames .getFirstElement(); if (TextTransfer.getInstance().isSupportedType(event.dataType)) { event.data = de.getWorkspacePath(); - if (log.isDebugEnabled()) - log.debug("Distribution drag for " + event.data); } } } @@ -589,17 +589,20 @@ public class DistributionsView extends ViewPart implements SlcNames, ArgeoNames long begin = System.currentTimeMillis(); try { // Not implemented in Davex Jackrabbit v2.2 - // Query countQuery = sourceSession - // .getWorkspace() + // Query countQuery = sourceSession.getWorkspace() // .getQueryManager() - // .createQuery("select count(*) from [nt:file]", - // Query.JCR_SQL2); + // .createQuery("//element(*, nt:file)", Query.XPATH); // QueryResult result = countQuery.execute(); - // Long fileCount = result.getRows().nextRow().getValues()[0] - // .getLong(); + // Long expectedCount = result.getNodes().getSize(); + + Long expectedCount = JcrUtils.countFiles(sourceSession + .getRootNode()); + if (log.isDebugEnabled()) + log.debug("Will copy " + expectedCount + " files..."); ArgeoMonitor monitor = new EclipseArgeoMonitor(eclipseMonitor); - eclipseMonitor.beginTask("Copy files", ArgeoMonitor.UNKNOWN); + eclipseMonitor + .beginTask("Copy files", expectedCount.intValue()); Long count = JcrUtils.copyFiles(sourceSession.getRootNode(), targetSession.getRootNode(), true, monitor);