use of org.kie.workbench.common.services.refactoring.model.query.RefactoringPageRequest in project kie-wb-common by kiegroup.
the class FindAllLibraryAssetsQueryTest method listAllInModule.
@Test
public void listAllInModule() throws IOException, InterruptedException {
// Add test files
addTestFile(TEST_MODULE_ROOT, "drl1.drl");
addTestFile(TEST_MODULE_ROOT, "drl2.ext2");
addTestFile(SOME_OTHER_MODULE_ROOT, "drl3.ext3");
addTestFile(TEST_MODULE_ROOT, "functions.functions");
// wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index
Thread.sleep(5000);
{
final RefactoringPageRequest request = new RefactoringPageRequest(FindAllLibraryAssetsQuery.NAME, new HashSet<ValueIndexTerm>() {
{
add(new LibraryValueModuleRootPathIndexTerm(TEST_MODULE_ROOT, TermSearchType.WILDCARD));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
for (RefactoringPageRow refactoringPageRow : response.getPageRowList()) {
System.out.println(refactoringPageRow.getValue());
}
assertEquals(3, response.getPageRowList().size());
} catch (IllegalArgumentException e) {
fail("Exception thrown: " + e.getMessage());
}
}
}
use of org.kie.workbench.common.services.refactoring.model.query.RefactoringPageRequest in project kie-wb-common by kiegroup.
the class FindAllLibraryAssetsSortedQueryTest method listAllInProjectSortedPaged.
@Test
public void listAllInProjectSortedPaged() throws IOException, InterruptedException {
setUp(TEST_PROJECT_ROOT2);
final RefactoringPageRequest request1 = new RefactoringPageRequest(FindAllLibraryAssetsQuery.NAME, new HashSet<ValueIndexTerm>() {
{
add(new LibraryValueModuleRootPathIndexTerm(TEST_PROJECT_ROOT2, TermSearchType.WILDCARD));
}
}, 0, 4);
final PageResponse<RefactoringPageRow> response1 = service.query(request1);
assertNotNull(response1);
// Remove duplicates and sort file names alphabetically
Set<String> resultSet1 = new TreeSet<>();
for (RefactoringPageRow row : response1.getPageRowList()) {
String fileName = ((Path) row.getValue()).getFileName();
System.out.println(fileName);
resultSet1.add(fileName);
}
String[] expectedResult1 = new String[] { "DRL4.drl", "drl1.drl", "drl2.ext2", "drl3.ext3" };
assertArrayEquals(expectedResult1, resultSet1.toArray());
final RefactoringPageRequest request2 = new RefactoringPageRequest(FindAllLibraryAssetsQuery.NAME, new HashSet<ValueIndexTerm>() {
{
add(new LibraryValueModuleRootPathIndexTerm(TEST_PROJECT_ROOT2, TermSearchType.WILDCARD));
}
}, 4, 4);
final PageResponse<RefactoringPageRow> response2 = service.query(request2);
assertNotNull(response2);
// Remove duplicates and sort file names alphabetically
Set<String> resultSet2 = new TreeSet<>();
for (RefactoringPageRow row : response2.getPageRowList()) {
String fileName = ((Path) row.getValue()).getFileName();
System.out.println(fileName);
resultSet2.add(fileName);
}
String[] expectedResult2 = new String[] { "RULE4.rule", "functions.functions", "rule3.rule" };
assertArrayEquals(expectedResult2, resultSet2.toArray());
}
use of org.kie.workbench.common.services.refactoring.model.query.RefactoringPageRequest in project kie-wb-common by kiegroup.
the class FindAllLibraryAssetsSortedQueryTest method listAllInProjectSorted.
@Test
public void listAllInProjectSorted() throws IOException, InterruptedException {
setUp(TEST_PROJECT_ROOT1);
final RefactoringPageRequest request = new RefactoringPageRequest(FindAllLibraryAssetsQuery.NAME, new HashSet<ValueIndexTerm>() {
{
add(new LibraryValueModuleRootPathIndexTerm(TEST_PROJECT_ROOT1, TermSearchType.WILDCARD));
}
}, 0, 10);
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
// Remove duplicates and sort file names alphabetically
Set<String> resultSet = new TreeSet<>();
for (RefactoringPageRow row : response.getPageRowList()) {
String fileName = ((Path) row.getValue()).getFileName();
System.out.println(fileName);
resultSet.add(fileName);
}
assertArrayEquals(FILE_NAMES, resultSet.toArray());
}
use of org.kie.workbench.common.services.refactoring.model.query.RefactoringPageRequest in project kie-wb-common by kiegroup.
the class LibraryServiceImpl method getProjectAssets.
@Override
public AssetQueryResult getProjectAssets(final ProjectAssetsQuery query) {
checkNotNull("query", query);
final boolean projectStillExists = ioService.exists(Paths.convert(query.getProject().getBranch().getPath()));
if (!projectStillExists) {
return AssetQueryResult.nonexistent();
} else if (!indexOracle.isIndexed(query.getProject())) {
return AssetQueryResult.unindexed();
}
final HashSet<ValueIndexTerm> queryTerms = buildProjectAssetsQuery(query);
final PageResponse<RefactoringPageRow> findRulesByProjectQuery = refactoringQueryService.query(new RefactoringPageRequest(FindAllLibraryAssetsQuery.NAME, queryTerms, query.getStartIndex(), query.getAmount(), Boolean.TRUE));
final List<FolderItem> assets = findRulesByProjectQuery.getPageRowList().stream().map(row -> {
final Path path = (Path) row.getValue();
return new FolderItem(path, path.getFileName(), FolderItemType.FILE, false, Paths.readLockedBy(path), Collections.<String>emptyList(), explorerServiceHelper.getRestrictedOperations(path));
}).collect(Collectors.toList());
return AssetQueryResult.normal(assets.stream().map(asset -> {
AssetInfo info = null;
try {
final Map<String, Object> attributes = ioService.readAttributes(Paths.convert((Path) asset.getItem()));
final FileTime lastModifiedFileTime = (FileTime) getAttribute(LibraryService.LAST_MODIFIED_TIME, attributes).get();
final FileTime createdFileTime = (FileTime) getAttribute(LibraryService.CREATED_TIME, attributes).get();
final Date lastModifiedTime = new Date(lastModifiedFileTime.toMillis());
final Date createdTime = new Date(createdFileTime.toMillis());
info = new AssetInfo(asset, lastModifiedTime, createdTime);
} catch (NoSuchFileException nfe) {
log.debug("File '" + asset.getFileName() + "' in LibraryIndex but not VFS. Suspected deletion. Skipping.");
}
return Optional.ofNullable(info);
}).filter(Optional::isPresent).map(Optional::get).collect(Collectors.toList()));
}
use of org.kie.workbench.common.services.refactoring.model.query.RefactoringPageRequest in project kie-wb-common by kiegroup.
the class LibraryServiceImplTest method queryWithAFilter.
@Test
public void queryWithAFilter() throws Exception {
final WorkspaceProject project = spy(WorkspaceProject.class);
final Branch branch = mock(Branch.class);
final Path path = mockPath("file://the_project");
when(branch.getPath()).thenReturn(path);
when(project.getBranch()).thenReturn(branch);
doReturn(true).when(ioService).exists(any());
final ProjectAssetsQuery query = new ProjectAssetsQuery(project, "helloo", 10, 20, Arrays.asList("xml"));
final PageResponse<RefactoringPageRow> pageRowPageResponse = new PageResponse<>();
pageRowPageResponse.setPageRowList(new ArrayList<>());
when(refactoringQueryService.query(any(RefactoringPageRequest.class))).thenReturn(pageRowPageResponse);
libraryService.getProjectAssets(query);
verify(refactoringQueryService).query(pageRequestArgumentCaptor.capture());
final RefactoringPageRequest pageRequest = pageRequestArgumentCaptor.getValue();
assertEquals(FindAllLibraryAssetsQuery.NAME, pageRequest.getQueryName());
assertEquals(3, pageRequest.getQueryTerms().size());
assertQueryTermsContains(pageRequest.getQueryTerms(), "file://the_project");
assertQueryTermsContains(pageRequest.getQueryTerms(), "*helloo*");
assertQueryTermsContains(pageRequest.getQueryTerms(), ".*(xml)");
assertEquals(10, pageRequest.getStartRowIndex());
assertEquals(20, (int) pageRequest.getPageSize());
}
Aggregations