rss.jsp revision 17b343cecb69da82215b124f39fed80167a6f2bd
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCDDL HEADER START
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntThe contents of this file are subject to the terms of the
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCommon Development and Distribution License (the "License").
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntYou may not use this file except in compliance with the License.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntSee LICENSE.txt included in this distribution for the specific
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntlanguage governing permissions and limitations under the License.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntWhen distributing Covered Code, include this CDDL HEADER in each
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntfile and include the License file at LICENSE.txt.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntIf applicable, add the following below this CDDL HEADER, with the
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntfields enclosed by brackets "[]" replaced with your own identifying
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntinformation: Portions Copyright [yyyy] [name of copyright owner]
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCDDL HEADER END
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCopyright 2005 Sun Microsystems, Inc. All rights reserved.
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntUse is subject to license terms.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntident "@(#)rss.jsp 1.2 05/12/02 SMI"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt--%><%@ page import = "javax.servlet.*,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt%><%@ page session="false" %><%@ page errorPage="error.jsp"%><%
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString context = request.getContextPath();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString servlet = request.getServletPath();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString reqURI = request.getRequestURI();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString path = request.getPathInfo();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif(path == null) path = "";
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntRuntimeEnvironment env = RuntimeEnvironment.getInstance();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString rawSource = env.getSourceRootPath();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString resourcePath = rawSource + path;
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntFile resourceFile = new File(resourcePath);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntboolean valid;
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString basename = resourceFile.getName();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif("/".equals(path)) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt basename = "Cross Reference";
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntboolean isDir = false;
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString parent = null;
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntString parentBasename = resourceFile.getParentFile().getName();
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntIgnoredNames ignoredNames = env.getIgnoredNames();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt|| ignoredNames.ignore(basename) || ignoredNames.ignore(parentBasename)) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt valid = false;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt valid = true;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt path = resourcePath.substring(rawSource.length());
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt path = path.replace('\\','/');
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (isDir && !reqURI.endsWith("/")) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt response.sendRedirect(context + servlet + path +"/");
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt String dtag = "";
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt EftarFileReader ef = new EftarFileReader(env.getDataRootPath() + "/index/dtags.eftar");
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt dtag = ef.get(path);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt } catch (Exception e) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt int lastSlash = path.lastIndexOf('/');
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt parent = (lastSlash != -1) ? path.substring(0, lastSlash) : "";
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt int pLastSlash = parent.lastIndexOf('/');
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt parentBasename = pLastSlash != -1 ? parent.substring(pLastSlash+1) : parent;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt Date start = new Date();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt%><?xml version="1.0"?>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt<?xml-stylesheet type="text/xsl" href="<%=context%>/rss.xsl.xml"?>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <title>Changes in <%=Util.htmlize(basename)%></title>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <link><%=Util.htmlize(request.getRequestURL())%></link>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <description><%=Util.htmlize(dtag)%></description>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <language>en</language>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <copyright>Copyright 2005</copyright>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <generator>Java</generator>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt Format df = new SimpleDateFormat("dd-MMM-yyyy");
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt History hist = null;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt String[] apaths = request.getParameterValues("also");
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt String apath = path;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (apaths!= null && apaths.length>0) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt StringBuilder paths = new StringBuilder(path);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt for(int i=0; i< apaths.length; i++) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt hist = new DirectoryHistoryReader(apath).getHistory();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt File f = new File(rawSource + parent, basename);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt hist = HistoryGuru.getInstance().getHistory(f);
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (hist != null) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt for (HistoryEntry entry : hist.getHistoryEntries()) {
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt if (i-- <= 0) break;
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt String rev = entry.getRevision();
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <title><%=Util.htmlize(entry.getMessage())%></title>
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt <description><%
Set<String> files = entry.getFiles();
%><%=Util.htmlize(ifile)%>