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

Skip to content
Snippets Groups Projects
Commit e11f0056 authored by Eduard Frankford's avatar Eduard Frankford
Browse files

bug_fix of gitlab api exception

parent 25cbbe62
2 merge requests!149Bring development to master level after bug fix,!146Put the sonar-analyze job into a separate stage
package at.ac.uibk.gitsearch.service;
import at.ac.uibk.gitsearch.domain.util.TreeNode;
import at.ac.uibk.gitsearch.repository.gitlab.GitLabRepository;
import at.ac.uibk.gitsearch.repository.search.MetaDataRepository;
import at.ac.uibk.gitsearch.security.AuthoritiesConstants.AuthoritiesConstantEnum;
import at.ac.uibk.gitsearch.security.jwt.TokenProvider;
import at.ac.uibk.gitsearch.security.jwt.TokenProvider.GitLabAccessInfo;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
......@@ -19,7 +26,6 @@ import java.util.stream.Stream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang3.StringUtils;
import org.codeability.sharing.plugins.api.search.SearchInputDTO;
import org.codeability.sharing.plugins.api.search.SearchInputMetadataDTO;
......@@ -35,14 +41,6 @@ import org.springframework.security.core.userdetails.User;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import at.ac.uibk.gitsearch.domain.util.TreeNode;
import at.ac.uibk.gitsearch.repository.gitlab.GitLabRepository;
import at.ac.uibk.gitsearch.repository.search.MetaDataRepository;
import at.ac.uibk.gitsearch.security.AuthoritiesConstants.AuthoritiesConstantEnum;
import at.ac.uibk.gitsearch.security.jwt.TokenProvider;
import at.ac.uibk.gitsearch.security.jwt.TokenProvider.GitLabAccessInfo;
import at.ac.uibk.gitsearch.service.dto.AutoCompleteEntry;
/**
* Service for exercise/course search results
* <p>
......@@ -53,27 +51,33 @@ public class SearchService {
private final Logger log = LoggerFactory.getLogger(SearchService.class);
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected MetaDataRepository metaDataRepository;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected TokenProvider tokenProvider;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected GitLabRepository gitLabRepository;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected GitlabService gitlabService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected PluginManagementService pluginManagementService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected ShoppingBasketService shoppingBasketService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
private ZipRepackagingService zipRepackagingService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected MetaDataRepository metaDataRepository;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected TokenProvider tokenProvider;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected GitLabRepository gitLabRepository;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected GitlabService gitlabService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected PluginManagementService pluginManagementService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
protected ShoppingBasketService shoppingBasketService;
@Autowired
@SuppressWarnings("PMD.ImmutableField")
private ZipRepackagingService zipRepackagingService;
/**
* returns all keyword autocompletes for keyWord
......@@ -337,8 +341,7 @@ public class SearchService {
filter = Optional.of(exerciseTree);
}
}
InputStream project = zipRepackagingService
.rePackageGitLabProjectZip(
InputStream project = zipRepackagingService.rePackageGitLabProjectZip(
new ZipInputStream(repositoryArchive),
"from project " + exerciseId.getProjectId(),
filter,
......@@ -490,7 +493,7 @@ public class SearchService {
try {
final Optional<GitLabAccessInfo> gitLabAccessInfo = tokenProvider.getGitLabAccessInfo();
GitLabApi gitLabApi = gitLabRepository.getGitLabApi(gitLabAccessInfo);
gitLabApi.getRepositoryApi().getRepositoryArchive(result.getProject().getProject_id(), "HEAD", "zip");
gitLabApi.getRepositoryApi().getRepositoryArchive(Integer.toString(result.getProject().getProject_id()), "HEAD", "zip");
} catch (GitLabApiException | NullPointerException e) { // TODO NullPointerException thrown if gitLabAccessInfo.isEmpty(): make it more elegant
// We expect permissions missing
result.setSupportedActions(
......
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