This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects

Resolve "Sharing Plattform: Prüfung: Gitlab Login für Simon in Produktion funktioniert nicht zuverlässig."

Viewing commit 9ab8e98f
Show latest version
3 files
+ 32
3
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -2,6 +2,7 @@ package at.ac.uibk.gitsearch.repository.search;
import at.ac.uibk.gitsearch.service.StatisticsService;
import at.ac.uibk.gitsearch.service.dto.StatisticsDTO;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch._types.ElasticsearchException;
import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat;
@@ -22,17 +23,21 @@ import co.elastic.clients.elasticsearch.indices.DeleteAliasRequest;
import co.elastic.clients.elasticsearch.indices.DeleteAliasResponse;
import co.elastic.clients.elasticsearch.indices.DeleteIndexResponse;
import co.elastic.clients.elasticsearch.indices.update_aliases.AddAction;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchStatisticsDTO;
import org.codeability.sharing.plugins.api.search.util.ExerciseId;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Repository;
@@ -71,8 +76,17 @@ public class ElasticSearchRepository {
* @throws IOException
*/
public String index(final SearchResultDTO document, String index) throws IOException {
this.elasticsearchAPIClient.index(i -> i.index(index).id(document.getExerciseId()).document(document));
return document.getExerciseId();
this.elasticsearchAPIClient.index(i -> {
final String exerciseId = document.getExerciseId();
return i.index(index).id(exerciseId).document(document);
});
final String exerciseId2 = document.getExerciseId();
try {
ExerciseId parsedId = ExerciseId.fromString(exerciseId2);
} catch (ParseException e) {
LOGGER.error("Somehow we got an corrupt exerciseId {}", exerciseId2, e);
}
return exerciseId2;
}
public void waitForIndexingFinished() throws IOException {