11
11
12
12
import java .nio .file .Path ;
13
13
import java .util .*;
14
- import java .util .concurrent .CompletableFuture ;
14
+ import java .util .concurrent .* ;
15
15
16
16
/**
17
17
* Matthew Horridge
@@ -30,6 +30,8 @@ public class CreateProjectSagaManager {
30
30
private final CommandExecutor <CreateInitialRevisionHistoryRequest , CreateInitialRevisionHistoryResponse > createInitialRevisionHistoryExecutor ;
31
31
private final CommandExecutor <PrepareBackupFilesForUseRequest , PrepareBackupFilesForUseResponse > prepareBinaryFileBackupForUseExecutor ;
32
32
33
+ private final CommandExecutor <CreateProjectSmallFilesRequest , CreateProjectSmallFilesResponse > createProjectSmallFilesExecutor ;
34
+
33
35
private final MinioFileDownloader fileDownloader ;
34
36
35
37
private final RevisionHistoryReplacer revisionHistoryReplacer ;
@@ -41,13 +43,15 @@ public CreateProjectSagaManager(ProjectDetailsManager projectDetailsManager,
41
43
CommandExecutor <ProcessUploadedOntologiesRequest , ProcessUploadedOntologiesResponse > processOntologiesExecutor ,
42
44
CommandExecutor <CreateInitialRevisionHistoryRequest , CreateInitialRevisionHistoryResponse > createInitialRevisionHistoryExecutor ,
43
45
CommandExecutor <PrepareBackupFilesForUseRequest , PrepareBackupFilesForUseResponse > prepareBinaryFileBackupForUseExecutor ,
46
+ CommandExecutor <CreateProjectSmallFilesRequest , CreateProjectSmallFilesResponse > createProjectSmallFilesExecutor ,
44
47
MinioFileDownloader fileDownloader ,
45
48
RevisionHistoryReplacer revisionHistoryReplacer ,
46
49
ProjectPermissionsInitializer projectPermissionsInitializer ) {
47
50
this .projectDetailsManager = projectDetailsManager ;
48
51
this .processOntologiesExecutor = processOntologiesExecutor ;
49
52
this .createInitialRevisionHistoryExecutor = createInitialRevisionHistoryExecutor ;
50
53
this .prepareBinaryFileBackupForUseExecutor = prepareBinaryFileBackupForUseExecutor ;
54
+ this .createProjectSmallFilesExecutor = createProjectSmallFilesExecutor ;
51
55
this .revisionHistoryReplacer = revisionHistoryReplacer ;
52
56
this .fileDownloader = fileDownloader ;
53
57
this .projectPermissionsInitializer = projectPermissionsInitializer ;
@@ -113,6 +117,7 @@ private CompletableFuture<CreateNewProjectFromProjectBackupResult> createProject
113
117
return prepareBackupFilesForRestore (sagaState )
114
118
.thenCompose (this ::downloadRevisionHistory )
115
119
.thenCompose (this ::copyRevisionHistoryToProject )
120
+ .thenCompose (this ::createProjectSmallFiles )
116
121
.thenCompose (this ::registerProject )
117
122
.thenCompose (this ::initializeProjectPermissions )
118
123
.thenCompose (this ::retrieveProjectDetails )
@@ -129,6 +134,12 @@ private CompletableFuture<CreateNewProjectFromProjectBackupResult> createProject
129
134
});
130
135
}
131
136
137
+ private CompletableFuture <SagaStateWithSources > createProjectSmallFiles (SagaStateWithSources sagaState ) {
138
+ var createHistoryRequest = sagaState .createProjectSmallFiles ();
139
+ return createProjectSmallFilesExecutor .execute (createHistoryRequest , sagaState .getExecutionContext ())
140
+ .thenApply (response -> sagaState );
141
+ }
142
+
132
143
private CompletableFuture <SagaStateWithSources > prepareBackupFilesForRestore (SagaStateWithSources sagaState ) {
133
144
var createHistoryRequest = sagaState .createPrepareBackupFilesForUseRequest ();
134
145
return prepareBinaryFileBackupForUseExecutor .execute (createHistoryRequest , sagaState .getExecutionContext ())
@@ -269,6 +280,9 @@ public PrepareBackupFilesForUseRequest createPrepareBackupFilesForUseRequest() {
269
280
return new PrepareBackupFilesForUseRequest (getProjectId (), getNewProjectSettings ().sourceDocument ());
270
281
}
271
282
283
+ public CreateProjectSmallFilesRequest createProjectSmallFiles () {
284
+ return new CreateProjectSmallFilesRequest (getProjectId ());
285
+ }
272
286
}
273
287
274
288
}
0 commit comments