label gitbucket documents
This commit is contained in:
parent
7e9c956661
commit
c8b91702b3
1 changed files with 22 additions and 5 deletions
|
@ -59,6 +59,7 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
|
|||
|
||||
final String rootURL = getRootURL(paramMap);
|
||||
final String authToken = getAuthToken(paramMap);
|
||||
final List<String> sourceLabels = getSourceLabelList(rootURL, authToken);
|
||||
final long readInterval = getReadInterval(paramMap);
|
||||
|
||||
if (rootURL.isEmpty() || authToken.isEmpty()) {
|
||||
|
@ -104,8 +105,8 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
|
|||
0,
|
||||
readInterval,
|
||||
path -> {
|
||||
storeFileContent(rootURL, authToken, owner, name, roleList, path, crawlingConfig, callback, paramMap,
|
||||
scriptMap, defaultDataMap);
|
||||
storeFileContent(rootURL, authToken, sourceLabels, owner, name, roleList, path, crawlingConfig, callback,
|
||||
paramMap, scriptMap, defaultDataMap);
|
||||
if (readInterval > 0) {
|
||||
sleep(readInterval);
|
||||
}
|
||||
|
@ -135,6 +136,20 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
|
|||
return StringUtil.EMPTY;
|
||||
}
|
||||
|
||||
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()) {
|
||||
|
@ -174,9 +189,10 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
|
|||
}
|
||||
}
|
||||
|
||||
private void storeFileContent(final String rootURL, final String authToken, final String owner, final String name,
|
||||
final List<String> roleList, final String path, final CrawlingConfig crawlingConfig, final IndexUpdateCallback callback,
|
||||
final Map<String, String> paramMap, final Map<String, String> scriptMap, final Map<String, Object> defaultDataMap) {
|
||||
private void storeFileContent(final String rootURL, final String authToken, final List<String> sourceLabels, final String owner,
|
||||
final String name, final List<String> roleList, final String path, final CrawlingConfig crawlingConfig,
|
||||
final IndexUpdateCallback callback, final Map<String, String> paramMap, final Map<String, String> scriptMap,
|
||||
final Map<String, Object> defaultDataMap) {
|
||||
final String apiUrl = rootURL + "api/v3/repos/" + owner + "/" + name + "/contents/" + path;
|
||||
final String viewUrl = rootURL + owner + "/" + name + "/blob/master/" + path;
|
||||
|
||||
|
@ -190,6 +206,7 @@ public class GitBucketDataStoreImpl extends AbstractDataStoreImpl {
|
|||
|
||||
dataMap.put("url", viewUrl);
|
||||
dataMap.put("role", roleList);
|
||||
dataMap.put("label", sourceLabels);
|
||||
|
||||
// TODO scriptMap
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue