Skip to content

Commit

Permalink
HBASE-20693 Refactor thrift jsp's and extract header and footer (#5732)
Browse files Browse the repository at this point in the history
- Fixes the way logLevel page renders in UI

Signed-off-by: Nick Dimiduk <[email protected]>
  • Loading branch information
NihalJain authored Mar 1, 2024
1 parent acaf76a commit ede4ccd
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 68 deletions.
30 changes: 30 additions & 0 deletions hbase-thrift/src/main/resources/hbase-webapps/thrift/footer.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<%--
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
--%>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('li.active').removeClass('active');
$('a[href="' + location.pathname + '"]').closest('li').addClass('active');
});
</script>
</body>
</html>
74 changes: 74 additions & 0 deletions hbase-thrift/src/main/resources/hbase-webapps/thrift/header.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<%--
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
--%>
<%@ page contentType="text/html;charset=UTF-8"
import="org.apache.hadoop.hbase.HBaseConfiguration"%>

<!DOCTYPE html>
<?xml version="1.0" encoding="UTF-8" ?>
<html lang="en">
<head>
<meta charset="utf-8">
<title><%= request.getParameter("pageTitle")%></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">

<link href="/static/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/css/bootstrap-theme.min.css" rel="stylesheet">
<link href="/static/css/hbase.css" rel="stylesheet">
</head>

<body>
<div class="navbar navbar-fixed-top navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button"
class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/thrift.jsp">
<img src="/static/hbase_logo_small.png" alt="HBase Logo"/>
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="/thrift.jsp">Home</a></li>
<li><a href="/logs/">Local logs</a></li>
<li><a href="/logLevel">Log Level</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Metrics <span class="caret"></span>
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a target="_blank" href="/jmx">JMX</a></li>
<li><a target="_blank" href="/jmx?description=true">JMX with description</a></li>
<li><a target="_blank" href="/prometheus">Prometheus</a></li>
<li><a target="_blank" href="/prometheus?description=true">Prometheus with description</a></li>
</ul>
</li>
<li><a href="/prof">Profiler</a></li>
<% if (HBaseConfiguration.isShowConfInServlet()) { %>
<li><a href="/conf">HBase Configuration</a></li>
<% } %>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
85 changes: 17 additions & 68 deletions hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -19,80 +19,32 @@
--%>
<%@ page contentType="text/html;charset=UTF-8"
import="org.apache.hadoop.conf.Configuration"
import="org.apache.hadoop.hbase.HBaseConfiguration"
import="org.apache.hadoop.hbase.util.VersionInfo"
import="java.util.Date"
%>
<%@ page import="org.apache.hadoop.hbase.thrift.ImplType" %>
<%@ page import="org.apache.hadoop.hbase.util.JvmVersion" %>

<%
Configuration conf = (Configuration)getServletContext().getAttribute("hbase.conf");
String serverType = (String)getServletContext().getAttribute("hbase.thrift.server.type");
long startcode = conf.getLong("startcode", System.currentTimeMillis());
String listenPort = conf.get("hbase.regionserver.thrift.port", "9090");
ImplType implType = ImplType.getServerImpl(conf);
Configuration conf = (Configuration)getServletContext().getAttribute("hbase.conf");
String serverType = (String)getServletContext().getAttribute("hbase.thrift.server.type");
long startcode = conf.getLong("startcode", System.currentTimeMillis());
String listenPort = conf.get("hbase.regionserver.thrift.port", "9090");
ImplType implType = ImplType.getServerImpl(conf);
String transport =
(implType.isAlwaysFramed() ||
conf.getBoolean("hbase.regionserver.thrift.framed", false)) ? "Framed" : "Standard";
String protocol =
conf.getBoolean("hbase.regionserver.thrift.compact", false) ? "Compact" : "Binary";
String qop = conf.get("hbase.thrift.security.qop", "None");
String transport =
(implType.isAlwaysFramed() ||
conf.getBoolean("hbase.regionserver.thrift.framed", false)) ? "Framed" : "Standard";
String protocol =
conf.getBoolean("hbase.regionserver.thrift.compact", false) ? "Compact" : "Binary";
String qop = conf.get("hbase.thrift.security.qop", "None");
pageContext.setAttribute("pageTitle", "HBase Thrift Server: " + listenPort);
%>
<!DOCTYPE html>
<?xml version="1.0" encoding="UTF-8" ?>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HBase Thrift Server: <%= listenPort %></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">

<link href="/static/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/css/bootstrap-theme.min.css" rel="stylesheet">
<link href="/static/css/hbase.css" rel="stylesheet">
</head>

<body>
<div class="navbar navbar-fixed-top navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button"
class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/thrift.jsp">
<img src="/static/hbase_logo_small.png" alt="HBase Logo"/>
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="/">Home</a></li>
<li><a href="/logs/">Local logs</a></li>
<li><a href="/logLevel">Log Level</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Metrics <span class="caret"></span>
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a target="_blank" href="/jmx">JMX</a></li>
<li><a target="_blank" href="/jmx?description=true">JMX with description</a></li>
<li><a target="_blank" href="/prometheus">Prometheus</a></li>
<li><a target="_blank" href="/prometheus?description=true">Prometheus with description</a></li>
</ul>
</li>
<li><a href="/prof">Profiler</a></li>
<% if (HBaseConfiguration.isShowConfInServlet()) { %>
<li><a href="/conf">HBase Configuration</a></li>
<% } %>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<jsp:include page="header.jsp">
<jsp:param name="pageTitle" value="${pageTitle}"/>
</jsp:include>

<div class="container-fluid content">
<div class="row inner_header">
Expand Down Expand Up @@ -165,8 +117,5 @@ String qop = conf.get("hbase.thrift.security.qop", "None");
</section>
</div>
</div>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
</body>
</html>

<jsp:include page="footer.jsp" />

0 comments on commit ede4ccd

Please sign in to comment.