blob: 9f709b9c4cf4e781c37e3c30cfeed61198fe7b18 [file] [log] [blame]
<!--
Copyright (c) 2009, 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
-->
<!-- grizzly/protocols.jsf -->
<!initPage
setResourceBundle(key="i18n_web" bundle="org.glassfish.web.admingui.Strings");
setResourceBundle(key="help_web" bundle="org.glassfish.web.admingui.Helplinks");
/>
<!composition template="/templates/default.layout"
guiTitle="$resource{i18n_web.grizzly.protocolsPageTitle}"
guiTemplateOnLoad="
admingui.nav.refreshTree('treeForm:tree:configurations:#{pageSession.encodedConfigName}:networkConfig:networkListeners');
admingui.nav.refreshTree('treeForm:tree:configurations:#{pageSession.encodedConfigName}:networkConfig:protocols');"
>
<!define name="listTableDeleteButton">
<sun:button id="button1" text="$resource{i18n.button.Delete}" disabled="#{true}" primary="#{false}"
onClick="if (getConfirm(this,'$pageSession{confirmDeleteMsg}')) {submitAndDisable(this, '$resource{i18n.button.Processing}');}; return false;" >
<!command
getUIComponent(clientId="$pageSession{tableRowGroupId}", component=>$attribute{tableRowGroup});
getSelectedSingleMapRows(TableRowGroup="${tableRowGroup}" selectedRows=>$attribute{selectedRows});
foreach (var="row" list="${selectedRows}") {
setPageSessionAttribute(key="protocolName" value="#{row['name']}");
urlencode(value="#{pageSession.protocolName}" encoding="UTF-8" result="#{pageSession.encodedProtocolName}");
setPageSessionAttribute(key="protocolUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.encodedConfigName}/network-config/protocols/protocol/#{pageSession.encodedProtocolName}");
setPageSessionAttribute(key="protocolHttpUrl", value="#{pageSession.protocolUrl}/http");
setPageSessionAttribute(key="networkListenerUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.encodedConfigName}/network-config/network-listeners/network-listener");
setPageSessionAttribute(key="virtualServerUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.encodedConfigName}/http-service/virtual-server");
gf.getChildrenNamesList(endpoint="#{pageSession.networkListenerUrl}", id="name", result="#{pageSession.networkListeners}");
gf.checkIfEndPointExist(endpoint="#{pageSession.protocolHttpUrl}", exists="#{pageSession.protocolHttpExist}");
foreach (var="listener" list="#{pageSession.networkListeners}") {
gf.restRequest(endpoint="#{pageSession.networkListenerUrl}/#{listener}.json",
method="get",
result="#{pageSession.networkListAttrs}");
if ("#{pageSession.networkListAttrs.data.extraProperties.entity['protocol']}=#{pageSession.protocolName}"){
if (#{pageSession.protocolHttpExist}) {
gf.restRequest(endpoint="#{pageSession.protocolHttpUrl}.json", method="get", result="#{pageSession.protocolAttrHttp}");
setPageSessionAttribute(key="vsName" value="#{pageSession.protocolAttrHttp.data.extraProperties.entity['defaultVirtualServer']}");
gf.restRequest(endpoint="#{pageSession.virtualServerUrl}/#{vsName}.json", method="get", result="#{pageSession.vsAttrs}");
changeNetworkListenersInVS(vsAttrs="#{pageSession.vsAttrs.data.extraProperties.entity}", listenerName="#{pageSession.networkListAttrs.data.extraProperties.entity['name']}", addFlag="{#false}", result="#{pageSession.vsAttrModified}");
gf.restRequest(endpoint="#{pageSession.virtualServerUrl}/#{vsName}", attrs="#{pageSession.vsAttrModified}", method="post");
}
gf.restRequest(endpoint="#{pageSession.networkListenerUrl}/#{listener}?target=#{pageSession.valueMap['target']}", method="delete");
}
}
gf.restRequest(endpoint="#{pageSession.protocolUrl}?target=#{pageSession.valueMap['target']}", method="delete");
}
gf.redirect(page="#{pageSession.listLink}");
/>
</sun:button>
</define>
<!define name="content">
<event>
<!beforeCreate
getRequestValue(key="configName" value=>$page{configName} default="server-config");
urlencode(value="#{pageSession.configName}" encoding="UTF-8" result="#{pageSession.encodedConfigName}");
setPageSessionAttribute(key="childType" value="protocol");
setPageSessionAttribute(key="selfUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.encodedConfigName}/network-config/protocols");
setPageSessionAttribute(key="rest-api" value="true");
setPageSessionAttribute(key="networkListenerUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.encodedConfigName}/network-config/network-listeners/network-listener");
gf.getChildrenNamesList(endpoint="#{pageSession.networkListenerUrl}", id="name", result="#{pageSession.networkListeners}");
gf.getProtocols(configName="#{pageSession.configName}", result="#{requestScope.listOfRows}");
foreach (var="protocol" list="#{requestScope.listOfRows}") {
createList(size="0" result="#{pageSession.listenerList}");
foreach (var="listener" list="#{pageSession.networkListeners}") {
gf.restRequest(endpoint="#{pageSession.networkListenerUrl}/#{listener}.json",
method="get",
result="#{pageSession.networkListAttrs}");
if ("#{pageSession.networkListAttrs.data.extraProperties.entity['protocol']}=#{protocol['name']}"){
listAdd(value="#{pageSession.networkListAttrs.data.extraProperties.entity['name']}" list="#{pageSession.listenerList}");
}
}
mapPut(map="#{protocol}" key="listenerList" value="#{pageSession.listenerList}");
}
createMap(result="#{pageSession.valueMap}");
mapPut(map="#{pageSession.valueMap}" key="target" value="#{pageSession.configName}");
setPageSessionAttribute(key="confirmDeleteMsg" value="$resource{i18n_web.msg.JS.confirmDeleteProtocol}");
setPageSessionAttribute(key="createLink" value="#{request.contextPath}/web/grizzly/protocolNew.jsf?configName=#{configName}");
setPageSessionAttribute(key="listLink" value="#{request.contextPath}/web/grizzly/protocols.jsf?configName=#{configName}");
setPageSessionAttribute(key="editLink" value="#{request.contextPath}/web/grizzly/protocolEdit.jsf?configName=#{configName}");
setPageSessionAttribute(key="tableTitle" value="$resource{i18n_web.grizzly.protocol.tableName}");
/>
</event>
" <script type="text/javascript">admingui.nav.selectTreeNodeById(admingui.nav.TREE_ID+":configurations:#{pageSession.encodedConfigName}:networkConfig:protocols");</script>
<sun:form id="propertyForm">
#include "/common/shared/alertMsg.inc"
<sun:title id="propertyContentPage" title="$resource{i18n_web.grizzly.protocolsPageTitle}"
helpText="$resource{i18n_web.grizzly.protocolsPageTitleHelp}" />
#include "/common/shared/configNameSection.inc"
<sun:table id="configs" title="#{tableTitle}"
deselectMultipleButton="$boolean{true}"
deselectMultipleButtonOnClick="setTimeout('admingui.table.changeOneTableButton(\\\\\'#{pageSession.topActionGroup}\\\\\', \\\\\'#{pageSession.tableId}\\\\\');', 0)"
selectMultipleButton="$boolean{true}"
selectMultipleButtonOnClick="setTimeout('admingui.table.changeOneTableButton(\\\\\'#{pageSession.topActionGroup}\\\\\', \\\\\'#{pageSession.tableId}\\\\\');', 0)" >
<!afterCreate
getClientId(component="$this{component}" clientId=>$page{tableId});
/>
#include "/common/shared/listTableConfigButtons.inc"
<sun:tableRowGroup id="rowGroup1" selected="#{td.value.selected}" data={"$attribute{listOfRows}"} sourceVar="td">
<!afterCreate
getClientId(component="$this{component}" clientId=>$page{tableRowGroupId});
/>
<sun:tableColumn headerText="$resource{i18n.common.SelectHeader}" selectId="select" rowHeader="$boolean{false}" id="col0">
<sun:checkbox id="select"
toolTip="$resource{i18n.common.select}"
selected="#{td.value.selected}"
selectedValue="$boolean{true}"
onClick="setTimeout('admingui.table.changeOneTableButton(\\\\\'#{pageSession.topActionGroup}\\\\\', \\\\\'#{pageSession.tableId}\\\\\'); admingui.table.initAllRows(\\\\\'#{pageSession.tableId}\\\\\');', 0);"
/>
</sun:tableColumn>
<sun:tableColumn headerText="$resource{i18n_web.grizzly.protocol.nameCol}" sort="name" rowHeader="$boolean{true}" id="col1">
<sun:hyperlink id="link" text="#{td.value.name}"
url="#{pageSession.editLink}&name=#{td.value.name}&cancelTo=web/grizzly/protocols.jsf" />
</sun:tableColumn>
<sun:tableColumn headerText="$resource{i18n_web.grizzly.protocol.listenerNameCol}" sort="name" rowHeader="$boolean{false}" id="colnet">
<foreach key="listenerName" list="#{td.value.listenerList}" >
<sun:hyperlink text="#{listenerName}" url="#{request.contextPath}/web/grizzly/networkListenerEdit.jsf?name=#{listenerName}&cancelTo=web/grizzly/protocols.jsf&configName=#{configName}" />"<br>
</foreach>
</sun:tableColumn>
<sun:tableColumn headerText="$resource{i18n_web.grizzly.protocol.securityEnabledCol}" sort="securityEnabled" rowHeader="$boolean{false}" id="ss">
<staticText id="ss" value="#{td.value.securityEnabled}" />
</sun:tableColumn>
</sun:tableRowGroup>
</sun:table>
<sun:hidden id="helpKey" value="$resource{help_web.protocols}" />
</sun:form>
#include "/common/shared/changeButtonsJS.inc"
</define>
</composition>