Skip to content

Commit 724cace

Browse files
committed
work in progres
1 parent dba4cb8 commit 724cace

20 files changed

+1039
-671
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
public class Project extends AuditModel implements Serializable, ComparableById<Project> {
4343

4444
private static final long serialVersionUID = 4566653175832872422L;
45+
public final static long rootProjectId = 0L;
4546

4647
@Id
4748
@GeneratedValue(generator = "project_generator")

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

Lines changed: 286 additions & 230 deletions
Large diffs are not rendered by default.

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

Lines changed: 531 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ String addNewProjectToRootPersist(
4949
Context context,
5050
BindingResult result,
5151
Locale locale,
52-
Model model,
53-
String s
52+
Model model
5453
);
5554

5655
String transformTaskIntoProjectGet(Task task);

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

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,28 @@
1010
import org.woehlke.simpleworklist.context.Context;
1111
import org.woehlke.simpleworklist.context.ContextService;
1212
import org.woehlke.simpleworklist.task.Task;
13+
import org.woehlke.simpleworklist.task.TaskService;
1314
import org.woehlke.simpleworklist.user.UserSessionBean;
1415
import org.woehlke.simpleworklist.user.account.UserAccount;
1516

1617
import java.util.List;
1718
import java.util.Locale;
1819

20+
import static org.woehlke.simpleworklist.project.Project.rootProjectId;
21+
1922
@Slf4j
2023
@Service
2124
public class ProjectControllerServiceImpl implements ProjectControllerService {
2225

2326
private final ProjectService projectService;
27+
private final TaskService taskService;
2428
private final ContextService contextService;
2529
private final BreadcrumbService breadcrumbService;
2630

2731
@Autowired
28-
public ProjectControllerServiceImpl(ProjectService projectService, ContextService contextService, BreadcrumbService breadcrumbService) {
32+
public ProjectControllerServiceImpl(ProjectService projectService, TaskService taskService, ContextService contextService, BreadcrumbService breadcrumbService) {
2933
this.projectService = projectService;
34+
this.taskService = taskService;
3035
this.contextService = contextService;
3136
this.breadcrumbService = breadcrumbService;
3237
}
@@ -48,7 +53,7 @@ public void addNewProject(
4853
thisProject = new Project();
4954
thisProject.setId(0L);
5055
project = Project.newRootProjectFactory(userAccount);
51-
if(userSession.getContextId() == 0L){
56+
if(userSession.getLastContextId() == 0L){
5257
model.addAttribute("mustChooseArea", true);
5358
project.setContext(userAccount.getDefaultContext());
5459
} else {
@@ -92,7 +97,7 @@ public String addNewProjectPersist(
9297
return template;
9398
} else {
9499
if (projectId == 0) {
95-
if(userSession.getContextId()>0) {
100+
if(userSession.getLastContextId()>0) {
96101
project.setContext(context);
97102
}
98103
project = projectService.saveAndFlush(project);
@@ -118,10 +123,10 @@ public Project getProject(long projectId, UserAccount userAccount, UserSessionBe
118123
if (projectId == 0) {
119124
thisProject = new Project();
120125
thisProject.setId(0L);
121-
if(userSession.getContextId() == 0L){
126+
if(userSession.getLastContextId() == 0L){
122127
thisProject.setContext(userAccount.getDefaultContext());
123128
} else {
124-
Context context = contextService.findByIdAndUserAccount(userSession.getContextId(), userAccount);
129+
Context context = contextService.findByIdAndUserAccount(userSession.getLastContextId(), userAccount);
125130
thisProject.setContext(context);
126131
}
127132
} else {
@@ -140,12 +145,13 @@ public void addNewProjectToRoot(
140145
log.info("addNewProjectToRoot");
141146
Project project;
142147
project = new Project();
143-
project.setId(0L);
148+
project.setId(rootProjectId);
144149
Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowRootProject(locale);
145150
model.addAttribute("breadcrumb", breadcrumb);
146151
model.addAttribute("project", project);
147152
model.addAttribute("thisProjectId", project.getId());
148153
model.addAttribute("breadcrumb", breadcrumb);
154+
userSession.setLastProjectId(rootProjectId);
149155
}
150156

151157
@Override
@@ -155,35 +161,31 @@ public String addNewProjectToRootPersist(
155161
Context context,
156162
BindingResult result,
157163
Locale locale,
158-
Model model,
159-
String s
164+
Model model
160165
) {
161166
log.info("addNewProjectToRootPersist");
162167
project = projectService.saveAndFlush(project);
163-
return s + project.getId();
168+
userSession.setLastProjectId(project.getId());
169+
return project.getUrl();
164170
}
165171

166172
@Override
167173
public String transformTaskIntoProjectGet(Task task) {
168-
if(task != null) {
169-
long projectId = 0;
170-
if (task.getProject() != null) {
171-
projectId = task.getProject().getId();
172-
}
174+
Project thisProject = new Project();
175+
thisProject.setName(task.getTitle());
176+
thisProject.setDescription(task.getText());
177+
thisProject.setUuid(task.getUuid());
178+
thisProject.setContext(task.getContext());
179+
if (task.getProject() != null) {
180+
long projectId = task.getProject().getId();
173181
Project parentProject = projectService.findByProjectId(projectId);
174-
Project thisProject = new Project();
175182
thisProject.setParent(parentProject);
176-
thisProject.setName(task.getTitle());
177-
thisProject.setDescription(task.getText());
178-
thisProject.setUuid(task.getUuid());
179-
thisProject.setContext(task.getContext());
180-
thisProject = projectService.saveAndFlush(thisProject);
181-
task.emptyTrash();
182-
//taskService.updatedViaTaskstate(task);
183-
projectId = thisProject.getId();
184-
log.info("tried to transform Task " + task.getId() + " to new Project " + projectId);
185-
return thisProject.getUrl();
186183
}
187-
return "redirect:/project/root";
184+
thisProject = projectService.saveAndFlush(thisProject);
185+
task.moveToTrash();
186+
task.emptyTrash();
187+
taskService.updatedViaTaskstate(task);
188+
log.info("tried to transform Task " + task.getId() + " to new Project " + thisProject.getId());
189+
return thisProject.getUrl();
188190
}
189191
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public interface ProjectService {
2323

2424
Project saveAndFlush(Project project);
2525

26-
void delete(Project project);
26+
Project delete(Project project);
2727

28-
void moveProjectToAnotherContext(Project thisProject, Context newContext);
28+
Project moveProjectToAnotherContext(Project thisProject, Context newContext);
2929

3030
}

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

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,36 +74,38 @@ public Project saveAndFlush(Project entity) {
7474

7575
@Override
7676
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
77-
public void delete(Project thisProject) {
77+
public Project delete(Project thisProject) {
7878
log.info("delete");
7979
Project oldParent = thisProject.getParent();
8080
if (oldParent != null) {
8181
oldParent.getChildren().remove(thisProject);
8282
projectRepository.saveAndFlush(oldParent);
8383
}
8484
projectRepository.delete(thisProject);
85+
return oldParent;
8586
}
8687

8788
@Override
8889
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
89-
public void moveProjectToAnotherContext(Project thisProject, Context newContext) {
90+
public Project moveProjectToAnotherContext(Project thisProject, Context newContext) {
9091
log.info("----------------------------------------------------");
91-
log.info("moveProjectToAnotherContext: Project: "+thisProject.toString());
92+
log.info("moveProjectToAnotherContext: Project: "+ thisProject.toString());
9293
log.info("----------------------------------------------------");
9394
log.info("moveProjectToAnotherContext: newContext: "+ newContext.toString());
9495
log.info("----------------------------------------------------");
9596
thisProject.setParent(null);
96-
projectRepository.saveAndFlush(thisProject);
97-
List<Project> list = getAllChildrenOfProject(thisProject);
98-
for(Project p : list){
99-
List<Task> tasks = taskRepository.findByProject(p);
100-
for(Task t:tasks){
101-
t.setContext(newContext);
97+
thisProject = projectRepository.saveAndFlush(thisProject);
98+
List<Project> listProject = getAllChildrenOfProject(thisProject);
99+
for(Project childProject : listProject){
100+
List<Task> tasksOfChildProject = taskRepository.findByProject(childProject);
101+
for(Task task:tasksOfChildProject){
102+
task.setContext(newContext);
102103
}
103-
taskRepository.saveAll(tasks);
104-
p.setContext(newContext);
105-
projectRepository.saveAndFlush(p);
104+
childProject.setContext(newContext);
105+
taskRepository.saveAll(tasksOfChildProject);
106+
projectRepository.saveAndFlush(childProject);
106107
}
108+
return thisProject;
107109
}
108110

109111
private List<Project> getAllChildrenOfProject(Project thisProject) {

0 commit comments

Comments
 (0)