<commit_before><?xml version="1.0"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
	xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" xmlns:bridge="http://liferay.com/faces/bridge" xmlns:aui="http://liferay.com/faces/aui"
	template="/views/inc/common_temp.xhtml">

	<ui:define name="main">
		<h:form id="listForm">
			<p:messages globalOnly="false" closable="true" />

			<ui:include src="search.xhtml" />

			<p:spacer />

			<p:dataTable id="listTable" reflow="true" widgetVar="listTable" value="#{upstreamChannelBean.lazyDataModel}" var="upstreamChannel"
				rowIndexVar="index" rows="50" paginator="true" stickyHeader="true"
				paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
				rowsPerPageTemplate="50, 100, 500" paginatorPosition="bottom" lazy="true" resizableColumns="true">

				<p:column width="40"  resizable="false" exportable="false" >
					<p:button icon="ui-icon-signal-diag" outcome="history">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:button>
					<p:button icon="ui-icon-refresh" outcome="upstream">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:button>
				</p:column>
				
				<p:column headerText="CmtsId" visible="false" exportable="true">
					<h:outputText value="#{upstreamChannel.cmtsId}"/>
				</p:column>
				
				<p:column headerText="IfIndex" visible="false" exportable="true">
					<h:outputText value="#{upstreamChannel.ifIndex}"/>
				</p:column>
				
				<p:column headerText="Cmts Title" visible="false" exportable="true">
					<h:outputText value="#{cmtsBean.getCmtsTitle(upstreamChannel.cmtsId)}"/>
				</p:column>

				<p:column headerText="Description" filterBy="#{upstreamChannel.ifDesc}" sortBy="#{upstreamChannel.ifDesc}" filterStyle="width: 90%" width="90">
					<p:link outcome="/views/cm-monitor/view.xhtml" value="#{upstreamChannel.ifDesc}">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:link>
				</p:column>

				<p:column headerText="Alias" width="300" filterBy="#{upstreamChannel.ifAlias}" sortBy="#{upstreamChannel.ifAlias}" filterStyle="width: 90%">
					<h:outputText value="#{upstreamChannel.ifAlias}" />
				</p:column>

				<p:column headerText="SNR" sortBy="#{upstreamChannel.ifSigQSNR}" width="40">
					<h:outputText value="#{upstreamChannel.ifSigQSNR / 10}" style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.ifSigQSNR, 'ifSigQSNR')}" />
				</p:column>

				<p:column headerText="FRE" sortBy="#{upstreamChannel.upChannelFrequency}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelFrequency / 1000000}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="WTH" sortBy="#{upstreamChannel.upChannelWidth}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelWidth / 1000000}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>
				<p:column headerText="Fec" sortBy="#{upstreamChannel.fecCorrected}" width="40">
					<h:outputText value="#{upstreamChannel.fecCorrected}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.fecCorrected, 'fecCorrected')}">
						<f:convertNumber maxIntegerDigits="3" maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="FecUn" sortBy="#{upstreamChannel.fecUncorrectable}" width="40">
					<h:outputText value="#{upstreamChannel.fecUncorrectable}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.fecUncorrectable, 'fecUncorrectable')}">
						<f:convertNumber maxIntegerDigits="3" maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="Act" sortBy="#{upstreamChannel.upChannelCmActive}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmActive}" />
				</p:column>

				<p:column headerText="Reg" sortBy="#{upstreamChannel.upChannelCmRegistered}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmRegistered}" />
				</p:column>

				<p:column headerText="Total" sortBy="#{upstreamChannel.upChannelCmTotal}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmTotal}" />
				</p:column>

				<p:column headerText="TxPw" sortBy="#{upstreamChannel.avgOnlineCmTxPower}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmTxPower / 10}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="RxPw" sortBy="#{upstreamChannel.avgOnlineCmRxPower}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmRxPower / 10}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="MER" sortBy="#{upstreamChannel.avgOnlineCmDsSNR}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmDsSNR / 10}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.avgOnlineCmDsSNR, 'avgOnlineCmDsSNR')}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="Qam" width="40">
					<h:outputText value="#{upChannelMetadataBean.getByUpstream(upstreamChannel).dsQam}" />
				</p:column>
				
				<p:column headerText="DsFre" width="60"><commit_msg>Display Ds power on upstream channel<commit_after><?xml version="1.0"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
	xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" xmlns:bridge="http://liferay.com/faces/bridge" xmlns:aui="http://liferay.com/faces/aui"
	template="/views/inc/common_temp.xhtml">

	<ui:define name="main">
		<h:form id="listForm">
			<p:messages globalOnly="false" closable="true" />

			<ui:include src="search.xhtml" />

			<p:spacer />

			<p:dataTable id="listTable" reflow="true" widgetVar="listTable" value="#{upstreamChannelBean.lazyDataModel}" var="upstreamChannel"
				rowIndexVar="index" rows="50" paginator="true" stickyHeader="true"
				paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
				rowsPerPageTemplate="50, 100, 500" paginatorPosition="bottom" lazy="true" resizableColumns="true">

				<p:column width="40"  resizable="false" exportable="false" >
					<p:button icon="ui-icon-signal-diag" outcome="history">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:button>
					<p:button icon="ui-icon-refresh" outcome="upstream">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:button>
				</p:column>
				
				<p:column headerText="CmtsId" visible="false" exportable="true">
					<h:outputText value="#{upstreamChannel.cmtsId}"/>
				</p:column>
				
				<p:column headerText="IfIndex" visible="false" exportable="true">
					<h:outputText value="#{upstreamChannel.ifIndex}"/>
				</p:column>
				
				<p:column headerText="Cmts Title" visible="false" exportable="true">
					<h:outputText value="#{cmtsBean.getCmtsTitle(upstreamChannel.cmtsId)}"/>
				</p:column>

				<p:column headerText="Description" filterBy="#{upstreamChannel.ifDesc}" sortBy="#{upstreamChannel.ifDesc}" filterStyle="width: 90%" width="90">
					<p:link outcome="/views/cm-monitor/view.xhtml" value="#{upstreamChannel.ifDesc}">
						<f:param name="ifIndex" value="#{upstreamChannel.ifIndex}" />
						<f:param name="cmtsId" value="#{upstreamChannel.cmtsId}" />
					</p:link>
				</p:column>

				<p:column headerText="Alias" width="300" filterBy="#{upstreamChannel.ifAlias}" sortBy="#{upstreamChannel.ifAlias}" filterStyle="width: 90%">
					<h:outputText value="#{upstreamChannel.ifAlias}" />
				</p:column>

				<p:column headerText="SNR" sortBy="#{upstreamChannel.ifSigQSNR}" width="40">
					<h:outputText value="#{upstreamChannel.ifSigQSNR / 10}" style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.ifSigQSNR, 'ifSigQSNR')}" />
				</p:column>

				<p:column headerText="FRE" sortBy="#{upstreamChannel.upChannelFrequency}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelFrequency / 1000000}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="WTH" sortBy="#{upstreamChannel.upChannelWidth}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelWidth / 1000000}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>
				<p:column headerText="Fec" sortBy="#{upstreamChannel.fecCorrected}" width="40">
					<h:outputText value="#{upstreamChannel.fecCorrected}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.fecCorrected, 'fecCorrected')}">
						<f:convertNumber maxIntegerDigits="3" maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="FecUn" sortBy="#{upstreamChannel.fecUncorrectable}" width="40">
					<h:outputText value="#{upstreamChannel.fecUncorrectable}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.fecUncorrectable, 'fecUncorrectable')}">
						<f:convertNumber maxIntegerDigits="3" maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="Act" sortBy="#{upstreamChannel.upChannelCmActive}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmActive}" />
				</p:column>

				<p:column headerText="Reg" sortBy="#{upstreamChannel.upChannelCmRegistered}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmRegistered}" />
				</p:column>

				<p:column headerText="Total" sortBy="#{upstreamChannel.upChannelCmTotal}" width="40">
					<h:outputText value="#{upstreamChannel.upChannelCmTotal}" />
				</p:column>

				<p:column headerText="TxPw" sortBy="#{upstreamChannel.avgOnlineCmTxPower}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmTxPower / 10}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="RxPw" sortBy="#{upstreamChannel.avgOnlineCmRxPower}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmRxPower / 10}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>
				
				<p:column headerText="DsPw" sortBy="#{upstreamChannel.avgOnlineCmDsPower}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmDsPower / 10}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="MER" sortBy="#{upstreamChannel.avgOnlineCmDsSNR}" width="40">
					<h:outputText value="#{upstreamChannel.avgOnlineCmDsSNR / 10}"
						style="#{ucRowStyleAlarmGenerator.getRowDataCss(upstreamChannel.avgOnlineCmDsSNR, 'avgOnlineCmDsSNR')}">
						<f:convertNumber maxFractionDigits="2" />
					</h:outputText>
				</p:column>

				<p:column headerText="Qam" width="40">
					<h:outputText value="#{upChannelMetadataBean.getByUpstream(upstreamChannel).dsQam}" />
				</p:column>
				
				<p:column headerText="DsFre" width="60">
{'fraction_non_alphanumeric': 0.18054488000683236, 'fraction_numerical': 0.014945768212486122, 'mean_word_length': 5.288936627282492, 'pattern_counts': {'":': 0, '<': 182, '<?xml version=': 2, '>': 182, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 22}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5268028', 'n_tokens_mistral': 4942, 'n_tokens_neox': 4015, 'n_words': 501}