[jboss-svn-commits] JBL Code SVN: r20987 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 9 22:08:22 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-07-09 22:08:22 -0400 (Wed, 09 Jul 2008)
New Revision: 20987
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
Log:
optional archived items in full text search
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2008-07-09 21:11:42 UTC (rev 20986)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2008-07-10 02:08:22 UTC (rev 20987)
@@ -1073,9 +1073,15 @@
/**
* This will search assets, looking for matches against the name.
*/
- public AssetItemIterator queryFullText(String qry) {
+ public AssetItemIterator queryFullText(String qry, boolean seekArchived) {
try {
- String searchPath = "/jcr:root/" + RULES_REPOSITORY_NAME + "/" + RULE_PACKAGE_AREA +"//element(*, " +AssetItem.RULE_NODE_TYPE_NAME + ")[jcr:contains(., '" + qry + "')]";
+
+ String searchPath = "/jcr:root/" + RULES_REPOSITORY_NAME + "/" + RULE_PACKAGE_AREA +"//element(*, " +AssetItem.RULE_NODE_TYPE_NAME + ")";
+ if (seekArchived) {
+ searchPath += "[jcr:contains(., '" + qry + "')]";
+ } else {
+ searchPath += "[jcr:contains(., '" + qry + "') and " + AssetItem.CONTENT_PROPERTY_ARCHIVE_FLAG + " = 'false']";
+ }
Query q = this.session.getWorkspace().getQueryManager().createQuery( searchPath, Query.XPATH );
QueryResult res = q.execute();
return new AssetItemIterator(res.getNodes(), this);
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2008-07-09 21:11:42 UTC (rev 20986)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2008-07-10 02:08:22 UTC (rev 20987)
@@ -188,7 +188,7 @@
pkg.addAsset("asset2", "testQueryText2");
repo.save();
- List<AssetItem> ls = iteratorToList(repo.queryFullText("testQueryText*"));
+ List<AssetItem> ls = iteratorToList(repo.queryFullText("testQueryText*", false));
assertEquals(2, ls.size());
AssetItem as = ls.get(0);
@@ -198,11 +198,25 @@
assertEquals("asset2", as.getName());
- ls = iteratorToList(repo.queryFullText("firstCheckintestQueryTest2"));
+ ls = iteratorToList(repo.queryFullText("firstCheckintestQueryTest2", false));
assertEquals(1, ls.size());
- ls = iteratorToList(repo.queryFullText("firstCheckintestQueryTest"));
+ ls = iteratorToList(repo.queryFullText("firstCheckintestQueryTest", false));
assertEquals(0, ls.size());
+
+ ls = iteratorToList(repo.queryFullText("testQueryText*", false));
+ assertEquals(2, ls.size());
+
+ asset.archiveItem(true);
+ asset.checkin("");
+
+ ls = iteratorToList(repo.queryFullText("testQueryText*", false));
+ assertEquals(1, ls.size());
+
+ ls = iteratorToList(repo.queryFullText("testQueryText*", true));
+ assertEquals(2, ls.size());
+
+
}
public void testQuery() throws Exception {
More information about the jboss-svn-commits
mailing list