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

Thu, 13 May 2021 11:28:50 +0200

author
Mike Becker <universe@uap-core.de>
date
Thu, 13 May 2021 11:28:50 +0200
changeset 195
9c7aff3cbb14
child 196
74682d8dce56
permissions
-rw-r--r--

#109 - add RSS feed

<%--
  ~ Copyright 2021 Mike Becker. All rights reserved.
  ~
  ~ Redistribution and use in source and binary forms, with or without
  ~ modification, are permitted provided that the following conditions are met:
  ~
  ~ 1. Redistributions of source code must retain the above copyright
  ~ notice, this list of conditions and the following disclaimer.
  ~
  ~ 2. Redistributions in binary form must reproduce the above copyright
  ~ notice, this list of conditions and the following disclaimer in the
  ~ documentation and/or other materials provided with the distribution.
  ~
  ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  ~ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  ~ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  ~ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  ~ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  ~ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  ~ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  ~ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  ~ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  ~ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  --%>
<%@ page contentType="application/rss+xml;charset=UTF-8" trimDirectiveWhitespaces="true" %>
<%@page import="de.uapcore.lightpit.Constants" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueFeed" scope="request"/>
<c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/>
<fmt:setLocale scope="request" value="${pageContext.response.locale}"/>
<fmt:setBundle scope="request" basename="localization.strings"/>
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <c:forEach items="${viewmodel.issues}" var="feed">
        <c:set var="project" value="${feed.key}"/>
        <c:set var="issues" value="${feed.value}"/>
        <channel>
            <title>
                <fmt:message key="feed.issues.title"/> - <c:out value="${project.name}"/>
            </title>
            <link>${baseHref}projects/${project.node}/</link>
            <description><fmt:message key="feed.issues.description"/></description>
            <language>${pageContext.response.locale.language}</language>

            <c:forEach items="${issues}" var="issue">
                <item>
                    <title><c:if test="${not empty issue.component}"><c:out value="${issue.component.name}"/> - </c:if><c:out value="${issue.subject}"/></title>
                    <description>
                        <c:out value="${issue.description}"/>
                    </description>
                    <category><fmt:message key="issue.category.${issue.category}"/></category>
                    <link>${baseHref}projects/${issue.project.node}/issues/-/${empty issue.component ? '-' : issue.component.node}/${issue.id}</link>
                    <guid isPermaLink="true">${baseHref}projects/${issue.project.node}/issues/-/-/${issue.id}</guid>
                    <pubDate><fmt:formatDate value="${issue.updated}" pattern="EEE, dd MMM yyyy HH:mm:ss zzz" /></pubDate>
                </item>
            </c:forEach>
        </channel>
    </c:forEach>
</rss>

mercurial