use of org.kie.workbench.common.services.refactoring.model.index.terms.valueterms.ValuePackageNameIndexTerm in project kie-wb-common by kiegroup.
the class FindRulesByModuleQuery method toQuery.
@Override
public Query toQuery(final Set<ValueIndexTerm> terms) {
checkNotNullAndNotEmpty(terms);
ValuePackageNameIndexTerm packageTerm = null;
ValueModuleRootPathIndexTerm projectTerm = null;
ValueResourceIndexTerm ruleTerm = null;
for (ValueIndexTerm term : terms) {
if (term instanceof ValuePackageNameIndexTerm) {
packageTerm = (ValuePackageNameIndexTerm) term;
} else if (term instanceof ValueModuleRootPathIndexTerm) {
projectTerm = (ValueModuleRootPathIndexTerm) term;
} else if (term instanceof ValueResourceIndexTerm) {
ruleTerm = (ValueResourceIndexTerm) term;
}
}
SearchEmptyQueryBuilder queryBuilder = new SearchEmptyQueryBuilder().addTerm(packageTerm).addTerm(projectTerm);
if (ruleTerm != null) {
queryBuilder.addTerm(ruleTerm);
} else {
queryBuilder.addRuleNameWildCardTerm();
}
return queryBuilder.build();
}
use of org.kie.workbench.common.services.refactoring.model.index.terms.valueterms.ValuePackageNameIndexTerm in project kie-wb-common by kiegroup.
the class FindRulesByModuleQueryValidIndexTermsTest method testQueryValidIndexTerms.
@Test
public void testQueryValidIndexTerms() throws IOException, InterruptedException {
// Add test files
addTestFile(BaseIndexingTest.TEST_MODULE_ROOT, "drl1.drl");
addTestFile(BaseIndexingTest.TEST_MODULE_ROOT, "drl2.drl");
addTestFile(SOME_OTHER_PROJECT_ROOT, "drl3.drl");
addTestFile(BaseIndexingTest.TEST_MODULE_ROOT, "drl4.drl");
addTestFile(BaseIndexingTest.TEST_MODULE_ROOT, "drl5.drl");
// wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index
Thread.sleep(5000);
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm(BaseIndexingTest.TEST_MODULE_ROOT, TermSearchType.WILDCARD));
add(new ValuePackageNameIndexTerm("", TermSearchType.WILDCARD));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(1, response.getPageRowList().size());
assertResponseContains(response.getPageRowList(), "noPackage", "");
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail("Unable to query: " + e.getMessage());
}
}
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm("*", TermSearchType.WILDCARD));
add(new ValuePackageNameIndexTerm("*", TermSearchType.WILDCARD));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(5, response.getPageRowList().size());
assertResponseContains(response.getPageRowList(), "myRule", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "myRule2", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "myRule3", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "my.Rule4", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "noPackage", "");
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail("Unable to query: " + e.getMessage());
}
}
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm(BaseIndexingTest.TEST_MODULE_ROOT));
add(new ValuePackageNameIndexTerm(BaseIndexingTest.TEST_PACKAGE_NAME));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(3, response.getPageRowList().size());
assertResponseContains(response.getPageRowList(), "myRule", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "myRule2", "org.kie.workbench.mock.package");
assertResponseContains(response.getPageRowList(), "my.Rule4", "org.kie.workbench.mock.package");
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail("Unable to query: " + e.getMessage());
}
}
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm(SOME_OTHER_PROJECT_ROOT));
add(new ValuePackageNameIndexTerm(BaseIndexingTest.TEST_PACKAGE_NAME));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(1, response.getPageRowList().size());
assertResponseContains(response.getPageRowList(), "myRule3", "org.kie.workbench.mock.package");
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail("Unable to query: " + e.getMessage());
}
}
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm(BaseIndexingTest.TEST_MODULE_ROOT));
add(new ValuePackageNameIndexTerm("non-existent-package-name"));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(0, response.getPageRowList().size());
} catch (IllegalArgumentException e) {
fail("Unable to query: " + e.getMessage());
}
}
{
final RefactoringPageRequest request = new RefactoringPageRequest("FindRulesByModuleQuery", new HashSet<ValueIndexTerm>() {
{
add(new ValueModuleRootPathIndexTerm("non-existent-module-root"));
add(new ValuePackageNameIndexTerm(BaseIndexingTest.TEST_PACKAGE_NAME));
}
}, 0, 10);
try {
final PageResponse<RefactoringPageRow> response = service.query(request);
assertNotNull(response);
assertEquals(0, response.getPageRowList().size());
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail("Unable to query: " + e.getMessage());
}
}
}
Aggregations