]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrResultTreeView.java
Make UI more reactive
[gpl/argeo-slc.git] / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / views / JcrResultTreeView.java
index 97f78e4bd6a05eb40e452898389669345da05522..ecf7adeb9ed571bf5c4c56108d4dd50e9d579bd0 100644 (file)
@@ -33,11 +33,12 @@ import javax.jcr.observation.Event;
 import javax.jcr.observation.EventListener;\r
 import javax.jcr.observation.ObservationManager;\r
 \r
-import org.argeo.ArgeoException;\r
+import org.argeo.cms.ui.workbench.util.CommandUtils;\r
 import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;\r
-import org.argeo.eclipse.ui.workbench.CommandUtils;\r
 import org.argeo.jcr.JcrUtils;\r
 import org.argeo.slc.SlcException;\r
+import org.argeo.slc.SlcNames;\r
+import org.argeo.slc.SlcTypes;\r
 import org.argeo.slc.client.ui.ClientUiPlugin;\r
 import org.argeo.slc.client.ui.SlcUiConstants;\r
 import org.argeo.slc.client.ui.commands.AddResultFolder;\r
@@ -58,8 +59,6 @@ import org.argeo.slc.client.ui.model.VirtualFolder;
 import org.argeo.slc.client.ui.providers.ResultTreeContentProvider;\r
 import org.argeo.slc.client.ui.providers.ResultTreeLabelProvider;\r
 import org.argeo.slc.jcr.SlcJcrResultUtils;\r
-import org.argeo.slc.jcr.SlcNames;\r
-import org.argeo.slc.jcr.SlcTypes;\r
 import org.eclipse.jface.action.IMenuListener;\r
 import org.eclipse.jface.action.IMenuManager;\r
 import org.eclipse.jface.action.MenuManager;\r
@@ -110,6 +109,7 @@ public class JcrResultTreeView extends ViewPart {
        // LogFactory.getLog(JcrResultTreeView.class);\r
 \r
        /* DEPENDENCY INJECTION */\r
+       private Repository repository;\r
        private Session session;\r
 \r
        // This page widgets\r
@@ -138,6 +138,12 @@ public class JcrResultTreeView extends ViewPart {
 \r
        @Override\r
        public void createPartControl(Composite parent) {\r
+               try {\r
+                       session = repository.login();\r
+               } catch (RepositoryException e1) {\r
+                       throw new SlcException("Cannot log in to repository");\r
+               }\r
+\r
                parent.setLayout(new FillLayout());\r
                // Main layout\r
                SashForm sashForm = new SashForm(parent, SWT.VERTICAL);\r
@@ -274,7 +280,7 @@ public class JcrResultTreeView extends ViewPart {
                                                value = "Error";\r
                                        return value;\r
                                } catch (RepositoryException e) {\r
-                                       throw new ArgeoException(\r
+                                       throw new SlcException(\r
                                                        "Unexpected exception in label provider", e);\r
                                }\r
                        }\r
@@ -309,7 +315,7 @@ public class JcrResultTreeView extends ViewPart {
                                        }\r
                                        return value;\r
                                } catch (RepositoryException e) {\r
-                                       throw new ArgeoException(\r
+                                       throw new SlcException(\r
                                                        "Unexpected exception in label provider", e);\r
                                }\r
                        }\r
@@ -468,7 +474,7 @@ public class JcrResultTreeView extends ViewPart {
                                        "All results");\r
                        return roots;\r
                } catch (RepositoryException re) {\r
-                       throw new ArgeoException(\r
+                       throw new SlcException(\r
                                        "Unexpected error while initializing ResultTree.", re);\r
                }\r
        }\r
@@ -896,7 +902,7 @@ public class JcrResultTreeView extends ViewPart {
                                return new Object[] {};\r
 \r
                        } catch (RepositoryException e) {\r
-                               throw new ArgeoException("Cannot get element for "\r
+                               throw new SlcException("Cannot get element for "\r
                                                + inputElement, e);\r
                        }\r
                }\r
@@ -949,11 +955,6 @@ public class JcrResultTreeView extends ViewPart {
        }\r
 \r
        /* DEPENDENCY INJECTION */\r
-       @Deprecated\r
-       public void setSession(Session session) {\r
-               this.session = session;\r
-       }\r
-\r
        public void dispose() {\r
                // JcrUtils.unregisterQuietly(session.getWorkspace(), resultsObserver);\r
                JcrUtils.logoutQuietly(session);\r
@@ -961,11 +962,6 @@ public class JcrResultTreeView extends ViewPart {
        }\r
 \r
        public void setRepository(Repository repository) {\r
-               try {\r
-                       session = repository.login();\r
-               } catch (RepositoryException re) {\r
-                       throw new SlcException("Unable to log in Repository " + repository,\r
-                                       re);\r
-               }\r
+               this.repository = repository;\r
        }\r
 }
\ No newline at end of file