modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java | 59 -- modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/cluster-plain-navigation.xml | 211 +++++++ modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml | 1 modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents-plain.xhtml | 288 +++++++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers-plain.xhtml | 290 +++++++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups-plain.xhtml | 113 +++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents-plain.xhtml | 138 ++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents-plain.xhtml | 162 +++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers-plain.xhtml | 168 +++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup-plain.xhtml | 291 ++++++++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent-plain.xhtml | 203 ++++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent-plain.xhtml | 130 ++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer-plain.xhtml | 206 +++++++ 13 files changed, 2215 insertions(+), 45 deletions(-)
New commits: commit 805562e28f654ad90f65c93e16ce2644707af6c3 Author: Joseph Marques joseph@redhat.com Date: Thu Aug 12 12:38:14 2010 -0400
implement "plain" scheme using iframed-facelets for unimplemented administration > cluster section
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java index 469fda4..dc1bb5c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java @@ -249,15 +249,14 @@ public class AdministrationView extends HLayout implements BookmarkableView { } else if ("Cluster".equals(section)) { String url = null; if ("Servers".equals(page)) { - url = "/rhq/ha/listServers.xhtml"; + url = "/rhq/ha/listServers-plain.xhtml"; } else if ("Agents".equals(page)) { - url = "/rhq/ha/listAgents.xhtml"; + url = "/rhq/ha/listAgents-plain.xhtml"; } else if ("Affinity Groups".equals(page)) { - url = "/rhq/ha/listAffinityGroups.xhtml"; + url = "/rhq/ha/listAffinityGroups-plain.xhtml"; } else if ("Partition Events".equals(page)) { - url = "/rhq/ha/listPartitionEvents.xhtml"; + url = "/rhq/ha/listPartitionEvents-plain.xhtml"; } - url = addQueryStringParam(url, "nomenu=true"); content = new FullHTMLPane(url); }
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/cluster-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/cluster-plain-navigation.xml new file mode 100644 index 0000000..b51e6b2 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/cluster-plain-navigation.xml @@ -0,0 +1,211 @@ +<?xml version="1.0"?> + +<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd%22%3E + + <!-- Server View/Edit --> + <navigation-rule> + <from-view-id>/rhq/ha/viewServer-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/viewServer-plain.xhtml?mode=view&serverId=#{param.serverId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>edit</from-outcome> + <to-view-id>/rhq/ha/viewServer-plain.xhtml?mode=edit&serverId=#{param.serverId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/viewServer-plain.xhtml?mode=view&serverId=#{param.serverId}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- Server List --> + <navigation-rule> + <from-view-id>/rhq/ha/listServers-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/listServers-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/listServers-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- Agent View --> + <navigation-rule> + <from-view-id>/rhq/ha/viewAgent-plain.xhtml</from-view-id> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/viewAgent-plain.xhtml?mode=view&agentId=#{param.agentId}&serverId=#{param.serverId}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- AffinityGroup View/Edit --> + <navigation-rule> + <from-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>createSuccess</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=view&affinityGroupId=#{ViewAffinityGroupDetailsUIBean.affinityGroup.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>cancelCreate</from-outcome> + <to-view-id>/rhq/ha/listAffinityGroups-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>createFailure</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=create</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=view&affinityGroupId=#{param.affinityGroupId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>edit</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=edit&affinityGroupId=#{param.affinityGroupId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>addAgentToAffinityGroup</from-outcome> + <to-view-id>/rhq/ha/affinityGroupAgents-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>editServers</from-outcome> + <to-view-id>/rhq/ha/affinityGroupServers-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=view&affinityGroupId=#{param.affinityGroupId}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- AffinityGroup List --> + <navigation-rule> + <from-view-id>/rhq/ha/listAffinityGroups-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/listAffinityGroups-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>create</from-outcome> + <to-view-id>/rhq/ha/viewAffinityGroup-plain.xhtml?mode=create</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/listAffinityGroups-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- Agent add/remove from group --> + <navigation-rule> + <from-view-id>/rhq/ha/affinityGroupAgents-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>successOrFailure</from-outcome> + <to-view-id>/rhq/ha/affinityGroupAgents-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/affinityGroupAgents-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- Server add/remove from group --> + <navigation-rule> + <from-view-id>/rhq/ha/affinityGroupServers-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>successOrFailure</from-outcome> + <to-view-id>/rhq/ha/affinityGroupServers-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/affinityGroupServers-plain.xhtml?affinityGroupId=#{param.affinityGroupId}&mode=#{param.mode}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- List PartitionEvents --> + <navigation-rule> + <from-view-id>/rhq/ha/listPartitionEvents-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/listPartitionEvents-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/listPartitionEvents-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- View PartitionEventDetails --> + <navigation-rule> + <from-view-id>/rhq/ha/viewPartitionEvent-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/ha/viewPartitionEvent-plain.xhtml?eventId=#{param.eventId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/ha/viewPartitionEvent-plain.xhtml?eventId=#{param.eventId}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + +</faces-config> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml index 1bcfe79..87580b6 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml @@ -163,6 +163,7 @@ /WEB-INF/jsf-navigation/test-navigation.xml,
/WEB-INF/jsf-navigation/alert-plain-navigation.xml, + /WEB-INF/jsf-navigation/cluster-plain-navigation.xml, /WEB-INF/jsf-navigation/content-plain-navigation.xml, /WEB-INF/jsf-navigation/events-plain-navigation.xml, /WEB-INF/jsf-navigation/operation-plain-navigation.xml, diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents-plain.xhtml new file mode 100644 index 0000000..1943479 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents-plain.xhtml @@ -0,0 +1,288 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <ui:param name="affinityGroupDetails" value="#{ViewAffinityGroupDetailsUIBean.affinityGroup}" /> + <ui:param name="mode" value="#{param.mode}" /> + + <h:form id="subscribedAgentsForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Agents in this group"/> + </f:facet> + + <ui:param name="subscribedAgentsDataModel" value="#{AffinityGroupSubscribedAgentsUIBean.dataModel}"/> + <rich:dataTable id="subscribedAgentsDataTable" + rows="#{PageControl.AffinityGroupSubscribedAgents.pageSize}" + value="#{subscribedAgentsDataModel}" + var="agentItem" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupSubscribedAgents" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAgentsToUnsubscribe" /> + </f:facet> + + <onc:select name="selectedAgentsToUnsubscribe" value="#{agentItem.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAgent-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="agentId" value="#{agentItem.id}"/> + <h:outputText value="#{agentItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.address"> + <h:outputText styleClass="headerText" value="Bind Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.port"> + <h:outputText styleClass="headerText" value="Bind Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.port}"/> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.agentToken"> + <h:outputText styleClass="headerText" value="Token" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.agentToken}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.lastAvailabilityReport"> + <h:outputText styleClass="headerText" value="Last Availability Report" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.status"> + <h:outputText styleClass="headerText" value="Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.status}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:5 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 8 : 5}" width="100%"> + + <onc:selectCommandButton action="#{AffinityGroupSubscribedAgentsUIBean.unsubscribeAgents}" + value="REMOVE FROM GROUP" styleClass="on-pager-button buttonsmall" + target="selectedAgentsToUnsubscribe"/> + + <ui:param name="paginationDataTableName" value="subscribedAgentsDataTable"/> + <ui:param name="paginationDataModel" value="#{subscribedAgentsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupSubscribedAgents}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + <h:form id="unsubscribedAgentsForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Agents not part of an affinity group"/> + </f:facet> + + <ui:param name="unsubscribedAgentsDataModel" value="#{AffinityGroupUnsubscribedAgentsUIBean.dataModel}"/> + <rich:dataTable id="unsubscribedAgentsDataTable" + rows="#{PageControl.AffinityGroupUnsubscribedAgents.pageSize}" + value="#{unsubscribedAgentsDataModel}" + var="agentItem" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 10%" + headerClass="tableRowHeader" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupUnsubscribedAgents" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAgentsToSubscribe" /> + </f:facet> + + <onc:select name="selectedAgentsToSubscribe" value="#{agentItem.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAgent-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="agentId" value="#{agentItem.id}"/> + <h:outputText value="#{agentItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.address"> + <h:outputText styleClass="headerText" value="Bind Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.port"> + <h:outputText styleClass="headerText" value="Bind Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.port}"/> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.agentToken"> + <h:outputText styleClass="headerText" value="Token" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.agentToken}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.lastAvailabilityReport"> + <h:outputText styleClass="headerText" value="Last Availability Report" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.status"> + <h:outputText styleClass="headerText" value="Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.status}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:5 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 8 : 5}" width="100%"> + + <onc:selectCommandButton action="#{AffinityGroupUnsubscribedAgentsUIBean.subscribeAgents}" + value="ADD TO GROUP" styleClass="on-pager-button buttonsmall" + target="selectedAgentsToSubscribe"/> + + <ui:param name="paginationDataTableName" value="unsubscribedAgentsDataTable"/> + <ui:param name="paginationDataModel" value="#{unsubscribedAgentsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupUnsubscribedAgents}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <h:outputText value="Return to Affinity Group"/> + <f:param name="affinityGroupId" value="#{param.affinityGroupId}"/> + <f:param name="mode" value="#{param.mode}"/> + </h:outputLink> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers-plain.xhtml new file mode 100644 index 0000000..79b86d7 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers-plain.xhtml @@ -0,0 +1,290 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <ui:param name="affinityGroupDetails" value="#{ViewAffinityGroupDetailsUIBean.affinityGroup}" /> + <ui:param name="mode" value="#{param.mode}" /> + + <h:form id="subscribedServersForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Server Members"/> + </f:facet> + + <ui:param name="subscribedServersDataModel" value="#{AffinityGroupSubscribedServersUIBean.dataModel}"/> + <rich:dataTable id="subscribedServersDataTable" + rows="#{PageControl.AffinityGroupSubscribedServers.pageSize}" + value="#{subscribedServersDataModel}" + var="serverItem" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 8%, 8%, 15%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupSubscribedServers" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedServersToUnsubscribe" /> + </f:facet> + + <onc:select name="selectedServersToUnsubscribe" value="#{serverItem.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{serverItem.id}"/> + <h:outputText value="#{serverItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.operationMode"> + <h:outputText styleClass="headerText" value="Mode" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.operationMode}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.address"> + <h:outputText styleClass="headerText" value="Endpoint Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.port"> + <h:outputText styleClass="headerText" value="HTTP Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.securePort"> + <h:outputText styleClass="headerText" value="Secure HTTPS Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.securePort}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.ctime"> + <h:outputText styleClass="headerText" value="Last Update Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:7 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 8 : 7}" width="100%"> + + <onc:selectCommandButton action="#{AffinityGroupSubscribedServersUIBean.unsubscribeServers}" + value="REMOVE FROM GROUP" styleClass="on-pager-button buttonsmall" + target="selectedServersToUnsubscribe"/> + + <ui:param name="paginationDataTableName" value="subscribedServersDataTable"/> + <ui:param name="paginationDataModel" value="#{subscribedServersDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupSubscribedServers}"/> + <ui:include src="../resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + + </h:form> + + <h:form id="unsubscribedServersForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Server Members"/> + </f:facet> + + <ui:param name="unsubscribedServersDataModel" value="#{AffinityGroupUnsubscribedServersUIBean.dataModel}"/> + <rich:dataTable id="unsubscribedServersDataTable" + rows="#{PageControl.AffinityGroupUnsubscribedServers.pageSize}" + value="#{unsubscribedServersDataModel}" + var="serverItem" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 8%, 8%, 15%" + headerClass="tableRowHeader" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupUnsubscribedServers" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedServersToSubscribe" /> + </f:facet> + + <onc:select name="selectedServersToSubscribe" value="#{serverItem.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{serverItem.id}"/> + <h:outputText value="#{serverItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.operationMode"> + <h:outputText styleClass="headerText" value="Mode" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.operationMode}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.address"> + <h:outputText styleClass="headerText" value="Endpoint Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.port"> + <h:outputText styleClass="headerText" value="HTTP Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.securePort"> + <h:outputText styleClass="headerText" value="Secure HTTPS Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.securePort}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.ctime"> + <h:outputText styleClass="headerText" value="Last Update Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:7 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 8 : 7}" width="100%"> + + <onc:selectCommandButton action="#{AffinityGroupUnsubscribedServersUIBean.subscribeServers}" + value="ADD TO GROUP" styleClass="on-pager-button buttonsmall" + target="selectedServersToSubscribe"/> + + <ui:param name="paginationDataTableName" value="unsubscribedServersDataTable"/> + <ui:param name="paginationDataModel" value="#{unsubscribedServersDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupUnsubscribedServers}"/> + <ui:include src="../resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + + </h:form> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <h:outputText value="Return to Affinity Group"/> + <f:param name="affinityGroupId" value="#{param.affinityGroupId}"/> + <f:param name="mode" value="#{param.mode}"/> + </h:outputLink> + + </ui:define> + +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups-plain.xhtml new file mode 100644 index 0000000..3756548 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups-plain.xhtml @@ -0,0 +1,113 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <h:form id="affinityGroupsForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + + <rich:panel styleClass="BlockContent"> + + <ui:param name="affinityGroupsDataModel" value="#{ListAffinityGroupsUIBean.dataModel}"/> + <rich:dataTable id="affinityGroupsDataTable" + rows="#{PageControl.ListAffinityGroups.pageSize}" + value="#{affinityGroupsDataModel}" + var="item" + width="100%" + columnsWidth="1%, 15%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="ListAffinityGroups" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAffinityGroups" /> + </f:facet> + + <onc:select name="selectedAffinityGroups" value="#{item.affinityGroup.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="ag.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.affinityGroup.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="ag.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="affinityGroupId" value="#{item.affinityGroup.id}"/> + <h:outputText value="#{item.affinityGroup.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Agent Count" /> + </f:facet> + + <h:outputText value="#{item.agentCount}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Server Count" /> + </f:facet> + + <h:outputText value="#{item.serverCount}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 5:4 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 5 : 4}" width="100%"> + <h:commandButton action="#{ListAffinityGroupsUIBean.createNewAffinityGroup}" + value="CREATE NEW" + styleClass="on-pager-button buttonsmall" + rendered="${GlobalPermissionsUIBean.inventory}" /> + + <onc:selectCommandButton action="#{ListAffinityGroupsUIBean.deleteSelectedAffinityGroups}" + value="REMOVE SELECTED" target="selectedAffinityGroups" + styleClass="on-pager-button buttonsmall" + rendered="${GlobalPermissionsUIBean.inventory}" /> + + <ui:param name="paginationDataTableName" value="affinityGroupsDataTable"/> + <ui:param name="paginationDataModel" value="#{affinityGroupsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ListAffinityGroups}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents-plain.xhtml new file mode 100644 index 0000000..e085d20 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents-plain.xhtml @@ -0,0 +1,138 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <h:form id="AgentsListForm"> + + <rich:panel styleClass="BlockContent"> + + <ui:param name="agentsDataModel" value="#{ListAgentsUIBean.dataModel}"/> + <rich:dataTable id="agentsDataTable" + rows="#{PageControl.AgentsList.pageSize}" + value="#{agentsDataModel}" + var="item" + width="100%" + columnsWidth="15%, 15%, 10%, 10%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + + <f:facet name="PageControlView"> + <onc:paginationControl id="AgentsList" /> + </f:facet> + + <rich:column rendered="false"> + <f:facet name="header"> + <onc:allSelect target="selectedAgents" /> + </f:facet> + + <onc:select name="selectedAgents" value="#{item.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAgent-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{item.server.id}"/> + <f:param name="agentId" value="#{item.id}"/> + <h:outputText value="#{item.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.server.name"> + <h:outputText styleClass="headerText" value="Connected Server" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{item.server.id}"/> + <h:outputText value="#{item.server.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.address"> + <h:outputText styleClass="headerText" value="Agent Bind Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.port"> + <h:outputText styleClass="headerText" value="Agent Bind Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.lastAvailabilityReport"> + <h:outputText styleClass="headerText" value="Last Availability Report" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.affinityGroup"> + <h:outputText styleClass="headerText" value="Affinity Group" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="affinityGroupId" value="#{item.affinityGroup.id}"/> + <h:outputText value="#{item.affinityGroup.name}"/> + </h:outputLink> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 9:6 for the debug 'id' column --> + <rich:column colspan="6" width="100%"> + <ui:param name="paginationDataTableName" value="agentsDataTable"/> + <ui:param name="paginationDataModel" value="#{agentsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AgentsList}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents-plain.xhtml new file mode 100644 index 0000000..29dfc51 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents-plain.xhtml @@ -0,0 +1,162 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <h:form id="partitionEventsForm"> + + <rich:panel styleClass="BlockContent"> + + <h:panelGrid columns="4" cellspacing="3"> + <h:outputLabel for="typeFilter" value="Type Filter: " /> + <h:selectOneMenu id="typeFilter" value="#{ListPartitionEventsUIBean.typeFilter}" + style="width: 300px;"> + <a4j:support event="onchange" reRender="partitionEventsDataTable, partitionEventsDataTableScroller"/> + + <f:selectItems value="#{ListPartitionEventsUIBean.typeSelectItems}"/> + </h:selectOneMenu> + rich:spacer/ + rich:spacer/ + + <h:outputLabel for="executionStatusFilter" value="Execution Status Filter: " /> + <h:selectOneMenu id="executionStatusFilter" value="#{ListPartitionEventsUIBean.executionStatusFilter}" + style="width: 300px;"> + <a4j:support event="onchange" reRender="partitionEventsDataTable, partitionEventsDataTableScroller"/> + + <f:selectItems value="#{ListPartitionEventsUIBean.executionStatusSelectItems}"/> + </h:selectOneMenu> + rich:spacer/ + rich:spacer/ + + <h:outputLabel for="detailsFilter" value="Details Filter: " /> + <h:inputText id="detailsFilter" value="#{ListPartitionEventsUIBean.detailsFilter}" + onkeypress="return ignoreEnterKey(event);" + style="width: 300px;"/> + <a4j:commandButton value="GO" reRender="partitionEventsDataTable, partitionEventsDataTableScroller" + styleClass="buttonmed"> + <s:defaultAction /> + </a4j:commandButton> + rich:spacer/ + </h:panelGrid> + + <br/> + + <ui:param name="partitionEventsDataModel" value="#{ListPartitionEventsUIBean.dataModel}"/> + <rich:dataTable id="partitionEventsDataTable" + rows="#{PageControl.ListPartitionEventsView.pageSize}" + value="#{partitionEventsDataModel}" + var="item" + width="100%" + columnsWidth="1%, 25%, 20%, 30% 10% 15%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="ListPartitionEventsView" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedEvents" /> + </f:facet> + + <onc:select name="selectedEvents" value="#{item.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="pe.ctime"> + <h:outputText styleClass="headerText" value="Execution Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="pe.eventType"> + <h:outputText styleClass="headerText" value="Type" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewPartitionEvent-plain.xhtml"> + <f:param name="eventId" value="#{item.id}"/> + <h:outputText value="#{item.eventType}" /> + </h:outputLink> + + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="pe.eventDetail"> + <h:outputText styleClass="headerText" value="Details" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.eventDetail}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="pe.subjectName"> + <h:outputText styleClass="headerText" value="Initiated By" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.subjectName}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="pe.executionStatus"> + <h:outputText styleClass="headerText" value="Execution Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.executionStatus}" /> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="6" width="100%"> + <onc:selectCommandButton action="#{ListPartitionEventsUIBean.removeSelectedEvents}" + value="REMOVE SELECTED" target="selectedEvents" styleClass="on-pager-button buttonsmall" + rendered="${GlobalPermissionsUIBean.inventory}" /> + <h:commandButton action="#{ListPartitionEventsUIBean.purgeAllEvents}" + value="PURGE ALL" styleClass="on-pager-button buttonsmall" + rendered="${GlobalPermissionsUIBean.inventory}" /> + <h:commandButton action="#{ListPartitionEventsUIBean.repartition}" + value="FORCE REPARTITION" styleClass="on-pager-button buttonsmall" + rendered="${GlobalPermissionsUIBean.inventory}" /> + + <ui:param name="paginationDataTableName" value="partitionEventsDataTable"/> + <ui:param name="paginationDataModel" value="#{partitionEventsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ListPartitionEventsView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers-plain.xhtml new file mode 100644 index 0000000..d3ddce8 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers-plain.xhtml @@ -0,0 +1,168 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <h:form id="serversListForm"> + + <rich:panel styleClass="BlockContent"> + + <ui:param name="serversDataModel" value="#{ListServersUIBean.dataModel}"/> + <rich:dataTable id="serversDataTable" + rows="#{PageControl.ServersList.pageSize}" + value="#{serversDataModel}" + var="item" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + + <f:facet name="PageControlView"> + <onc:paginationControl id="ServersList" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedServers" /> + </f:facet> + + <onc:select name="selectedServers" value="#{item.server.id}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{item.server.id}"/> + <h:outputText value="#{item.server.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.operationMode"> + <h:outputText styleClass="headerText" value="Mode" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.operationMode}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.address"> + <h:outputText styleClass="headerText" value="Endpoint Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.port"> + <h:outputText styleClass="headerText" value="Nonsecure Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.securePort"> + <h:outputText styleClass="headerText" value="Secure Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.securePort}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.mtime"> + <h:outputText styleClass="headerText" value="Last Update Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.mtime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.affinityGroup"> + <h:outputText styleClass="headerText" value="Affinity Group" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="affinityGroupId" value="#{item.server.affinityGroup.id}"/> + <h:outputText value="#{item.server.affinityGroup.name}"/> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Agent Count" /> + </f:facet> + + <h:outputText value="#{item.agentCount}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 10:9 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 10 : 9}" width="100%"> + <onc:selectCommandButton action="#{ListServersUIBean.setSelectedServersModeNormal}" + value="SET NORMAL" target="selectedServers" styleClass="on-pager-button buttonsmall"/> + <onc:selectCommandButton action="#{ListServersUIBean.setSelectedServersModeMaintenance}" + value="SET MAINTENANCE" target="selectedServers" styleClass="on-pager-button buttonsmall"/> + <onc:selectCommandButton action="#{ListServersUIBean.removeSelectedServers}" + value="REMOVE SELECTED" target="selectedServers" styleClass="on-pager-button buttonsmall"/> + + <ui:param name="paginationDataTableName" value="serversDataTable"/> + <ui:param name="paginationDataModel" value="#{serversDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ServersList}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup-plain.xhtml new file mode 100644 index 0000000..968f4d8 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup-plain.xhtml @@ -0,0 +1,291 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <ui:param name="affinityGroupDetails" value="#{ViewAffinityGroupDetailsUIBean.affinityGroup}" /> + <ui:param name="mode" value="#{param.mode}" /> + + <h:form id="affinityGroupDetailsForm"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}" /> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header">Affinity Group Details</f:facet> + <table> + <tr> + <td align="right"><b>Name:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{affinityGroupDetails.name}" /> + <h:inputText rendered="#{mode eq 'edit' || mode eq 'create'}" value="#{affinityGroupDetails.name}" /> + </td> + </tr> + </table> + </rich:panel> + + <h:panelGrid columns="2" styleClass="buttons-table" columnClasses="button-cell"> + <h:commandButton rendered="#{mode eq 'view'}" + value="EDIT" action="#{ViewAffinityGroupDetailsUIBean.edit}" + alt="Edit" styleClass="buttonmed" id="editButton"/> + <h:commandButton rendered="#{mode eq 'edit'}" + value="SAVE" action="#{ViewAffinityGroupDetailsUIBean.save}" + alt="Save" styleClass="buttonmed" id="saveButton"/> + <h:commandButton rendered="#{mode eq 'edit'}" + value="CANCEL" action="#{ViewAffinityGroupDetailsUIBean.cancelEdit}" immediate="true" + alt="Cancel" styleClass="buttonmed" id="cancelEditButton"/> + <h:commandButton rendered="#{mode eq 'create'}" + value="CREATE" action="#{ViewAffinityGroupDetailsUIBean.createNew}" + alt="Create" styleClass="buttonmed" id="createButton"/> + <h:commandButton rendered="#{mode eq 'create'}" + value="CANCEL" action="#{ViewAffinityGroupDetailsUIBean.cancelCreate}" immediate="true" + alt="Cancel" styleClass="buttonmed" id="cancelCreateButton"/> + </h:panelGrid> + </h:form> + + <h:form id="agentsForm" rendered="#{mode eq 'view'}"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Agent Members"/> + </f:facet> + + <ui:param name="agentsDataModel" value="#{ViewAffinityGroupAgentMembersUIBean.dataModel}"/> + <rich:dataTable id="agentsDataTable" + rows="#{PageControl.AffinityGroupAgentMembersView.pageSize}" + value="#{agentsDataModel}" + var="agentItem" + width="100%" + columnsWidth="15%, 10%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupAgentMembersView" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAgent-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="agentId" value="#{agentItem.id}"/> + <h:outputText value="#{agentItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.address"> + <h:outputText styleClass="headerText" value="Bind Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.port"> + <h:outputText styleClass="headerText" value="Bind Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.port}"/> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.agentToken"> + <h:outputText styleClass="headerText" value="Token" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.agentToken}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.lastAvailabilityReport"> + <h:outputText styleClass="headerText" value="Last Availability Report" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.status"> + <h:outputText styleClass="headerText" value="Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{agentItem.status}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:5 for the debug 'id' column --> + <rich:column colspan="#{param.debug ? 7 : 4}" width="100%"> + + <h:commandButton action="#{ViewAffinityGroupAgentMembersUIBean.addAgentToAffinityGroup}" + value="EDIT GROUP AGENTS" styleClass="on-pager-button buttonsmall"/> + + <ui:param name="paginationDataTableName" value="agentsDataTable"/> + <ui:param name="paginationDataModel" value="#{agentsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupAgentMembersView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + <h:form id="serversForm" rendered="#{mode eq 'view'}"> + <input type="hidden" name="affinityGroupId" value="#{param.affinityGroupId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Server Members"/> + </f:facet> + + <ui:param name="serversDataModel" value="#{ViewAffinityGroupServerMembersUIBean.dataModel}"/> + <rich:dataTable id="serversDataTable" + rows="#{PageControl.AffinityGroupServerMembersView.pageSize}" + value="#{serversDataModel}" + var="serverItem" + width="100%" + columnsWidth="15%, 10%, 10%, 8%, 8%, 15%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + + <f:facet name="PageControlView"> + <onc:paginationControl id="AffinityGroupServerMembersView" /> + </f:facet> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{serverItem.id}"/> + <h:outputText value="#{serverItem.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.operationMode"> + <h:outputText styleClass="headerText" value="Mode" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.operationMode}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.address"> + <h:outputText styleClass="headerText" value="Endpoint Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.port"> + <h:outputText styleClass="headerText" value="HTTP Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.securePort"> + <h:outputText styleClass="headerText" value="Secure HTTPS Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.securePort}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="s.ctime"> + <h:outputText styleClass="headerText" value="Last Update Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{serverItem.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 8:7 for the debug 'id' column --> + <rich:column colspan="6" width="100%"> + + <h:commandButton action="#{ViewAffinityGroupServerMembersUIBean.editServers}" + value="EDIT GROUP SERVERS" styleClass="on-pager-button buttonsmall"/> + + <ui:param name="paginationDataTableName" value="serversDataTable"/> + <ui:param name="paginationDataModel" value="#{serversDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AffinityGroupServerMembersView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent-plain.xhtml new file mode 100644 index 0000000..ba854ac --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent-plain.xhtml @@ -0,0 +1,203 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <ui:param name="agentDetails" value="#{ViewAgentUIBean.agent}" /> + <ui:param name="mode" value="#{param.mode}" /> + + <h:form id="agentDetailsForm"> + <input type="hidden" name="serverId" value="#{param.serverId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header">Agent Details</f:facet> + <table> + <tr> + <td align="right"><b>Agent Name:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.name}" /> + </td> + </tr> + <tr> + <td align="right"><b>Address:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.address}"/> + </td> + </tr> + <tr> + <td align="right"><b>Port:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.port}"/> + </td> + </tr> + <tr> + <td align="right"><b>Token:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.agentToken}"/> + </td> + </tr> + <tr> + <td align="right"><b>Last Availability Report Date:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </td> + </tr> + <tr> + <td align="right"><b>Affinity Group:</b></td> + <td align="left"> + <h:outputLink rendered="#{mode eq 'view'}" value="viewAffinityGroup-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="affinityGroupId" value="#{agentDetails.affinityGroup.id}"/> + <h:outputText rendered="#{mode eq 'view'}" value="#{agentDetails.affinityGroup.name}"/> + </h:outputLink> + </td> + </tr> + <tr> + <td align="right"><b>Current Server:</b></td> + <td align="left"> + <h:outputLink rendered="#{mode eq 'view'}" value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{agentDetails.server.id}"/> + <h:outputText value="#{agentDetails.server.name}" /> + </h:outputLink> + </td> + </tr> + </table> + </rich:panel> + + </h:form> + + + + <h:form id="failoverListForm" rendered="#{mode eq 'view'}"> + <input type="hidden" name="agentId" value="#{param.agentId}"/> + <input type="hidden" name="serverId" value="#{param.serverId}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Agent Failover List"/> + </f:facet> + + <ui:param name="failoverListDataModel" value="#{ViewAgentUIBean.dataModel}"/> + <rich:dataTable id="failoverListDataTable" + rows="#{PageControl.AgentFailoverListView.pageSize}" + value="#{failoverListDataModel}" + var="item" + width="100%" + columnsWidth="20%, 16%, 16%, 16%, 16%, 16%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="AgentFailoverListView" /> + </f:facet> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.id"> + <h:outputText styleClass="headerText" value="ID" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.name"> + <h:outputText styleClass="headerText" value="Server Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewServer-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="serverId" value="#{item.server.id}"/> + <h:outputText value="#{item.server.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.operationMode"> + <h:outputText styleClass="headerText" value="Mode" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.operationMode}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.address"> + <h:outputText styleClass="headerText" value="Endpoint Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.port"> + <h:outputText styleClass="headerText" value="HTTP Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.securePort"> + <h:outputText styleClass="headerText" value="Secure HTTPS Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.securePort}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="fld.server.mtime"> + <h:outputText styleClass="headerText" value="Last Update Time" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.server.mtime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="#{param.debug ? 7 : 6}" width="100%"> + <ui:param name="paginationDataTableName" value="failoverListDataTable"/> + <ui:param name="paginationDataModel" value="#{failoverListDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AgentFailoverListView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent-plain.xhtml new file mode 100644 index 0000000..65def3a --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent-plain.xhtml @@ -0,0 +1,130 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <h:form id="partitionEventForm"> + <input type="hidden" name="eventId" value="#{param.eventId}"/> + + <ui:param name="eventDetails" value="#{ViewPartitionEventUIBean.partitionEvent}" /> + rich:panel + <f:facet name="header"> + <h:outputText value="Event Details"/> + </f:facet> + <table> + <tr> + <td align="right"><b>Event Execution Time:</b></td> + <td align="left"> + <h:outputText value="#{eventDetails.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </td> + </tr> + <tr> + <td align="right"><b>Event Type:</b></td> + <td align="left"> + <h:outputText value="#{eventDetails.eventType}"/> + </td> + </tr> + <tr> + <td align="right"><b>Event Details:</b></td> + <td align="left"> + <h:outputText value="#{eventDetails.eventDetail}"/> + </td> + </tr> + <tr> + <td align="right"><b>Initiated By:</b></td> + <td align="left"> + <h:outputText value="#{eventDetails.subjectName}"/> + </td> + </tr> + <tr> + <td align="right"><b>Execution Status:</b></td> + <td align="left"> + <h:outputText value="#{eventDetails.executionStatus}"/> + </td> + </tr> + </table> + </rich:panel> + + rich:panel + <f:facet name="header"> + <h:outputText value="Agent Assignments"/> + </f:facet> + + <ui:param name="partitionEventDataModel" value="#{ViewPartitionEventUIBean.dataModel}"/> + + <h:outputText value="No agents were reassigned as a result of this partition event" + rendered="#{partitionEventDataModel.rowCount eq 0}"/> + + <rich:dataTable rendered="#{partitionEventDataModel.rowCount gt 0}" + id="partitionEventDataTable" + rows="#{PageControl.PartitionEventsDetailsView.pageSize}" + value="#{partitionEventDataModel}" + var="item" + width="50%" + columnsWidth="50%, 50%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="PartitionEventsDetailsView" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="ped.agentName"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.agentName}"/> + + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="ped.serverName"> + <h:outputText styleClass="headerText" value="Server Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.serverName}"/> + + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="2" width="100%"> + <ui:param name="paginationDataTableName" value="partitionEventDataTable"/> + <ui:param name="paginationDataModel" value="#{partitionEventDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.PartitionEventsDetailsView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + <h:outputLink value="listPartitionEvents-plain.xhtml"> + <h:outputText value="Return to Partition Events List"/> + </h:outputLink> + + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer-plain.xhtml new file mode 100644 index 0000000..f3b94ab --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer-plain.xhtml @@ -0,0 +1,206 @@ +<ui:composition template="/rhq/entity/layout/main-plain.xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:onc="http://jboss.org/on/component" + xmlns:onf="http://jboss.org/on/function" + xmlns:s="http://jboss.com/products/seam/taglib" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E + + <ui:define name="content"> + + <ui:param name="serverDetails" value="#{ViewServerUIBean.server}" /> + <ui:param name="mode" value="#{param.mode}" /> + + <h:form id="serverDetailsForm"> + <input type="hidden" name="serverId" value="#{param.serverId}"/> + <input type="hidden" name="mode" value="#{param.mode}"/> + + rich:panel + <f:facet name="header">Server Details</f:facet> + <table> + <tr> + <td align="right"><b>Server Name:</b></td> + <td align="left"> + <h:outputText value="#{serverDetails.name}" /> + </td> + </tr> + <tr> + <td align="right"><b>Address:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{serverDetails.address}"/> + <h:inputText rendered="#{mode eq 'edit'}" value="#{serverDetails.address}"/> + </td> + </tr> + <tr> + <td align="right"><b>Port:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{serverDetails.port}"/> + <h:inputText rendered="#{mode eq 'edit'}" value="#{serverDetails.port}"/> + </td> + </tr> + <tr> + <td align="right"><b>Secure Port:</b></td> + <td align="left"> + <h:outputText rendered="#{mode eq 'view'}" value="#{serverDetails.securePort}"/> + <h:inputText rendered="#{mode eq 'edit'}" value="#{serverDetails.securePort}"/> + </td> + </tr> + <tr> + <td align="right"><b>Operation Mode:</b></td> + <td align="left"> + <h:outputText value="#{serverDetails.operationMode}"/> + </td> + </tr> + <tr> + <td align="right"><b>Affinity Group:</b></td> + <td align="left"> + <h:outputText value="#{serverDetails.affinityGroup.name}"/> + </td> + </tr> + <tr> + <td align="right"><b>Installation Date:</b></td> + <td align="left"> + <h:outputText value="#{serverDetails.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </td> + </tr> + <tr> + <td align="right"><b>Last Update Time:</b></td> + <td align="left"> + <h:outputText value="#{serverDetails.mtime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </td> + </tr> + </table> + </rich:panel> + + <h:panelGrid columns="2" styleClass="buttons-table" columnClasses="button-cell"> + <h:commandButton rendered="#{mode eq 'view'}" + value="EDIT" action="#{ViewServerUIBean.edit}" + alt="Edit" styleClass="buttonmed" id="editButton"/> + <h:commandButton rendered="#{mode eq 'edit'}" + value="SAVE" action="#{ViewServerUIBean.save}" + alt="Save" styleClass="buttonmed" id="saveButton"/> + <h:commandButton rendered="#{mode eq 'edit'}" + value="CANCEL" action="#{ViewServerUIBean.cancel}" immediate="true" + alt="Cancel" styleClass="buttonmed" id="cancelButton"/> + </h:panelGrid> + </h:form> + + <h:form id="connectedAgentsForm" rendered="#{mode eq 'view'}"> + <input type="hidden" name="serverId" value="#{param.serverId}"/> + + rich:panel + <f:facet name="header"> + <h:outputText value="Connected Agents"/> + </f:facet> + + <ui:param name="connectedAgentsDataModel" value="#{ViewServerUIBean.dataModel}"/> + <rich:dataTable id="connectedAgentsDataTable" + rows="#{PageControl.ServerConnectedAgentsView.pageSize}" + value="#{connectedAgentsDataModel}" + var="item" + width="100%" + columnsWidth="1%, 15%, 10%, 10%, 10%, 10%" + styleClass="resources-table" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="ServerConnectedAgentsView" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAgents" /> + </f:facet> + + <onc:select name="selectedAgents" value="#{item.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Agent Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="viewAgent-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="agentId" value="#{item.id}"/> + <f:param name="serverId" value="#{param.serverId}"/> + <h:outputText value="#{item.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.address"> + <h:outputText styleClass="headerText" value="Bind Address" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.address}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.port"> + <h:outputText styleClass="headerText" value="Bind Port" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.port}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.lastAvailabilityReport"> + <h:outputText styleClass="headerText" value="Last Availability Report" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.lastAvailabilityReport}"> + <f:convertDateTime pattern="M/d/yy, h:mm:ss aa, zzz" timeZone="#{ServerInfoUIBean.timeZone}"/> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Affinity Group" /> + </f:facet> + + <h:outputLink value="viewAffinityGroup-plain.xhtml"> + <f:param name="mode" value="view"/> + <f:param name="affinityGroupId" value="#{item.affinityGroup.id}"/> + <h:outputText value="#{item.affinityGroup.name}"/> + </h:outputLink> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <!-- colspan 9:6 for the debug 'id' column --> + <rich:column colspan="6" width="100%"> + <ui:param name="paginationDataTableName" value="connectedAgentsDataTable"/> + <ui:param name="paginationDataModel" value="#{connectedAgentsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ServerConnectedAgentsView}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> \ No newline at end of file
commit 9c6f7cd5ed5a619166ba67faf7042f59899c1677 Author: Joseph Marques joseph@redhat.com Date: Thu Aug 12 12:37:25 2010 -0400
reformat, cosmetic
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java index 6eead0b..469fda4 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java @@ -49,11 +49,9 @@ public class AdministrationView extends HLayout implements BookmarkableView {
public static final String VIEW_PATH = "Administration";
- private ViewId currentSectionViewId; private ViewId currentPageViewId;
- private SectionStack sectionStack;
private Canvas contentCanvas; @@ -76,14 +74,12 @@ public class AdministrationView extends HLayout implements BookmarkableView { sectionStack.setWidth(250); sectionStack.setHeight100();
- treeGrids.put("Security", buildSecuritySection()); treeGrids.put("Configuration", buildSystemConfigurationSection()); treeGrids.put("Cluster", buildManagementClusterSection()); treeGrids.put("Reports", buildReportsSection()); treeGrids.put("Security", buildSecuritySection());
- for (final String name : treeGrids.keySet()) { TreeGrid grid = treeGrids.get(name);
@@ -93,7 +89,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { } });
- SectionStackSection section = new SectionStackSection(name); section.setExpanded(true); section.addItem(grid); @@ -101,23 +96,20 @@ public class AdministrationView extends HLayout implements BookmarkableView { sectionStack.addSection(section); }
- addMember(sectionStack); addMember(contentCanvas);
}
- private HTMLFlow defaultView() { - String contents = "<h1>Administration</h1>\n" + - "From this section, the RHQ global settings can be administered. This includes configuring \n" + - "<a href="">Security</a>, setting up <a href="">Plugins</a> and other stuff."; + String contents = "<h1>Administration</h1>\n" + + "From this section, the RHQ global settings can be administered. This includes configuring \n" + + "<a href="">Security</a>, setting up <a href="">Plugins</a> and other stuff."; HTMLFlow flow = new HTMLFlow(contents); flow.setPadding(20); return flow; }
- private TreeGrid buildSecuritySection() {
final TreeGrid securityTreeGrid = new TreeGrid(); @@ -136,19 +128,14 @@ public class AdministrationView extends HLayout implements BookmarkableView {
final TreeNode remoteAgentInstall = new TreeNode("Remote Agent Install"); remoteAgentInstall.setIcon("global/Agent_16.png"); - - tree.setRoot(new TreeNode("security", - manageUsersNode, - manageRolesNode, - discoveryQueue, - remoteAgentInstall)); + + tree.setRoot(new TreeNode("security", manageUsersNode, manageRolesNode, discoveryQueue, remoteAgentInstall));
securityTreeGrid.setData(tree);
return securityTreeGrid; }
- private TreeGrid buildManagementClusterSection() {
final TreeGrid mgmtClusterTreeGrid = new TreeGrid(); @@ -161,18 +148,14 @@ public class AdministrationView extends HLayout implements BookmarkableView { final TreeNode manageAffinityGroupsNode = new TreeNode("Affinity Groups"); final TreeNode managePartitionEventsNode = new TreeNode("Partition Events");
- tree.setRoot(new TreeNode("clustering", - manageServersNode, - manageAgentsNode, - manageAffinityGroupsNode, - managePartitionEventsNode)); + tree.setRoot(new TreeNode("clustering", manageServersNode, manageAgentsNode, manageAffinityGroupsNode, + managePartitionEventsNode));
mgmtClusterTreeGrid.setData(tree);
return mgmtClusterTreeGrid; }
- private TreeGrid buildSystemConfigurationSection() {
final TreeGrid systemConfigTreeGrid = new TreeGrid(); @@ -186,15 +169,14 @@ public class AdministrationView extends HLayout implements BookmarkableView { final TreeNode manageLicense = new TreeNode("License"); final TreeNode managePlugins = new TreeNode("Plugins");
- tree.setRoot(new TreeNode("System Configuration", - manageSettings, manageTemplates, manageDownloads, manageLicense, managePlugins)); + tree.setRoot(new TreeNode("System Configuration", manageSettings, manageTemplates, manageDownloads, + manageLicense, managePlugins));
systemConfigTreeGrid.setData(tree);
return systemConfigTreeGrid; }
- private TreeGrid buildReportsSection() {
final TreeGrid reportsTreeGrid = new TreeGrid(); @@ -212,7 +194,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { return reportsTreeGrid; }
- public void setContent(Canvas newContent) {
if (contentCanvas.getChildren().length > 0) @@ -222,7 +203,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { contentCanvas.markForRedraw(); }
- private void renderContentView(ViewPath viewPath) {
currentSectionViewId = viewPath.getCurrent(); @@ -231,7 +211,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { String section = currentSectionViewId.getPath(); String page = currentPageViewId.getPath();
- Canvas content = null; if ("Reports".equals(section)) {
@@ -239,7 +218,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { content = new FullHTMLPane("/rhq/admin/report/resourceInstallReport-body.xhtml"); }
- } else if ("Security".equals(section)) {
if ("Manage Users".equals(page)) { @@ -268,7 +246,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { url = addQueryStringParam(url, "nomenu=true"); content = new FullHTMLPane(url);
- } else if ("Cluster".equals(section)) { String url = null; if ("Servers".equals(page)) { @@ -284,30 +261,24 @@ public class AdministrationView extends HLayout implements BookmarkableView { content = new FullHTMLPane(url); }
- for (String name : treeGrids.keySet()) {
TreeGrid treeGrid = treeGrids.get(name); if (name.equals(section)) { -// treeGrid.setSelectedPaths(page); + // treeGrid.setSelectedPaths(page); } else { treeGrid.deselectAllRecords(); } }
- - setContent(content);
- if (content instanceof BookmarkableView) { ((BookmarkableView) content).renderView(viewPath.next().next()); }
- }
- public void renderView(ViewPath viewPath) {
if (!viewPath.isCurrent(currentSectionViewId) || !viewPath.isNext(currentPageViewId)) { @@ -320,7 +291,6 @@ public class AdministrationView extends HLayout implements BookmarkableView { } }
- }
private static String addQueryStringParam(String url, String param) {
rhq-commits@lists.fedorahosted.org