mast.jsp revision d8371503c60e1f6933455e25b1cc47e4858a3a43
cd348e325366620fe047edcc849e3c9424828599Peter Bray<%--
cd348e325366620fe047edcc849e3c9424828599Peter Bray$Id$
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco
cd348e325366620fe047edcc849e3c9424828599Peter BrayCDDL HEADER START
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalThe contents of this file are subject to the terms of the
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos KoscoCommon Development and Distribution License (the "License").
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayYou may not use this file except in compliance with the License.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BraySee LICENSE.txt included in this distribution for the specific
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscolanguage governing permissions and limitations under the License.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayWhen distributing Covered Code, include this CDDL HEADER in each
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayfile and include the License file at LICENSE.txt.
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayIf applicable, add the following below this CDDL HEADER, with the
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Brayfields enclosed by brackets "[]" replaced with your own identifying
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayinformation: Portions Copyright [yyyy] [name of copyright owner]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayCDDL HEADER END
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayCopyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayPortions Copyright 2011 Jens Elkner.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal--%><%--
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal
d961aa46ea0d50fed47802497e45226b1965b12dVladimir KotalAfter include you are here: /body/div#page/div#content/
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco--%><%@ page session="false" errorPage="error.jsp" import="
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscojava.io.File,
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscojava.io.IOException,
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayorg.opensolaris.opengrok.configuration.Project,
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayorg.opensolaris.opengrok.history.HistoryGuru,
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayorg.opensolaris.opengrok.web.EftarFileReader,
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayorg.opensolaris.opengrok.web.PageConfig,
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayorg.opensolaris.opengrok.web.Prefix,
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalorg.opensolaris.opengrok.web.Util"%><%
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal/* ---------------------- mast.jsp start --------------------- */
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray{
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray cfg = PageConfig.get(request);
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal String redir = cfg.canProcess();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal if (redir == null || redir.length() > 0) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal if (redir == null) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal response.sendError(HttpServletResponse.SC_NOT_FOUND);
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal } else {
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal response.sendRedirect(redir);
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal }
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal return;
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal }
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal // jel: hmmm - questionable for dynamic content
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal long flast = cfg.getLastModified();
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal if (request.getDateHeader("If-Modified-Since") >= flast) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal return;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal }
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal response.setDateHeader("Last-Modified", flast);
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet // Use UTF-8 if no encoding is specified in the request
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet if (request.getCharacterEncoding() == null) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal request.setCharacterEncoding("UTF-8");
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal }
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal // set the default page title
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal String path = cfg.getPath();
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal cfg.setTitle("Cross Reference: " + path);
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal String context = request.getContextPath();
3ba66fbb56ef22f183da783a1b2718280c357a4eStanislav Kozina cfg.getEnv().setUrlPrefix(context + Prefix.SEARCH_R + "?");
3ba66fbb56ef22f183da783a1b2718280c357a4eStanislav Kozina
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal String uriEncodedPath = cfg.getUriEncodedPath();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal String rev = cfg.getRequestedRevision();
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco%><%@
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscoinclude file="httpheader.jspf"
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco%><body>
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray<script type="text/javascript">/* <![CDATA[ */
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray document.hash = '<%= cfg.getDocumentHash()
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray %>';document.rev = '<%= rev
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray %>';document.link = '<%= context + Prefix.XREF_P + uriEncodedPath
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco %>';document.annotate = <%= cfg.annotate() %>;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal document.domReady.push(function() {domReadyMast();});
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal document.pageReady.push(function() { pageReadyMast();});
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal/* ]]> */</script>
cd348e325366620fe047edcc849e3c9424828599Peter Bray<div id="page">
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco <div id="whole_header">
cd348e325366620fe047edcc849e3c9424828599Peter Bray <form action="<%= context + Prefix.SEARCH_P %>">
cd348e325366620fe047edcc849e3c9424828599Peter Bray<div id="header"><%@
cd348e325366620fe047edcc849e3c9424828599Peter Bray
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalinclude file="pageheader.jspf"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal%>
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco <div id="pagetitle"><span id="filename"
3a4816d2417e1abe89a913616de36f200793bea3Vladimir Kotal >Cross Reference: <%= cfg.getCrossFilename() %></span><%
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco String dtag = cfg.getDefineTagsIndex();
3a4816d2417e1abe89a913616de36f200793bea3Vladimir Kotal if (dtag.length() > 0) {
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco %><br/><%= dtag %><%
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco }
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco %></div>
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco</div>
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco<div id="Masthead">
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye <tt><a href="<%= context + Prefix.XREF_P %>/">xref</a>: <%= Util
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco .breadcrumbPath(context + Prefix.XREF_P, path,'/',"",true,cfg.isDir())
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco %></tt>
cd348e325366620fe047edcc849e3c9424828599Peter Bray</div>
cd348e325366620fe047edcc849e3c9424828599Peter Bray<div id="bar">
cd348e325366620fe047edcc849e3c9424828599Peter Bray <ul>
cd348e325366620fe047edcc849e3c9424828599Peter Bray <li><a href="<%= context %>/"><span id="home"></span>Home</a></li><%
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if (!cfg.hasHistory()) {
cd348e325366620fe047edcc849e3c9424828599Peter Bray %><li><span id="history"></span><span class="c">History</span></li><%
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal } else {
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal %><li><a href="<%= context + Prefix.HIST_L + uriEncodedPath
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal %>"><span id="history"></span>History</a></li><%
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal }
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal if (!cfg.hasAnnotations() /* || cfg.getPrefix() == Prefix.HIST_S */ ) {
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal %><li><span class="c"><span class="annotate"></span>Annotate</span></li><%
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco } else if (cfg.annotate()) {
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal %><li><span id="toggle-annotate-by-javascript" style="display: none"><a
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal href="#" onclick="javascript:toggle_annotations(); return false;"
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco title="Show or hide line annotation(commit revisions,authors)."
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco ><span class="annotate"></span>Annotate</a></span><span
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray id="toggle-annotate"><a href="<%=
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray context + Prefix.XREF_P + uriEncodedPath
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray + (rev.length() == 0 ? "" : "?") + rev
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray %>"><span class="annotate"></span>Annotate</a></span></li><%
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray } else {
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray %><li><a href="#" onclick="javascript:get_annotations(); return false;"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ><span class="annotate"></span>Annotate</a></li><%
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray }
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if (!cfg.isDir()) {
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if (cfg.getPrefix() == Prefix.XREF_P) {
cd348e325366620fe047edcc849e3c9424828599Peter Bray %><li><a href="#" onclick="javascript:lntoggle();return false;"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray title="<%= "Show or hide line numbers (might be slower if "
cd348e325366620fe047edcc849e3c9424828599Peter Bray + "file has more than 10 000 lines)."
cd348e325366620fe047edcc849e3c9424828599Peter Bray %>"><span id="line"></span>Line#</a></li><li><a
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray href="#" onclick="javascript:lsttoggle();return false;"
cd348e325366620fe047edcc849e3c9424828599Peter Bray title="Show or hide symbol list."><%--
cd348e325366620fe047edcc849e3c9424828599Peter Bray --%><span id="defbox"></span>Navigate</a></li><%
cd348e325366620fe047edcc849e3c9424828599Peter Bray }
cd348e325366620fe047edcc849e3c9424828599Peter Bray %>
cd348e325366620fe047edcc849e3c9424828599Peter Bray <li><a href="<%= context + Prefix.RAW_P + uriEncodedPath
cd348e325366620fe047edcc849e3c9424828599Peter Bray + (rev.length() == 0 ? "" : "?") + rev
cd348e325366620fe047edcc849e3c9424828599Peter Bray %>"><span id="raw"></span>Raw</a></li>
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray <li><a href="<%= context + Prefix.DOWNLOAD_P + uriEncodedPath
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray + (rev.length() == 0 ? "" : "?") + rev
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray %>"><span id="download"></span>Download</a></li>
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco <%
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray }
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco %><li><input type="text" id="search" name="q" class="q" />
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray <input type="submit" value="Search" class="submit" /></li><%
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco Project proj = cfg.getProject();
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray String[] vals = cfg.getSearchOnlyIn();
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray %><li><input type="checkbox" name="path" value='"<%= vals[0]
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray %>"' <%= vals[2] %>/> only in <b><%= vals[1] %></b></li>
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray </ul><%
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if (proj != null) {
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray %>
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray <input type="hidden" name="project" value="<%=proj.getDescription()%>" /><%
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray }
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray%>
b34561d2c3d92fac37dbced05ba6a8738e3d20e9Lubos Kosco</div>
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray </form>
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray </div>
5e6c91d7e77062129cd0b6ac8aaa546dff216419Lubos Kosco<div id="content">
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal<%
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray/* ---------------------- mast.jsp end --------------------- */
cd348e325366620fe047edcc849e3c9424828599Peter Bray%>
cd348e325366620fe047edcc849e3c9424828599Peter Bray