package com.cadrlife.devsearch.esplugin.service; import com.cadrlife.devsearch.domain.IdUtil; import com.cadrlife.devsearch.domain.Project; import com.cadrlife.devsearch.esplugin.domain.SearchResultItem; import com.cadrlife.devsearch.esplugin.domain.ShowResult; import org.elasticsearch.common.base.Strings; import org.elasticsearch.common.inject.Inject; public class ShowResource { private CodeSearchIndexService service; @Inject public ShowResource(CodeSearchIndexService service) { this.service = service; } public ShowResult get(String repo, String projectName, String path) { ShowResult result = new ShowResult(); Project project = service.loadProject(IdUtil.projectId(repo, projectName)); result.setProject(project); result.getProjectDocPaths().addAll(service.findAllDocPathsForProject(repo, projectName)); if (!Strings.isNullOrEmpty(path)) { String id = IdUtil.docId(repo, projectName, path); SearchResultItem doc = service.loadDoc(id); result.setDoc(doc); } return result; } }