src/main/webapp/WEB-INF/jsp/issues-feed.jsp

changeset 195
9c7aff3cbb14
child 196
74682d8dce56
equal deleted inserted replaced
194:2b3b7d0a885e 195:9c7aff3cbb14
1 <%--
2 ~ Copyright 2021 Mike Becker. All rights reserved.
3 ~
4 ~ Redistribution and use in source and binary forms, with or without
5 ~ modification, are permitted provided that the following conditions are met:
6 ~
7 ~ 1. Redistributions of source code must retain the above copyright
8 ~ notice, this list of conditions and the following disclaimer.
9 ~
10 ~ 2. Redistributions in binary form must reproduce the above copyright
11 ~ notice, this list of conditions and the following disclaimer in the
12 ~ documentation and/or other materials provided with the distribution.
13 ~
14 ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 ~ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18 ~ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 ~ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20 ~ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21 ~ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22 ~ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 ~ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 --%>
25 <%@ page contentType="application/rss+xml;charset=UTF-8" trimDirectiveWhitespaces="true" %>
26 <%@page import="de.uapcore.lightpit.Constants" %>
27 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
28 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
29 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueFeed" scope="request"/>
30 <c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/>
31 <fmt:setLocale scope="request" value="${pageContext.response.locale}"/>
32 <fmt:setBundle scope="request" basename="localization.strings"/>
33 <?xml version="1.0" encoding="utf-8"?>
34 <rss version="2.0">
35 <c:forEach items="${viewmodel.issues}" var="feed">
36 <c:set var="project" value="${feed.key}"/>
37 <c:set var="issues" value="${feed.value}"/>
38 <channel>
39 <title>
40 <fmt:message key="feed.issues.title"/> - <c:out value="${project.name}"/>
41 </title>
42 <link>${baseHref}projects/${project.node}/</link>
43 <description><fmt:message key="feed.issues.description"/></description>
44 <language>${pageContext.response.locale.language}</language>
45
46 <c:forEach items="${issues}" var="issue">
47 <item>
48 <title><c:if test="${not empty issue.component}"><c:out value="${issue.component.name}"/> - </c:if><c:out value="${issue.subject}"/></title>
49 <description>
50 <c:out value="${issue.description}"/>
51 </description>
52 <category><fmt:message key="issue.category.${issue.category}"/></category>
53 <link>${baseHref}projects/${issue.project.node}/issues/-/${empty issue.component ? '-' : issue.component.node}/${issue.id}</link>
54 <guid isPermaLink="true">${baseHref}projects/${issue.project.node}/issues/-/-/${issue.id}</guid>
55 <pubDate><fmt:formatDate value="${issue.updated}" pattern="EEE, dd MMM yyyy HH:mm:ss zzz" /></pubDate>
56 </item>
57 </c:forEach>
58 </channel>
59 </c:forEach>
60 </rss>

mercurial