[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