From cc25997005632673201d1c86355c46eead8d9fd3 Mon Sep 17 00:00:00 2001
From: Nils Christian Ehmke <nie@informatik.uni-kiel.de>
Date: Wed, 17 Oct 2012 17:02:30 +0200
Subject: [PATCH] Corrected some links and added navigation cases.

---
 .../src/main/resources/global.properties      |  2 +-
 .../src/main/webapp/AnalysisEditorPage.xhtml  | 14 ++++---
 .../src/main/webapp/CockpitEditorPage.xhtml   | 18 ++++----
 .../src/main/webapp/CockpitPage.xhtml         | 18 ++++----
 .../src/main/webapp/ControllerPage.xhtml      | 15 +++----
 Kieker.WebGUI/src/main/webapp/LoginPage.xhtml |  2 +-
 .../src/main/webapp/ProjectOverviewPage.xhtml | 18 ++++----
 .../src/main/webapp/WEB-INF/faces-config.xml  | 41 +++++++++++++++++++
 8 files changed, 87 insertions(+), 41 deletions(-)

diff --git a/Kieker.WebGUI/src/main/resources/global.properties b/Kieker.WebGUI/src/main/resources/global.properties
index 8733db72..58f3a8d0 100644
--- a/Kieker.WebGUI/src/main/resources/global.properties
+++ b/Kieker.WebGUI/src/main/resources/global.properties
@@ -22,4 +22,4 @@ kieker.webgui.config.analysisEditor.defaultGridColor = 0080FF
 #
 #------------------------------------------------------------------------------
 
-kieker.webgui.page.projectOverview = ProjectOverviewPage.xhtml?faces-redirect=true
+kieker.webgui.page.projectOverview = projectOverview
diff --git a/Kieker.WebGUI/src/main/webapp/AnalysisEditorPage.xhtml b/Kieker.WebGUI/src/main/webapp/AnalysisEditorPage.xhtml
index c6a17944..2c6db586 100644
--- a/Kieker.WebGUI/src/main/webapp/AnalysisEditorPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/AnalysisEditorPage.xhtml
@@ -68,16 +68,18 @@
                             <h:outputText styleClass="kieker-title" value="Kieker &raquo; #{stringBean.shortenLongName(currentAnalysisEditorBean.projectName, 30)}"/>
                         </p:toolbarGroup>
                         <p:toolbarGroup align="right">
-                            <p:commandButton styleClass="perspective-button" icon="ui-icon-home" action="ProjectOverviewPage.xhtml?faces-redirect=true" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-home" outcome="projectOverview" />
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" disabled="true"/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" outcome="ControllerPage.xhtml?faces-redirect=true">
-                                <f:param name="projectName" value="#{currentAnalysisEditorBean.projectName}" rendered="#{not empty currentAnalysisEditorBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" disabled="true"/>
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="controller">
+                                <f:param name="projectName" value="#{currentAnalysisEditorBean.projectName}" rendered="#{not empty currentAnalysisEditorBean.projectName}"/>
                             </p:button>
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="cockpitEditor">
+                                <f:param name="projectName" value="#{currentAnalysisEditorBean.projectName}" rendered="#{not empty currentAnalysisEditorBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" outcome="cockpit">
+                                <f:param name="projectName" value="#{currentAnalysisEditorBean.projectName}" rendered="#{not empty currentAnalysisEditorBean.projectName}"/>
                             </p:button>
                         </p:toolbarGroup>
                     </p:toolbar>
diff --git a/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml b/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml
index 6dfdcb19..8bf9df80 100644
--- a/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/CockpitEditorPage.xhtml
@@ -17,6 +17,7 @@
     <h:head>
         <title>Kieker.WebGUI</title>
         <link rel="stylesheet" type="text/css" href="../css/Common.css" />
+        <link rel="stylesheet" type="text/css" href="../css/Icons.css" />
         <link rel="stylesheet" type="text/css" href="../css/CockpitEditorPage.css" />
     </h:head> 
 
@@ -30,19 +31,18 @@
                             <h:outputText styleClass="kieker-title" value="Kieker &raquo; #{stringBean.shortenLongName(currentCockpitEditorBean.projectName, 30)}"/>
                         </p:toolbarGroup>
                         <p:toolbarGroup align="right">
-                            <p:commandButton styleClass="perspective-button" icon="ui-icon-home" action="ProjectOverview.xhtml" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-home" outcome="projectOverview" />
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-wrench" value="Analysis Editor" style="white-space: none" outcome="AnalysisEditorPage.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="analysisEditor" >
+                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" rendered="#{not empty currentCockpitEditorBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-circle-triangle-e" value="Analysis" style="white-space: none" outcome="ControllerPage.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="controller">
+                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" rendered="#{not empty currentCockpitEditorBean.projectName}"/>
                             </p:button>
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-wrench" value="Cockpit Editor" style="white-space: none" disabled="true">
-                            </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-image" value="Cockpit" style="white-space: none" outcome="CockpitPage.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" disabled="true"/>
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" outcome="cockpit">
+                                <f:param name="projectName" value="#{currentCockpitEditorBean.projectName}" rendered="#{not empty currentCockpitEditorBean.projectName}"/>
                             </p:button>
                         </p:toolbarGroup>
                     </p:toolbar>
diff --git a/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml b/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml
index 23237ab0..b23ccda2 100644
--- a/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/CockpitPage.xhtml
@@ -17,6 +17,7 @@
     <h:head>
         <title>Kieker.WebGUI</title>
         <link rel="stylesheet" type="text/css" href="../css/Common.css" />
+        <link rel="stylesheet" type="text/css" href="../css/Icons.css" />
         <link rel="stylesheet" type="text/css" href="../css/CockpitPage.css" />
     </h:head>
 
@@ -32,20 +33,19 @@
                             <h:outputText styleClass="kieker-title" value="Kieker &raquo; #{stringBean.shortenLongName(currentCockpitBean.projectName, 30)}"/>
                         </p:toolbarGroup>
                         <p:toolbarGroup align="right">
-                            <p:commandButton styleClass="perspective-button" icon="ui-icon-home" action="ProjectOverview.xhtml" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-home" outcome="projectOverview" />
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-wrench" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="AnalysisEditor.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="analysisEditor" >
+                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" rendered="#{not empty currentCockpitBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-circle-triangle-e" value="#{localizedMessages.analysis}" style="white-space: none" outcome="Controller.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="controller">
+                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" rendered="#{not empty currentCockpitBean.projectName}"/>
                             </p:button>
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-wrench" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="CockpitEditor.xhtml">
-                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" />
-                            </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-image" value="#{localizedMessages.cockpit}" style="white-space: none"  disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="cockpitEditor">
+                                <f:param name="projectName" value="#{currentCockpitBean.projectName}" rendered="#{not empty currentCockpitBean.projectName}"/>
                             </p:button>
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" disabled="true"/>
                         </p:toolbarGroup>
                     </p:toolbar>
                     <p:menubar>
diff --git a/Kieker.WebGUI/src/main/webapp/ControllerPage.xhtml b/Kieker.WebGUI/src/main/webapp/ControllerPage.xhtml
index 80bb8248..a822a454 100644
--- a/Kieker.WebGUI/src/main/webapp/ControllerPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/ControllerPage.xhtml
@@ -32,17 +32,18 @@
                             <h:outputText styleClass="kieker-title" value="Kieker &raquo; #{stringBean.shortenLongName(currentControllerBean.projectName, 30)}"/>
                         </p:toolbarGroup>
                         <p:toolbarGroup align="right">
-                            <p:commandButton styleClass="perspective-button" icon="ui-icon-home" action="ProjectOverviewPage.xhtml?faces-redirect=true" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-home" outcome="projectOverview" />
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="AnalysisEditorPage.xhtml?faces-redirect=true">
-                                <f:param name="projectName" value="#{currentControllerBean.projectName}" rendered="#{not empty currentControllerBean.projectName}" />
-                            </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="analysisEditor" >
+                                <f:param name="projectName" value="#{currentControllerBean.projectName}" rendered="#{not empty currentControllerBean.projectName}"/>
                             </p:button>
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" disabled="true"/>
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="cockpitEditor">
+                                <f:param name="projectName" value="#{currentControllerBean.projectName}" rendered="#{not empty currentControllerBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" outcome="cockpit">
+                                <f:param name="projectName" value="#{currentControllerBean.projectName}" rendered="#{not empty currentControllerBean.projectName}"/>
                             </p:button>
                         </p:toolbarGroup>
                     </p:toolbar>
diff --git a/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml b/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml
index 2d773815..6837dde8 100644
--- a/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/LoginPage.xhtml
@@ -44,7 +44,7 @@
                     <p:spacer width="0" height="40"/>
 
                     <div class="hint-panel">
-                        <h:outputText  value="#{localizedLoginMessages.hint}"/>
+                        <h:outputText value="#{localizedLoginMessages.hint}"/>
                     </div>
 
                     <p:growl sticky="true" autoUpdate="true" widgetVar="growlComp"/>
diff --git a/Kieker.WebGUI/src/main/webapp/ProjectOverviewPage.xhtml b/Kieker.WebGUI/src/main/webapp/ProjectOverviewPage.xhtml
index 47c1ed38..5afba6b3 100644
--- a/Kieker.WebGUI/src/main/webapp/ProjectOverviewPage.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/ProjectOverviewPage.xhtml
@@ -25,18 +25,20 @@
                             <h:outputText styleClass="kieker-title" value="Kieker"/>
                         </p:toolbarGroup>
                         <p:toolbarGroup align="right">
-                            <p:commandButton styleClass="perspective-button" icon="ui-icon-home" disabled="true" />
+                            <p:button styleClass="perspective-button" icon="ui-icon-home" disabled="true" />
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="AnalysisEditorPage.xhtml?faces-redirect=true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysisEditor" value="#{localizedMessages.analysisEditor}" style="white-space: none" outcome="analysisEditor" >
                                 <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="ControllerPage.xhtml?faces-redirect=true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-analysis" value="#{localizedMessages.analysis}" style="white-space: none" outcome="controller">
                                 <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                             </p:button>
                             <p:separator/>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpitEditor" value="#{localizedMessages.cockpitEditor}" style="white-space: none" outcome="cockpitEditor">
+                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                             </p:button>
-                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" disabled="true">
+                            <p:button styleClass="perspective-button" icon="ui-icon-cockpit" value="#{localizedMessages.cockpit}" style="white-space: none" outcome="cockpit">
+                                <f:param name="projectName" value="#{currentProjectOverviewBean.projectName}" rendered="#{not empty currentProjectOverviewBean.projectName}"/>
                             </p:button>
                         </p:toolbarGroup>
                     </p:toolbar>
@@ -48,8 +50,8 @@
                             <p:separator/>
                             <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-reload" value="  #{localizedProjectOverviewMessages.refreshProjectsList}" update=":projectsListForm" action="#{currentProjectOverviewBean.updateLists()}" ajax="true"/>
                             <p:separator/>
-                            <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-settings" value="  #{localizedMessages.settings}" onclick="settingsDlg.show()" ajax="true"/>
-                        </p:submenu>
+                            <p:menuitem styleClass="element-with-witespace" icon="ui-icon-settings" value="  #{localizedMessages.settings}" onclick="settingsDlg.show()" ajax="true"/>
+                        </p:submenu>h
 
                         <p:submenu label="#{localizedMessages.help}">
                             <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-userGuide" value="  #{localizedMessages.userGuide}" ajax="true" disabled="true"/>
@@ -78,7 +80,7 @@
                                 <p:separator/>
 
                                 <p:menuitem icon="ui-icon-cockpitEditor" id="editAnalysisViews"  styleClass="element-with-whitespace" value="  #{localizedMessages.cockpitEditor}" ajax="false" url="cockpitEditor?projectName=#{project}" />
-                                <p:menuitem icon="ui-icon-cockpit" id="showAnalysis"  styleClass="element-with-whitespace" value="  #{localizedMessages.cockpit}" ajax="false" disabled="true" />
+                                <p:menuitem icon="ui-icon-cockpit" id="showAnalysis"  styleClass="element-with-whitespace" value="  #{localizedMessages.cockpit}" ajax="false" url="cockpit?projectName=#{project}" />
                                 <p:separator/>
                                 <p:menuitem id="copyButton" icon="ui-icon-copy"  styleClass="element-with-whitespace" value="  #{localizedProjectOverviewMessages.copyProject}" action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="copyProjectDialog.show()"/>
                                 <p:menuitem id="renameButton" icon="ui-icon-edit"  styleClass="element-with-whitespace" value="  #{localizedProjectOverviewMessages.renameProject}"  action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="renameProjectDialog.show()" disabled="true"/>
diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml
index 3dbdab73..195b7785 100644
--- a/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml
+++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/faces-config.xml
@@ -12,4 +12,45 @@
         </locale-config>        
     </application>
 
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>projectOverview</from-outcome>
+            <to-view-id>ProjectOverviewPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+    
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>analysisEditor</from-outcome>
+            <to-view-id>AnalysisEditorPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+    
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>cockpitEditor</from-outcome>
+            <to-view-id>CockpitEditorPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+    
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>cockpit</from-outcome>
+            <to-view-id>CockpitPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+    
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>controller</from-outcome>
+            <to-view-id>ControllerPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
+    
+    <navigation-rule>
+        <navigation-case>
+            <from-outcome>login</from-outcome>
+            <to-view-id>LoginPage.xhtml</to-view-id>
+        </navigation-case>
+    </navigation-rule>
 </faces-config>
\ No newline at end of file
-- 
GitLab