[jboss-svn-commits] JBL Code SVN: r25380 - labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Feb 22 19:04:51 EST 2009


Author: michael.neale at jboss.com
Date: 2009-02-22 19:04:49 -0500 (Sun, 22 Feb 2009)
New Revision: 25380

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
Log:
epic profiling resulted in performance improvements

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2009-02-22 17:52:24 UTC (rev 25379)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2009-02-23 00:04:49 UTC (rev 25380)
@@ -10,13 +10,10 @@
 import java.util.List;
 import java.util.StringTokenizer;
 
-import javax.jcr.ItemExistsException;
-import javax.jcr.Node;
-import javax.jcr.PathNotFoundException;
-import javax.jcr.Property;
-import javax.jcr.RepositoryException;
+import javax.jcr.*;
 import javax.jcr.query.Query;
 import javax.jcr.query.QueryResult;
+import javax.jcr.query.RowIterator;
 
 import org.apache.log4j.Logger;
 
@@ -426,19 +423,34 @@
     public AssetItemIterator queryAssets(String fieldPredicates, boolean seekArchived) {
         try {
 
+
             String sql = "SELECT * FROM " + AssetItem.RULE_NODE_TYPE_NAME;
+
+
+
             sql += " WHERE jcr:path LIKE '" + getVersionContentNode().getPath() + "/" + ASSET_FOLDER_NAME + "[%]/%'";
             if ( fieldPredicates.length() > 0 ) {
                 sql += " and " + fieldPredicates;
+
             }
 
             if ( seekArchived == false ) {
                 sql += " AND " + AssetItem.CONTENT_PROPERTY_ARCHIVE_FLAG + " = 'false'";
             }
 
+
+            //sql = "SELECT * FROM drools:assetNodeType ORDER BY drools:title";
+            sql += " ORDER BY " + AssetItem.TITLE_PROPERTY_NAME;
+            log.debug("SQL is " + sql);
             Query q = node.getSession().getWorkspace().getQueryManager().createQuery( sql, Query.SQL );
+
+
+            long time = System.currentTimeMillis();
             QueryResult res = q.execute();
-            return new AssetItemIterator(res.getNodes(), this.rulesRepository);
+            log.debug("QueryExec time is: " + (System.currentTimeMillis() - time));
+            NodeIterator it = res.getNodes();
+            log.debug(it.getClass().getName());
+            return new AssetItemIterator(it, this.rulesRepository);
         } catch ( RepositoryException e ) {
             throw new RulesRepositoryException(e);
         }
@@ -457,6 +469,7 @@
      * This will load an iterator for assets of the given format type.
      */
     public AssetItemIterator listAssetsByFormat(String[] formats) {
+
         if (formats.length == 1) {
             return queryAssets( "drools:format='" + formats[0] + "'" );
         } else {

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	2009-02-22 17:52:24 UTC (rev 25379)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2009-02-23 00:04:49 UTC (rev 25380)
@@ -478,8 +478,10 @@
 
             String source = rulePackageNode.getPath();
 
+            long start = System.currentTimeMillis();
             this.session.getWorkspace().copy( source,
                                               newName );
+            System.err.println("Time taken for snap: " + (System.currentTimeMillis() - start));
 
         } catch ( RepositoryException e ) {
             log.error( "Unable to create snapshot",




More information about the jboss-svn-commits mailing list