modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 156 +-- modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/alert-plain-navigation.xml | 183 +++ modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/content-plain-navigation.xml | 491 ++++++++++ modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/events-plain-navigation.xml | 26 modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/measurement-plain-navigation.xml | 73 + modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/operation-plain-navigation.xml | 89 + modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml | 6 modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/events/history-plain.xhtml | 23 modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/response-plain.xhtml | 173 +++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/tables-plain.xhtml | 46 modules/enterprise/gui/portal-war/src/main/webapp/rhq/entity/layout/main-plain.xhtml | 39 modules/enterprise/gui/portal-war/src/main/webapp/rhq/layout/main-plain-layout.xhtml | 310 ++++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertDefinitions-plain.xhtml | 161 +++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertHistory-plain.xhtml | 210 ++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/deploy-plain.xhtml | 27 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/history-plain.xhtml | 23 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/installed_package_details-plain.xhtml | 27 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/subscription-plain.xhtml | 33 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/view-plain.xhtml | 37 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/events/history-plain.xhtml | 20 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/include/pagination-plain.xhtml | 112 ++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/layout/main-plain.xhtml | 17 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/availabilityHistory-plain.xhtml | 31 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/response-plain.xhtml | 14 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/schedules-plain.xhtml | 38 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/traits-plain.xhtml | 27 modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistory-plain.xhtml | 270 +++++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml | 122 ++ modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationScheduleDetails-plain.xhtml | 73 + modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationSchedules-plain.xhtml | 104 ++ modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java | 10 modules/enterprise/server/plugins/perspectives/core/perspective/src/main/resources/META-INF/rhq-serverplugin.xml | 4 32 files changed, 2692 insertions(+), 283 deletions(-)
New commits: commit a13c17de245205bc8b5703ab6b45fa8300942b3e Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:21:50 2010 -0400
implement "plain" scheme using iframed-facelets for unfinished resource > operation tabs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index 88e1abd..ea7b88e 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -157,7 +157,17 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res inventoryTab.updateSubTab("Children", ResourceSearchView.getChildrenOf(resource.getId())); inventoryTab.updateSubTab("Connection Settings", new PluginConfigurationEditView(resource)); // new ConfigurationEditor(resource.getId(), resource.getResourceType().getId(), ConfigurationEditor.ConfigType.plugin));
- operationsTab.updateSubTab("History", OperationHistoryView.getResourceHistoryView(resource)); + // comment out GWT-based operation history until... + // 1) user can delete history if they possess the appropriate permissions + // 2) user can see both operation arguments and results in the history details pop-up + // 3) operation arguments/results become read-only configuration data in the history details pop-up + // 4) user can navigate to the group operation that spawned this resource operation history, if appropriate + //operationsTab.updateSubTab("History", OperationHistoryView.getResourceHistoryView(resource)); + // note: enabled operation execution/schedules from left-nav, if it doesn't already exist + operationsTab.updateSubTab("History", new FullHTMLPane( + "/rhq/resource/operation/resourceOperationHistory-plain.xhtml?id=" + resource.getId())); + operationsTab.updateSubTab("Scheduled", new FullHTMLPane( + "/rhq/resource/operation/resourceOperationSchedules-plain.xhtml?id=" + resource.getId()));
configurationTab.updateSubTab("Current", new ResourceConfigurationEditView(resource)); configurationTab.updateSubTab("History", ConfigurationHistoryView.getHistoryOf(resource.getId())); diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistory-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistory-plain.xhtml new file mode 100644 index 0000000..13ee0b0 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistory-plain.xhtml @@ -0,0 +1,270 @@ +<ui:composition template="/rhq/resource/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"> + + <!-- + Resource Operation Pending History + --> + + <ui:param name="currentOperation" + value="#{ResourceOperationPendingHistoryUIBean.oldestInProgressResourceOperation}" /> + + <h:form id="pendingForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">In Progress Operations</f:facet> + + <a4j:keepAlive beanName="ResourceOperationPendingHistoryUIBean"/> + + <ui:param name="resourceOperationPendingHistoryDataModel" value="#{ResourceOperationPendingHistoryUIBean.dataModel}"/> + + <a4j:poll id="resourceOperationPendingHistoryDataTableReRenderer" + oncomplete="disableConditionalButtons();" + interval="60000" + ignoreDupResponses="true" + actionListener="#{ResourceOperationPendingHistoryUIBean.clearDataModel}" + reRender="resourceOperationPendingHistoryDataTable" /> + <rich:dataTable id="resourceOperationPendingHistoryDataTable" + rows="#{PageControl.ResourceOperationPendingHistory.pageSize}" + value="#{resourceOperationPendingHistoryDataModel}" + var="pendingItem" + width="100%" + columnsWidth="1%, 15%, 15%, 20%, 30%, 19%" + 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="ResourceOperationPendingHistory" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="pendingSelectedItems" /> + </f:facet> + + <onc:select name="pendingSelectedItems" value="#{pendingItem.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.createdTime"> + <h:outputText styleClass="headerText" value="Date Submitted" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{pendingItem.createdTime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Name" /> + </f:facet> + + <h:outputLink value="/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml" > + <f:param name="id" value="#{param.id}" /> + <f:param name="opId" value="#{pendingItem.id}" /> + <h:outputText value="#{pendingItem.operationDefinition.displayName}"/> + </h:outputLink> + + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Description" /> + </f:facet> + + <h:outputText value="#{pendingItem.operationDefinition.description}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.status"> + <h:outputText styleClass="headerText" value="Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{pendingItem.status}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.subjectName"> + <h:outputText styleClass="headerText" value="User" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{pendingItem.subjectName}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="6"> + <onc:selectCommandButton action="#{ResourceOperationPendingHistoryUIBean.cancel}" + value="CANCEL SELECTED" target="pendingSelectedItems" + styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.control}"/> + + <ui:param name="paginationDataTableName" value="resourceOperationPendingHistoryDataTable"/> + <ui:param name="paginationDataModel" value="#{resourceOperationPendingHistoryDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ResourceOperationPendingHistory}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + <!-- + Resource Operation Completed History + --> + + <h:form id="historyForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Completed Operations</f:facet> + + <a4j:keepAlive beanName="ResourceOperationCompletedHistoryUIBean"/> + + <ui:param name="resourceOperationCompletedHistoryDataModel" value="#{ResourceOperationCompletedHistoryUIBean.dataModel}"/> + + <a4j:poll id="resourceOperationCompletedHistoryDataTableReRenderer" + oncomplete="disableConditionalButtons();" + interval="60000" + ignoreDupResponses="true" + actionListener="#{ResourceOperationCompletedHistoryUIBean.clearDataModel}" + reRender="resourceOperationCompletedHistoryDataTable" /> + <rich:dataTable id="resourceOperationCompletedHistoryDataTable" + rows="#{PageControl.ResourceOperationCompletedHistory.pageSize}" + value="#{resourceOperationCompletedHistoryDataModel}" + var="historyItem" + width="100%" + columnsWidth="1%, 12%, 12%, 17%, 37%, 11%, 11%" + rowKeyVar="rowIndex" + 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="ResourceOperationCompletedHistory" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="completedSelectedItems" /> + </f:facet> + + <onc:select name="completedSelectedItems" value="#{historyItem.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.createdTime"> + <h:outputText styleClass="headerText" value="Date Submitted" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{historyItem.createdTime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.modifiedTime"> + <h:outputText styleClass="headerText" value="Date Completed" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{historyItem.modifiedTime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Name" /> + </f:facet> + + <h:outputLink value="/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml" > + <f:param name="id" value="#{param.id}" /> + <f:param name="opId" value="#{historyItem.id}" /> + <h:outputText value="#{historyItem.operationDefinition.displayName}"/> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Description" /> + </f:facet> + + <h:outputText value="#{historyItem.operationDefinition.description}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.status"> + <h:outputText styleClass="headerText" value="Status" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText rendered="#{historyItem.status ne 'FAILURE'}" value="#{historyItem.status}"/> + <onc:errorPopup popupId="completed-#{historyItem.id}" errorMessage="#{historyItem.errorMessage}" rendered="#{historyItem.status eq 'FAILURE'}">Failure</onc:errorPopup> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="h.subjectName"> + <h:outputText styleClass="headerText" value="User" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{historyItem.subjectName}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="7" width="100%"> + <onc:selectCommandButton action="#{ResourceOperationCompletedHistoryUIBean.delete}" + value="DELETE SELECTED" target="completedSelectedItems" + styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.control}"/> + + <ui:param name="paginationDataTableName" value="resourceOperationCompletedHistoryDataTable"/> + <ui:param name="paginationDataModel" value="#{resourceOperationCompletedHistoryDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.ResourceOperationCompletedHistory}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + <!-- use a hidden button trick (which sends the same action a column click would) so request params aren't lost --> + <h:commandButton id="hiddenHistoryButton" style="visibility: hidden;" action="#{TableSorter.obtainFromOutcome}" /> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml new file mode 100644 index 0000000..d7d9f27 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml @@ -0,0 +1,122 @@ +<ui:composition template="/rhq/resource/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"> + <br/> + <ui:param name="item" value="#{ResourceOperationHistoryDetailsUIBean.history}" /> + + <h:form id="operationHistoryDetailsForm"> + <input type="hidden" name="id" value="${param.id}"/> + <input type="hidden" name="opId" value="${param.opId}"/> + + <a4j:keepAlive beanName="ResourceOperationHistoryDetailsUIBean" ajaxOnly="true"/> + + <h:outputLink value="/rhq/resource/operation/resourceOperationHistory-plain.xhtml"> + <f:param name="id" value="#{param.id}" /> + <h:outputText value="< Return to Operation History"/> + </h:outputLink> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Details</f:facet> + <table> + <tr> + <td align="right" style="width: 150px;">Operation:</td> + <td align="left"> + <h:outputText value="#{item.operationDefinition.displayName}" /> + </td> + </tr> + <tr> + <td align="right">Date Submitted:</td> + <td align="left"> + <h:outputText value="#{item.createdTime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </td> + </tr> + <tr> + <td align="right">Date Completed:</td> + <td align="left"> + <h:outputText value="#{item.modifiedTime}" rendered="#{item.status ne 'INPROGRESS'}" > + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </td> + </tr> + <tr> + <td align="right">Requester:</td> + <td align="left"> + <h:outputText value="#{item.subjectName}" rendered="#{!(empty item.subjectName)}" /> + <h:outputText value="(unknown)" rendered="#{empty item.subjectName}" /> + </td> + </tr> + <tr> + <td align="right">Status:</td> + <td align="left"> + <h:outputText rendered="#{item.status eq 'SUCCESS' or item.status eq 'INPROGRESS'}" + value="#{item.status}"/> + <h:outputLink rendered="#{item.status ne 'SUCCESS' and item.status ne 'INPROGRESS'}" + value="#" id="resultsLink"> + <h:outputText value="#{item.status}"/> + <rich:componentControl for="resultsModalPanel" attachTo="resultsLink" operation="show" event="onclick"/> + </h:outputLink> + <rich:modalPanel id="resultsModalPanel" width="600" height="400" + style="overflow: auto;"> + <f:facet name="header"> + <h:panelGroup> + <h:outputText value="Results" /> + </h:panelGroup> + </f:facet> + <f:facet name="controls"> + <h:panelGroup> + <h:graphicImage value="/images/close.png" style="cursor:pointer" id="resultsModelPanelHideLink"/> + <rich:componentControl for="resultsModalPanel" attachTo="resultsModelPanelHideLink" operation="hide" event="onclick"/> + </h:panelGroup> + </f:facet> + <div class="ErrorModalBody"> + <h:outputText value="#{item.errorMessage}" /> + </div> + </rich:modalPanel> + </td> + </tr> + </table> + </rich:panel> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Parameters</f:facet> + <onc:config configurationDefinition="#{ResourceOperationHistoryDetailsUIBean.parameters.configurationDefinition}" + configuration="#{ResourceOperationHistoryDetailsUIBean.parameters.configuration}" + readOnly="true" + nullConfigurationDefinitionMessage="#{ResourceOperationHistoryDetailsUIBean.parameters.nullConfigurationDefinitionMessage}" + nullConfigurationMessage="#{ResourceOperationHistoryDetailsUIBean.parameters.nullConfigurationMessage}" + nullConfigurationStyle="InfoBlock"/> + </rich:panel> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Results</f:facet> + <onc:config configurationDefinition="#{ResourceOperationHistoryDetailsUIBean.results.configurationDefinition}" + configuration="#{ResourceOperationHistoryDetailsUIBean.results.configuration}" + readOnly="true" + nullConfigurationDefinitionMessage="#{ResourceOperationHistoryDetailsUIBean.results.nullConfigurationDefinitionMessage}" + nullConfigurationMessage="#{ResourceOperationHistoryDetailsUIBean.results.nullConfigurationMessage}" + nullConfigurationStyle="InfoBlock" + rendered="#{item.status ne 'INPROGRESS'}" /> + </rich:panel> + + <h:outputLink value="/rhq/resource/operation/resourceOperationHistory-plain.xhtml"> + <f:param name="id" value="#{param.id}" /> + <h:outputText value="< Return to Operation History"/> + </h:outputLink> + + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationScheduleDetails-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationScheduleDetails-plain.xhtml new file mode 100644 index 0000000..95f9a96 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationScheduleDetails-plain.xhtml @@ -0,0 +1,73 @@ +<ui:composition template="/rhq/resource/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"> + <br/> + <!-- Resource Operation Schedules --> + <h:form id="scheduleForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <h:outputLink value="/rhq/resource/operation/resourceOperationSchedules-plain.xhtml"> + <f:param name="id" value="#{param.id}" /> + <h:outputText value="< Return to Operation Schedules"/> + </h:outputLink> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">General Info</f:facet> + <table> + <tr> + <td align="right" style="width: 125px;">Operation:</td> + <td align="left"> + <h:outputText value="#{item.operationDisplayName}" /> + </td> + </tr> + <tr> + <td align="right" style="width: 125px;">Scheduled By:</td> + <td align="left"> + <h:outputText value="#{item.subject.name}" /> + </td> + </tr> + <tr> + <td align="right" style="width: 125px;">Notes:</td> + <td align="left"> + <h:outputText value="#{item.description}" /> + </td> + </tr> + </table> + </rich:panel> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Parameters</f:facet> + <onc:config configurationDefinition="#{ResourceOperationScheduleDetailsUIBean.parameters.configurationDefinition}" + configuration="#{ResourceOperationScheduleDetailsUIBean.parameters.configuration}" + readOnly="true" + nullConfigurationDefinitionMessage="#{ResourceOperationScheduleDetailsUIBean.parameters.nullConfigurationDefinitionMessage}" + nullConfigurationMessage="#{ResourceOperationScheduleDetailsUIBean.parameters.nullConfigurationMessage}" + nullConfigurationStyle="InfoBlock"/> + </rich:panel> + + <rich:panel styleClass="BlockContent"> + <f:facet name="header">Schedule Details</f:facet> + + <onc:operationScheduler scheduleDetails="#{ResourceOperationScheduleDetailsUIBean.operationDetails}" readOnly="true"/> + </rich:panel> + + <h:outputLink value="/rhq/resource/operation/resourceOperationSchedules-plain.xhtml"> + <f:param name="id" value="#{param.id}" /> + <h:outputText value="< Return to Operation Schedules"/> + </h:outputLink> + + </h:form> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationSchedules-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationSchedules-plain.xhtml new file mode 100644 index 0000000..ef0b83f --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/operation/resourceOperationSchedules-plain.xhtml @@ -0,0 +1,104 @@ +<ui:composition template="/rhq/resource/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"> + + <!-- Resource Operation Schedules --> + <h:form id="scheduleForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <!-- Operation Schedule Table --> + <rich:panel styleClass="BlockContent"> + + <ui:param name="resourceOperationScheduleDataModel" value="#{ResourceOperationScheduleUIBean.dataModel}"/> + <rich:dataTable id="resourceOperationScheduleDataTable" + rows="0" + value="#{resourceOperationScheduleDataModel}" + var="item" + width="100%" + columnsWidth="1%, 30%, 39%, 30%" + styleClass="resources-table" + headerClass="tableRowHeader" + footerClass="on-pager-footer" + onRowMouseOver="this.style.backgroundColor='#E7E7E7'" + onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> + + <f:facet name="PageControlView"> + <onc:paginationControl id="NONE" /> + </f:facet> + + <rich:column style="width: 1px;"> + <f:facet name="header"> + <onc:allSelect target="selectedItems" /> + </f:facet> + <onc:select name="selectedItems" value="#{item.jobId}" /> + </rich:column> + + <rich:column rendered="#{param.debug}"> + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Job ID" /> + </f:facet> + <h:commandLink action="#{ResourceOperationScheduleUIBean.selectScheduleToView}"> + <h:outputText value="#{item.jobId}" /> + </h:commandLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Name" /> + </f:facet> + + <h:outputLink value="/rhq/resource/operation/resourceOperationScheduleDetails-plain.xhtml" > + <f:param name="id" value="#{param.id}" /> + <f:param name="jobId" value="#{item.jobId}" /> + <h:outputText value="#{item.operationDisplayName}"/> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Notes" /> + </f:facet> + <h:outputText value="#{item.description}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="User" /> + </f:facet> + <h:outputText value="#{item.subject.name}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="4" width="100%"> + <onc:selectCommandButton action="#{ResourceOperationScheduleUIBean.unschedule}" + value="UNSCHEDULE" target="selectedItems" + styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.control}"/> + <onc:selectCommandButton action="#{ResourceOperationScheduleUIBean.executeNow}" + value="EXECUTE NOW" target="selectedItems" + styleClass="on-pager-button buttonsmall" + low="1" high="1" + rendered="#{ResourceUIBean.permissions.control}"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + </rich:panel> + </h:form> + + </ui:define> + +</ui:composition>
commit 4274e4c27857fec55a502d90ba0675bcf398f290 Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:21:31 2010 -0400
implement "plain" scheme using iframed-facelets for unfinished resource > alerts tabs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index bd39bfc..88e1abd 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -162,9 +162,17 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res configurationTab.updateSubTab("Current", new ResourceConfigurationEditView(resource)); configurationTab.updateSubTab("History", ConfigurationHistoryView.getHistoryOf(resource.getId()));
- alertsTab.updateSubTab("History", new ResourceAlertHistoryView(resource.getId())); - alertsTab.updateSubTab("Definitions", AlertDefinitionsView.getResourceView(resource)); - + // comment out GWT-based alert definitions/history views until... + // 1) new workflow is implement for alert definition creation, with particular attention to interaction model for alert notifications + // 2) user can delete/ack/purgeAll alerts if they possess the appropriate permissions + // 3) user can enable/disable/delete alert definitions if they possess the appropriate permissions + // 4) user can search alert history by: date alert was fired, alert priority, or alert definition + //alertsTab.updateSubTab("History", new ResourceAlertHistoryView(resource.getId())); + //alertsTab.updateSubTab("Definitions", AlertDefinitionsView.getResourceView(resource)); + alertsTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/alert/listAlertHistory-plain.xhtml?id=" + + resource.getId())); + alertsTab.updateSubTab("Definitions", new FullHTMLPane( + "/rhq/resource/alert/listAlertDefinitions-plain.xhtml?id=" + resource.getId()));
// comment out GWT-based view until... // 1) user can search event history by: metric display range, event source, event details, event severity diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertDefinitions-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertDefinitions-plain.xhtml new file mode 100644 index 0000000..746eb4a --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertDefinitions-plain.xhtml @@ -0,0 +1,161 @@ +<ui:composition template="/rhq/resource/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="alertDefinitionsListForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <rich:panel styleClass="BlockContent"> + + <a4j:keepAlive beanName="ListAlertDefinitionsUIBean"/> + + <ui:param name="alertDefinitionsDataModel" value="#{ListAlertDefinitionsUIBean.dataModel}"/> + <rich:dataTable id="alertDefinitionsDataTable" + rows="#{PageControl.AlertDefinitionsList.pageSize}" + value="#{alertDefinitionsDataModel}" + var="item" + width="100%" + columnsWidth="1%, 25%, 30%, 20%, 5%, 14%, 5%" + 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="AlertDefinitionsList" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAlertDefinitions" /> + </f:facet> + + <onc:select name="selectedAlertDefinitions" value="#{item.id}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.name"> + <h:outputText styleClass="headerText" value="Name" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="/alerts/Config.do"> + <f:param name="mode" value="viewRoles"/> + <f:param name="id" value="#{Resource.id}"/> + <f:param name="ad" value="#{item.id}"/> + <h:outputText value="#{item.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.description"> + <h:outputText styleClass="headerText" value="Description" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.description}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.ctime"> + <h:outputText styleClass="headerText" value="Date Created" /> + </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="a.enabled"> + <h:outputText styleClass="headerText" value="Active" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputText value="#{item.enabled}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Parent" /> + </f:facet> + + <h:outputLink value="/alerts/Config.do" rendered="#{item.parentId ne 0}"> + <f:param name="mode" value="viewRoles"/> + <f:param name="type" value="#{item.resource.resourceType.id}"/> + <f:param name="from" value="#{item.id}"/> + <f:param name="ad" value="#{item.parentId}"/> + <h:outputText value="View Template" /> + </h:outputLink> + + <h:outputLink value="/alerts/Config.do" rendered="#{not empty item.groupAlertDefinition}"> + <f:param name="mode" value="viewRoles"/> + <f:param name="groupId" value="#{item.groupAlertDefinition.resourceGroup.id}"/> + <f:param name="from" value="#{item.id}"/> + <f:param name="ad" value="#{item.groupAlertDefinition.id}"/> + <h:outputText value="View Group Definition" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Read Only" /> + </f:facet> + + <h:outputText value="N/A" rendered="#{item.parentId eq 0 and empty item.groupAlertDefinition}"/> + <h:outputText value="#{item.readOnly}" rendered="#{item.parentId ne 0 or not empty item.groupAlertDefinition}"/> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="7" width="100%"> + <h:commandButton action="#{ListAlertDefinitionsUIBean.createNewAlertDefinition}" + value="NEW DEFINITION" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" > + <f:param name="id" value="${param.id}"/> + <f:param name="mode" value="new"/> + </h:commandButton> + <onc:selectCommandButton action="#{ListAlertDefinitionsUIBean.enableSelectedAlertDefinitions}" + value="ENABLE SELECTED" target="selectedAlertDefinitions" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + <onc:selectCommandButton action="#{ListAlertDefinitionsUIBean.disableSelectedAlertDefinitions}" + value="DISABLE SELECTED" target="selectedAlertDefinitions" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + <onc:selectCommandButton action="#{ListAlertDefinitionsUIBean.deleteSelectedAlertDefinitions}" + value="DELETE SELECTED" target="selectedAlertDefinitions" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + <onc:selectCommandButton action="#{ListAlertDefinitionsUIBean.copySelectedAlertDefinitions}" + value="COPY SELECTED" target="selectedAlertDefinitions" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert and param.debug}" /> + + <ui:param name="paginationDataTableName" value="alertDefinitionsDataTable"/> + <ui:param name="paginationDataModel" value="#{alertDefinitionsDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AlertDefinitionsList}"/> + <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/resource/alert/listAlertHistory-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertHistory-plain.xhtml new file mode 100644 index 0000000..a6cb1fb --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/alert/listAlertHistory-plain.xhtml @@ -0,0 +1,210 @@ +<ui:composition template="/rhq/resource/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="alertHistoryForm"> + <input type="hidden" name="id" value="${param.id}"/> + + <rich:panel styleClass="BlockContent"> + + <h:panelGrid columns="4" cellspacing="3"> + <h:outputLabel for="alertDefinitionFilter" value="Alert Definition Filter: " /> + <h:selectOneMenu id="alertDefinitionFilter" value="#{ListAlertHistoryUIBean.alertDefinitionFilter}" + style="width: 300px;"> + <a4j:support event="onchange" + reRender="alertHistoryDataTable, alertHistoryDataTableScroller, dateErrors" + actionListener="#{ListAlertHistoryUIBean.clearDataModel}" /> + + <f:selectItems value="#{ListAlertHistoryUIBean.alertDefinitionSelectItems}"/> + </h:selectOneMenu> + rich:spacer/ + rich:spacer/ + + <h:outputLabel for="alertPriorityFilter" value="Alert Priority Filter: " /> + <h:selectOneMenu id="alertPriorityFilter" value="#{ListAlertHistoryUIBean.alertPriorityFilter}" + style="width: 300px;"> + <a4j:support event="onchange" + reRender="alertHistoryDataTable, alertHistoryDataTableScroller, dateErrors" + actionListener="#{ListAlertHistoryUIBean.clearDataModel}" /> + + <f:selectItems value="#{ListAlertHistoryUIBean.alertPrioritySelectItems}"/> + </h:selectOneMenu> + rich:spacer/ + rich:spacer/ + + <h:outputLabel for="dateFilter" value="Date Filter: " /> + <h:inputText id="dateFilter" value="#{ListAlertHistoryUIBean.dateFilter}" + onkeypress="return ignoreEnterKey(event);" + style="width: 300px;" /> + <a4j:commandButton value="GO" + reRender="alertHistoryDataTable, alertHistoryDataTableScroller, dateErrors" + actionListener="#{ListAlertHistoryUIBean.clearDataModel}" + styleClass="buttonmed"> + <s:defaultAction /> + </a4j:commandButton> + <h:outputText id="dateErrors" value="#{ListAlertHistoryUIBean.dateErrors}" /> + </h:panelGrid> + + <br/> + + <ui:param name="alertHistoryDataModel" value="#{ListAlertHistoryUIBean.dataModel}"/> + <rich:dataTable id="alertHistoryDataTable" + rows="#{PageControl.AlertHistoryList.pageSize}" + value="#{alertHistoryDataModel}" + var="item" + width="100%" + columnsWidth="1%, 15%, 20%, 20%, 20%, 7%, 8%, 9%" + 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="AlertHistoryList" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:allSelect target="selectedAlerts" /> + </f:facet> + + <onc:select name="selectedAlerts" value="#{item.alert.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="#{item.alert.id}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.alertDefinition.priority"> + <h:outputText styleClass="headerText" value="Priority" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:graphicImage value="/images/icons/Flag_blue_16.png" rendered="#{item.alert.alertDefinition.priority.name == 'LOW'}"/> + <h:graphicImage value="/images/icons/Flag_yellow_16.png" rendered="#{item.alert.alertDefinition.priority.name == 'MEDIUM'}"/> + <h:graphicImage value="/images/icons/Flag_red_16.png" rendered="#{item.alert.alertDefinition.priority.name == 'HIGH'}"/> + + <h:outputText value="#{item.alert.alertDefinition.priority.name}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.ctime"> + <h:outputText styleClass="headerText" value="Date Created" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="/alerts/Alerts.do"> + <f:param name="mode" value="viewAlert" /> + <f:param name="id" value="#{Resource.id}" /> + <f:param name="a" value="#{item.alert.id}" /> + <h:outputText value="#{item.alert.ctime}"> + <f:converter converterId="UserDateTimeConverter" /> + </h:outputText> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.alertDefinition.name"> + <h:outputText styleClass="headerText" value="Alert Definition" /> + </onc:sortableColumnHeader> + </f:facet> + + <h:outputLink value="/alerts/Config.do"> + <f:param name="mode" value="viewRoles" /> + <f:param name="id" value="#{Resource.id}"/> + <f:param name="ad" value="#{item.alert.alertDefinition.id}"/> + <h:outputText value="#{item.alert.alertDefinition.name}" /> + </h:outputLink> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Alert Condition" /> + </f:facet> + <h:outputText value="#{item.conditionText}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Actual Value" /> + </f:facet> + <h:outputText value="#{item.conditionValue}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Ack by" /> + </f:facet> + <h:outputText value="#{item.alert.acknowledgingSubject}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="a.acknowledgeTime"> + <h:outputText styleClass="headerText" value="Ack date" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.alert.acknowledgeTime}"> + <f:converter converterId="RelativeDurationConverter" /> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <h:outputText styleClass="headerText" value="Recovery Info" /> + </f:facet> + <h:outputText value="#{item.recoveryInfo}" /> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="9" width="100%"> + <onc:selectCommandButton action="#{ListAlertHistoryUIBean.deleteSelectedAlerts}" + value="DELETE SELECTED" target="selectedAlerts" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + <h:commandButton action="#{ListAlertHistoryUIBean.purgeAllAlerts}" + value="PURGE ALL" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + <onc:selectCommandButton action="#{ListAlertHistoryUIBean.acknowledgeSelectedAlerts}" + value="ACKNOWLEDGE SELECTED" target="selectedAlerts" styleClass="on-pager-button buttonsmall" + rendered="#{ResourceUIBean.permissions.alert}" /> + + + + <ui:param name="paginationDataTableName" value="alertHistoryDataTable"/> + <ui:param name="paginationDataModel" value="#{alertHistoryDataModel}"/> + <ui:param name="paginationPageControl" value="#{PageControl.AlertHistoryList}"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + <a4j:keepAlive beanName="ListAlertHistoryUIBean"/> + + </rich:panel> + </h:form> + + </ui:define> +</ui:composition>
commit 0245ea3ea921514be30422fa5a6c62340f1a6736 Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:20:41 2010 -0400
implement "plain" scheme using iframed-facelets for unfinished resource > content tabs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index 8944436..bd39bfc 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -166,10 +166,6 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res alertsTab.updateSubTab("Definitions", AlertDefinitionsView.getResourceView(resource));
- contentTab.updateSubTab("Deployed", new FullHTMLPane("/rhq/resource/content/view-plain.xhtml?id=" + resource.getId())); - contentTab.updateSubTab("New", new FullHTMLPane("/rhq/resource/content/deploy-plain.xhtml?id=" + resource.getId())); - contentTab.updateSubTab("Subscriptions", new FullHTMLPane("/rhq/resource/content/subscription-plain.xhtml?id=" + resource.getId())); - contentTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/content/history-plain.xhtml?id=" + resource.getId())); // comment out GWT-based view until... // 1) user can search event history by: metric display range, event source, event details, event severity // 2) user can delete events if they possess the appropriate permissions @@ -177,6 +173,14 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res eventsTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/events/history-plain.xhtml?id=" + resource.getId()));
+ contentTab.updateSubTab("Deployed", new FullHTMLPane("/rhq/resource/content/view-plain.xhtml?id=" + + resource.getId())); + contentTab.updateSubTab("New", new FullHTMLPane("/rhq/resource/content/deploy-plain.xhtml?id=" + + resource.getId())); + contentTab.updateSubTab("Subscriptions", new FullHTMLPane("/rhq/resource/content/subscription-plain.xhtml?id=" + + resource.getId())); + contentTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/content/history-plain.xhtml?id=" + + resource.getId()));
// topTabSet.setSelectedTab(selectedTab);
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/deploy-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/deploy-plain.xhtml index ef85b15..28cc396 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/deploy-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/deploy-plain.xhtml @@ -1,34 +1,27 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head> -<body> + <ui:define name="content">
<h:form id="currentPackageVersionsForm"> <input type="hidden" name="id" value="${param.id}"/>
<rich:panel styleClass="BlockContent"> - <f:facet name="header"><h:outputText value="Packages Eligible for Deployment"/></f:facet>
<p>The following packages were found from the repositories currently subscribed to by this resource. In order to enable more existing packages for deployment, use the subscriptions sub-tab to subscribe this resource to more repositories.</p>
- <a4j:keepAlive beanName="ResourcePackageVersionsUIBean"/> + <a4j:keepAlive beanName="ResourcePackageVersionsUIBean"/>
<ui:param name="resourcePackageVersionsDataModel" value="#{ResourcePackageVersionsUIBean.dataModel}"/> <rich:dataTable id="resourcePackageVersionsDataTable" @@ -37,7 +30,7 @@ var="item" width="100%" columnsWidth="1%, 15%, 10%, 10%, 10%, 54%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -113,7 +106,7 @@ value="DEPLOY SELECTED" target="selectedPackages" styleClass="on-pager-button buttonsmall" rendered="${ResourceUIBean.permissions.content}"/>
- <ui:include src="/rhq/resource/include/pagination.xhtml"> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"> <ui:param name="paginationDataTableName" value="resourcePackageVersionsDataTable"/> <ui:param name="paginationDataModel" value="#{resourcePackageVersionsDataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.ResourcePackageVersionsList}"/> @@ -144,5 +137,5 @@ </rich:panel>
</h:form> -</body> -</html> + </ui:define> +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/history-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/history-plain.xhtml index 01ae31c..a237c26 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/history-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/history-plain.xhtml @@ -24,7 +24,7 @@ <h:form id="contentaRequestsForm"> <input type="hidden" name="id" value="${param.id}"/>
-rich:panel +<rich:panel styleClass="BlockContent"> <f:facet name="header"><h:outputText value="Currently Executing Requests"/></f:facet>
<i><h:outputText value="There are no currently executing content requests" @@ -37,7 +37,7 @@ var="item" width="100%" columnsWidth="16%, 17%, 16%, 16%, 16%, 16%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -124,7 +124,7 @@ <ui:param name="paginationDataTableName" value="contentInProgressRequestsDataTable"/> <ui:param name="paginationDataModel" value="#{ListInProgressContentRequestsUIBean.dataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.ContentInProgressRequestsList}"/> - <ui:include src="../include/pagination.xhtml"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> </rich:column> </rich:columnGroup> </f:facet> @@ -134,13 +134,12 @@
</rich:panel>
-rich:panel +<rich:panel styleClass="BlockContent"> <f:facet name="header"><h:outputText value="Completed Requests"/></f:facet>
<i><h:outputText value="There are no completed content requests" rendered="#{ListCompletedContentRequestsUIBean.dataModel.rowCount eq 0}"/></i>
- <rich:dataTable rendered="#{ListCompletedContentRequestsUIBean.dataModel.rowCount gt 0}" binding="#{ListCompletedContentRequestsUIBean.dataTable}" id="contentCompletedRequestsDataTable" @@ -149,7 +148,7 @@ var="item" width="100%" columnsWidth="16%, 17%, 16%, 16%, 16%, 16%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -236,18 +235,16 @@ <ui:param name="paginationDataTableName" value="contentCompletedRequestsDataTable"/> <ui:param name="paginationDataModel" value="#{ListCompletedContentRequestsUIBean.dataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.ContentCompletedRequestsList}"/> - <ui:include src="../include/pagination.xhtml"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> </rich:column> </rich:columnGroup> </f:facet>
</rich:dataTable> - - </rich:panel>
-rich:panel +<rich:panel styleClass="BlockContent"> <f:facet name="header"><h:outputText value="Full Package Audit Trail"/></f:facet>
<p>The following is a complete listing of all of the package operations that have occurred on this resource. @@ -266,7 +263,7 @@ var="item" width="100%" columnsWidth="20%, 20%, 20%, 10%, 20%, 10%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -346,15 +343,13 @@ <ui:param name="paginationDataTableName" value="auditTrailDataTable"/> <ui:param name="paginationDataModel" value="#{AuditTrailUIBean.dataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.AuditTrailList}"/> - <ui:include src="../include/pagination.xhtml"/> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"/> </rich:column> </rich:columnGroup> </f:facet>
- </rich:dataTable>
- </rich:panel>
</h:form> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/installed_package_details-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/installed_package_details-plain.xhtml index cf93350..61d62b0 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/installed_package_details-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/installed_package_details-plain.xhtml @@ -1,24 +1,16 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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:rich="http://richfaces.ajax4jsf.org/rich" - xmlns:a4j="http://richfaces.org/a4j%22%3E - - + 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
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head> -<body> + <ui:define name="content">
<a4j:keepAlive beanName="ListPackageHistoryUIBean"/>
@@ -73,7 +65,6 @@ var="item" width="100%" columnsWidth="20%, 20%, 20%, 20%, 20%" - headerClass="tableRowHeader" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -153,5 +144,5 @@ <h:outputLink value="/rhq/resource/content/view-plain.xhtml?id=#{param.id}"> <h:outputText value="Return to Packages"/> </h:outputLink> -</body> -</html> + </ui:define> +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/subscription-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/subscription-plain.xhtml index c5fb200..c5e970d 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/subscription-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/subscription-plain.xhtml @@ -1,30 +1,24 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head> -<body> + <ui:define name="content"> + <!-- CURRENT REPOS --> <h:form id="currentRepoForm"> <input type="hidden" name="id" value="${param.id}"/>
<rich:panel styleClass="BlockContent"> <f:facet name="header"><h:outputText value="Current Resource Subscriptions"/></f:facet> - <a4j:keepAlive beanName="ResourceReposUIBean"/> + <a4j:keepAlive beanName="ResourceReposUIBean"/>
<ui:param name="resourceReposDataModel" value="#{ResourceReposUIBean.dataModel}"/> <rich:dataTable id="resourceReposDataTable" @@ -33,7 +27,7 @@ var="item" width="100%" columnsWidth="1%, 25%, 40%, 5%, 15%, 15%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -115,7 +109,7 @@ styleClass="on-pager-button buttonsmall" rendered="${GlobalPermissionsUIBean.inventory}"/>
- <ui:include src="/rhq/resource/include/pagination.xhtml"> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"> <ui:param name="paginationDataTableName" value="resourceReposDataTable"/> <ui:param name="paginationDataModel" value="#{resourceReposDataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.ResourceReposList}"/> @@ -137,7 +131,7 @@ <rich:panel styleClass="BlockContent"> <f:facet name="header"><h:outputText value="Available Repositories"/></f:facet>
- <a4j:keepAlive beanName="AvailableResourceReposUIBean"/> + <a4j:keepAlive beanName="AvailableResourceReposUIBean"/>
<ui:param name="availableResourceReposDataModel" value="#{AvailableResourceReposUIBean.dataModel}"/> <rich:dataTable id="availableResourceReposDataTable" @@ -146,7 +140,7 @@ var="item" width="100%" columnsWidth="1%, 25%, 40%, 5%, 15%, 15%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -228,7 +222,7 @@ styleClass="on-pager-button buttonsmall" rendered="${GlobalPermissionsUIBean.inventory}"/>
- <ui:include src="/rhq/resource/include/pagination.xhtml"> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"> <ui:param name="paginationDataTableName" value="availableResourceReposDataTable"/> <ui:param name="paginationDataModel" value="#{availableResourceReposDataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.AvailableResourceReposList}"/> @@ -254,6 +248,5 @@
</h:form>
-</body> - -</html> + </ui:define> +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/view-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/view-plain.xhtml index 918c3ce..7ff59f3 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/view-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/content/view-plain.xhtml @@ -1,41 +1,28 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head> -<body> + <ui:define name="content"> + <!-- Content Table -->
<h:form id="contentForm"> <input type="hidden" name="id" value="${param.id}"/> <rich:panel styleClass="BlockContent">
- - <f:facet name="header"><h:outputText value="Deployed Content"/></f:facet> - - <a4j:log level="debug" width="400"/> - - <h:panelGrid columns="3" width="100%"> <h:panelGroup> <h:outputText value="Filter: " /> <h:inputText id="search" value="#{ListPackagesUIBean.search}"> <a4j:support event="onchange" - status="commonStatus" reRender="packagesDataTable, packagesDataTableScroller" actionListener="#{ListPackagesUIBean.clearDataModel}"/> </h:inputText> @@ -46,7 +33,6 @@ <h:selectOneMenu id="packageTypeFilter" value="#{ListPackagesUIBean.packageTypeFilter}"> <a4j:support event="onchange" - status="commonStatus" reRender="packagesDataTable, packagesDataTableScroller" actionListener="#{ListPackagesUIBean.clearDataModel}"/> <f:selectItems value="#{ListPackagesUIBean.packageTypes}" /> @@ -58,7 +44,6 @@ <h:selectOneMenu id="packageVersionFilter" value="#{ListPackagesUIBean.packageVersionFilter}"> <a4j:support event="onchange" - status="commonStatus" reRender="packagesDataTable, packagesDataTableScroller" actionListener="#{ListPackagesUIBean.clearDataModel}"/> <f:selectItems value="#{ListPackagesUIBean.packageVersions}" /> @@ -66,9 +51,9 @@ </h:panelGroup>
</h:panelGrid> + <br/>
- <a4j:keepAlive beanName="ListPackagesUIBean"/> - + <a4j:keepAlive beanName="ListPackagesUIBean"/>
<ui:param name="packagesDataModel" value="#{ListPackagesUIBean.dataModel}"/> <rich:dataTable id="packagesDataTable" @@ -77,7 +62,7 @@ var="item" width="100%" columnsWidth="1%, 35%, 30%, 15%, 19%" - headerClass="tableRowHeader" + styleClass="resources-table" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -153,7 +138,7 @@ <onc:selectCommandButton action="#{DeletePackagesUIBean.beginDeleteWorkflow}" value="DELETE SELECTED" target="selectedPackages" styleClass="on-pager-button buttonsmall"/>
- <ui:include src="../include/pagination.xhtml"> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"> <ui:param name="paginationDataTableName" value="packagesDataTable"/> <ui:param name="paginationDataModel" value="#{packagesDataModel}"/> <ui:param name="paginationPageControl" value="#{PageControl.InstalledPackagesList}"/> @@ -166,5 +151,5 @@
</rich:panel> </h:form> -</body> -</html> + </ui:define> +</ui:composition>
commit 6c658cc0dbcff6b9090e71d05349e5b71e170fcd Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:19:59 2010 -0400
implement "plain" scheme using iframed-facelets for unfinished resource > events tabs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index 63e34e8..8944436 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -165,12 +165,17 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res alertsTab.updateSubTab("History", new ResourceAlertHistoryView(resource.getId())); alertsTab.updateSubTab("Definitions", AlertDefinitionsView.getResourceView(resource));
- eventsTab.updateSubTab("History", EventHistoryView.createResourceHistoryView(resource.getId())); //new FullHTMLPane("/rhq/common/events/history-plain.xhtml?id=" + resource.getId()));
contentTab.updateSubTab("Deployed", new FullHTMLPane("/rhq/resource/content/view-plain.xhtml?id=" + resource.getId())); contentTab.updateSubTab("New", new FullHTMLPane("/rhq/resource/content/deploy-plain.xhtml?id=" + resource.getId())); contentTab.updateSubTab("Subscriptions", new FullHTMLPane("/rhq/resource/content/subscription-plain.xhtml?id=" + resource.getId())); contentTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/content/history-plain.xhtml?id=" + resource.getId())); + // comment out GWT-based view until... + // 1) user can search event history by: metric display range, event source, event details, event severity + // 2) user can delete events if they possess the appropriate permissions + //eventsTab.updateSubTab("History", EventHistoryView.createResourceHistoryView(resource.getId())); + eventsTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/events/history-plain.xhtml?id=" + + resource.getId()));
// topTabSet.setSelectedTab(selectedTab); diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/events/history-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/events/history-plain.xhtml index fc68398..21bbc81 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/events/history-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/events/history-plain.xhtml @@ -1,5 +1,5 @@ - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition + 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" @@ -10,11 +10,6 @@ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css" /> -</head> -<body> - <h:form id="eventHistoryForm" >
<a4j:keepAlive beanName="EventHistoryUIBean"/> @@ -36,16 +31,12 @@ </c:if>
<rich:panel styleClass="BlockContent"> - <f:facet name="header"> - <h:outputText value="Events" /> - </f:facet>
<h:panelGrid columns="3" cellspacing="3"> <h:outputLabel for="sourceFilter" value="Source Filter: " /> <h:inputText id="sourceFilter" value="#{EventHistoryUIBean.sourceFilter}" style="width: 300px;"> <a4j:support event="onchange" - status="commonStatus" reRender="eventHistoryDataTable, eventHistoryDataTableScroller" actionListener="#{EventHistoryUIBean.clearDataModel}" /> </h:inputText> @@ -56,7 +47,6 @@ onkeypress="return ignoreEnterKey(event);" style="width: 300px;" /> <a4j:support event="onchange" - status="commonStatus" reRender="eventHistoryDataTable, eventHistoryDataTableScroller" actionListener="#{EventHistoryUIBean.clearDataModel}" /> rich:spacer/ @@ -65,7 +55,6 @@ <h:selectManyCheckbox id="severityFilter" value="#{EventHistoryUIBean.severityFilter}" style="width: 300px;"> <a4j:support event="onchange" - status="commonStatus" reRender="eventHistoryDataTable,eventHistoryDataTableScroller" actionListener="#{EventHistoryUIBean.clearDataModel}" />
@@ -73,7 +62,6 @@ </h:selectManyCheckbox>
<a4j:commandButton value="GO" - status="commonStatus" reRender="eventHistoryDataTable,eventHistoryDataTableScroller" actionListener="#{EventHistoryUIBean.clearDataModel}" styleClass="buttonmed"> @@ -91,7 +79,6 @@ var="item" width="100%" styleClass="resources-table" - headerClass="tableRowHeader" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -178,7 +165,7 @@ <ui:param name="paginationDataTableName" value="eventHistoryDataTable" /> <ui:param name="paginationDataModel" value="#{eventHistoryDataModel}" /> <ui:param name="paginationPageControl" value="#{PageControl.EventsHistoryList}" /> - <ui:include src="/rhq/resource/include/pagination.xhtml" /> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml" /> </rich:column> </rich:columnGroup> </f:facet> @@ -252,6 +239,4 @@ </rich:modalPanel> </h:form>
-</body> -</html> - +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/events/history-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/events/history-plain.xhtml new file mode 100644 index 0000000..4cc4ca4 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/events/history-plain.xhtml @@ -0,0 +1,20 @@ +<ui:composition template="/rhq/resource/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:include src="/rhq/common/events/history-plain.xhtml"/> + + </ui:define> + +</ui:composition> +
commit 74ac7e6a4910b36c67e211350d2a84e3ba6c80ff Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:19:04 2010 -0400
implement "plain" scheme using iframed-facelets for unfinished resource > monitor tabs
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index e4cec95..63e34e8 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -143,12 +143,16 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res + resource.getId()));
monitoringTab.updateSubTab("Graphs", new GraphListView(resource)); // new FullHTMLPane("/rhq/common/monitor/graphs.xhtml?id=" + resource.getId())); - monitoringTab.updateSubTab("Tables", new FullHTMLPane("/rhq/common/monitor/tables-plain.xhtml?id=" + resource.getId())); - monitoringTab.updateSubTab("Traits", new FullHTMLPane("/rhq/resource/monitor/traits-plain.xhtml?id=" + resource.getId())); - monitoringTab.updateSubTab("Availability", new FullHTMLPane("/rhq/resource/monitor/availabilityHistory-plain.xhtml?id=" + resource.getId())); - monitoringTab.updateSubTab("Schedules", new FullHTMLPane("/rhq/resource/monitor/schedules-plain.xhtml?id=" + resource.getId())); - monitoringTab.updateSubTab("Call Time", new CallTimeView(resource)); - + monitoringTab.updateSubTab("Tables", new FullHTMLPane("/rhq/common/monitor/tables-plain.xhtml?id=" + + resource.getId())); + monitoringTab.updateSubTab("Traits", new FullHTMLPane("/rhq/resource/monitor/traits-plain.xhtml?id=" + + resource.getId())); + monitoringTab.updateSubTab("Availability", new FullHTMLPane( + "/rhq/resource/monitor/availabilityHistory-plain.xhtml?id=" + resource.getId())); + monitoringTab.updateSubTab("Schedules", new FullHTMLPane("/rhq/resource/monitor/schedules-plain.xhtml?id=" + + resource.getId())); + monitoringTab.updateSubTab("Call Time", new FullHTMLPane("/rhq/resource/monitor/response-plain.xhtml?id=" + + resource.getId()));
inventoryTab.updateSubTab("Children", ResourceSearchView.getChildrenOf(resource.getId())); inventoryTab.updateSubTab("Connection Settings", new PluginConfigurationEditView(resource)); // new ConfigurationEditor(resource.getId(), resource.getResourceType().getId(), ConfigurationEditor.ConfigType.plugin)); diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/response-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/response-plain.xhtml new file mode 100644 index 0000000..aa6576f --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/response-plain.xhtml @@ -0,0 +1,173 @@ +<ui:composition template="/rhq/resource/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"> + + <rich:panel styleClass="BlockContent"> + + <c:if test="#{!ResourceUIBean.facets.callTime}"> + <c:if test="#{CallTimeUIBean.context.resourceId != -1}"> + Response Time Metrics are not supported for this resource. + </c:if> + <c:if test="#{CallTimeUIBean.context.groupId != -1}"> + Response Time Metrics are not supported for this compatible group. + </c:if> + <c:if test="#{CallTimeUIBean.context.parentResourceId != -1 and CallTimeUIBean.context.resourceTypeId != -1}"> + Response Time Metrics are not supported for this auto-group. + </c:if> + + </c:if> + + <c:if test="#{ResourceUIBean.facets.callTime}"> + <h:form id="callTimeForm"> + <a4j:keepAlive beanName="CallTimeUIBean"/> + + <!-- On submit make sure these are provided for the context of any new instance of the UI beans --> + <c:if test="#{CallTimeUIBean.context.resourceId != -1}"> + <input type="hidden" name="id" value="#{CallTimeUIBean.context.resourceId}" /> + </c:if> + <c:if test="#{CallTimeUIBean.context.groupId != -1}"> + <input type="hidden" name="groupId" value="#{CallTimeUIBean.context.groupId}" /> + </c:if> + <c:if + test="#{CallTimeUIBean.context.parentResourceId != -1}"> + <input type="hidden" name="parent" value="#{CallTimeUIBean.context.parentResourceId}" /> + </c:if> + <c:if test="#{CallTimeUIBean.context.resourceTypeId != -1}"> + <input type="hidden" name="type" value="#{CallTimeUIBean.context.resourceTypeId}" /> + </c:if> + + <h:panelGrid columns="3" cellspacing="3"> + <h:outputLabel for="destinationFilter" value="Destination Filter: " /> + <h:inputText id="destinationFilter" value="#{CallTimeUIBean.destinationFilter}" + onkeypress="return ignoreEnterKey(event);" + style="width: 300px;" /> + <a4j:commandButton value="GO" reRender="callTimeDataTable, callTimeDataTableScroller" + actionListener="#{CallTimeUIBean.clearDataModel}" + styleClass="buttonmed"> + <s:defaultAction/> + </a4j:commandButton> + </h:panelGrid> + + <ui:param name="callTimeDataModel" value="#{CallTimeUIBean.dataModel}" /> + <rich:dataTable id="callTimeDataTable" + value="#{callTimeDataModel}" + rows="#{PageControl.CallTimeHistory.pageSize}" + var="item" + width="100%" + 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="CallTimeHistory" /> + </f:facet> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="calltimedatavalue.key.callDestination"> + <h:outputText value="Destination" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{onf:elideString(item.callDestination, 50, 'left')}" title="#{item.callDestination}"/> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="SUM(calltimedatavalue.count)"> + <h:outputText value="Request Count" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.count}" /> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="MIN(calltimedatavalue.minimum)"> + <h:outputText value="Minimum" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.minimum}"> + <f:converter converterId="ShortDurationConverter"/> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="SUM(calltimedatavalue.total)/SUM(calltimedatavalue.count)"> + <h:outputText value="Average" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.average}"> + <f:converter converterId="ShortDurationConverter"/> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="MAX(calltimedatavalue.maximum)"> + <h:outputText value="Maximum" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.maximum}"> + <f:converter converterId="ShortDurationConverter"/> + </h:outputText> + </rich:column> + + rich:column + <f:facet name="header"> + <onc:sortableColumnHeader sort="SUM(calltimedatavalue.total)"> + <h:outputText value="Total" /> + </onc:sortableColumnHeader> + </f:facet> + <h:outputText value="#{item.total}"> + <f:converter converterId="ShortDurationConverter"/> + </h:outputText> + </rich:column> + + <f:facet name="footer"> + rich:columnGroup + <rich:column colspan="6" width="100%"> + <ui:param name="paginationDataTableName" value="callTimeDataTable" /> + <ui:param name="paginationDataModel" value="#{callTimeDataModel}" /> + <ui:param name="paginationPageControl" value="#{PageControl.CallTimeHistory}" /> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml" /> + </rich:column> + </rich:columnGroup> + </f:facet> + + </rich:dataTable> + + <table> + <tr> + <td><onc:metric optionList="m,h,d" /></td> + <td> + <h:commandLink rendered="#{not MetricComponentUtilityUIBean.readOnly}" + action="#{MetricComponentUtilityUIBean.update}" > + <img src="/images/dash-button_go-arrow.gif" alt="Apply Metric Settings "/> + </h:commandLink> + <h:commandLink rendered="#{MetricComponentUtilityUIBean.readOnly}" + action="#{MetricComponentUtilityUIBean.switchToSimpleMode}"> + <h:outputText value="Switch to Simple Mode" /> + </h:commandLink> + </td> + </tr> + </table> + + </h:form> + </c:if> + + </rich:panel> + + </ui:define> +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/tables-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/tables-plain.xhtml index b75b9b2..b6664e3 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/tables-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/monitor/tables-plain.xhtml @@ -1,28 +1,19 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html 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:a4j="https://ajax4jsf.dev.java.net/ajax" - xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E - -ui:composition +<ui:composition template="/rhq/resource/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">
<rich:panel styleClass="BlockContent">
- <f:facet name="header" styleClass="BlockTitle"> - <a name="Numeric Metrics" /> - Numeric Metrics - </f:facet> - <h:form id="metricsTableForm"> <!-- On submit make sure these are provided for the context of any new instance of the UI beans --> <c:if test="#{MetricsTableUIBean.context.resourceId != -1}"> @@ -43,11 +34,12 @@ value="#{MetricsTableUIBean.context.resourceTypeId}" /> </c:if>
- <rich:dataTable value="#{MetricsTableUIBean.metricSummaries}" width="100%" var="metric" - columnsWidth="1%" + columnsWidth="1%,40%,12%,12%,12%,12%,12%" + styleClass="resources-table" + footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
@@ -159,10 +151,10 @@ </td> </tr> </table> + </h:form>
</rich:panel>
-</ui:composition> - -</html> + </ui:define> +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/availabilityHistory-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/availabilityHistory-plain.xhtml index 545e523..27f9d7a 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/availabilityHistory-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/availabilityHistory-plain.xhtml @@ -1,29 +1,16 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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">
-<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head> - -<body> - <f:facet name="header" styleClass="BlockTitle"> - <a name="AvailabilityHistory"/> - Availability History - </f:facet> - + <ui:define name="content">
<h:panelGroup layout="block" rendered="#{ListAvailabilityHistoryUIBean.dataModel.rowCount == 0}"> This resource does not currently have any availability history. @@ -135,8 +122,7 @@ rendered="#{availability.availabilityType == 'DOWN'}"/> <h:graphicImage value="/images/icons/availability_grey_16.png" alt="Unknown" title="Unknown" rendered="#{availability.availabilityType == null}"/> - - <h:outputText value="#{availability.availabilityType}"/> + <h:outputText value=" #{availability.availabilityType}"/> </rich:column>
<rich:column @@ -181,7 +167,7 @@ <rich:columnGroup> <rich:column colspan="4">
- <ui:include src="../include/pagination.xhtml"> + <ui:include src="/rhq/resource/include/pagination-plain.xhtml"> <ui:param name="paginationDataTableName" value="availabilityHistoryDataTable"/> <ui:param name="paginationDataModel" value="#{availabilityHistoryDataModel}"/> <ui:param name="paginationPageControl" @@ -195,6 +181,7 @@
</h:form> </rich:panel> -</body>
-</html> + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/response-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/response-plain.xhtml new file mode 100644 index 0000000..e19932a --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/response-plain.xhtml @@ -0,0 +1,14 @@ +<ui:composition + 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:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:rich="http://richfaces.ajax4jsf.org/rich"> + + <ui:include src="/rhq/common/monitor/response-plain.xhtml" /> + +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/schedules-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/schedules-plain.xhtml index a9d1ab3..8854225 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/schedules-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/schedules-plain.xhtml @@ -1,10 +1,5 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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" @@ -14,13 +9,13 @@ xmlns:s="http://jboss.com/products/seam/taglib" xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:rich="http://richfaces.ajax4jsf.org/rich"> -<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head>
-<body> - <h:outputText rendered="#{not ResourceUIBean.permissions.measure}" value="You don't have the measure permission for this resource and therefore can not change metric schedules"/> + <ui:define name="content">
+ <rich:panel styleClass="BlockContent"> + + <h:outputText rendered="#{not ResourceUIBean.permissions.measure}" + value="You don't have the measure permission for this resource and therefore can not change metric schedules"/>
<h:form id="resourceSchedulesForm"> <!-- hack to override the default button on the page, make this button pseudo-first in the form, @@ -33,13 +28,6 @@ rendered="#{ResourceUIBean.permissions.measure}" /> </div> <input type="hidden" name="id" value="${param.id}"/> - - <rich:panel styleClass="BlockContent"> - <f:facet name="header"> - <h:outputText value="Configure Metric Collection Schedules"/> - </f:facet> - - <h:panelGrid columns="1" styleClass="data-table">
<ui:param name="resourceSchedulesDataModel" value="#{ListResourceMeasurementScheduleUIBean.dataModel}"/> <rich:dataTable id="resourceSchedulesDataTable" @@ -49,7 +37,6 @@ width="100%" columnsWidth="1%, 20%, 30%, 20%, 9%, 20%" styleClass="resources-table" - headerClass="tableRowHeader" footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> @@ -163,10 +150,9 @@ </f:facet>
</rich:dataTable> - - </h:panelGrid> - - </rich:panel> </h:form> -</body> -</html> + + </rich:panel> + + </ui:define> +</ui:composition> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/traits-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/traits-plain.xhtml index 9038116..61a1014 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/traits-plain.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/monitor/traits-plain.xhtml @@ -1,30 +1,19 @@ -<?xml version="1.0"?> - -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" +<ui:composition template="/rhq/resource/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"> -<head> - <link rel="stylesheet" href="/css/win.css" type="text/css"/> -</head>
-<body> + <ui:define name="content"> + <rich:panel styleClass="BlockContent">
- <f:facet name="header" styleClass="BlockTitle"> - <a name="Traits"/> - Traits - </f:facet> - <rich:dataTable value="#{ResourceMetricsTableUIBean.traitSummaries}" width="100%" var="metric" @@ -80,6 +69,8 @@ <rich:dataTable value="#{ResourceMetricsTableUIBean.traitHistory}" width="100%" var="history" + styleClass="resources-table" + footerClass="on-pager-footer" onRowMouseOver="this.style.backgroundColor='#E7E7E7'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
@@ -101,5 +92,5 @@ </rich:dataTable>
</rich:panel> -</body> -</html> + </ui:define> +</ui:composition> diff --git a/modules/enterprise/server/plugins/perspectives/core/perspective/src/main/resources/META-INF/rhq-serverplugin.xml b/modules/enterprise/server/plugins/perspectives/core/perspective/src/main/resources/META-INF/rhq-serverplugin.xml index b3079dd..0ea6e12 100644 --- a/modules/enterprise/server/plugins/perspectives/core/perspective/src/main/resources/META-INF/rhq-serverplugin.xml +++ b/modules/enterprise/server/plugins/perspectives/core/perspective/src/main/resources/META-INF/rhq-serverplugin.xml @@ -759,10 +759,6 @@ <position name="Monitor.Schedules" placement="after" /> - <activators> - <facet - name="call_time" /> - </activators> </tab>
<!-- Inventory Subtabs -->
commit 8ff2464dbb943f9e87f7ad57d0dd87b53c2d94fb Author: Joseph Marques <joseph@redhat.com> Date: Wed Aug 11 07:15:25 2010 -0400
reformat, cosmetic
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java index 7415ba7..e4cec95 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java @@ -32,9 +32,7 @@ import org.rhq.core.domain.resource.ResourceType; import org.rhq.core.domain.resource.composite.ResourcePermission; import org.rhq.enterprise.gui.coregui.client.BookmarkableView; import org.rhq.enterprise.gui.coregui.client.CoreGUI; -import org.rhq.enterprise.gui.coregui.client.ViewId; import org.rhq.enterprise.gui.coregui.client.ViewPath; -import org.rhq.enterprise.gui.coregui.client.alert.definitions.AlertDefinitionsView; import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane; import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTab; import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSelectedEvent; @@ -43,14 +41,10 @@ import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSet; import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSelectListener; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.alert.ResourceAlertHistoryView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration.ConfigurationHistoryView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration.ResourceConfigurationEditView; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.event.EventHistoryView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.inventory.PluginConfigurationEditView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.GraphListView; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.calltime.CallTimeView; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.OperationHistoryView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.overview.ResourceOverviewView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
@@ -59,7 +53,8 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp * * @author Greg Hinkle */ -public class ResourceDetailView extends VLayout implements BookmarkableView, ResourceSelectListener, TwoLevelTabSelectedHandler { +public class ResourceDetailView extends VLayout implements BookmarkableView, ResourceSelectListener, + TwoLevelTabSelectedHandler {
private static final String DEFAULT_TAB_NAME = "Summary";
@@ -80,7 +75,6 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res
private ResourceTitleBar titleBar;
- public void setResource(Resource resource) { this.resource = resource; } @@ -92,7 +86,6 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res setWidth100(); setHeight100();
- // The Tabs section
topTabSet = new TwoLevelTabSet(); @@ -126,8 +119,8 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res contentTab = new TwoLevelTab("Content", "/images/icons/Content_grey_16.png"); contentTab.registerSubTabs("Deployed", "New", "Subscriptions", "History");
- topTabSet.setTabs(summaryTab, monitoringTab, inventoryTab, operationsTab, alertsTab, configurationTab, eventsTab, contentTab); - + topTabSet.setTabs(summaryTab, monitoringTab, inventoryTab, operationsTab, alertsTab, configurationTab, + eventsTab, contentTab);
topTabSet.addTwoLevelTabSelectedHandler(this);
@@ -136,7 +129,7 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res
addMember(topTabSet);
-// CoreGUI.addBreadCrumb(getPlace()); + // CoreGUI.addBreadCrumb(getPlace()); }
public void onResourceSelected(Resource resource) { @@ -144,11 +137,10 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res this.resource = resource;
titleBar.setResource(resource); - - FullHTMLPane timelinePane = new FullHTMLPane("/rhq/resource/summary/timeline-plain.xhtml?id=" + resource.getId()); - summaryTab.updateSubTab("Overview", new ResourceOverviewView(resource)); - summaryTab.updateSubTab("Timeline", timelinePane);
+ summaryTab.updateSubTab("Overview", new ResourceOverviewView(resource)); + summaryTab.updateSubTab("Timeline", new FullHTMLPane("/rhq/resource/summary/timeline-plain.xhtml?id=" + + resource.getId()));
monitoringTab.updateSubTab("Graphs", new GraphListView(resource)); // new FullHTMLPane("/rhq/common/monitor/graphs.xhtml?id=" + resource.getId())); monitoringTab.updateSubTab("Tables", new FullHTMLPane("/rhq/common/monitor/tables-plain.xhtml?id=" + resource.getId())); @@ -177,45 +169,42 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res contentTab.updateSubTab("History", new FullHTMLPane("/rhq/resource/content/history-plain.xhtml?id=" + resource.getId()));
-// topTabSet.setSelectedTab(selectedTab); + // topTabSet.setSelectedTab(selectedTab);
updateTabStatus();
topTabSet.markForRedraw(); }
- private void updateTabStatus() { // Go and get the type with all needed metadata // and then get the permissions for this resource
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(resource.getResourceType().getId(), - EnumSet.of(ResourceTypeRepository.MetadataType.content, - ResourceTypeRepository.MetadataType.operations, - ResourceTypeRepository.MetadataType.events, - ResourceTypeRepository.MetadataType.resourceConfigurationDefinition), - new ResourceTypeRepository.TypeLoadedCallback() { - public void onTypesLoaded(ResourceType type) { - - ResourceDetailView.this.type = type; - - GWTServiceLookup.getAuthorizationService(). - getImplicitResourcePermissions(ResourceDetailView.this.resource.getId(), - new AsyncCallback<Set<Permission>>() { - public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError("Failed to load resource permissions", caught); - } - - public void onSuccess(Set<Permission> result) { - ResourceDetailView.this.permissions = new ResourcePermission(result); - completeTabUpdate(); - } - }); - } - }); + ResourceTypeRepository.Cache.getInstance().getResourceTypes( + resource.getResourceType().getId(), + EnumSet.of(ResourceTypeRepository.MetadataType.content, ResourceTypeRepository.MetadataType.operations, + ResourceTypeRepository.MetadataType.events, + ResourceTypeRepository.MetadataType.resourceConfigurationDefinition), + new ResourceTypeRepository.TypeLoadedCallback() { + public void onTypesLoaded(ResourceType type) { + + ResourceDetailView.this.type = type; + + GWTServiceLookup.getAuthorizationService().getImplicitResourcePermissions( + ResourceDetailView.this.resource.getId(), new AsyncCallback<Set<Permission>>() { + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError("Failed to load resource permissions", caught); + } + + public void onSuccess(Set<Permission> result) { + ResourceDetailView.this.permissions = new ResourcePermission(result); + completeTabUpdate(); + } + }); + } + }); }
- private void completeTabUpdate() {
if (!permissions.isMeasure()) { @@ -224,13 +213,13 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res topTabSet.enableTab(monitoringTab); }
- if (type.getOperationDefinitions() == null || type.getOperationDefinitions().isEmpty() || !permissions.isControl()) { + if (type.getOperationDefinitions() == null || type.getOperationDefinitions().isEmpty() + || !permissions.isControl()) { topTabSet.disableTab(operationsTab); } else { topTabSet.enableTab(operationsTab); }
- if (!permissions.isAlert()) { topTabSet.disableTab(alertsTab); } else { @@ -255,14 +244,12 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res topTabSet.enableTab(contentTab); }
- if (topTabSet.getSelectedTab().getDisabled()) { topTabSet.selectTab(0); }
}
- public void onTabSelected(TwoLevelTabSelectedEvent tabSelectedEvent) { // Switch tabs directly, rather than letting the history framework do it, to avoid redrawing the outer views. selectTab(tabSelectedEvent.getId(), tabSelectedEvent.getSubTabId()); @@ -273,24 +260,22 @@ public class ResourceDetailView extends VLayout implements BookmarkableView, Res History.newItem(path, false); }
- public void renderView(ViewPath viewPath) { // e.g. #Resource/10010/Inventory/Overview - String tabName = (!viewPath.isEnd()) ? viewPath.getCurrent().getPath() : null; // e.g. "Inventory" + String tabName = (!viewPath.isEnd()) ? viewPath.getCurrent().getPath() : null; // e.g. "Inventory" String subTabName = (viewPath.viewsLeft() >= 1) ? viewPath.getNext().getPath() : null; // e.g. "Overview" selectTab(tabName, subTabName); }
- public void selectTab(String tabName, String subtabName) { if (tabName == null) { tabName = DEFAULT_TAB_NAME; } - TwoLevelTab tab = (TwoLevelTab)this.topTabSet.getTabByTitle(tabName); + TwoLevelTab tab = (TwoLevelTab) this.topTabSet.getTabByTitle(tabName); if (tab == null) { CoreGUI.getErrorHandler().handleError("Invalid tab name: " + tabName); // TODO: Should we fire a history event here to redirect to a valid bookmark? - tab = (TwoLevelTab)this.topTabSet.getTabByTitle(DEFAULT_TAB_NAME); + tab = (TwoLevelTab) this.topTabSet.getTabByTitle(DEFAULT_TAB_NAME); } this.topTabSet.selectTab(tab); if (subtabName != null) {
commit e666b220a74d9784863570d292662fc5259781b1 Author: Joseph Marques <joseph@redhat.com> Date: Wed Aug 11 07:10:53 2010 -0400
prepare "plain" navigation scheme for iframed-facelets
* copy/paste entire XXX-navigation.xml file to XXX-plain-navigation.xml * search/replace *.xhtml with *-plain.xhtml inside each * do this for the follow resource subsystems: ** alerts, content, events, measurement, operations
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/alert-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/alert-plain-navigation.xml new file mode 100644 index 0000000..2bbef2d --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/alert-plain-navigation.xml @@ -0,0 +1,183 @@ +<?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"> + + <!-- Alert Definition List --> + <navigation-rule> + <from-view-id>/rhq/resource/alert/listAlertDefinitions-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/alert/listAlertDefinitions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>createNewAlertDefinition</from-outcome> + <to-view-id>/alerts/Config.do?id=#{param.id}&mode=new&nomenu=true</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/alert/listAlertDefinitions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Alert Templates List --> + <navigation-rule> + <from-view-id>/rhq/admin/listAlertTemplates-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/admin/listAlertTemplates-plain.xhtml?type=#{param.type}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>createNewAlertTemplate</from-outcome> + <to-view-id>/alerts/Config.do?type=#{param.type}&mode=new&nomenu=true</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/admin/listAlertTemplates-plain.xhtml?type=#{param.type}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Alert History List --> + <navigation-rule> + <from-view-id>/rhq/resource/alert/listAlertHistory-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>dateFilter</from-outcome> + <to-view-id>/rhq/resource/alert/listAlertHistory-plain.xhtml?id=#{param.id}&date=#{param.date}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/alert/listAlertHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/alert/listAlertHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- CRUD for alert notification templates --> + <navigation-rule> + <from-view-id>/rhq/admin/alert/template/notification/list-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>create</from-outcome> + <to-view-id>/rhq/admin/alert/template/notification/new-plain.xhtml</to-view-id> + + <redirect /> + </navigation-case> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/admin/alert/template/notification/list-plain.xhtml</to-view-id> + + <redirect /> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/admin/alert/template/notification/new-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/admin/alert/template/notification/details-plain.xhtml?mode=view&templateId=#{NewAlertNotificationTemplateUIBean.createdTemplateId}</to-view-id> + + <redirect /> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/admin/alert/template/notification/list-plain.xhtml</to-view-id> + + <redirect /> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/admin/alert/template/notification/details-plain.xhtml</from-view-id> + + <!-- navigation cases for CRUD of general properties --> + <navigation-case> + <from-action>#{AlertNotificationTemplateDetailsUIBean.edit}</from-action> + <to-view-id>/rhq/admin/alert/template/notification/details-plain.xhtml?mode=edit&templateId=#{param.templateId}</to-view-id> + + <redirect /> + </navigation-case> + + <navigation-case> + <from-action>#{AlertNotificationTemplateDetailsUIBean.save}</from-action> + <to-view-id>/rhq/admin/alert/template/notification/details-plain.xhtml?mode=view&templateId=#{param.templateId}</to-view-id> + + <redirect /> + </navigation-case> + + <navigation-case> + <from-action>#{AlertNotificationTemplateDetailsUIBean.cancel}</from-action> + <to-view-id>/rhq/admin/alert/template/notification/details-plain.xhtml?mode=view&templateId=#{param.templateId}</to-view-id> + + <redirect /> + </navigation-case> + + <!-- navigation case to go to the common page for editing alert notifications --> + <navigation-case> + <from-action>#{AlertNotificationTemplateDetailsUIBean.editNotifications}</from-action> + <to-view-id>/rhq/common/alert/notification/details-plain.xhtml?context=template&contextId=#{param.templateId}</to-view-id> + <redirect /> + </navigation-case> + + </navigation-rule> + + <!-- alert notifications and custom sender UI --> + <navigation-rule> + <from-view-id>/rhq/common/alert/notification/details-plain.xhtml</from-view-id> + + <!-- refresh *with* notification ID when: --> + <!-- 1) selecting an alert notification element from the table --> + <!-- 2) save alert notifications that use a configuration-based rendering schemes --> + <!-- 3) save alert notifications that use custom rendering schemes --> + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/common/alert/notification/details-plain.xhtml?context=#{param.context}&contextId=#{param.contextId}&contextSubId=#{param.contextSubId}&nid=#{alertNotificationsUIBean.activeNotification.id}</to-view-id> + + <redirect /> + </navigation-case> + + <!-- clicking remove button should refresh but deselect the active notification --> + <navigation-case> + <from-action>#{alertNotificationsUIBean.removeSelected}</from-action> + <to-view-id>/rhq/common/alert/notification/details-plain.xhtml?context=#{param.context}&contextId=#{param.contextId}&contextSubId=#{param.contextSubId}</to-view-id> + + <redirect /> + </navigation-case> + </navigation-rule> + +</faces-config> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/content-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/content-plain-navigation.xml new file mode 100644 index 0000000..14db2d7 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/content-plain-navigation.xml @@ -0,0 +1,491 @@ +<?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"> + + <navigation-rule> + <from-view-id>/rhq/resource/content/subscription-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/content/subscription-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-action>#{ResourceReposUIBean.deleteSelectedResourceRepos}</from-action> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/content/subscription-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-action>#{AvailableResourceReposUIBean.subscribeSelectedResourceRepos}</from-action> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/content/subscription-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/view-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/content/view-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + +<!-- + <navigation-case> + <from-action>#{ListPackagesUIBean.deleteSelectedInstalledPackages}</from-action> + <from-outcome>successOrFailure</from-outcome> + <to-view-id>/rhq/resource/content/history-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> +--> + + <navigation-case> + <from-action>#{DeletePackagesUIBean.beginDeleteWorkflow}</from-action> + <from-outcome>beginDeleteWorkflow</from-outcome> + <to-view-id>/rhq/resource/content/confirm-delete-plain.xhtml</to-view-id> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/deploy-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>uploadNew</from-outcome> + <to-view-id>/rhq/resource/content/create-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-action>#{CreateNewPackageUIBean.deployExisting}</from-action> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/content/confirm-create-plain.xhtml</to-view-id> + </navigation-case> + + </navigation-rule> + + + <navigation-rule> + <from-view-id>/rhq/resource/content/update-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>uploadNew</from-outcome> + <to-view-id>/rhq/resource/content/create-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-action>#{CreateNewPackageUIBean.deployExisting}</from-action> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/content/confirm-create-plain.xhtml</to-view-id> + </navigation-case> + + </navigation-rule> + + + + <navigation-rule> + <from-view-id>/rhq/resource/content/history-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>showContentServiceRequestDetails</from-outcome> + <to-view-id>/rhq/resource/content/history-request-plain.xhtml?id=#{param.id}&selectedRequestId=#{param.selectedRequestId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>showHistoryItem</from-outcome> + <to-view-id>/rhq/resource/content/audit-trail-item-plain.xhtml?id=#{param.id}&selectedHistoryId=#{param.selectedHistoryId}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/history-request-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>showHistoryItem</from-outcome> + <to-view-id>/rhq/resource/content/history-request-item-plain.xhtml?id=#{param.id}&selectedHistoryId=#{param.selectedHistoryId}&selectedRequestId=#{param.selectedRequestId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>returnToAllRequests</from-outcome> + <to-view-id>/rhq/resource/content/history-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/history-request-item-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>returnToRequest</from-outcome> + <to-view-id>/rhq/resource/content/history-request-plain.xhtml?id=#{param.id}&selectedRequestId=#{param.selectedRequestId}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>stepDetails</from-outcome> + <to-view-id>/rhq/resource/content/history-request-step-details-plain.xhtml?id=#{param.id}&selectedHistoryId=#{param.selectedHistoryId}&selectedRequestId=#{param.selectedRequestId}&stepId=#{param.stepId}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/history-request-step-details-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>returnToHistory</from-outcome> + <to-view-id>/rhq/resource/content/history-request-item-plain.xhtml?id=#{param.id}&selectedHistoryId=#{param.selectedHistoryId}&selectedRequestId=#{param.selectedRequestId}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/create-plain.xhtml</from-view-id> + + <navigation-case> + <from-action>#{CreateNewPackageUIBean.createPackage}</from-action> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/content/confirm-create-plain.xhtml</to-view-id> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/resource/content/deploy-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/confirm-create-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>successOrFailure</from-outcome> + <to-view-id>/rhq/resource/content/history-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/resource/content/deploy-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/content/confirm-delete-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>successOrFailure</from-outcome> + <to-view-id>/rhq/resource/content/history-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/resource/content/deploy-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Repo List --> + <navigation-rule> + <from-view-id>/rhq/content/listRepos-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/listRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>createNewRepo</from-outcome> + <to-view-id>/rhq/content/createRepo-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>importRepos</from-outcome> + <to-view-id>/rhq/content/importRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/listRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/importRepos-plain.xhtml</from-view-id> + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/listRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + <navigation-case> + <!-- import failed --> + <from-outcome>failed</from-outcome> + <to-view-id>/rhq/content/importRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/importRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + </navigation-rule> + + <!-- Repo View --> + <navigation-rule> + <from-view-id>/rhq/content/repo-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/repo-plain.xhtml?mode=view&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>edit</from-outcome> + <to-view-id>/rhq/content/repo-plain.xhtml?mode=edit&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>associateWithContentProviders</from-outcome> + <to-view-id>/rhq/content/repoAssociations-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>subscribeResources</from-outcome> + <to-view-id>/rhq/content/repoSubscriptions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/repo-plain.xhtml?mode=view&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Content Source List --> + <navigation-rule> + <from-view-id>/rhq/content/listContentProviders-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/listContentProviders-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>createNewContentSource</from-outcome> + <to-view-id>/rhq/content/createContentProvider-plain.xhtml?mode=new</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/listContentProviders-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Content Source View --> + <navigation-rule> + <from-view-id>/rhq/content/contentProvider-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/contentProvider-plain.xhtml?mode=view&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>edit</from-outcome> + <to-view-id>/rhq/content/contentProvider-plain.xhtml?mode=edit&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/contentProvider-plain.xhtml?mode=view&id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-action>#{ConfigHelperUIBean.accessMap}</from-action> + <to-view-id>/rhq/content/contentProvider-view-map-plain.xhtml</to-view-id> + </navigation-case> + + <navigation-case> + <from-action>#{ConfigHelperUIBean.accessMap}</from-action> + <to-view-id>/rhq/content/contentProvider-edit-map-plain.xhtml</to-view-id> + </navigation-case> + + <navigation-case> + <from-action>#{ConfigHelperUIBean.addNewMap}</from-action> + <to-view-id>/rhq/content/contentProvider-add-map-plain.xhtml</to-view-id> + </navigation-case> + + </navigation-rule> + + <!-- Content Source Creation --> + <navigation-rule> + <from-view-id>/rhq/content/createContentProvider-plain.xhtml</from-view-id> + + <navigation-case> + <from-action>#{ConfigHelperUIBean.accessMap}</from-action> + <to-view-id>/rhq/content/createContentProvider-edit-map-plain.xhtml</to-view-id> + </navigation-case> + + <navigation-case> + <from-action>#{ConfigHelperUIBean.addNewMap}</from-action> + <to-view-id>/rhq/content/createContentProvider-add-map-plain.xhtml</to-view-id> + </navigation-case> + + <navigation-case> + <from-outcome>save</from-outcome> + <to-view-id>/rhq/content/listContentProviders-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/content/listContentProviders-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/createContentProvider-edit-map-plain.xhtml</from-view-id> + + <navigation-case> + <to-view-id>/rhq/content/createContentProvider-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/createContentProvider-add-map-plain.xhtml</from-view-id> + + <navigation-case> + <to-view-id>/rhq/content/createContentProvider-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/contentProvider-view-map-plain.xhtml</from-view-id> + + <navigation-case> + <to-view-id>/rhq/content/contentProvider-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/contentProvider-edit-map-plain.xhtml</from-view-id> + + <navigation-case> + <to-view-id>/rhq/content/contentProvider-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/content/contentProvider-add-map-plain.xhtml</from-view-id> + + <navigation-case> + <to-view-id>/rhq/content/contentProvider-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> + + <!-- Repo Creation --> + <navigation-rule> + <from-view-id>/rhq/content/createRepo-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>save</from-outcome> + <to-view-id>/rhq/content/listRepos-plain.xhtml</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>cancel</from-outcome> + <to-view-id>/rhq/content/listRepos-plain.xhtml</to-view-id> + </navigation-case> + + </navigation-rule> + + <!-- Repo Associations With Content Sources --> + <navigation-rule> + <from-view-id>/rhq/content/repoAssociations-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/repoAssociations-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/repoAssociations-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- Repo Subscriptions --> + <navigation-rule> + <from-view-id>/rhq/content/repoSubscriptions-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/content/repoSubscriptions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>search</from-outcome> + <to-view-id>/rhq/content/repoSubscriptions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/content/repoSubscriptions-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + +</faces-config> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/events-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/events-plain-navigation.xml new file mode 100644 index 0000000..ef6b120 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/events-plain-navigation.xml @@ -0,0 +1,26 @@ +<?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"> + + <navigation-rule> + + <from-view-id>/rhq/resource/events/history-plain.xhtml</from-view-id> + + <navigation-case> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/events/history-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/events/history-plain.xhtml?id=#{param.id}</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/jsf-navigation/measurement-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/measurement-plain-navigation.xml new file mode 100644 index 0000000..9578b33 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/measurement-plain-navigation.xml @@ -0,0 +1,73 @@ +<?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"> + + <!-- Resource Measurement Schedules --> + <navigation-rule> + <from-view-id>/rhq/resource/monitor/schedules-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/monitor/schedules-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/monitor/schedules-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- changing metric display range on Monitor > Graphs --> + <navigation-rule> + <from-view-id>/rhq/resource/monitor/graphs-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/monitor/graphs-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- changing metric display range on Monitor > Tables --> + <navigation-rule> + <from-view-id>/rhq/resource/monitor/tables-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/monitor/tables-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + </navigation-rule> + + <!-- changing metric display range on Monitor > Response --> + <navigation-rule> + <from-view-id>/rhq/resource/monitor/response-plain.xhtml</from-view-id> + + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/monitor/response-plain.xhtml?id=#{param.id}</to-view-id> + <redirect/> + </navigation-case> + + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/monitor/response-plain.xhtml?id=#{param.id}</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/jsf-navigation/operation-plain-navigation.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/operation-plain-navigation.xml new file mode 100644 index 0000000..9750c4c --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/jsf-navigation/operation-plain-navigation.xml @@ -0,0 +1,89 @@ +<?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"> + + <!-- New Resource Operation Schedule --> + <navigation-rule> + <from-view-id>/rhq/resource/operation/resourceOperationScheduleNew-plain.xhtml</from-view-id> + <navigation-case> + <!-- schedule an operation for deferred execution --> + <from-outcome>viewOperationSchedules</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationSchedules-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- schedule an operation for immediate execution --> + <from-outcome>viewOperationHistory</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go back here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationScheduleNew-plain.xhtml?id=#{param.id}&opId=#{param.opId}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go back here --> + <from-outcome>validationError</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationScheduleNew-plain.xhtml</to-view-id> + </navigation-case> + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationScheduleNew-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + </navigation-rule> + + <!-- Resource Operation Schedules --> + <navigation-rule> + <from-view-id>/rhq/resource/operation/resourceOperationSchedules-plain.xhtml</from-view-id> + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationSchedules-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationSchedules-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- schedule an operation for immediate execution --> + <from-outcome>viewOperationHistory</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + </navigation-rule> + + <!-- Resource Operation History --> + <navigation-rule> + <from-view-id>/rhq/resource/operation/resourceOperationHistory-plain.xhtml</from-view-id> + <navigation-case> + <!-- catch all navigation-case: if any actions return 'success', go here --> + <from-outcome>success</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + <navigation-case> + <!-- sorting rule --> + <from-outcome>sort</from-outcome> + <to-view-id>/rhq/resource/operation/resourceOperationHistory-plain.xhtml?id=#{param.id}</to-view-id> + <redirect /> + </navigation-case> + </navigation-rule> + + <navigation-rule> + <from-view-id>/rhq/resource/operation/resourceOperationHistoryDetails-plain.xhtml</from-view-id> + <navigation-case> + <from-action>#{ConfigHelperUIBean.accessMap}</from-action> + <to-view-id>/rhq/resource/operation/view-results-map-plain.xhtml</to-view-id> + </navigation-case> + </navigation-rule> +</faces-config> 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 8d69a36..03f80f0 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 @@ -161,6 +161,12 @@ /WEB-INF/jsf-navigation/measurement-navigation.xml, /WEB-INF/jsf-navigation/summary-navigation.xml, /WEB-INF/jsf-navigation/test-navigation.xml, + + /WEB-INF/jsf-navigation/alert-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, + /WEB-INF/jsf-navigation/measurement-plain-navigation.xml,
/WEB-INF/jsf-navigation-definition/group-definition-navigation.xml,
commit d5dfe2ed9d42af51c6c3d3793f79e315c52ed092 Author: Joseph Marques <joseph@redhat.com> Date: Wed Aug 11 07:08:28 2010 -0400
create a "plain" pagination scheme for iframed-facelets
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/include/pagination-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/include/pagination-plain.xhtml new file mode 100644 index 0000000..8a4debb --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/include/pagination-plain.xhtml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core" + xmlns:c="http://java.sun.com/jstl/core" + xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:rich="http://richfaces.ajax4jsf.org/rich" + xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" + xmlns:onf="http://jboss.org/on/function"> + + <body> + + <f:view> + + Usage: The following parameters must be set in the calling page + + paginationDataTableName - Name of the data table to be controlled + paginationDataModel - Data model of the underlying table being controlled (used for total row count) + paginationPageControl - Page control value to set when changing the number of rows per page + + <ui:composition> + + <h:panelGroup layout="block" style="float: right; margin-right: 30px"> + <ui:param name="paginationDataScrollerName" value="#{paginationDataTableName}Scroller"/> + <c:if test="#{empty paginationUIBean}"> + <ui:param name="paginationSettingUIBean" value="#{PageControlSettingsUIBean}" /> + </c:if> + <c:if test="#{not empty paginationUIBean}"> + <ui:param name="paginationSettingUIBean" value="#{paginationUIBean}" /> + </c:if> + + <table> + <tr> + <td nowrap="nowrap"> + + + <h:outputText value="Total: #{paginationDataModel.rowCount}" + style="margin-right: 1em; font-weight: bold; "/> + <h:outputText value="Items Per Page: #{paginationPageControl.pageSize}" + style="font-weight: bold; " + rendered="#{paginationDataModel.rowCount gt paginationSettingUIBean.minimumPageSize + and not paginationPageControl.unlimited + and not (onf:length(paginationSettingUIBean.pageSizes) gt 1)}" /> + <h:outputText value="Items Per Page:" + style="margin-right: 1em; font-weight: bold; " + rendered="#{paginationDataModel.rowCount gt paginationSettingUIBean.minimumPageSize + and not paginationPageControl.unlimited + and (onf:length(paginationSettingUIBean.pageSizes) gt 1)}"/> + <h:selectOneListbox id="currentPageSize" + size="1" + value="#{paginationPageControl.pageSize}" + rendered="#{paginationDataModel.rowCount gt paginationSettingUIBean.minimumPageSize + and not paginationPageControl.unlimited + and (onf:length(paginationSettingUIBean.pageSizes) gt 1)}"> + <a4j:support event="onchange" + reRender="#{paginationDataTableName}, #{paginationDataScrollerName}"/> + <f:selectItems value="#{paginationSettingUIBean.pageSizes}" /> + </h:selectOneListbox> + + </td> + <td nowrap="nowrap"> + + <!-- Limit to 7 pages until e find a general fix for RHQ-1813 --> + <rich:datascroller id="#{paginationDataScrollerName}" + for="#{paginationDataTableName}" + rendered="#{not paginationPageControl.unlimited}" + selectedStyle="font-weight: bold;" + inactiveStyle="font-weight: normal;" + stepControls="show" + fastControls="hide" + boundaryControls="hide" + maxPages="7" + page="#{paginationPageControl.pageNumber}"> + <f:facet name="next"> + <h:panelGroup> + <h:graphicImage value="/images/tbb_pageright.gif" style="padding: 0px 5px 0px 7px;" /> + </h:panelGroup> + </f:facet> + <f:facet name="next_disabled"> + <h:panelGroup> + <h:graphicImage value="/images/tbb_pageright_gray.gif" style="padding: 0px 5px 0px 7px;" /> + </h:panelGroup> + </f:facet> + <f:facet name="previous"> + <h:panelGroup> + <h:graphicImage value="/images/tbb_pageleft.gif" style="padding: 0px 5px 0px 7px;" /> + </h:panelGroup> + </f:facet> + <f:facet name="previous_disabled"> + <h:panelGroup> + <h:graphicImage value="/images/tbb_pageleft_gray.gif" style="padding: 0px 5px 0px 7px;" /> + </h:panelGroup> + </f:facet> + </rich:datascroller> + + </td> + </tr> + </table> + + + </h:panelGroup> + + <div style="clear: both;"/> + + </ui:composition> + </f:view> + + </body> +</html> \ No newline at end of file
commit 5a37b80f0cee3cf67c9aea9ca386019555ece295 Author: Joseph Marques <joseph@redhat.com> Date: Wed Aug 11 07:08:08 2010 -0400
create a "plain" layout scheme for iframed-facelets
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/entity/layout/main-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/entity/layout/main-plain.xhtml new file mode 100644 index 0000000..157b598 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/entity/layout/main-plain.xhtml @@ -0,0 +1,39 @@ +<ui:composition template="/rhq/layout/main-plain-layout.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:a4j="http://richfaces.org/a4j" + xmlns:rich="http://richfaces.ajax4jsf.org/rich" + xmlns:ui="http://java.sun.com/jsf/facelets"> + + <ui:define name="body-area"> + + <!-- work around for IE and its broken box model. Without the concrete height value, the nav pane will shrink on hover. --> + <!--[if IE]> + <div id="contentParent" style="height: 100%"> + <![endif]--> + <!--[if !IE]><!--> + <div id="contentParent"> + <!--<![endif]--> + <div id="centerContentWrapper" class="content-right"> + <div style="left: 0; right: 0; height: 100%;"> + + <!-- Shows the results of the last action executed. --> + <h:messages showSummary="true" + showDetail="true" + infoClass="InfoBlock" + warnClass="WarnBlock" + errorClass="ErrorBlock" + fatalClass="FatalBlock" + globalOnly="true" + layout="table" + width="100%" /> + + <ui:insert name="content"><p>Default Entity Content</p></ui:insert> + </div> + </div> + </div> + + </ui:define> + +</ui:composition> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/layout/main-plain-layout.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/layout/main-plain-layout.xhtml new file mode 100644 index 0000000..ffb0bda --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/layout/main-plain-layout.xhtml @@ -0,0 +1,310 @@ +<?xml version="1.0"?> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html 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:a4j="http://richfaces.org/a4j" + xmlns:onc="http://jboss.org/on/component" + xmlns:rich="http://richfaces.ajax4jsf.org/rich"> + +<head> + <title>${msg["product.shortName"]} - #{(!empty pageTitle) ? pageTitle : defaultPageTitle}</title> + + <meta http-equiv="Expires" content="-1"/> + <meta http-equiv="Pragma" content="no-cache"/> + <meta http-equiv="Max-Age" content="0"/> + <meta http-equiv="Cache-Control" content="no-cache"/> + <ui:insert name="metaHeaders"></ui:insert> + + <link rel="stylesheet" type="text/css" media="screen" href="/css/win.css"/> + <link rel="stylesheet" type="text/css" media="screen" href="/css/form-style.css"/> + <link rel="stylesheet" type="text/css" media="screen" href="/css/menu.css"/> + + <script type="text/javascript" src="/js/functions.js"></script> + <script type="text/javascript" src="/js/prototype.js"></script> + <script type="text/javascript" src="/js/window.js"></script> + <script type="text/javascript" src="/js/effects.js"></script> + <!--<script type="text/javascript" src="/js/debug.js"></script>--> + <script type="text/javascript" src="/js/formValues.js"></script> + <script type="text/javascript" src="/js/rhq.js"></script> + <script type="text/javascript" src="/js/popup.js"></script> + <link href="/css/theme/default.css" rel="stylesheet" type="text/css"/> + <link href="/css/theme/alphacube.css" rel="stylesheet" type="text/css"/> + <link href="/css/theme/debug.css" rel="stylesheet" type="text/css"/> + + <link rel="icon" type="image/png" href="/images/favicon.png"/> + <link rel="apple-touch-icon" href="/images/favicon.png"/> + + <!-- Trims up the headers of RF toggle panel headers --> + <style type="text/css"> + .BlockTitle { + padding-top: 3px; + padding-bottom: 3px; + } + HTML, BODY { overflow: hidden; } + </style> + + +<style type="text/css"> + +.dr-pnl { + border-style: none; + padding: 0; +} + +.dr-pnl-b { + border-color: white; + padding: 0; + margin: 0; +} + +.dr-pnl-h { /* Files */ + background-image: none; + background-color: rgb(164, 178, 185); + font-family: sans-serif; + font-size: 10px; +} + +.dr-pmenu-group-self-label { /* filename */ + color: rgb(109, 120, 124); + font-family: sans-serif; + font-size: 9px; + white-space: nowrap; +} + +.rich-pmenu { /* Defines styles for panel menu */ + +} +.rich-pmenu-disabled-element { /* Defines styles for panel menu disabled element */ + +} +.rich-pmenu-group { /* styles for panel menu group */ + background-image: none; + background-color: rgb(217, 223, 227); +} + +.rich-pmenu-group-self-label { /* directory - Defines styles for panel menu group label */ + font-family: sans-serif; + font-size: 9px; + color: rgb(102, 102, 102); + white-space: nowrap; +} +.rich-pmenu-item { /* Defines styles for panel menu item */ + background-color: rgb(223, 228, 232); + color: rgb(217, 223, 227); + border-style: none; + margin: 0; + padding: 0; + padding-left: 15px; + +} +.rich-pmenu-nowrap { /* Defines styles for panel menu wrapper */ + +} +.rich-pmenu-selected-element { /* Defines styles for panel menu selected element */ + background-color: white; + font-style: normal; + font-weight: bold; + color: #00ff99; + +} +.rich-pmenu-top-group { /* Defines styles for panel menu top group element */ + padding-left: 15px; +} +.rich-pmenu-top-group-div { /* Defines styles for panel menu top group div element */ + border-style: none; + border-bottom-style: dotted; + border-bottom-color: white; + margin: 0; + padding: 0; +} + +.raw-outer-table-left-col { + background-color: rgb(217, 223, 227); +} + +.raw-outer-table-left-col-footer { + background-color: rgb(217, 223, 227); + width: 100%; +} + +.raw-outer-table-left-col-footer-content { + font-family: sans-serif; + font-size: 9px; + font-weight: bold; + color: gray; + padding-left: 10px; +} + +.rawConfigUndoButton { + font-size: 9px; + font-weight: bold; + color: #666666; + background-color: #FFFFFF; + border: 1px solid #B0B0B0; + padding: 0px 5px; + cursor: pointer; + text-decoration: none +} + +.rawCancelButton { + font-size: 11px; + font-weight: bold; + color: #E6E8ED; + background-color: #828CA3; + border: 1px outset #626C83; + padding: 1px 10px; + cursor: pointer; + text-decoration: none; + margin-left: 5px; +} + +.rawConfigFileNameCol { + color: rgb(109, 120, 124); + font-family: sans-serif; + font-size: 9px; + white-space: nowrap; +} + +.rawConfigUndoCol { + width: 25%; + text-align: right; +} + +.rawConfigFileHeader { + color: gray; + white-space: nowrap; + font-weight: bold; + font-family: sans-serif; +} + +.rawConfigFileContents { + font-family: sans-serif; + color: gray; + background-color: white; + border-style: solid; + border-width: thin; + border-color: rgb(102, 102, 102); + width: 100%; + height: 300px; + overflow-x: auto; + overflow-y: scroll; +} + + + + </style> + + + + <link rel="stylesheet" type="text/css" media="screen" href="/css/tabular.css"/> + <link rel="stylesheet" type="text/css" media="screen" href="/css/layout.css"/> + + <script type="text/javascript"> + var imagePath = "/images/"; + </script> + +</head> + +<body bgcolor="#FFFFFF" style="height: 100%;"> + +<ui:remove> + <!-- Set the content type to "text/html" (overriding the default of "application/xhtml+xml") to force +Firefox and other Gecko-based browsers to render the page in "Almost Standards" (i.e. transitional) mode. --> +</ui:remove> +<f:view contentType="text/html"> + + + <f:loadBundle basename="ApplicationResources" var="msg"/> + + <!-- =================== PAGE HEADER =================== --> + + <script language="javascript" type="text/javascript"> + //this has to be defined before the resize trackers inside + //the PageBody element because they depend on the values + //computed inside this tracker function. + WindowResizeTracker.addListener(function() { + var header = $('PageHeader'); + var borderHeight = 2; //set in the inline style of div PageHeader + + if (Prototype.Browser.IE) { + header.style.height = WindowResizeTracker.currentSizes.windowHeight + 'px'; + } else { + header.style.height = (WindowResizeTracker.currentSizes.windowHeight - borderHeight) + 'px'; + } + header.style.width = WindowResizeTracker.currentSizes.windowWidth + 'px'; + + var body = $('PageBody'); + //0 = menu height (and the top position of PageBody) + body.style.height = (WindowResizeTracker.currentSizes.windowHeight - 0 - borderHeight) + 'px'; + body.style.width = header.style.width; + + document.body.style.height = WindowResizeTracker.currentSizes.windowHeight + 'px'; + }); + </script> + <!-- work around for IE and its broken box model. Without the concrete height value, the nav pane will shrink on hover. --> + <!--[if IE]> + <div id="PageHeader" style="border-bottom: 2px solid #999; position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%"> + <![endif]--> + <!--[if !IE]><!--> + <div id="PageHeader" style="border-bottom: 2px solid #999; position: absolute; top: 0; bottom: 0; left: 0; right: 0;"> + <!--<![endif]--> + + <!-- work around for IE and its broken box model. Without the concrete height value, the nav pane will shrink on hover. --> + <!--[if IE]> + <div id="PageBody" style="width: 100%; position: absolute; top: 0px; bottom: 0; height: 100%;"> + <![endif]--> + <!--[if !IE]><!--> + <div id="PageBody" style="width: 100%; position: absolute; top: 0px; bottom: 0;"> + <!--<![endif]--> + <ui:insert name="body-area">Default Page Body</ui:insert> + </div> + + </div> + + + + <!-- =================== BODY =================== --> + + + <div id="about" class="dialog" style="display: none; position: absolute; top: 0; left: 0;"> + <div class="DisplayContent" style="margin: 0;"> + <div style="margin:5px"> + <p class="compact"> + <span class="DisplaySubhead">${msg['footer.aboutLink']}</span><br/> + <span class="DisplayLabel">${msg['footer.version']}: ${msg['product.version']}</span><br/> + <span class="DisplayLabel">${msg['footer.buildNumber']}: ${msg['product.buildNumber']}</span> + </p> + + <p class="compact"> + <f:verbatim>${msg['footer.copyright']}</f:verbatim> ${msg['about.Copyright.Content']} + </p> + + <p class="compact"> + ${msg['about.MoreInfo.Label']}<br/> + <a href="mailto:${msg['about.MoreInfo.LinkSales']}">${msg['about.MoreInfo.LinkSales']}</a><br/> + <a href="mailto:${msg['about.MoreInfo.LinkSupport']}">${msg['about.MoreInfo.LinkSupport']}</a> + </p> + </div> + </div> + </div> + + <!-- work-around to enable us to embed richfaces components inside the onc:simpleTrigger; +without this, the page will throw a javascript error "{blah} is not defined" or +"{yadda} is not a constructor", and the pop-up action will not work --> + <rich:calendar rendered="false"/> + <rich:inputNumberSpinner rendered="false"/> + +</f:view> + +<script type="text/javascript"> + addWindowOnLoadEvent(disableConditionalButtons); +</script> + +</body> +</html> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/layout/main-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/layout/main-plain.xhtml new file mode 100644 index 0000000..6f2cd02 --- /dev/null +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/resource/layout/main-plain.xhtml @@ -0,0 +1,17 @@ +<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"> + <h1>Default Resource Content</h1> + </ui:define> + +</ui:composition> \ No newline at end of file
commit b0cac99b444d86edc047a3a1bc031907207c2350 Author: Joseph Marques joseph@redhat.com Date: Wed Aug 11 07:00:40 2010 -0400
criteria objects with customized sorting should not get LEFT JOIN treatment
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java index 3216ec7..82ffd48 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java @@ -342,6 +342,12 @@ public final class CriteriaQueryGenerator { boolean doNotPrefixAlias = isNumber(suffix) || criteria.hasCustomizedSorting(); String sortFragment = doNotPrefixAlias ? suffix : (alias + "." + suffix);
+ if (criteria.hasCustomizedSorting()) { + // customized sorting does not get LEFT JOIN expressions added + orderingFieldTokens.add(sortFragment + " " + ordering); + continue; + } + int lastDelimiterIndex = sortFragment.lastIndexOf('.'); if (lastDelimiterIndex == -1) { // does not require joins, just add the ordering field token directly @@ -568,8 +574,8 @@ public final class CriteriaQueryGenerator {
try { Class<?> entityClass = criteria.getPersistentClass(); - SearchTranslationManager searchManager = new SearchTranslationManager(subject, - SearchSubsystem.get(entityClass)); + SearchTranslationManager searchManager = new SearchTranslationManager(subject, SearchSubsystem + .get(entityClass)); searchManager.setExpression(searchExpression);
// translate first, if there was an error we won't add the dangling 'AND' to the where clause