Fri, 22 May 2020 16:21:59 +0200
some reformatting
--- a/src/main/java/de/uapcore/lightpit/ModuleManager.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/ModuleManager.java Fri May 22 16:21:59 2020 +0200 @@ -155,7 +155,7 @@ new ResourceKey( mod.bundleBaseName(), mod.menuKey()), - mod.modulePath()+"/", + mod.modulePath() + "/", mod.defaultPriority())) .sorted() .forEachOrdered(mainMenu::add);
--- a/src/main/java/de/uapcore/lightpit/dao/DataAccessObjects.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/dao/DataAccessObjects.java Fri May 22 16:21:59 2020 +0200 @@ -30,7 +30,10 @@ public interface DataAccessObjects { UserDao getUserDao(); + ProjectDao getProjectDao(); + VersionDao getVersionDao(); + IssueDao getIssueDao(); }
--- a/src/main/java/de/uapcore/lightpit/dao/IssueDao.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/dao/IssueDao.java Fri May 22 16:21:59 2020 +0200 @@ -38,6 +38,7 @@ /** * Lists all issues for the specified project. + * * @param project the project * @return a list of issues * @throws SQLException on any kind of SQL error
--- a/src/main/java/de/uapcore/lightpit/dao/VersionDao.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/dao/VersionDao.java Fri May 22 16:21:59 2020 +0200 @@ -38,6 +38,7 @@ /** * Lists all versions for the specified project. + * * @param project the project * @return a list of versions * @throws SQLException on any kind of SQL error
--- a/src/main/java/de/uapcore/lightpit/dao/postgres/PGIssueDao.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/dao/postgres/PGIssueDao.java Fri May 22 16:21:59 2020 +0200 @@ -75,10 +75,10 @@ } private Version obtainVersion(ResultSet result, Project project, String prefix) throws SQLException { - final int vplan = result.getInt(prefix+"id"); + final int vplan = result.getInt(prefix + "id"); if (vplan > 0) { final var ver = new Version(vplan, project); - ver.setName(result.getString(prefix+"name")); + ver.setName(result.getString(prefix + "name")); return ver; } else { return null;
--- a/src/main/java/de/uapcore/lightpit/entities/User.java Fri May 22 16:21:31 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/entities/User.java Fri May 22 16:21:59 2020 +0200 @@ -89,7 +89,7 @@ dn.append(lastname); dn.append(' '); if (mail != null && !mail.isBlank()) { - dn.append("<"+mail+">"); + dn.append("<" + mail + ">"); } final var str = dn.toString().trim(); return str.isBlank() ? username : str;
--- a/src/main/webapp/WEB-INF/dynamic_fragments/commit-successful.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/commit-successful.jsp Fri May 22 16:21:59 2020 +0200 @@ -30,5 +30,5 @@ <c:set scope="page" var="redirectLocation" value="${requestScope[Constants.REQ_ATTR_REDIRECT_LOCATION]}"/> -<fmt:message bundle="${lightpit_bundle}" key="commit.success" /> -<fmt:message bundle="${lightpit_bundle}" key="commit.redirect-link" /> +<fmt:message bundle="${lightpit_bundle}" key="commit.success"/> +<fmt:message bundle="${lightpit_bundle}" key="commit.redirect-link"/>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/error.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/error.jsp Fri May 22 16:21:59 2020 +0200 @@ -31,7 +31,7 @@ <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}" /> +<c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> <c:set scope="page" var="errorCode" value="${requestScope['javax.servlet.error.status_code']}"/> <c:set scope="page" var="returnLink" value="${requestScope[ErrorModule.REQ_ATTR_RETURN_LINK]}"/> @@ -40,28 +40,28 @@ <table> <tr> <th><fmt:message key="errorCode"/>:</th> - <td>${errorCode} - <fmt:message key="code.${errorCode}" /></td> + <td>${errorCode} - <fmt:message key="code.${errorCode}"/></td> </tr> <tr> - <th><fmt:message key="errorMessage" />:</th> + <th><fmt:message key="errorMessage"/>:</th> <td><c:out value="${requestScope['javax.servlet.error.message']}"/></td> </tr> <tr> - <th><fmt:message key="errorTimestamp" />:</th> + <th><fmt:message key="errorTimestamp"/>:</th> <td><fmt:formatDate type="both" value="<%= new java.util.Date()%>"/></td> </tr> <%--@elvariable id="exception" type="java.lang.Exception"--%> <c:if test="${not empty exception}"> - <tr> - <th><fmt:message key="errorExceptionText" />:</th> - <td>${exception['class'].name} - ${exception.message}</td> - </tr> + <tr> + <th><fmt:message key="errorExceptionText"/>:</th> + <td>${exception['class'].name} - ${exception.message}</td> + </tr> </c:if> <c:if test="${fn:startsWith(returnLink, baseHref)}"> - <tr> - <th><fmt:message key="errorReturnLink" />:</th> - <td><a href="${returnLink}">${returnLink}</a></td> - </tr> + <tr> + <th><fmt:message key="errorReturnLink"/>:</th> + <td><a href="${returnLink}">${returnLink}</a></td> + </tr> </c:if> </table> </div>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/language.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/language.jsp Fri May 22 16:21:59 2020 +0200 @@ -46,7 +46,7 @@ </label> </c:forEach> <c:if test="${not browserLanguagePresent}"> - <span class="blNA"><fmt:message key="browserLanguageNotAvailable" /></span> + <span class="blNA"><fmt:message key="browserLanguageNotAvailable"/></span> </c:if> <input type="submit" value="<fmt:message key="submit" />"/> </form>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/project-details.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/project-details.jsp Fri May 22 16:21:59 2020 +0200 @@ -37,41 +37,42 @@ <jsp:useBean id="issues" type="java.util.List<de.uapcore.lightpit.entities.Issue>" scope="request"/> <div id="tool-area"> - <a href="./${moduleInfo.modulePath}/versions/edit" class="button"><fmt:message key="button.version.create" /></a> - <a href="./${moduleInfo.modulePath}/issues/edit" class="button"><fmt:message key="button.issue.create" /></a> + <a href="./${moduleInfo.modulePath}/versions/edit" class="button"><fmt:message key="button.version.create"/></a> + <a href="./${moduleInfo.modulePath}/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> </div> <c:if test="${not empty versions}"> -<table id="version-list" class="datatable medskip"> - <thead> - <tr> - <th></th> - <th><fmt:message key="thead.version.name"/></th> - <th><fmt:message key="thead.version.status"/></th> - </tr> - </thead> - <tbody> - <c:forEach var="version" items="${versions}"> - <tr class="nowrap" > - <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/versions/edit?id=${version.id}">✎</a></td> - <td><c:out value="${version.name}"/></td> - <td><fmt:message key="version.status.${version.status}" /></td> + <table id="version-list" class="datatable medskip"> + <thead> + <tr> + <th></th> + <th><fmt:message key="thead.version.name"/></th> + <th><fmt:message key="thead.version.status"/></th> </tr> - </c:forEach> - </tbody> -</table> + </thead> + <tbody> + <c:forEach var="version" items="${versions}"> + <tr class="nowrap"> + <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/versions/edit?id=${version.id}">✎</a> + </td> + <td><c:out value="${version.name}"/></td> + <td><fmt:message key="version.status.${version.status}"/></td> + </tr> + </c:forEach> + </tbody> + </table> </c:if> <table id="issue-list" class="datatable medskip"> <thead> <tr> <th></th> - <th><fmt:message key="thead.issue.subject" /></th> - <th><fmt:message key="thead.issue.category" /></th> - <th><fmt:message key="thead.issue.status" /></th> - <th><fmt:message key="thead.issue.created" /></th> - <th><fmt:message key="thead.issue.updated" /></th> - <th><fmt:message key="thead.issue.eta" /></th> + <th><fmt:message key="thead.issue.subject"/></th> + <th><fmt:message key="thead.issue.category"/></th> + <th><fmt:message key="thead.issue.status"/></th> + <th><fmt:message key="thead.issue.created"/></th> + <th><fmt:message key="thead.issue.updated"/></th> + <th><fmt:message key="thead.issue.eta"/></th> <!-- TODO: add other information --> </tr> </thead>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/project-form.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/project-form.jsp Fri May 22 16:21:59 2020 +0200 @@ -43,23 +43,25 @@ <tbody> <tr> <th><fmt:message key="thead.name"/></th> - <td><input name="name" type="text" maxlength="20" required value="${project.name}"/> </td> + <td><input name="name" type="text" maxlength="20" required value="${project.name}"/></td> </tr> <tr> <th class="vtop"><fmt:message key="thead.description"/></th> - <td><input type="text" name="description" maxlength="200" value="${project.description}" /> </td> + <td><input type="text" name="description" maxlength="200" value="${project.description}"/></td> </tr> <tr> <th><fmt:message key="thead.repoUrl"/></th> - <td><input name="repoUrl" type="url" maxlength="50" value="${project.repoUrl}" /> </td> + <td><input name="repoUrl" type="url" maxlength="50" value="${project.repoUrl}"/></td> </tr> <tr> <th><fmt:message key="thead.owner"/></th> <td> <select name="owner"> - <option value="-1"><fmt:message key="placeholder.null-owner" /> </option> + <option value="-1"><fmt:message key="placeholder.null-owner"/></option> <c:forEach var="user" items="${users}"> - <option <c:if test="${not empty project.owner and user.id eq project.owner.id}">selected</c:if> value="${user.id}"><c:out value="${user.displayname}"/></option> + <option + <c:if test="${not empty project.owner and user.id eq project.owner.id}">selected</c:if> + value="${user.id}"><c:out value="${user.displayname}"/></option> </c:forEach> </select> </td> @@ -68,9 +70,10 @@ <tfoot> <tr> <td colspan="2"> - <input type="hidden" name="id" value="${project.id}" /> - <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" key="button.cancel"/></a> - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay" /></button> + <input type="hidden" name="id" value="${project.id}"/> + <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" + key="button.cancel"/></a> + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> </td> </tr> </tfoot>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/projects.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/projects.jsp Fri May 22 16:21:59 2020 +0200 @@ -37,49 +37,51 @@ <c:if test="${empty projects}"> <div class="info-box"> - <fmt:message key="no-projects" /> + <fmt:message key="no-projects"/> </div> </c:if> <div id="tool-area"> - <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create" /></a> + <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> </div> <c:if test="${not empty projects}"> -<table id="project-list" class="datatable medskip fullwidth"> - <colgroup> - <col> - <col style="width: 10%"> - <col style="width: 35%"> - <col style="width: 30%"> - <col style="width: 25%"> - </colgroup> - <thead> - <tr> - <th></th> - <th><fmt:message key="thead.name"/></th> - <th><fmt:message key="thead.description"/></th> - <th><fmt:message key="thead.repoUrl"/></th> - <th><fmt:message key="thead.owner"/></th> - </tr> - </thead> - <tbody> - <c:forEach var="project" items="${projects}"> - <tr class="nowrap"> - <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/edit?id=${project.id}">✎</a></td> - <td><a href="./${moduleInfo.modulePath}/view?pid=${project.id}"><c:out value="${project.name}"/></a></td> - <td><c:out value="${project.description}"/></td> - <td> - <c:if test="${not empty project.repoUrl}"> - <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out value="${project.repoUrl}"/></a> - </c:if> - </td> - <td> - <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> - <c:if test="${empty project.owner}"><fmt:message key="placeholder.null-owner" /></c:if> - </td> + <table id="project-list" class="datatable medskip fullwidth"> + <colgroup> + <col> + <col style="width: 10%"> + <col style="width: 35%"> + <col style="width: 30%"> + <col style="width: 25%"> + </colgroup> + <thead> + <tr> + <th></th> + <th><fmt:message key="thead.name"/></th> + <th><fmt:message key="thead.description"/></th> + <th><fmt:message key="thead.repoUrl"/></th> + <th><fmt:message key="thead.owner"/></th> </tr> - </c:forEach> - </tbody> -</table> + </thead> + <tbody> + <c:forEach var="project" items="${projects}"> + <tr class="nowrap"> + <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/edit?id=${project.id}">✎</a></td> + <td><a href="./${moduleInfo.modulePath}/view?pid=${project.id}"><c:out value="${project.name}"/></a> + </td> + <td><c:out value="${project.description}"/></td> + <td> + <c:if test="${not empty project.repoUrl}"> + <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out + value="${project.repoUrl}"/></a> + </c:if> + </td> + <td> + <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> + <c:if test="${empty project.owner}"><fmt:message key="placeholder.null-owner"/></c:if> + </td> + </tr> + </c:forEach> + </tbody> + </table> </c:if>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/user-form.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/user-form.jsp Fri May 22 16:21:59 2020 +0200 @@ -42,27 +42,29 @@ <tbody> <tr> <th><fmt:message key="thead.username"/></th> - <td><input name="username" type="text" maxlength="50" required value="${user.username}" <c:if test="${user.id ge 0}">readonly</c:if> /> </td> + <td><input name="username" type="text" maxlength="50" required value="${user.username}" + <c:if test="${user.id ge 0}">readonly</c:if> /></td> </tr> <tr> <th><fmt:message key="thead.givenname"/></th> - <td><input name="givenname" type="text" maxlength="50" value="${user.givenname}"/> </td> + <td><input name="givenname" type="text" maxlength="50" value="${user.givenname}"/></td> </tr> <tr> <th><fmt:message key="thead.lastname"/></th> - <td><input name="lastname" type="text" maxlength="50" value="${user.lastname}"/> </td> + <td><input name="lastname" type="text" maxlength="50" value="${user.lastname}"/></td> </tr> <tr> <th><fmt:message key="thead.mail"/></th> - <td><input name="mail" type="email" maxlength="50" value="${user.mail}"/> </td> + <td><input name="mail" type="email" maxlength="50" value="${user.mail}"/></td> </tr> </tbody> <tfoot> <tr> <td colspan="2"> - <input type="hidden" name="userid" value="${user.id}" /> - <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" key="button.cancel"/></a> - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay" /></button> + <input type="hidden" name="userid" value="${user.id}"/> + <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" + key="button.cancel"/></a> + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> </td> </tr> </tfoot>
--- a/src/main/webapp/WEB-INF/dynamic_fragments/users.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/users.jsp Fri May 22 16:21:59 2020 +0200 @@ -35,12 +35,12 @@ <c:if test="${empty users}"> <div class="info-box"> - <fmt:message key="no-users" /> + <fmt:message key="no-users"/> </div> </c:if> <div id="tool-area"> - <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create" /></a> + <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> </div> <c:if test="${not empty users}">
--- a/src/main/webapp/WEB-INF/dynamic_fragments/version-form.jsp Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/dynamic_fragments/version-form.jsp Fri May 22 16:21:59 2020 +0200 @@ -33,7 +33,7 @@ <c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> <jsp:useBean id="version" type="de.uapcore.lightpit.entities.Version" scope="request"/> -<jsp:useBean id="versionStatusEnum" type="de.uapcore.lightpit.entities.VersionStatus[]" scope="request" /> +<jsp:useBean id="versionStatusEnum" type="de.uapcore.lightpit.entities.VersionStatus[]" scope="request"/> <form action="./${moduleInfo.modulePath}/versions/commit" method="post"> <table class="formtable" style="width: 35ch"> @@ -44,14 +44,16 @@ <tbody> <tr> <th><fmt:message key="thead.version.name"/></th> - <td><input name="name" type="text" maxlength="20" required value="${version.name}" /> </td> + <td><input name="name" type="text" maxlength="20" required value="${version.name}"/></td> </tr> <tr> <th><fmt:message key="thead.version.status"/></th> <td> <select name="status" required> <c:forEach var="elem" items="${versionStatusEnum}"> - <option <c:if test="${elem eq version.status}">selected</c:if> value="${elem}"><fmt:message key="version.status.${elem}" /> </option> + <option + <c:if test="${elem eq version.status}">selected</c:if> value="${elem}"><fmt:message + key="version.status.${elem}"/></option> </c:forEach> </select> </td> @@ -59,16 +61,17 @@ <tr title="<fmt:message key="tooltip.ordinal" />"> <th><fmt:message key="thead.version.ordinal"/></th> <td> - <input name="ordinal" type="number" min="0" value="${version.ordinal}" /> + <input name="ordinal" type="number" min="0" value="${version.ordinal}"/> </td> </tr> </tbody> <tfoot> <tr> <td colspan="2"> - <input type="hidden" name="id" value="${version.id}" /> - <a href="./${moduleInfo.modulePath}/versions/" class="button"><fmt:message bundle="${lightpit_bundle}" key="button.cancel"/></a> - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay" /></button> + <input type="hidden" name="id" value="${version.id}"/> + <a href="./${moduleInfo.modulePath}/versions/" class="button"><fmt:message bundle="${lightpit_bundle}" + key="button.cancel"/></a> + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> </td> </tr> </tfoot>
--- a/src/main/webapp/WEB-INF/web.xml Fri May 22 16:21:31 2020 +0200 +++ b/src/main/webapp/WEB-INF/web.xml Fri May 22 16:21:59 2020 +0200 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> +<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> <session-config> <session-timeout> 30