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

Skip to content
Snippets Groups Projects
Commit a42a855a authored by Michael Breu's avatar Michael Breu :speech_balloon:
Browse files

Nochmal Umzug von SearchResultsDTO

parent e4aeb785
2 merge requests!55June Release,!51Usability improvement type search
Showing
with 12 additions and 103 deletions
...@@ -23,6 +23,7 @@ import javax.ws.rs.NotFoundException; ...@@ -23,6 +23,7 @@ import javax.ws.rs.NotFoundException;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.codeability.sharing.plugins.api.search.SearchResultDTO; import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.Person; import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.Person;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
...@@ -50,7 +51,6 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; ...@@ -50,7 +51,6 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import at.ac.uibk.gitsearch.config.ApplicationProperties; import at.ac.uibk.gitsearch.config.ApplicationProperties;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry; import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
@Repository @Repository
public class MetaDataRepository { public class MetaDataRepository {
......
...@@ -12,7 +12,9 @@ import java.util.Optional; ...@@ -12,7 +12,9 @@ import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
import org.codeability.sharing.plugins.api.search.SearchInputDTO;
import org.codeability.sharing.plugins.api.search.SearchResultDTO; import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.gitlab4j.api.GitLabApi; import org.gitlab4j.api.GitLabApi;
import org.gitlab4j.api.GitLabApiException; import org.gitlab4j.api.GitLabApiException;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -26,7 +28,6 @@ import at.ac.uibk.gitsearch.repository.gitlab.GitLabRepository; ...@@ -26,7 +28,6 @@ import at.ac.uibk.gitsearch.repository.gitlab.GitLabRepository;
import at.ac.uibk.gitsearch.repository.search.MetaDataRepository; import at.ac.uibk.gitsearch.repository.search.MetaDataRepository;
import at.ac.uibk.gitsearch.security.jwt.TokenProvider; import at.ac.uibk.gitsearch.security.jwt.TokenProvider;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry; import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
/** /**
* Service for exercise/course search results * Service for exercise/course search results
...@@ -126,7 +127,7 @@ public class SearchService { ...@@ -126,7 +127,7 @@ public class SearchService {
* @param first the index of the first record to be returned * @param first the index of the first record to be returned
* @param pageLength the number of records on each page * @param pageLength the number of records on each page
*/ */
public SearchResultsDTO searchResultPage(org.codeability.sharing.plugins.api.search.SearchInputDTO searchInput) throws IOException { public SearchResultsDTO searchResultPage(SearchInputDTO searchInput) throws IOException {
final Optional<User> principal = tokenProvider.getCurrentPrincipal(); final Optional<User> principal = tokenProvider.getCurrentPrincipal();
log.debug("Searchrequest for {} ", searchInput); log.debug("Searchrequest for {} ", searchInput);
......
package at.ac.uibk.gitsearch.service.dto;
import java.util.List;
import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import com.fasterxml.jackson.annotation.JsonValue;
public class SearchResultsDTO {
public enum GitProjectVisibility {
PRIVATE("private"), PUBLIC("public"), INTERNAL("internal");
private final String externalName;
private GitProjectVisibility(String externalName) {
this.externalName = externalName;
}
@JsonValue
public String getExternalName() {
return externalName;
}
}
private List<SearchResultDTO> searchResult;
/**
*
* @return the list of search results on this page, starting with pageStartIndex
*/
public List<SearchResultDTO> getSearchResult() {
return searchResult;
}
public void setSearchResult(List<SearchResultDTO> searchResult) {
this.searchResult = searchResult;
}
long hitCount;
long pageStartIndex;
public long getPageStartIndex() {
return pageStartIndex;
}
public SearchResultsDTO(List<SearchResultDTO> searchResult, long hitCount, long pageStartIndex) {
this.searchResult = searchResult;
this.hitCount = hitCount;
this.pageStartIndex = pageStartIndex;
}
public SearchResultsDTO() {
}
/**
* returns the number of all hits.
*
* @return
*/
public long getHitCount() {
return hitCount;
}
public void setHitCount(long hitCount) {
this.hitCount = hitCount;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("SearchResultsDTO:");
sb.append(System.lineSeparator());
sb.append("hit count: ");
sb.append(this.hitCount);
sb.append(System.lineSeparator());
sb.append("page start index: ");
sb.append(this.pageStartIndex);
sb.append(System.lineSeparator());
sb.append("list of SearchResultsDTOs:");
sb.append(System.lineSeparator());
for (SearchResultDTO result : this.searchResult) {
sb.append(result);
sb.append(System.lineSeparator());
sb.append(System.lineSeparator());
}
return sb.toString();
}
}
...@@ -4,6 +4,7 @@ import java.io.IOException; ...@@ -4,6 +4,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import org.codeability.sharing.plugins.api.ShoppingBasket; import org.codeability.sharing.plugins.api.ShoppingBasket;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.gitlab4j.api.GitLabApiException; import org.gitlab4j.api.GitLabApiException;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
...@@ -30,7 +31,6 @@ import at.ac.uibk.gitsearch.service.SearchService; ...@@ -30,7 +31,6 @@ import at.ac.uibk.gitsearch.service.SearchService;
import at.ac.uibk.gitsearch.service.ShoppingBasketService; import at.ac.uibk.gitsearch.service.ShoppingBasketService;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
/** /**
* REST controller for managing {@link DocumentInfo}. * REST controller for managing {@link DocumentInfo}.
......
...@@ -7,6 +7,7 @@ import java.io.IOException; ...@@ -7,6 +7,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.core.io.InputStreamResource; import org.springframework.core.io.InputStreamResource;
...@@ -26,7 +27,6 @@ import at.ac.uibk.gitsearch.es.model.DocumentInfo; ...@@ -26,7 +27,6 @@ import at.ac.uibk.gitsearch.es.model.DocumentInfo;
import at.ac.uibk.gitsearch.service.SearchService; import at.ac.uibk.gitsearch.service.SearchService;
import at.ac.uibk.gitsearch.service.StatisticsService; import at.ac.uibk.gitsearch.service.StatisticsService;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry; import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
import at.ac.uibk.gitsearch.service.dto.StatisticsDTO; import at.ac.uibk.gitsearch.service.dto.StatisticsDTO;
import at.ac.uibk.gitsearch.web.util.HeaderUtil; import at.ac.uibk.gitsearch.web.util.HeaderUtil;
......
...@@ -8,6 +8,7 @@ import java.util.Optional; ...@@ -8,6 +8,7 @@ import java.util.Optional;
import javax.validation.Valid; import javax.validation.Valid;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
...@@ -34,7 +35,6 @@ import at.ac.uibk.gitsearch.service.UserService; ...@@ -34,7 +35,6 @@ import at.ac.uibk.gitsearch.service.UserService;
import at.ac.uibk.gitsearch.service.UserWatchListQueryService; import at.ac.uibk.gitsearch.service.UserWatchListQueryService;
import at.ac.uibk.gitsearch.service.UserWatchListService; import at.ac.uibk.gitsearch.service.UserWatchListService;
import at.ac.uibk.gitsearch.service.WatchListEntryService; import at.ac.uibk.gitsearch.service.WatchListEntryService;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
import at.ac.uibk.gitsearch.service.dto.UserWatchListCriteria; import at.ac.uibk.gitsearch.service.dto.UserWatchListCriteria;
import at.ac.uibk.gitsearch.service.dto.UserWatchListDTO; import at.ac.uibk.gitsearch.service.dto.UserWatchListDTO;
import at.ac.uibk.gitsearch.service.dto.WatchListEntryDTO; import at.ac.uibk.gitsearch.service.dto.WatchListEntryDTO;
......
...@@ -21,6 +21,7 @@ import java.util.List; ...@@ -21,6 +21,7 @@ import java.util.List;
import org.codeability.sharing.plugins.api.SharingPluginConfig; import org.codeability.sharing.plugins.api.SharingPluginConfig;
import org.codeability.sharing.plugins.api.search.SearchInputDTO; import org.codeability.sharing.plugins.api.search.SearchInputDTO;
import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO; import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.ExerciseType; import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.ExerciseType;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.node.NodeValidationException; import org.elasticsearch.node.NodeValidationException;
...@@ -39,7 +40,6 @@ import at.ac.uibk.gitsearch.GitsearchApp; ...@@ -39,7 +40,6 @@ import at.ac.uibk.gitsearch.GitsearchApp;
import at.ac.uibk.gitsearch.repository.search.testESService.ElasticSearchTestServerConfiguration; import at.ac.uibk.gitsearch.repository.search.testESService.ElasticSearchTestServerConfiguration;
import at.ac.uibk.gitsearch.service.PluginManagementService.ConnectorConfigWrapper; import at.ac.uibk.gitsearch.service.PluginManagementService.ConnectorConfigWrapper;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry; import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
@SpringBootTest(classes = GitsearchApp.class) @SpringBootTest(classes = GitsearchApp.class)
@WithMockUser(value = TEST_USER_LOGIN, authorities = "sharing") @WithMockUser(value = TEST_USER_LOGIN, authorities = "sharing")
......
...@@ -13,6 +13,7 @@ import org.codeability.sharing.plugins.api.ShoppingBasket; ...@@ -13,6 +13,7 @@ import org.codeability.sharing.plugins.api.ShoppingBasket;
import org.codeability.sharing.plugins.api.search.SearchInputDTO; import org.codeability.sharing.plugins.api.search.SearchInputDTO;
import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO; import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO;
import org.codeability.sharing.plugins.api.search.SearchResultDTO; import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.elasticsearch.node.NodeValidationException; import org.elasticsearch.node.NodeValidationException;
import org.junit.Assert; import org.junit.Assert;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
...@@ -27,7 +28,6 @@ import at.ac.uibk.gitsearch.GitsearchApp; ...@@ -27,7 +28,6 @@ import at.ac.uibk.gitsearch.GitsearchApp;
import at.ac.uibk.gitsearch.repository.search.testESService.ElasticSearchTestServerConfiguration; import at.ac.uibk.gitsearch.repository.search.testESService.ElasticSearchTestServerConfiguration;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
@SpringBootTest(classes = GitsearchApp.class) @SpringBootTest(classes = GitsearchApp.class)
@WithMockUser(value = TEST_USER_LOGIN, authorities = "sharing") @WithMockUser(value = TEST_USER_LOGIN, authorities = "sharing")
......
...@@ -4,6 +4,8 @@ import java.lang.reflect.InvocationTargetException; ...@@ -4,6 +4,8 @@ import java.lang.reflect.InvocationTargetException;
import org.codeability.sharing.plugins.api.search.SearchResultDTO; import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultDTO.GitProject; import org.codeability.sharing.plugins.api.search.SearchResultDTO.GitProject;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO.GitProjectVisibility;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO; import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.ExerciseType; import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.ExerciseType;
import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.Person; import org.codeability.sharing.plugins.api.search.UserProvidedMetadataDTO.Person;
...@@ -12,7 +14,6 @@ import org.junit.jupiter.api.Test; ...@@ -12,7 +14,6 @@ import org.junit.jupiter.api.Test;
import at.ac.uibk.gitsearch.config.ApplicationProperties.DeploymentInfo; import at.ac.uibk.gitsearch.config.ApplicationProperties.DeploymentInfo;
import at.ac.uibk.gitsearch.service.MailService; import at.ac.uibk.gitsearch.service.MailService;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO.GitProjectVisibility;
import at.ac.uibk.gitsearch.testingUtilities.PropertiesTester; import at.ac.uibk.gitsearch.testingUtilities.PropertiesTester;
import nl.jqno.equalsverifier.EqualsVerifier; import nl.jqno.equalsverifier.EqualsVerifier;
import nl.jqno.equalsverifier.Warning; import nl.jqno.equalsverifier.Warning;
......
...@@ -13,6 +13,7 @@ import org.codeability.sharing.plugins.api.search.SearchInputDTO; ...@@ -13,6 +13,7 @@ import org.codeability.sharing.plugins.api.search.SearchInputDTO;
import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO; import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO;
import org.codeability.sharing.plugins.api.search.SearchRequestDTO; import org.codeability.sharing.plugins.api.search.SearchRequestDTO;
import org.codeability.sharing.plugins.api.search.SearchResultDTO; import org.codeability.sharing.plugins.api.search.SearchResultDTO;
import org.codeability.sharing.plugins.api.search.SearchResultsDTO;
import org.elasticsearch.node.NodeValidationException; import org.elasticsearch.node.NodeValidationException;
import org.junit.Assert; import org.junit.Assert;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
...@@ -31,7 +32,6 @@ import at.ac.uibk.gitsearch.security.AuthoritiesConstants; ...@@ -31,7 +32,6 @@ import at.ac.uibk.gitsearch.security.AuthoritiesConstants;
import at.ac.uibk.gitsearch.service.SearchService; import at.ac.uibk.gitsearch.service.SearchService;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketInfoDTO;
import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO; import at.ac.uibk.gitsearch.service.ShoppingBasketService.ShoppingBasketRedirectInfoDTO;
import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
import at.ac.uibk.gitsearch.web.rest.PluginInterfaceResource.SearchResultsDTOMapper; import at.ac.uibk.gitsearch.web.rest.PluginInterfaceResource.SearchResultsDTOMapper;
/** /**
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment