some UI enhancements before the first Test Release
authorBruno Sinou <bsinou@argeo.org>
Thu, 18 Nov 2010 16:37:47 +0000 (16:37 +0000)
committerBruno Sinou <bsinou@argeo.org>
Thu, 18 Nov 2010 16:37:47 +0000 (16:37 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@3911 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

eclipse/plugins/runtime/org.argeo.slc.client.rcp/src/main/java/org/argeo/slc/client/rcp/ApplicationWorkbenchWindowAdvisor.java
eclipse/plugins/runtime/org.argeo.slc.client.ui/META-INF/spring/commands.xml
eclipse/plugins/runtime/org.argeo.slc.client.ui/plugin.xml
eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/ExecutionModulesViewRefreshHandler.java [new file with mode: 0644]
eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/ExecutionModulesView.java
eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/ResultListView.java

index f19e202727ba237624a9b2391f32d3fef0521c5f..8022f4041957e9130e3419b1dea5de14674cac1b 100644 (file)
@@ -42,7 +42,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                configurer.getWorkbenchConfigurer().restoreState();
                // set default window size
                configurer.setInitialSize(new Point(1200, 900));
-               configurer.setShowCoolBar(true);
+               configurer.setShowCoolBar(false);
                configurer.setShowStatusLine(true);
                configurer.setShowPerspectiveBar(true);
 
index 5321691eeff4170182a4d4f6e6208caf2061a8ac..484094cf9f67b841220ad85e438e64eae52da40d 100644 (file)
@@ -8,6 +8,10 @@
                class="org.argeo.slc.client.ui.commands.ResultListViewRefreshHandler"
                scope="prototype">
        </bean>
+       <bean id="org.argeo.slc.client.ui.refreshExecutionModulesView"
+               class="org.argeo.slc.client.ui.commands.ExecutionModulesViewRefreshHandler"
+               scope="prototype">
+       </bean>
        <bean id="org.argeo.slc.client.ui.refreshProcessList"
                class="org.argeo.slc.client.ui.commands.ProcessListViewRefreshHandler"
                scope="prototype">
index fb1ea90e3cb5ad837ea9ab0c950c19dfacc1b225..f2a665d5b5f528e35e4cbed2014fb5476e587573 100644 (file)
             id="org.argeo.slc.client.ui.refreshResultList"
             name="RefreshResultList">
       </command>
+      <command
+            defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+            id="org.argeo.slc.client.ui.refreshExecutionModulesView"
+            name="refreshExecutionModulesView">
+      </command>
       <command
             defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
             id="org.argeo.slc.client.ui.launchBatch"
                   commandId="org.argeo.slc.client.ui.refreshResultList"
                   label="Refresh"
                   style="push"
-                  tooltip="Refresh  the result list">
+                  tooltip="Refresh the result list">
             </command>
          </menu>
       </menuContribution>
       -->
       <menuContribution
-            locationURI="toolbar:org.eclipse.ui.main.toolbar">
-         <toolbar
-               id="org.argeo.slc.client.ui.ResultViewToolbar">
+            locationURI="toolbar:org.argeo.slc.client.ui.resultListView">
             <command
                   commandId="org.argeo.slc.client.ui.refreshResultList"
                   icon="icons/refresh.png"
                   style="toggle"
                   tooltip="Refresh the result list">
             </command>
-            <separator
-                  name="resultListViewGroup">
-            </separator>
-         </toolbar>
-      </menuContribution>
+        </menuContribution>
+      <menuContribution
+            locationURI="toolbar:org.argeo.slc.client.ui.executionModulesView">
+         <command
+               commandId="org.argeo.slc.client.ui.refreshExecutionModulesView"
+               icon="icons/refresh.png"
+               label="Refresh"
+               tooltip="Refresh the execution modules view.">
+         </command>
+       </menuContribution>   
       <menuContribution
             locationURI="toolbar:org.argeo.slc.client.ui.processBuilderView">
          <command
diff --git a/eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/ExecutionModulesViewRefreshHandler.java b/eclipse/plugins/runtime/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/ExecutionModulesViewRefreshHandler.java
new file mode 100644 (file)
index 0000000..849be5e
--- /dev/null
@@ -0,0 +1,19 @@
+package org.argeo.slc.client.ui.commands;
+
+import org.argeo.slc.client.ui.views.ExecutionModulesView;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public class ExecutionModulesViewRefreshHandler extends AbstractHandler {
+
+       public Object execute(ExecutionEvent event) throws ExecutionException {
+               ExecutionModulesView eView = (ExecutionModulesView) HandlerUtil
+                               .getActiveWorkbenchWindow(event).getActivePage()
+                               .findView(ExecutionModulesView.ID);
+               eView.refreshView();
+               return null;
+       }
+
+}
index 07df89af6dbdd9c2b8ff706f2595e2f0bdfbdb06..325257ff79a651af1111019b8a056732bd2eb9b8 100644 (file)
@@ -68,6 +68,10 @@ public class ExecutionModulesView extends ViewPart {
                return viewer;
        }
 
+       public void refreshView() {
+               viewer.setInput(getViewSite());
+       }
+
        class ViewLabelProvider extends LabelProvider implements
                        ITableLabelProvider {
                public String getColumnText(Object obj, int index) {
@@ -157,8 +161,8 @@ public class ExecutionModulesView extends ViewPart {
                                        props.setProperty("agentId", flowNode
                                                        .getExecutionModuleNode().getAgentNode().getAgent()
                                                        .getAgentUuid());
-                                       props.setProperty("host", flowNode.getExecutionModuleNode().getAgentNode()
-                                                       .getAgent().toString());
+                                       props.setProperty("host", flowNode.getExecutionModuleNode()
+                                                       .getAgentNode().getAgent().toString());
 
                                        ByteArrayOutputStream out = new ByteArrayOutputStream();
                                        try {
index 3d26c7d0dfa4adce220ff25fb5fa701ce95e4b27..25855b1fcd7996ec0db4be741bbe8bcb7e008416 100644 (file)
@@ -228,7 +228,10 @@ public class ResultListView extends ViewPart {
                                return (ra.getAttributes().get("testCase") == null) ? null : ra
                                                .getAttributes().get("testCase");
                        case 1:
-                               return dateFormatter.format(ra.getCloseDate());
+                               // otherwise we get null pointer exception when the test is not
+                               // closed yet.
+                               return (ra.getCloseDate() == null) ? null : dateFormatter
+                                               .format(ra.getCloseDate());
                        case 2:
                                return ra.getUuid();
                        }