|
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> |