rss.jsp revision 17b343cecb69da82215b124f39fed80167a6f2bd
cd348e325366620fe047edcc849e3c9424828599Peter BrayCDDL HEADER START
cd348e325366620fe047edcc849e3c9424828599Peter BrayThe contents of this file are subject to the terms of the
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayCommon Development and Distribution License (the "License").
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalYou may not use this file except in compliance with the License.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BraySee LICENSE.txt included in this distribution for the specific
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Braylanguage governing permissions and limitations under the License.
d20bb899e2e6c692130af57903cb0f909e7bec2aGerbrand van DieijenWhen distributing Covered Code, include this CDDL HEADER in each
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscofile and include the License file at LICENSE.txt.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayIf applicable, add the following below this CDDL HEADER, with the
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayfields enclosed by brackets "[]" replaced with your own identifying
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayinformation: Portions Copyright [yyyy] [name of copyright owner]
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayCDDL HEADER END
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayCopyright 2005 Sun Microsystems, Inc. All rights reserved.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayUse is subject to license terms.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayident "@(#)rss.jsp 1.2 05/12/02 SMI"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray--%><%@ page import = "javax.servlet.*,
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray%><%@ page session="false" %><%@ page errorPage="error.jsp"%><%
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayString context = request.getContextPath();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalString servlet = request.getServletPath();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalString reqURI = request.getRequestURI();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalif(path == null) path = "";
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalRuntimeEnvironment env = RuntimeEnvironment.getInstance();
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir Kotalenv.setUrlPrefix(context + Constants.searchR+"?");
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalString rawSource = env.getSourceRootPath();
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalString resourcePath = rawSource + path;
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalFile resourceFile = new File(resourcePath);
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalresourcePath = resourceFile.getAbsolutePath();
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir Kotalboolean valid;
9dc24f2da404ab474e38fc4d428e5717dc9bcee4Vladimir KotalString basename = resourceFile.getName();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalif("/".equals(path)) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal basename = "Cross Reference";
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalboolean isDir = false;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalString parent = null;
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume SmetString parentBasename = resourceFile.getParentFile().getName();
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume SmetIgnoredNames ignoredNames = env.getIgnoredNames();
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal|| ignoredNames.ignore(basename) || ignoredNames.ignore(parentBasename)) {
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal valid = false;
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal valid = true;
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal path = resourcePath.substring(rawSource.length());
3ba66fbb56ef22f183da783a1b2718280c357a4eStanislav Kozina path = path.replace('\\','/');
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco if (isDir && !reqURI.endsWith("/")) {
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco response.sendRedirect(context + servlet + path +"/");
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco String dtag = "";
9132ad6a7ba5525fd1a6ccd4f4bcb497385c8597ralphmayr EftarFileReader ef = new EftarFileReader(env.getDataRootPath() + "/index/dtags.eftar");
9132ad6a7ba5525fd1a6ccd4f4bcb497385c8597ralphmayr dtag = ef.get(path);
9132ad6a7ba5525fd1a6ccd4f4bcb497385c8597ralphmayr } catch (Exception e) {
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray int lastSlash = path.lastIndexOf('/');
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray parent = (lastSlash != -1) ? path.substring(0, lastSlash) : "";
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco int pLastSlash = parent.lastIndexOf('/');
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal parentBasename = pLastSlash != -1 ? parent.substring(pLastSlash+1) : parent;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal Date start = new Date();
cd348e325366620fe047edcc849e3c9424828599Peter Bray%><?xml version="1.0"?>
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco<?xml-stylesheet type="text/xsl" href="<%=context%>/rss.xsl.xml"?>
cd348e325366620fe047edcc849e3c9424828599Peter Bray<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
cd348e325366620fe047edcc849e3c9424828599Peter Bray <title>Changes in <%=Util.htmlize(basename)%></title>
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal <link><%=Util.htmlize(request.getRequestURL())%></link>
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal <description><%=Util.htmlize(dtag)%></description>
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal <language>en</language>
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco <copyright>Copyright 2005</copyright>
3a4816d2417e1abe89a913616de36f200793bea3Vladimir Kotal <generator>Java</generator>
610915d59310c9aba810740e858ba64c5e3e6a2fVladimir Kotal Format df = new SimpleDateFormat("dd-MMM-yyyy");
527d116ec0f031818982101f4475298b930d515bVladimir Kotal History hist = null;
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco String[] apaths = request.getParameterValues("also");
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco String apath = path;
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco if (apaths!= null && apaths.length>0) {
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco StringBuilder paths = new StringBuilder(path);
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye for(int i=0; i< apaths.length; i++) {
cd348e325366620fe047edcc849e3c9424828599Peter Bray hist = new DirectoryHistoryReader(apath).getHistory();
cd348e325366620fe047edcc849e3c9424828599Peter Bray File f = new File(rawSource + parent, basename);
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal hist = HistoryGuru.getInstance().getHistory(f);
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal if (hist != null) {
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal for (HistoryEntry entry : hist.getHistoryEntries()) {
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal if (i-- <= 0) break;
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco String rev = entry.getRevision();
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco <title><%=Util.htmlize(entry.getMessage())%></title>
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray <description><%
5a0ed1213a40c9ab7c990b442b77455ee27bc799Vladimir Kotal Set<String> files = entry.getFiles();
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if(files != null) {
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray for (String ifile : files) {
cd348e325366620fe047edcc849e3c9424828599Peter Bray %><%=Util.htmlize(path)%> - <%=Util.htmlize(entry.getRevision())%><%
cd348e325366620fe047edcc849e3c9424828599Peter Bray %></description>
cd348e325366620fe047edcc849e3c9424828599Peter Bray <pubDate><%=Util.htmlize(entry.getDate().toString())%></pubDate>
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray <dc:creator><%=Util.htmlize(entry.getAuthor())%></dc:creator>
cd348e325366620fe047edcc849e3c9424828599Peter Bray%></channel></rss>