*/
package org.argeo.slc.client.ui.dist.views;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.jcr.Repository;
import org.argeo.eclipse.ui.AbstractTreeContentProvider;
import org.argeo.eclipse.ui.ErrorFeedback;
import org.argeo.eclipse.ui.TreeParent;
+import org.argeo.jcr.JcrUtils;
import org.argeo.slc.client.ui.dist.DistPlugin;
import org.argeo.slc.client.ui.dist.commands.CopyWorkspace;
import org.argeo.slc.client.ui.dist.commands.CreateWorkspace;
private TreeViewer viewer;
+ private List<RepositoryElem> repositories = new ArrayList<DistributionsView.RepositoryElem>();
+
@Override
public void createPartControl(Composite parent) {
// Define the TableViewer
viewer.getTree().setMenu(menu);
getSite().registerContextMenu(menuManager, viewer);
+ // Initializes repositories
+ // TODO make it more generic, with remote repositories etc.
+ repositories.add(new RepositoryElem("java", repository));
+
viewer.setInput(getSite());
}
AbstractTreeContentProvider {
public Object[] getElements(Object arg0) {
- return new Object[] { new RepositoryElem("java", repository) };
+ return repositories.toArray();
}
}
public synchronized void dispose() {
if (log.isTraceEnabled())
log.trace("Disposing RepositoryElement");
- if (defaultSession != null)
- defaultSession.logout();
+ JcrUtils.logoutQuietly(defaultSession);
super.dispose();
}
}
@Override
public void dispose() {
+ for (RepositoryElem re : repositories)
+ re.dispose();
super.dispose();
}