[Bedework-commit] calendarapi r721 - in trunk: calFacade/src/org/bedework/calfacade/ifs calFacade/src/org/bedework/calfacade/util calsvc/src/org/bedework/calsvc/directory

svnadmin at bedework.org svnadmin at bedework.org
Tue Oct 7 13:51:08 EDT 2008


Author: douglm
Date: 2008-10-07 13:50:55 -0400 (Tue, 07 Oct 2008)
New Revision: 721

Modified:
   trunk/calFacade/src/org/bedework/calfacade/ifs/Directories.java
   trunk/calFacade/src/org/bedework/calfacade/util/AbstractDirImpl.java
   trunk/calsvc/src/org/bedework/calsvc/directory/AdminGroupsDbImpl.java
   trunk/calsvc/src/org/bedework/calsvc/directory/GroupsDbImpl.java
   trunk/calsvc/src/org/bedework/calsvc/directory/UserGroupsLdapImpl.java
Log:
Undo getting host info in AbstractDirImpl - needs to be done via CalSVC

Modified: trunk/calFacade/src/org/bedework/calfacade/ifs/Directories.java
===================================================================
--- trunk/calFacade/src/org/bedework/calfacade/ifs/Directories.java	2008-10-07 17:03:14 UTC (rev 720)
+++ trunk/calFacade/src/org/bedework/calfacade/ifs/Directories.java	2008-10-07 17:50:55 UTC (rev 721)
@@ -160,13 +160,6 @@
    */
   public PrincipalInfo getPrincipalInfo(String href) throws CalFacadeException;
 
-  /** Return all host information
-   *
-   * @return Collection of HostInfo
-   * @throws CalFacadeException
-   */
-  public Collection<HostInfo> getHostsInfo() throws CalFacadeException;
-
   /** Return host information for the given parameter which might be a url or
    * an email address.
    *

Modified: trunk/calFacade/src/org/bedework/calfacade/util/AbstractDirImpl.java
===================================================================
--- trunk/calFacade/src/org/bedework/calfacade/util/AbstractDirImpl.java	2008-10-07 17:03:14 UTC (rev 720)
+++ trunk/calFacade/src/org/bedework/calfacade/util/AbstractDirImpl.java	2008-10-07 17:50:55 UTC (rev 721)
@@ -25,7 +25,6 @@
 */
 package org.bedework.calfacade.util;
 
-import org.bedework.calcorei.HibSession;
 import org.bedework.calfacade.configs.DirConfigProperties;
 import org.bedework.calfacade.DirectoryInfo;
 import org.bedework.calfacade.env.CalOptionsFactory;
@@ -58,13 +57,6 @@
  * @version 1.0
  */
 public abstract class AbstractDirImpl implements Directories {
-  /* The list of hosts we know about */
-  private static Collection<HostInfo> hosts = new ArrayList<HostInfo>();
-
-  private static long maxLife = 1000 * 60 * 5;
-
-  private static volatile long lastRefresh;
-
   private DirConfigProperties props;
 
   /** */
@@ -121,27 +113,6 @@
   private long lastFlush;
   private static long flushTime = 60 * 1000;  // 1 minute
 
-  public Collection<HostInfo> getHostsInfo() throws CalFacadeException {
-    synchronized (hosts) {
-      if (System.currentTimeMillis() - lastRefresh > maxLife) {
-        hosts.clear();
-
-        HibSession sess = getSess();
-
-        StringBuilder sb = new StringBuilder("from ");
-        sb.append(HostInfo.class.getName());
-
-        sess.createQuery(sb.toString());
-
-        hosts.addAll(sess.getList());
-
-        lastRefresh = System.currentTimeMillis();
-      }
-    }
-
-    return hosts;
-  }
-
   /** Return the appropriate HostInfo record for the given domain.
    *
    * @param domain
@@ -631,9 +602,5 @@
     toWho.put(prefix, whoType);
     fromWho.put(whoType, prefix);
   }
-
-  protected HibSession getSess() throws CalFacadeException {
-    return (HibSession)cb.getDbSession();
-  }
 }
 

Modified: trunk/calsvc/src/org/bedework/calsvc/directory/AdminGroupsDbImpl.java
===================================================================
--- trunk/calsvc/src/org/bedework/calsvc/directory/AdminGroupsDbImpl.java	2008-10-07 17:03:14 UTC (rev 720)
+++ trunk/calsvc/src/org/bedework/calsvc/directory/AdminGroupsDbImpl.java	2008-10-07 17:50:55 UTC (rev 721)
@@ -453,4 +453,8 @@
 
     return true;
   }
+
+  private HibSession getSess() throws CalFacadeException {
+    return (HibSession)cb.getDbSession();
+  }
 }

Modified: trunk/calsvc/src/org/bedework/calsvc/directory/GroupsDbImpl.java
===================================================================
--- trunk/calsvc/src/org/bedework/calsvc/directory/GroupsDbImpl.java	2008-10-07 17:03:14 UTC (rev 720)
+++ trunk/calsvc/src/org/bedework/calsvc/directory/GroupsDbImpl.java	2008-10-07 17:50:55 UTC (rev 721)
@@ -34,6 +34,7 @@
 import org.bedework.calfacade.ifs.HostInfo;
 import org.bedework.calfacade.util.AbstractDirImpl;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.TreeSet;
 
@@ -45,37 +46,59 @@
  * @version 1.0
  */
 public class GroupsDbImpl extends AbstractDirImpl {
+  /* The list of hosts we know about */
+  private static Collection<HostInfo> hosts = new ArrayList<HostInfo>();
+
+  private static long maxLife = 1000 * 60 * 5;
+
+  private static volatile long lastRefresh;
+
   /* (non-Javadoc)
    * @see org.bedework.calfacade.util.AbstractDirImpl#findHostInfo(java.lang.String)
    */
   public HostInfo findHostInfo(String domain) throws CalFacadeException {
     HostInfo hi = null;
 
-    Collection<HostInfo> his = getHostsInfo();
+    synchronized (hosts) {
+      if (System.currentTimeMillis() - lastRefresh > maxLife) {
+        hosts.clear();
 
-    int matchLen = 0;
-    HostInfo curHi = null;
-    int domainLen = domain.length();
+        HibSession sess = getSess();
 
-    for (HostInfo h: his) {
-      String hostname = h.getHostname();
-      int len = hostname.length();
+        StringBuilder sb = new StringBuilder("from ");
+        sb.append(HostInfo.class.getName());
 
-      if (domain.endsWith(hostname)) {
-        if (len == domainLen) {
-          curHi = h;
-          break;
-        }
+        sess.createQuery(sb.toString());
 
-        if (len > matchLen) {
-          matchLen = len;
-          curHi = h;
+        hosts.addAll(sess.getList());
+
+        lastRefresh = System.currentTimeMillis();
+      }
+
+      int matchLen = 0;
+      HostInfo curHi = null;
+      int domainLen = domain.length();
+
+      for (HostInfo h: hosts) {
+        String hostname = h.getHostname();
+        int len = hostname.length();
+
+        if (domain.endsWith(hostname)) {
+          if (len == domainLen) {
+            curHi = h;
+            break;
+          }
+
+          if (len > matchLen) {
+            matchLen = len;
+            curHi = h;
+          }
         }
       }
+
+      hi = curHi;
     }
 
-    hi = curHi;
-
     return hi;
   }
 
@@ -338,5 +361,9 @@
 
     return true;
   }
+
+  private HibSession getSess() throws CalFacadeException {
+    return (HibSession)cb.getDbSession();
+  }
 }
 

Modified: trunk/calsvc/src/org/bedework/calsvc/directory/UserGroupsLdapImpl.java
===================================================================
--- trunk/calsvc/src/org/bedework/calsvc/directory/UserGroupsLdapImpl.java	2008-10-07 17:03:14 UTC (rev 720)
+++ trunk/calsvc/src/org/bedework/calsvc/directory/UserGroupsLdapImpl.java	2008-10-07 17:50:55 UTC (rev 721)
@@ -690,4 +690,8 @@
       } catch (Throwable t) {}
     }
   }
+
+  private HibSession getSess() throws CalFacadeException {
+    return (HibSession)cb.getDbSession();
+  }
 }
\ No newline at end of file



More information about the Bedework-commit mailing list