1
1
package life .qbic .projectmanagement .application ;
2
2
3
3
import static java .util .Objects .requireNonNull ;
4
- import static life .qbic .logging .service .LoggerFactory .logger ;
5
4
6
5
import java .util .Objects ;
7
6
import java .util .Optional ;
8
7
import life .qbic .application .commons .ApplicationException ;
9
8
import life .qbic .application .commons .ApplicationException .ErrorCode ;
10
9
import life .qbic .application .commons .ApplicationException .ErrorParameters ;
11
10
import life .qbic .application .commons .Result ;
12
- import life .qbic .logging .api .Logger ;
13
11
import life .qbic .projectmanagement .domain .model .project .Contact ;
14
12
import life .qbic .projectmanagement .domain .model .project .Funding ;
15
13
import life .qbic .projectmanagement .domain .model .project .OfferIdentifier ;
18
16
import life .qbic .projectmanagement .domain .model .project .ProjectIntent ;
19
17
import life .qbic .projectmanagement .domain .model .project .ProjectObjective ;
20
18
import life .qbic .projectmanagement .domain .model .project .ProjectTitle ;
21
- import life .qbic .projectmanagement .domain .repository .ProjectRepository ;
22
19
import life .qbic .projectmanagement .domain .service .ProjectDomainService ;
23
- import life .qbic .projectmanagement .domain .service .ProjectDomainService .ResponseCode ;
24
20
import org .springframework .stereotype .Service ;
25
21
26
22
/**
29
25
@ Service
30
26
public class ProjectCreationService {
31
27
32
- private static final Logger log = logger (ProjectCreationService .class );
33
-
34
- private final ProjectRepository projectRepository ;
35
28
private final ProjectDomainService projectDomainService ;
36
29
37
- public ProjectCreationService (ProjectRepository projectRepository ,
38
- ProjectDomainService projectDomainService ) {
39
- this .projectRepository = requireNonNull (projectRepository );
30
+ public ProjectCreationService (ProjectDomainService projectDomainService ) {
40
31
this .projectDomainService = requireNonNull (projectDomainService );
41
32
}
42
33
@@ -64,7 +55,6 @@ public Result<Project, ApplicationException> createProject(String sourceOffer,
64
55
if (Objects .isNull (projectManager )) {
65
56
return Result .fromError (new ApplicationException ("project manager is null" ));
66
57
}
67
-
68
58
try {
69
59
Project project = createProject (code , title , objective , projectManager ,
70
60
principalInvestigator , responsiblePerson , funding );
@@ -84,24 +74,13 @@ private Project createProject(String code, String title, String objective,
84
74
ProjectCode projectCode ;
85
75
try {
86
76
projectCode = ProjectCode .parse (code );
87
- if (!projectRepository .find (projectCode ).isEmpty ()) {
88
- throw new ApplicationException ("Project code: " + code + " is already in use." ,
89
- ErrorCode .DUPLICATE_PROJECT_CODE ,
90
- ErrorParameters .of (code ));
91
- }
92
77
} catch (IllegalArgumentException exception ) {
93
78
throw new ApplicationException ("Project code: " + code + " is invalid." , exception ,
94
79
ErrorCode .INVALID_PROJECT_CODE ,
95
80
ErrorParameters .of (code , ProjectCode .getPREFIX (), ProjectCode .getLENGTH ()));
96
81
}
97
-
98
- var registrationResult = projectDomainService .registerProject (intent , projectCode , projectManager , principalInvestigator , responsiblePerson , funding );
99
-
100
- if (registrationResult .isError () && registrationResult .getError ().equals (ResponseCode .PROJECT_REGISTRATION_FAILED )) {
101
- throw new ApplicationException ("Project registration failed." , ErrorCode .GENERAL , ErrorParameters .of (code ));
102
- }
103
-
104
- return registrationResult .getValue ();
82
+ return projectDomainService .registerProject (intent , projectCode ,
83
+ projectManager , principalInvestigator , responsiblePerson , funding );
105
84
}
106
85
107
86
private static ProjectIntent getProjectIntent (String title , String objective ) {
0 commit comments