src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java

changeset 74
91d1fc2a3a14
parent 71
dca186d3911f
child 75
33b6843fdf8a
equal deleted inserted replaced
73:672b5003cafe 74:91d1fc2a3a14
109 @RequestMapping(method = HttpMethod.GET) 109 @RequestMapping(method = HttpMethod.GET)
110 public ResponseType index(HttpServletRequest req, DataAccessObjects dao) throws SQLException { 110 public ResponseType index(HttpServletRequest req, DataAccessObjects dao) throws SQLException {
111 111
112 final var projectList = dao.getProjectDao().list(); 112 final var projectList = dao.getProjectDao().list();
113 req.setAttribute("projects", projectList); 113 req.setAttribute("projects", projectList);
114 setDynamicFragment(req, "projects"); 114 setContentPage(req, "projects");
115 setStylesheet(req, "projects"); 115 setStylesheet(req, "projects");
116 116
117 final var selectedProject = getSelectedProject(req, dao); 117 final var selectedProject = getSelectedProject(req, dao);
118 setBreadcrumbs(req, getBreadcrumbs(0, selectedProject)); 118 setBreadcrumbs(req, getBreadcrumbs(0, selectedProject));
119 119
128 req.setAttribute("project", new Project(-1)); 128 req.setAttribute("project", new Project(-1));
129 setBreadcrumbs(req, getBreadcrumbs(0, null)); 129 setBreadcrumbs(req, getBreadcrumbs(0, null));
130 } 130 }
131 131
132 req.setAttribute("users", dao.getUserDao().list()); 132 req.setAttribute("users", dao.getUserDao().list());
133 setDynamicFragment(req, "project-form"); 133 setContentPage(req, "project-form");
134 } 134 }
135 135
136 @RequestMapping(requestPath = "edit", method = HttpMethod.GET) 136 @RequestMapping(requestPath = "edit", method = HttpMethod.GET)
137 public ResponseType edit(HttpServletRequest req, DataAccessObjects dao) throws SQLException { 137 public ResponseType edit(HttpServletRequest req, DataAccessObjects dao) throws SQLException {
138 138
159 ).ifPresent(project::setOwner); 159 ).ifPresent(project::setOwner);
160 160
161 dao.getProjectDao().saveOrUpdate(project); 161 dao.getProjectDao().saveOrUpdate(project);
162 162
163 setRedirectLocation(req, "./projects/"); 163 setRedirectLocation(req, "./projects/");
164 setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 164 setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
165 LOG.debug("Successfully updated project {}", project.getName()); 165 LOG.debug("Successfully updated project {}", project.getName());
166 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 166 } catch (NoSuchElementException | NumberFormatException | SQLException ex) {
167 // TODO: set request attribute with error text 167 // TODO: set request attribute with error text
168 LOG.warn("Form validation failure: {}", ex.getMessage()); 168 LOG.warn("Form validation failure: {}", ex.getMessage());
169 LOG.debug("Details:", ex); 169 LOG.debug("Details:", ex);
185 req.setAttribute("issues", dao.getIssueDao().list(selectedProject)); 185 req.setAttribute("issues", dao.getIssueDao().list(selectedProject));
186 186
187 // TODO: add more levels depending on last visited location 187 // TODO: add more levels depending on last visited location
188 setBreadcrumbs(req, getBreadcrumbs(1, selectedProject)); 188 setBreadcrumbs(req, getBreadcrumbs(1, selectedProject));
189 189
190 setDynamicFragment(req, "project-details"); 190 setContentPage(req, "project-details");
191 191
192 return ResponseType.HTML; 192 return ResponseType.HTML;
193 } 193 }
194 194
195 private void configureEditVersionForm(HttpServletRequest req, Optional<Version> version, Project selectedProject) { 195 private void configureEditVersionForm(HttpServletRequest req, Optional<Version> version, Project selectedProject) {
196 req.setAttribute("version", version.orElse(new Version(-1, selectedProject))); 196 req.setAttribute("version", version.orElse(new Version(-1, selectedProject)));
197 req.setAttribute("versionStatusEnum", VersionStatus.values()); 197 req.setAttribute("versionStatusEnum", VersionStatus.values());
198 198
199 setDynamicFragment(req, "version-form"); 199 setContentPage(req, "version-form");
200 } 200 }
201 201
202 @RequestMapping(requestPath = "versions/edit", method = HttpMethod.GET) 202 @RequestMapping(requestPath = "versions/edit", method = HttpMethod.GET)
203 public ResponseType editVersion(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws IOException, SQLException { 203 public ResponseType editVersion(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws IOException, SQLException {
204 final var selectedProject = getSelectedProject(req, dao); 204 final var selectedProject = getSelectedProject(req, dao);
229 getParameter(req, Integer.class, "ordinal").ifPresent(version::setOrdinal); 229 getParameter(req, Integer.class, "ordinal").ifPresent(version::setOrdinal);
230 version.setStatus(VersionStatus.valueOf(getParameter(req, String.class, "status").orElseThrow())); 230 version.setStatus(VersionStatus.valueOf(getParameter(req, String.class, "status").orElseThrow()));
231 dao.getVersionDao().saveOrUpdate(version); 231 dao.getVersionDao().saveOrUpdate(version);
232 232
233 setRedirectLocation(req, "./projects/versions/"); 233 setRedirectLocation(req, "./projects/versions/");
234 setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 234 setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
235 LOG.debug("Successfully updated version {} for project {}", version.getName(), selectedProject.getName()); 235 LOG.debug("Successfully updated version {} for project {}", version.getName(), selectedProject.getName());
236 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 236 } catch (NoSuchElementException | NumberFormatException | SQLException ex) {
237 // TODO: set request attribute with error text 237 // TODO: set request attribute with error text
238 LOG.warn("Form validation failure: {}", ex.getMessage()); 238 LOG.warn("Form validation failure: {}", ex.getMessage());
239 LOG.debug("Details:", ex); 239 LOG.debug("Details:", ex);
248 req.setAttribute("issue", issue.orElse(new Issue(-1, selectedProject))); 248 req.setAttribute("issue", issue.orElse(new Issue(-1, selectedProject)));
249 req.setAttribute("issueStatusEnum", IssueStatus.values()); 249 req.setAttribute("issueStatusEnum", IssueStatus.values());
250 req.setAttribute("issueCategoryEnum", IssueCategory.values()); 250 req.setAttribute("issueCategoryEnum", IssueCategory.values());
251 req.setAttribute("versions", dao.getVersionDao().list(selectedProject)); 251 req.setAttribute("versions", dao.getVersionDao().list(selectedProject));
252 252
253 setDynamicFragment(req, "issue-form"); 253 setContentPage(req, "issue-form");
254 } 254 }
255 255
256 @RequestMapping(requestPath = "issues/edit", method = HttpMethod.GET) 256 @RequestMapping(requestPath = "issues/edit", method = HttpMethod.GET)
257 public ResponseType editIssue(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws IOException, SQLException { 257 public ResponseType editIssue(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws IOException, SQLException {
258 final var selectedProject = getSelectedProject(req, dao); 258 final var selectedProject = getSelectedProject(req, dao);
283 // TODO: implement 283 // TODO: implement
284 284
285 dao.getIssueDao().saveOrUpdate(issue); 285 dao.getIssueDao().saveOrUpdate(issue);
286 286
287 setRedirectLocation(req, "./projects/issues/"); 287 setRedirectLocation(req, "./projects/issues/");
288 setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 288 setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
289 LOG.debug("Successfully updated issue {} for project {}", issue.getId(), selectedProject.getName()); 289 LOG.debug("Successfully updated issue {} for project {}", issue.getId(), selectedProject.getName());
290 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 290 } catch (NoSuchElementException | NumberFormatException | SQLException ex) {
291 // TODO: set request attribute with error text 291 // TODO: set request attribute with error text
292 LOG.warn("Form validation failure: {}", ex.getMessage()); 292 LOG.warn("Form validation failure: {}", ex.getMessage());
293 LOG.debug("Details:", ex); 293 LOG.debug("Details:", ex);

mercurial