Author: taylor
Date: Wed Jun 29 00:14:19 2005
New Revision: 202325

URL: http://svn.apache.org/viewcvs?rev=202325&view=rev
Log:
move back db performance optimization on retrieve rules for principals

Modified:
    
portals/jetspeed-2/trunk/components/profiler/src/java/org/apache/jetspeed/profiler/impl/JetspeedProfilerImpl.java

Modified: 
portals/jetspeed-2/trunk/components/profiler/src/java/org/apache/jetspeed/profiler/impl/JetspeedProfilerImpl.java
URL: 
http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/profiler/src/java/org/apache/jetspeed/profiler/impl/JetspeedProfilerImpl.java?rev=202325&r1=202324&r2=202325&view=diff
==============================================================================
--- 
portals/jetspeed-2/trunk/components/profiler/src/java/org/apache/jetspeed/profiler/impl/JetspeedProfilerImpl.java
 (original)
+++ 
portals/jetspeed-2/trunk/components/profiler/src/java/org/apache/jetspeed/profiler/impl/JetspeedProfilerImpl.java
 Wed Jun 29 00:14:19 2005
@@ -72,6 +72,7 @@
     private String defaultRule = "j1";
 
     private Map principalRules = new HashMap();
+    private Map rulesPerPrincipal = new HashMap();
 
     public JetspeedProfilerImpl(String repositoryPath)
     {
@@ -300,6 +301,7 @@
         pr.setProfilingRule(rule);
         getPersistenceBrokerTemplate().store(pr);
         principalRules.put(makePrincipalRuleKey(principal.getName(), 
locatorName), pr);
+        this.rulesPerPrincipal.remove(principal.getName());        
     }
 
     private String makePrincipalRuleKey( String principal, String locator )
@@ -394,7 +396,7 @@
             names[ix] = pr.getLocatorName();
             ix++;
         }
-        return names;
+        return names; 
     }
 
     /*
@@ -404,9 +406,14 @@
      */
     public Collection getRulesForPrincipal( Principal principal )
     {
+        Collection rules = 
(Collection)this.rulesPerPrincipal.get(principal.getName());
+        if (rules != null)
+            return rules;
         Criteria c = new Criteria();
         c.addEqualTo("principalName", principal.getName());
-        return 
getPersistenceBrokerTemplate().getCollectionByQuery(QueryFactory.newQuery(principalRuleClass,
 c));
+        rules = 
getPersistenceBrokerTemplate().getCollectionByQuery(QueryFactory.newQuery(principalRuleClass,
 c));
+        this.rulesPerPrincipal.put(principal.getName(), rules);
+        return rules;
     }
 
     /*



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to