[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