| <!-- |
| |
| Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0, which is available at |
| http://www.eclipse.org/legal/epl-2.0. |
| |
| This Source Code may also be made available under the following Secondary |
| Licenses when the conditions for such availability set forth in the |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| version 2 with the GNU Classpath Exception, which is available at |
| https://www.gnu.org/software/classpath/license.html. |
| |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| |
| --> |
| |
| <!initPage |
| setResourceBundle(key="i18n" bundle="org.glassfish.common.admingui.Strings"); |
| setResourceBundle(key="i18nc" bundle="org.glassfish.admingui.core.Strings"); |
| setResourceBundle(key="i18njms" bundle="org.glassfish.jms.admingui.Strings"); |
| setResourceBundle(key="helpjms" bundle="org.glassfish.jms.admingui.Helplinks") |
| /> |
| |
| <!composition template="/templates/default.layout" guiTitle="$resource{i18njms.jms.Title}" > |
| <!define name="content"> |
| <event> |
| <!beforeCreate |
| getRequestValue(key="configName" value="#{pageSession.configName}" default="server-config"); |
| setPageSessionAttribute(key="selfPage", value="#{request.contextPath}/jms/jmsService.jsf?name=#{pageSession.Name}&configName=#{pageSession.configName}"); |
| setAttribute(key="edit" value="#{true}"); |
| setPageSessionAttribute(key="hasPropertySheet" value="#{true}"); |
| |
| setPageSessionAttribute(key="childType" value="jms-service"); |
| setPageSessionAttribute(key="convertToFalseList" value={"reconnectEnabled"}); |
| |
| setPageSessionAttribute(key="parentUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.configName}"); |
| setPageSessionAttribute(key="childType", value="jms-service"); |
| setPageSessionAttribute(key="selfUrl", value="#{pageSession.parentUrl}/#{pageSession.childType}"); |
| setPageSessionAttribute(key="rest-api" value="true"); |
| gf.restRequest(endpoint="#{pageSession.selfUrl}", method="get", result="#{pageSession.result}"); |
| setPageSessionAttribute(key="valueMap", value="#{pageSession.result.data.extraProperties.entity}"); |
| |
| gf.restRequest(endpoint="#{pageSession.selfUrl}/property.json", method="GET", result="#{requestScope.propTable}"); |
| setPageSessionAttribute(key="tableList", value="#{requestScope.propTable.data.extraProperties.properties}"); |
| |
| setPageSessionAttribute(key="edit" value="#{true}" ); |
| setPageSessionAttribute(key="showDefaultButton" value="#{true}" ); |
| setPageSessionAttribute(key="showCancelButton" value="#{false}" ); |
| setPageSessionAttribute(key="hasPropertySheet" value="#{true}" ); |
| setPageSessionAttribute(key="hasPropertyTable" value="#{true}" ); |
| |
| gf.getClusterForConfig(configName="#{configName}" cluster="#{pageSession.clusterName}"); |
| |
| /> |
| </event> |
| <!-- TO DO: NEED TO ADD CHECK FOR PE OR EE IN ORDER TO POPULATE JMS HOST DROPDOWN --> |
| <!-- TO DO: NEED TO ADD HANDLER FOR PING BUTTON ONCE MESSAGES ARE WORKING --> |
| <sun:form id="propertyForm"> |
| #include "/common/shared/alertMsg.inc" |
| <!-- Page Title --> |
| <sun:title id="propertyContentPage" title="$resource{i18njms.jms.Title}" helpText="$resource{i18njms.jms.PageHelp}"> |
| <!facet pageButtonsTop> |
| <sun:panelGroup id="topButtons"> |
| <sun:button id="saveButton" rendered="#{edit}" text="$resource{i18n.button.Save}" |
| onClick="if (guiValidate('#{reqMsg}','#{reqInt}','#{reqPort}')) {submitAndDisable(this, '$resource{i18n.button.Processing}');}; return false;" > |
| <!command |
| gf.createEntity(endpoint="#{pageSession.selfUrl}" |
| attrs="#{pageSession.valueMap}" |
| skipAttrs="#{pageSession.skipAttrsList}" |
| convertToFalse="#{pageSession.convertToFalseList}" |
| onlyUseAttrs="#{pageSession.onlyUseAttrs}" |
| ); |
| |
| // Save properties... |
| removeEmptyProps(props="#{pageSession.tableList}" modifiedProps="#{pageSession.tableList}"); |
| javaToJSON(obj="#{pageSession.tableList}" json="#{requestScope.tmpJSON}"); |
| gf.restRequest(endpoint="#{pageSession.selfUrl}/property.json", method="POST", data="#{requestScope.tmpJSON}", result="#{requestScope.restResponse}"); |
| |
| if (#{pageSession.valueMap['masterBroker']}) { |
| createMap(result="#{requestScope.mbAttrs}"); |
| mapPut(map="#{requestScope.mbAttrs}" key="id" value="#{pageSession.valueMap['masterBroker']}"); |
| gf.restRequest(endpoint="#{sessionScope.REST_URL}/clusters/cluster/#{pageSession['clusterName']}/change-master-broker", |
| attrs="#{requestScope.mbAttrs}", |
| method="post", |
| result="#{pageSession.resultMap}", |
| throwException="#{true}"); |
| } |
| |
| prepareSuccessfulMsg(); |
| gf.redirect(page="#{pageSession.selfPage}&alertType=${alertType}&alertSummary=${alertSummary}&alertDetail=${alertDetail}"); |
| /> |
| </sun:button> |
| </sun:panelGroup> |
| </facet> |
| <sun:button id="pingButton" text="$resource{i18njms.jms.Ping}" |
| rendered="#{pageSession.configName != 'default-config'}" |
| onClick="return submitAndDisable(this, '$resource{i18n.button.Processing}');" > |
| <!command |
| prepareSuccessfulMsg(); |
| |
| gf.getChildrenNamesList(endpoint="#{sessionScope.REST_URL}/servers/server", result="#{pageSession.serverList}"); |
| foreach (var="server" list="#{pageSession.serverList}") { |
| gf.restRequest(endpoint="#{sessionScope.REST_URL}/servers/server/#{server}", method="GET", result="#{requestScope.serverDetails}"); |
| if ("#{pageSession.configName} = #{requestScope.serverDetails.data.extraProperties.entity.configRef}") { |
| gf.restRequest(endpoint="#{sessionScope.REST_URL}/servers/server/#{server}/jms-ping", method="get", result="#{requestScope.pingResults}"); |
| if ("(#{requestScope.pingResults.responseCode} = 200)") { |
| prepareAlertMsg(type="success", summary="$resource{i18nc.msg.PingSucceed}"); |
| } |
| if ("!(#{requestScope.pingResults.responseCode} = 200)") { |
| gf.handleError(detail="#{requestScope.pingResults.data.message}"); |
| } |
| } |
| } |
| /> |
| </sun:button> |
| |
| <!-- PropertySheet .... --> |
| <sun:propertySheet id="propertySheet"> |
| <!-- Text Field section --> |
| #include "/common/shared/configNameSection.inc" |
| <sun:propertySheetSection id="propertSectionTextField"> |
| <event> |
| <!beforeCreate |
| //getJmsHosts(ConfigName="#{configName}", Hosts=>$attribute{hosts}); |
| /> |
| </event> |
| // TODO: Figure what this needs to make it work. :( |
| <sun:property id="typeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Type}" helpText="$resource{i18njms.jms.TypeHelp}"> |
| <sun:dropDown id="Type" selected="#{pageSession.valueMap['type']}" labels={"LOCAL" "REMOTE" "EMBEDDED"} values={"LOCAL" "REMOTE" "EMBEDDED"}/> |
| </sun:property> |
| <sun:property id="timeoutProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Timeout}" helpText="$resource{i18njms.jms.TimeoutHelp}"> |
| <sun:textField id="Timeout" styleClass="integer" columns="$int{10}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Timeout']}" text="#{pageSession.valueMap['initTimeoutInSeconds']}" /> |
| <sun:staticText id="sec" style="padding: 8pt" text="$resource{i18n.common.Seconds}"/> |
| </sun:property> |
| <sun:property id="argumentsProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Arguments}" helpText="$resource{i18njms.jms.ArgumentsHelp}"> |
| <sun:textField id="Arguments" columns="$int{35}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Arguments']}" text="#{pageSession.valueMap['startArgs']}"/> |
| </sun:property> |
| <sun:property id="reconnectProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Reconnect}" helpText="$resource{i18njms.jms.ReconnectHelp}"> |
| <sun:checkbox selected="#{pageSession.valueMap['reconnectEnabled']}" selectedValue="true"/> |
| </sun:property> |
| <sun:property id="intervalProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Interval}" helpText="$resource{i18njms.jms.IntervalHelp}"> |
| <sun:textField id="Interval" styleClass="intAllowMinusOne" columns="$int{10}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Interval']}" text="#{pageSession.valueMap['reconnectIntervalInSeconds']}" /> |
| <sun:staticText id="sec" style="padding: 8pt" text="$resource{i18n.common.Seconds}"/> |
| </sun:property> |
| <sun:property id="attemptsProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Attempts}" helpText="$resource{i18njms.jms.AttemptsHelp}"> |
| <sun:textField id="Attempts" styleClass="intAllowMinusOne" columns="$int{10}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Attempts']}" text="#{pageSession.valueMap['reconnectAttempts']}" /> |
| </sun:property> |
| <sun:property id="maseterBrokerProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.MasterBroker}" |
| helpText="$resource{i18njms.jms.MasterBrokerHelp}" rendered="#{! empty clusterName}"> |
| <sun:dropDown id="MasterBroker" labels="#{pageSession.instanceList}" selected="#{pageSession.valueMap['masterBroker']}"> |
| <!beforeCreate |
| if (#{pageSession.clusterName}) { |
| gf.restRequest(endpoint="#{sessionScope.REST_URL}/clusters/cluster/#{pageSession.clusterName}/list-instances", |
| method="get", result="#{requestScope.result}"); |
| setPageSessionAttribute(key="instanceList" value={}); |
| listAdd(list="#{pageSession.instanceList}", value=""); |
| foreach (var="instance", list="#{requestScope.result.data.extraProperties.instanceList}") { |
| listAdd(list="#{pageSession.instanceList}", value="#{instance.name}"); |
| } |
| } |
| /> |
| </sun:dropDown> |
| </sun:property> |
| <sun:property id="hostProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Host}" helpText="$resource{i18njms.jms.HostHelp}"> |
| <sun:dropDown id="Host" labels="$pageSession{jmsHostList}" selected="#{pageSession.valueMap['defaultJmsHost']}"> |
| <!beforeCreate |
| gf.getChildrenNamesList(endpoint="#{pageSession.selfUrl}/jms-host", result="#{pageSession.jmsHosts}"); |
| getListBoxOptions( availableList="#{pageSession.jmsHosts}", selectedCommaString="name", availableListResult="#{pageSession.jmsHostList}"); |
| /> |
| </sun:dropDown> |
| </sun:property> |
| <sun:property id="behaviorProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.AddressListBehavior}" helpText="$resource{i18njms.jms.BehaviorHelp}"> |
| <sun:dropDown id="Behavior" selected="#{pageSession.valueMap['addresslistBehavior']}" labels={"random" "priority"} /> |
| </sun:property> |
| <sun:property id="iterationsProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.AddressListIterations}" helpText="$resource{i18njms.jms.IterationsHelp}"> |
| <sun:textField id="Iterations" styleClass="intAllowMinusOne" columns="$int{10}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Iterations']}" text="#{pageSession.valueMap['addresslistIterations']}" /> |
| </sun:property> |
| <sun:property id="schemeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Scheme}" helpText="$resource{i18njms.jms.SchemeHelp}"> |
| <sun:textField id="Scheme" columns="$int{25}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Scheme']}" text="#{pageSession.valueMap['mqScheme']}"/> |
| </sun:property> |
| <sun:property id="serviceProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.jms.Service}" helpText="$resource{i18njms.jms.ServiceHelp}"> |
| <sun:textField id="Service" columns="$int{25}" maxLength="#{sessionScope.fieldLengths['maxLength.jms.Service']}" text="#{pageSession.valueMap['mqService']}"/> |
| </sun:property> |
| "<br /><br /> |
| </sun:propertySheetSection> |
| </sun:propertySheet> |
| #include "/common/shared/propertyDescTable.inc" |
| </sun:title> |
| <sun:hidden id="helpKey" value="$resource{helpjms.jmsService}" /> |
| </sun:form> |
| </define> |
| </composition> |