This commit is contained in:
Keiichi Watanabe 2017-05-20 19:12:21 +09:00 committed by Shinsuke Sugaya
parent 7f79078a1c
commit 78f614e28e

View file

@ -184,32 +184,37 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
}
}
protected List<String> getSourceLabelList(final String rootURL, final String authToken) {
final String url = rootURL + "api/v3/fess/label";
try (CurlResponse curlResponse = Curl.get(url).header("Authorization", "token " + authToken).execute()) {
final Map<String, Object> map = curlResponse.getContentAsMap();
assert (map.containsKey("source_label"));
@SuppressWarnings("unchecked")
final List<String> sourceLabels = (List<String>) map.get("source_label");
return sourceLabels;
} catch (final Exception e) {
logger.warn("Failed to access to " + rootURL, e);
return Collections.emptyList();
}
}
protected List<Map<String, Object>> getRepositoryList(final String rootURL, final String authToken) {
final String url = rootURL + "api/v3/fess/repos";
try (CurlResponse curlResponse = Curl.get(url).header("Authorization", "token " + authToken).execute()) {
final Map<String, Object> map = curlResponse.getContentAsMap();
assert (map.containsKey("repositories"));
@SuppressWarnings("unchecked")
final List<Map<String, Object>> repoList = (List<Map<String, Object>>) map.get("repositories");
return repoList;
} catch (final Exception e) {
logger.warn("Failed to access to " + rootURL, e);
return Collections.emptyList();
}
int totalCount = -1; // initialize with dummy value
final List<Map<String, Object>> repoList = new ArrayList<>();
do {
final String urlWithOffset = url + "?offset=" + repoList.size();
try (CurlResponse curlResponse = Curl.get(urlWithOffset).header("Authorization", "token " + authToken).execute()) {
final Map<String, Object> map = curlResponse.getContentAsMap();
assert (map.containsKey("total_count"));
assert (map.containsKey("response_count"));
assert (map.containsKey("repositories"));
totalCount = (int) map.get("total_count");
int responseCount = (int) map.get("response_count");
if (responseCount == 0)
break;
@SuppressWarnings("unchecked")
List<Map<String, Object>> repos = (ArrayList<Map<String, Object>>) map.get("repositories");
repoList.addAll(repos);
} catch (final Exception e) {
logger.warn("Failed to access to " + rootURL, e);
break;
}
} while (repoList.size() < totalCount);
logger.info("There exist " + repoList.size() + " repositories");
return repoList;
}
protected String getGitRef(final String rootURL, final String authToken, final String owner, final String name, final String branch) {