X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcontrollers%2FDistTreeDoubleClickListener.java;h=5136a9128afa4d6ba745e8575f31a03a841bf7e8;hb=524221f25edad4b09aac22555450164e587b304a;hp=6e8d53734ce0b3ec64a58b47b3df83e805bad441;hpb=706b98df2c68382d7bd501fa05cb128f329087ee;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeDoubleClickListener.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeDoubleClickListener.java index 6e8d53734..5136a9128 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeDoubleClickListener.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeDoubleClickListener.java @@ -8,7 +8,9 @@ import javax.jcr.RepositoryException; import org.argeo.eclipse.ui.utils.CommandUtils; import org.argeo.slc.SlcException; +import org.argeo.slc.client.ui.dist.commands.OpenModuleEditor; import org.argeo.slc.client.ui.dist.commands.OpenWorkspaceEditor; +import org.argeo.slc.client.ui.dist.model.ModularDistVersionElem; import org.argeo.slc.client.ui.dist.model.RepoElem; import org.argeo.slc.client.ui.dist.model.WorkspaceElem; import org.eclipse.jface.viewers.DoubleClickEvent; @@ -38,33 +40,56 @@ public class DistTreeDoubleClickListener implements IDoubleClickListener { treeViewer.refresh(obj); } } else if (obj instanceof WorkspaceElem) { - WorkspaceElem wn = (WorkspaceElem) obj; - if (!wn.isConnected()) - wn.login(); - else { - WorkspaceElem we = (WorkspaceElem) obj; + //WorkspaceElem wn = (WorkspaceElem) obj; + // if (!wn.isConnected()) { + // wn.login(); + // treeViewer.refresh(obj); + // } else { + WorkspaceElem we = (WorkspaceElem) obj; + Node repoNode = null; + try { + RepoElem repoElem = we.getRepoElem(); + Map params = new HashMap(); - try { - RepoElem repoElem = we.getRepoElem(); - Map params = new HashMap(); - - Node repoNode = repoElem.getRepoNode(); - if (repoNode != null) - params.put(OpenWorkspaceEditor.PARAM_REPO_NODE_PATH, - repoNode.getPath()); - params.put(OpenWorkspaceEditor.PARAM_REPO_URI, - repoElem.getUri()); - params.put(OpenWorkspaceEditor.PARAM_WORKSPACE_NAME, - we.getWorkspaceName()); - CommandUtils.callCommand(OpenWorkspaceEditor.ID, params); - } catch (RepositoryException re) { - throw new SlcException( - "Cannot get path for node while " - + "setting parameters of command OpenWorkspaceEditor", - re); - } + repoNode = repoElem.getRepoNode(); + if (repoNode != null) + params.put(OpenWorkspaceEditor.PARAM_REPO_NODE_PATH, + repoNode.getPath()); + params.put(OpenWorkspaceEditor.PARAM_REPO_URI, + repoElem.getUri()); + params.put(OpenWorkspaceEditor.PARAM_WORKSPACE_NAME, + we.getWorkspaceName()); + CommandUtils.callCommand(OpenWorkspaceEditor.ID, params); + } catch (RepositoryException re) { + throw new SlcException("Cannot get path for node " + repoNode + + " while " + "setting parameters of command " + + "OpenWorkspaceEditor", re); + } + // } + } else if (obj instanceof ModularDistVersionElem) { + ModularDistVersionElem modDistElem = (ModularDistVersionElem) obj; + WorkspaceElem wkspElem = modDistElem.getWorkspaceElem(); + Node repoNode = null; + Node moduleNode = modDistElem.getModularDistVersionNode(); + try { + RepoElem repoElem = wkspElem.getRepoElem(); + Map params = new HashMap(); + repoNode = repoElem.getRepoNode(); + if (repoNode != null) + params.put(OpenModuleEditor.PARAM_REPO_NODE_PATH, + repoNode.getPath()); + params.put(OpenModuleEditor.PARAM_REPO_URI, repoElem.getUri()); + params.put(OpenModuleEditor.PARAM_WORKSPACE_NAME, + wkspElem.getWorkspaceName()); + params.put(OpenModuleEditor.PARAM_MODULE_PATH, + moduleNode.getPath()); + CommandUtils.callCommand(OpenModuleEditor.ID, params); + } catch (RepositoryException re) { + throw new SlcException("Cannot get path for node " + repoNode + + " or " + moduleNode + + " while setting parameters for " + + "command OpenModuleEditor", re); } - treeViewer.refresh(obj); } } } \ No newline at end of file