Skip to content

Commit a3ea9c8

Browse files
committed
working on F008 Add first new Project: broken #103
1 parent 4763eb5 commit a3ea9c8

File tree

3 files changed

+53
-25
lines changed

3 files changed

+53
-25
lines changed

etc/TODO.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Caused by: org.postgresql.util.PSQLException: ERROR: relation "spring_session" d
6767

6868
## 2.3.10 - Bugfixing
6969

70-
* F007 Add first new Task: brokem
70+
* F007 Add first new Task: broken
7171

7272
An error happened during template parsing (template: "class path resource [templates/task/add.html]"
7373

@@ -133,3 +133,20 @@ An error happened during template parsing (template: "class path resource [templ
133133
2020-04-03 14:30:58.593 DEBUG 2864 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 405
134134
````
135135

136+
http://localhost:8080/project/root
137+
-> Button "add new project"
138+
http://localhost:8080/project/add/new/project
139+
-> Save -> ERROR
140+
Errorpage - Refer to logfile:
141+
````
142+
2020-04-03 14:30:37.148 DEBUG 2864 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK
143+
2020-04-03 14:30:58.514 DEBUG 2864 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : POST "/project/addchild/", parameters={masked}
144+
2020-04-03 14:30:58.586 WARN 2864 --- [nio-8080-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
145+
2020-04-03 14:30:58.586 DEBUG 2864 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 405 METHOD_NOT_ALLOWED
146+
2020-04-03 14:30:58.590 DEBUG 2864 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/fehler", parameters={masked}
147+
2020-04-03 14:30:58.590 DEBUG 2864 --- [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.woehlke.simpleworklist.error.MyErrorController#handleError(HttpServletRequest, Model)
148+
2020-04-03 14:30:58.591 WARN 2864 --- [nio-8080-exec-8] o.w.s.error.MyErrorController : errorMessage :Request method 'POST' not supported
149+
2020-04-03 14:30:58.591 WARN 2864 --- [nio-8080-exec-8] o.w.s.error.MyErrorController : 405Method Not Allowed
150+
2020-04-03 14:30:58.593 DEBUG 2864 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 405
151+
```
152+

src/main/java/org/woehlke/simpleworklist/project/ProjectController.java

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.woehlke.simpleworklist.project;
22

3-
import org.slf4j.Logger;
4-
import org.slf4j.LoggerFactory;
3+
import lombok.extern.slf4j.Slf4j;
54
import org.springframework.data.domain.Page;
65
import org.springframework.data.domain.Pageable;
76
import org.springframework.data.web.PageableDefault;
@@ -27,20 +26,22 @@
2726
/**
2827
* Created by tw on 14.02.16.
2928
*/
29+
@Slf4j
3030
@Controller
3131
@RequestMapping(value = "/project")
3232
public class ProjectController extends AbstractController {
3333

34-
private static final Logger LOGGER = LoggerFactory.getLogger(ProjectController.class);
35-
3634
private final TaskService taskService;
37-
3835
private final TaskMoveService taskMoveService;
36+
private final ProjectService projectService;
37+
38+
private static final long rootProjectId = 0L;
3939

4040
@Autowired
41-
public ProjectController(TaskService taskService, TaskMoveService taskMoveService) {
41+
public ProjectController(TaskService taskService, TaskMoveService taskMoveService, ProjectService projectService) {
4242
this.taskService = taskService;
4343
this.taskMoveService = taskMoveService;
44+
this.projectService = projectService;
4445
}
4546

4647
@RequestMapping(value = "/root", method = RequestMethod.GET)
@@ -100,11 +101,22 @@ public final String showProject(
100101
}
101102

102103
@RequestMapping(value = "/add/new/project", method = RequestMethod.GET)
103-
public final String addNewProjectForm(
104+
public final String addNewTopLevelProjectForm(
104105
@ModelAttribute("userSession") UserSessionBean userSession,
105106
Locale locale, Model model
106107
){
107-
return addNewProjectGet(0L, userSession,locale, model);
108+
return addNewProjectGet(rootProjectId, userSession,locale, model);
109+
}
110+
111+
112+
@RequestMapping(value = "/add/new/project", method = RequestMethod.POST)
113+
public final String addNewTopLevelProjectSave(
114+
@ModelAttribute("userSession") UserSessionBean userSession,
115+
@Valid Project project,
116+
BindingResult result,
117+
Locale locale, Model model
118+
){
119+
return addNewProjectPost(rootProjectId, userSession, project, result, locale, model);
108120
}
109121

110122
@RequestMapping(value = "/{thisProjectId}/move/to/{targetProjectId}", method = RequestMethod.GET)
@@ -155,7 +167,7 @@ public final String editProjectPost(
155167
model.addAttribute("userSession",userSession);
156168
if (result.hasErrors()) {
157169
for (ObjectError e : result.getAllErrors()) {
158-
LOGGER.info(e.toString());
170+
log.info(e.toString());
159171
}
160172
Project thisProject = projectService.findByProjectId(projectId);
161173
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale);
@@ -204,13 +216,13 @@ public final String deleteProject(
204216
model.addAttribute("isDeleted",true);
205217
} else {
206218
StringBuilder s = new StringBuilder("Deletion rejected for this Project, because ");
207-
LOGGER.info("Deletion rejected for Project " + project.getId());
219+
log.info("Deletion rejected for Project " + project.getId());
208220
if (!hasNoData) {
209-
LOGGER.warn("Project " + project.getId() + " has actionItem");
221+
log.warn("Project " + project.getId() + " has actionItem");
210222
s.append("Project has actionItems.");
211223
}
212224
if (!hasNoChildren) {
213-
LOGGER.info("Project " + project.getId() + " has children");
225+
log.info("Project " + project.getId() + " has children");
214226
s.append("Project has child categories.");
215227
}
216228
model.addAttribute("message",s.toString());
@@ -300,8 +312,8 @@ public final String addNewProjectPost(
300312
project.setParent(thisProject);
301313
project = projectService.saveAndFlush(project);
302314
projectId = project.getId();
303-
LOGGER.info("project: "+ project.toString());
304-
LOGGER.info("thisProject: "+ thisProject.toString());
315+
log.info("project: "+ project.toString());
316+
log.info("thisProject: "+ thisProject.toString());
305317
}
306318
return "redirect:/project/" + projectId;
307319
}
@@ -319,24 +331,24 @@ public String changeTaskOrderIdWithinAProject(
319331
userSession.setLastProjectId(sourceTask.getProject().getId());
320332
}
321333
model.addAttribute("userSession",userSession);
322-
LOGGER.info("-------------------------------------------------");
323-
LOGGER.info(" changeTaskOrderIdWithinAProject");
324-
LOGGER.info("-------------------------------------------------");
325-
LOGGER.info(" source Task: "+sourceTask.toString());
326-
LOGGER.info("-------------------------------------------------");
327-
LOGGER.info(" destination Task: "+destinationTask.toString());
328-
LOGGER.info("-------------------------------------------------");
334+
log.info("-------------------------------------------------");
335+
log.info(" changeTaskOrderIdWithinAProject");
336+
log.info("-------------------------------------------------");
337+
log.info(" source Task: "+sourceTask.toString());
338+
log.info("-------------------------------------------------");
339+
log.info(" destination Task: "+destinationTask.toString());
340+
log.info("-------------------------------------------------");
329341
String returnUrl = "redirect:/taskstate/inbox";
330342
boolean rootProject = sourceTask.isInRootProject();
331343
returnUrl = "redirect:/project/0";
332344
if(rootProject){
333345
taskMoveService.moveOrderIdRootProject(sourceTask, destinationTask);
334346
} else {
335347
taskMoveService.moveOrderIdProject(sourceTask, destinationTask);
336-
LOGGER.info(" DONE: taskMoveService.moveOrderIdProject (2)");
348+
log.info(" DONE: taskMoveService.moveOrderIdProject (2)");
337349
returnUrl = "redirect:/project/" + sourceTask.getProject().getId();
338350
}
339-
LOGGER.info("-------------------------------------------------");
351+
log.info("-------------------------------------------------");
340352
return returnUrl;
341353
}
342354
}

src/main/java/org/woehlke/simpleworklist/task/TaskController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ public class TaskController extends AbstractController {
2828
private static final Logger LOGGER = LoggerFactory.getLogger(TaskController.class);
2929

3030
private final TaskService taskService;
31-
3231
private final TaskMoveService taskMoveService;
3332

3433
@Autowired

0 commit comments

Comments
 (0)