Skip to content

Commit ecd2323

Browse files
committed
fix: more campaignIds removed
1 parent 7a9bd51 commit ecd2323

4 files changed

Lines changed: 2 additions & 122 deletions

File tree

src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,34 +43,16 @@ List<SurveyUnitModel> findInterrogationIdsByCollectionInstrumentIdAndRecordDateB
4343

4444
List<SurveyUnitModel> findPageableInterrogationIdsByQuestionnaireId(String questionnaireId, Long skip, Long limit);
4545

46-
List<SurveyUnitModel> findModesByCampaignIdV2(String campaignId);
47-
4846
List<SurveyUnitModel> findModesByQuestionnaireIdV2(String questionnaireId);
4947
//======= OPTIMISATIONS PERFS (END) =========
5048

51-
List<SurveyUnitModel> findInterrogationIdsByCampaignId(String campaignId);
5249

5350
Long deleteByCollectionInstrumentId(String collectionInstrumentId);
5451

5552
long count();
5653

57-
Set<String> findQuestionnaireIdsByCampaignId(String campaignId);
58-
59-
//========= OPTIMISATIONS PERFS (START) ==========
60-
/**
61-
* @author Adrien Marchal
62-
*/
63-
Set<String> findQuestionnaireIdsByCampaignIdV2(String campaignId);
64-
//========= OPTIMISATIONS PERFS (END) ==========
65-
66-
Set<String> findDistinctCampaignIds();
67-
68-
long countByCampaignId(String campaignId);
69-
7054
Set<String> findDistinctQuestionnairesAndCollectionInstrumentIds();
7155

72-
Set<String> findCampaignIdsByQuestionnaireId(String questionnaireId);
73-
7456
long countByQuestionnaireId(String questionnaireId);
7557

7658
long countDistinctInterrogationIdsByQuestionnaireAndCollectionInstrumentId(String id);

src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -112,27 +112,7 @@ public long count() {
112112
return mongoRepository.count();
113113
}
114114

115-
@Override
116-
public Set<String> findQuestionnaireIdsByCampaignId(String campaignId){
117-
Set<String> mongoResponse =
118-
mongoRepository.findQuestionnaireIdsByCampaignId(campaignId);
119-
120-
//Extract questionnaireIds from JSON response
121-
return extractQuestionnaireIdsFromJson(mongoResponse);
122-
}
123-
124115
//========= OPTIMISATIONS PERFS (START) ==========
125-
/**
126-
* @author Adrien Marchal
127-
*/
128-
@Override
129-
public Set<String> findQuestionnaireIdsByCampaignIdV2(String campaignId){
130-
Set<String> mongoResponse =
131-
mongoRepository.findQuestionnaireIdsByCampaignIdV2(campaignId);
132-
133-
//Extract questionnaireIds from JSON response
134-
return extractQuestionnaireIdsFromJson(mongoResponse);
135-
}
136116

137117
private static @NotNull Set<String> extractQuestionnaireIdsFromJson(Set<String> mongoResponse) {
138118
Set<String> questionnaireIds = new HashSet<>();
@@ -149,16 +129,6 @@ public Set<String> findQuestionnaireIdsByCampaignIdV2(String campaignId){
149129
}
150130
//========= OPTIMISATIONS PERFS (END) ==========
151131

152-
@Override
153-
public Set<String> findDistinctCampaignIds() {
154-
Set<String> campaignIds = new HashSet<>();
155-
for(String campaignId : mongoTemplate.getCollection(Constants.MONGODB_RESPONSE_COLLECTION_NAME).distinct("campaignId",
156-
String.class)){
157-
campaignIds.add(campaignId);
158-
}
159-
return campaignIds;
160-
}
161-
162132
@Override
163133
public List<SurveyUnitModel> findInterrogationIdsByCollectionInstrumentId(String collectionInstrumentId) {
164134
List<SurveyUnitDocument> results = new ArrayList<>();
@@ -195,31 +165,13 @@ public List<SurveyUnitModel> findPageableInterrogationIdsByQuestionnaireId(Strin
195165
return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits);
196166
}
197167

198-
@Override
199-
public List<SurveyUnitModel> findModesByCampaignIdV2(String campaignId) {
200-
List<SurveyUnitDocument> surveyUnits = mongoRepository.findModesByCampaignIdV2(campaignId);
201-
return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits);
202-
203-
}
204-
205168
@Override
206169
public List<SurveyUnitModel> findModesByQuestionnaireIdV2(String questionnaireId) {
207170
List<SurveyUnitDocument> surveyUnits = mongoRepository.findModesByQuestionnaireIdV2(questionnaireId);
208171
return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits);
209172
}
210173
//========== OPTIMISATIONS PERFS (END) ============
211174

212-
@Override
213-
public List<SurveyUnitModel> findInterrogationIdsByCampaignId(String campaignId) {
214-
List<SurveyUnitDocument> surveyUnits = mongoRepository.findInterrogationIdsByCampaignId(campaignId);
215-
return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits);
216-
217-
}
218-
219-
public long countByCampaignId(String campaignId){
220-
return mongoRepository.countByCampaignId(campaignId);
221-
}
222-
223175
@Override
224176
public Set<String> findDistinctQuestionnairesAndCollectionInstrumentIds() {
225177
Set<String> questionnaireIds = new HashSet<>();
@@ -231,26 +183,6 @@ public Set<String> findDistinctQuestionnairesAndCollectionInstrumentIds() {
231183
return questionnaireIds;
232184
}
233185

234-
@Override
235-
public Set<String> findCampaignIdsByQuestionnaireId(String questionnaireId) {
236-
List<String> mongoResponse =
237-
mongoRepository.findCampaignIdsByQuestionnaireId(questionnaireId).stream().distinct().toList();
238-
239-
//Extract idCampaigns from JSON response
240-
Set<String> campaignIds = new HashSet<>();
241-
for(String line : mongoResponse){
242-
ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules();
243-
try{
244-
JsonNode jsonNode = objectMapper.readTree(line);
245-
campaignIds.add(jsonNode.get("campaignId").asText());
246-
}catch (JsonProcessingException e){
247-
log.error(e.getMessage());
248-
}
249-
}
250-
251-
return campaignIds;
252-
}
253-
254186
@Override
255187
public long countByQuestionnaireId(String questionnaireId) {
256188
return mongoRepository.countByQuestionnaireId(questionnaireId);

src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313

1414
@Data
1515
@Document(collection = Constants.MONGODB_RESPONSE_COLLECTION_NAME)
16-
@CompoundIndex(name = "campaignId_1_questionnaireId_1", def = "{'campaignId': 1, 'questionnaireId': 1}") //1 = ascending, -1 = descending
17-
@CompoundIndex(name = "questionnaireId_1_campaignId_1", def = "{'questionnaireId': 1, 'campaignId': 1}")
1816
@CompoundIndex(name = "questionnaireId_1_interrogationId_1", def = "{'questionnaireId': 1, 'interrogationId': 1}")
1917
@CompoundIndex(name = "interrogationId_1_questionnaireId_1", def = "{'interrogationId': 1, 'questionnaireId': 1}")
2018
@CompoundIndex(name = "collectionInstrumentId_1_interrogationId_1", def = "{'collectionInstrumentId': 1, 'interrogationId': 1}")

src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package fr.insee.genesis.infrastructure.repository;
22

33
import fr.insee.genesis.infrastructure.document.surveyunit.SurveyUnitDocument;
4+
import org.springframework.data.mongodb.repository.Aggregation;
45
import org.springframework.data.mongodb.repository.Meta;
56
import org.springframework.data.mongodb.repository.MongoRepository;
67
import org.springframework.data.mongodb.repository.Query;
7-
import org.springframework.data.mongodb.repository.Aggregation;
88
import org.springframework.stereotype.Repository;
99

1010
import java.time.LocalDateTime;
1111
import java.util.List;
12-
import java.util.Set;
1312
import java.util.stream.Stream;
1413

1514
@Repository
@@ -83,22 +82,12 @@ List<SurveyUnitDocument> findInterrogationIdsQuestionnaireIdAndRecordDateBetween
8382
})
8483
List<SurveyUnitDocument> findPageableInterrogationIdsByQuestionnaireId(String questionnaireId, Long skip, Long limit);
8584

86-
@Aggregation(pipeline = {
87-
"{ '$match': { 'campaignId' : ?0 } }",
88-
"{ '$group': { '_id': '$mode' } }",
89-
"{ '$set': { 'mode': '$_id', '_id': '$$REMOVE' } }"
90-
})
91-
List<SurveyUnitDocument> findModesByCampaignIdV2(String campaignId);
92-
9385
@Aggregation(pipeline = {
9486
"{ '$match': { 'questionnaireId' : ?0 } }",
9587
"{ '$group': { '_id': '$mode' } }",
9688
"{ '$set': { 'mode': '$_id', '_id': '$$REMOVE' } }"
9789
})
98-
List<SurveyUnitDocument> findModesByQuestionnaireIdV2(String campaignId);
99-
100-
@Query(value = "{ 'campaignId' : ?0 }", fields = "{ 'interrogationId' : 1, 'mode' : 1 }")
101-
List<SurveyUnitDocument> findInterrogationIdsByCampaignId(String campaignId);
90+
List<SurveyUnitDocument> findModesByQuestionnaireIdV2(String questionnaireId);
10291

10392
Long deleteByQuestionnaireId(String questionnaireId);
10493
Long deleteByCollectionInstrumentId(String collectionInstrumentId);
@@ -108,27 +97,6 @@ List<SurveyUnitDocument> findInterrogationIdsQuestionnaireIdAndRecordDateBetween
10897

10998
long count();
11099

111-
@Query(value = "{ 'campaignId' : ?0 }", fields = "{ _id : 0, 'questionnaireId' : 1 }")
112-
Set<String> findQuestionnaireIdsByCampaignId(String campaignId);
113-
114-
//========= OPTIMISATIONS PERFS (START) ==========
115-
/**
116-
* @author Adrien Marchal
117-
* Here we make a "DISTINCT" query
118-
*/
119-
@Aggregation(pipeline = {
120-
"{ '$match': { 'campaignId' : ?0 } }",
121-
"{ '$group': { '_id': { 'questionnaireId' : '$questionnaireId'} } }",
122-
"{ '$set': { 'questionnaireId': '$_id', '_id': '$$REMOVE' } }"
123-
})
124-
Set<String> findQuestionnaireIdsByCampaignIdV2(String campaignId);
125-
//========= OPTIMISATIONS PERFS (END) ==========
126-
127-
long countByCampaignId(String campaignId);
128-
129-
@Query(value = "{ 'questionnaireId' : ?0 }", fields = "{ _id : 0, 'campaignId' : 1 }")
130-
Set<String> findCampaignIdsByQuestionnaireId(String questionnaireId);
131-
132100

133101
@Aggregation(pipeline = {
134102
"{ '$match': { 'questionnaireId': ?0 } }",

0 commit comments

Comments
 (0)