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

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

bug_fix of gitlab api exception

parent 2803bb0f
Branches
2 merge requests!188Merging Peer Reviewing et. al to Master,!164211 peer reviewing functionality
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