[Bedework-commit] caldav r202 - in trunk:
boeingexchange/src/edu/rpi/cct/bedework/caldav
bwcaldav/src/org/bedework/caldav/bwserver
domino/src/edu/rpi/cct/bedework/caldav
google/src/edu/rpi/cct/bedework/caldav
server/src/org/bedework/caldav/server
svnadmin at bedework.org
svnadmin at bedework.org
Mon Sep 17 16:37:22 EDT 2007
Author: douglm
Date: 2007-09-17 16:37:20 -0400 (Mon, 17 Sep 2007)
New Revision: 202
Modified:
trunk/boeingexchange/src/edu/rpi/cct/bedework/caldav/BexchangeSysIntfImpl.java
trunk/bwcaldav/src/org/bedework/caldav/bwserver/BwSysIntfImpl.java
trunk/domino/src/edu/rpi/cct/bedework/caldav/DominoSysIntfImpl.java
trunk/google/src/edu/rpi/cct/bedework/caldav/GoogleSysIntfImpl.java
trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java
trunk/server/src/org/bedework/caldav/server/PostMethod.java
trunk/server/src/org/bedework/caldav/server/SysIntf.java
Log:
CalDav realtime fixes
Some restore changes
Modified: trunk/boeingexchange/src/edu/rpi/cct/bedework/caldav/BexchangeSysIntfImpl.java
===================================================================
--- trunk/boeingexchange/src/edu/rpi/cct/bedework/caldav/BexchangeSysIntfImpl.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/boeingexchange/src/edu/rpi/cct/bedework/caldav/BexchangeSysIntfImpl.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -76,12 +76,12 @@
import org.bedework.icalendar.Icalendar;
import org.bedework.icalendar.SAICalCallback;
-import edu.rpi.cct.webdav.servlet.common.WebdavUtils;
import edu.rpi.cct.webdav.servlet.shared.PrincipalPropertySearch;
import edu.rpi.cct.webdav.servlet.shared.WebdavBadRequest;
import edu.rpi.cct.webdav.servlet.shared.WebdavException;
import edu.rpi.cct.webdav.servlet.shared.WebdavNotFound;
import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.PropertyTagEntry;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.UrlHandler;
import edu.rpi.cmt.access.Ace;
import edu.rpi.cmt.access.Acl;
import edu.rpi.cmt.access.PrincipalInfo;
@@ -217,8 +217,10 @@
private IcalTranslator trans;
- private String urlPrefix;
+ private UrlHandler urlHandler;
+ //private String urlPrefix;
+
private String account;
public void init(HttpServletRequest req,
@@ -231,7 +233,7 @@
trans = new IcalTranslator(new SAICalCallback(getTimezones(), null),
debug);
- urlPrefix = WebdavUtils.getUrlPrefix(req);
+ urlHandler = new UrlHandler(req, false);
} catch (Throwable t) {
throw new WebdavException(t);
}
@@ -253,21 +255,35 @@
}
}
- /** Get a property handler
- *
- * @param ptype
- * @return PropertyHandler
- * @throws WebdavException
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getPropertyHandler(org.bedework.caldav.server.PropertyHandler.PropertyType)
*/
public PropertyHandler getPropertyHandler(PropertyType ptype) throws WebdavException {
return new MyPropertyHandler();
}
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlHandler()
+ */
+ public UrlHandler getUrlHandler() {
+ return urlHandler;
+ }
+
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlPrefix()
+ * /
public String getUrlPrefix() {
return urlPrefix;
}
/* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getRelativeUrls()
+ * /
+ public boolean getRelativeUrls() {
+ return false;
+ }*/
+
+ /* (non-Javadoc)
* @see org.bedework.caldav.server.SysIntf#isPrincipal(java.lang.String)
*/
public boolean isPrincipal(String val) throws WebdavException {
Modified: trunk/bwcaldav/src/org/bedework/caldav/bwserver/BwSysIntfImpl.java
===================================================================
--- trunk/bwcaldav/src/org/bedework/caldav/bwserver/BwSysIntfImpl.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/bwcaldav/src/org/bedework/caldav/bwserver/BwSysIntfImpl.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -56,7 +56,6 @@
import org.bedework.icalendar.IcalTranslator;
import org.bedework.icalendar.Icalendar;
-import edu.rpi.cct.webdav.servlet.common.WebdavUtils;
import edu.rpi.cct.webdav.servlet.shared.PrincipalPropertySearch;
import edu.rpi.cct.webdav.servlet.shared.WebdavBadRequest;
import edu.rpi.cct.webdav.servlet.shared.WebdavException;
@@ -65,6 +64,7 @@
import edu.rpi.cct.webdav.servlet.shared.WebdavProperty;
import edu.rpi.cct.webdav.servlet.shared.WebdavUnauthorized;
import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.PropertyTagEntry;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.UrlHandler;
import edu.rpi.cmt.access.Ace;
import edu.rpi.cmt.access.Acl;
import edu.rpi.cmt.access.PrincipalInfo;
@@ -109,8 +109,12 @@
private IcalTranslator trans;
private CalSvcI svci;
- private String urlPrefix;
+ private UrlHandler urlHandler;
+ //private String urlPrefix;
+
+ //private boolean relativeUrls = false;
+
public void init(HttpServletRequest req,
String envPrefix,
String account,
@@ -133,7 +137,7 @@
sb.append(req.getContextPath());*/
- urlPrefix = WebdavUtils.getUrlPrefix(req);
+ urlHandler = new UrlHandler(req, true);
} catch (Throwable t) {
throw new WebdavException(t);
}
@@ -155,21 +159,35 @@
}
}
- /** Get a property handler
- *
- * @param ptype
- * @return PropertyHandler
- * @throws WebdavException
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getPropertyHandler(org.bedework.caldav.server.PropertyHandler.PropertyType)
*/
public PropertyHandler getPropertyHandler(PropertyType ptype) throws WebdavException {
return new MyPropertyHandler();
}
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlHandler()
+ */
+ public UrlHandler getUrlHandler() {
+ return urlHandler;
+ }
+
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlPrefix()
+ * /
public String getUrlPrefix() {
return urlPrefix;
}
/* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getRelativeUrls()
+ * /
+ public boolean getRelativeUrls() {
+ return relativeUrls;
+ }*/
+
+ /* (non-Javadoc)
* @see org.bedework.caldav.server.SysIntf#isPrincipal(java.lang.String)
*/
public boolean isPrincipal(String val) throws WebdavException {
@@ -199,7 +217,8 @@
*/
public String makeHref(String id, int whoType) throws WebdavException {
try {
- return getUrlPrefix() + getSvci().getDirectories().makePrincipalUri(id, whoType);
+ return getUrlHandler().prefix(getSvci().getDirectories().makePrincipalUri(id, whoType));
+// return getUrlPrefix() + getSvci().getDirectories().makePrincipalUri(id, whoType);
} catch (Throwable t) {
throw new WebdavException(t);
}
@@ -403,7 +422,8 @@
}
for (BwCalendar cal: cals) {
- hrefs.add(getUrlPrefix() + cal.getPath());
+ hrefs.add(getUrlHandler().prefix(cal.getPath()));
+ //hrefs.add(getUrlPrefix() + cal.getPath());
}
return hrefs;
Modified: trunk/domino/src/edu/rpi/cct/bedework/caldav/DominoSysIntfImpl.java
===================================================================
--- trunk/domino/src/edu/rpi/cct/bedework/caldav/DominoSysIntfImpl.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/domino/src/edu/rpi/cct/bedework/caldav/DominoSysIntfImpl.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -78,13 +78,13 @@
import org.bedework.icalendar.Icalendar;
import org.bedework.icalendar.SAICalCallback;
-import edu.rpi.cct.webdav.servlet.common.WebdavUtils;
import edu.rpi.cct.webdav.servlet.shared.PrincipalPropertySearch;
import edu.rpi.cct.webdav.servlet.shared.WebdavBadRequest;
import edu.rpi.cct.webdav.servlet.shared.WebdavException;
import edu.rpi.cct.webdav.servlet.shared.WebdavNotFound;
import edu.rpi.cct.webdav.servlet.shared.WebdavServerError;
import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.PropertyTagEntry;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.UrlHandler;
import edu.rpi.cmt.access.Ace;
import edu.rpi.cmt.access.Acl;
import edu.rpi.cmt.access.PrincipalInfo;
@@ -218,8 +218,10 @@
private IcalTranslator trans;
- private String urlPrefix;
+ private UrlHandler urlHandler;
+ //private String urlPrefix;
+
public void init(HttpServletRequest req,
String envPrefix,
String account,
@@ -230,7 +232,7 @@
trans = new IcalTranslator(new SAICalCallback(getTimezones(), null),
debug);
- urlPrefix = WebdavUtils.getUrlPrefix(req);
+ urlHandler = new UrlHandler(req, false);
} catch (Throwable t) {
throw new WebdavException(t);
}
@@ -252,21 +254,35 @@
}
}
- /** Get a property handler
- *
- * @param ptype
- * @return PropertyHandler
- * @throws WebdavException
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getPropertyHandler(org.bedework.caldav.server.PropertyHandler.PropertyType)
*/
public PropertyHandler getPropertyHandler(PropertyType ptype) throws WebdavException {
return new MyPropertyHandler();
}
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlHandler()
+ */
+ public UrlHandler getUrlHandler() {
+ return urlHandler;
+ }
+
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlPrefix()
+ * /
public String getUrlPrefix() {
return urlPrefix;
}
/* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getRelativeUrls()
+ * /
+ public boolean getRelativeUrls() {
+ return false;
+ }*/
+
+ /* (non-Javadoc)
* @see org.bedework.caldav.server.SysIntf#isPrincipal(java.lang.String)
*/
public boolean isPrincipal(String val) throws WebdavException {
Modified: trunk/google/src/edu/rpi/cct/bedework/caldav/GoogleSysIntfImpl.java
===================================================================
--- trunk/google/src/edu/rpi/cct/bedework/caldav/GoogleSysIntfImpl.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/google/src/edu/rpi/cct/bedework/caldav/GoogleSysIntfImpl.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -74,12 +74,12 @@
import org.bedework.calfacade.util.ChangeTable;
import org.bedework.icalendar.Icalendar;
-import edu.rpi.cct.webdav.servlet.common.WebdavUtils;
import edu.rpi.cct.webdav.servlet.shared.PrincipalPropertySearch;
import edu.rpi.cct.webdav.servlet.shared.WebdavBadRequest;
import edu.rpi.cct.webdav.servlet.shared.WebdavException;
import edu.rpi.cct.webdav.servlet.shared.WebdavNotFound;
import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.PropertyTagEntry;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.UrlHandler;
import edu.rpi.cmt.access.Ace;
import edu.rpi.cmt.access.Acl;
import edu.rpi.cmt.access.PrincipalInfo;
@@ -128,7 +128,7 @@
private transient Logger log;
- private String urlPrefix;
+ private UrlHandler urlHandler;
private String account;
@@ -151,7 +151,7 @@
try {
this.debug = debug;
this.account = account;
- urlPrefix = WebdavUtils.getUrlPrefix(req);
+ urlHandler = new UrlHandler(req, false);
} catch (Throwable t) {
throw new WebdavException(t);
}
@@ -173,21 +173,35 @@
}
}
- /** Get a property handler
- *
- * @param ptype
- * @return PropertyHandler
- * @throws WebdavException
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getPropertyHandler(org.bedework.caldav.server.PropertyHandler.PropertyType)
*/
public PropertyHandler getPropertyHandler(PropertyType ptype) throws WebdavException {
return new MyPropertyHandler();
}
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlHandler()
+ */
+ public UrlHandler getUrlHandler() {
+ return urlHandler;
+ }
+
+ /* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getUrlPrefix()
+ * /
public String getUrlPrefix() {
return urlPrefix;
}
/* (non-Javadoc)
+ * @see org.bedework.caldav.server.SysIntf#getRelativeUrls()
+ * /
+ public boolean getRelativeUrls() {
+ return false;
+ }*/
+
+ /* (non-Javadoc)
* @see org.bedework.caldav.server.SysIntf#isPrincipal(java.lang.String)
*/
public boolean isPrincipal(String val) throws WebdavException {
Modified: trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -62,7 +62,7 @@
private SysIntf sysi;
CaldavBwNode(CaldavURI cdURI, SysIntf sysi, boolean debug) {
- super(sysi.getUrlPrefix(), cdURI.getPath(), cdURI.isCollection(), debug);
+ super(sysi.getUrlHandler(), cdURI.getPath(), cdURI.isCollection(), debug);
//this.cdURI = cdURI;
this.sysi = sysi;
@@ -73,7 +73,7 @@
}
CaldavBwNode(boolean collection, SysIntf sysi, boolean debug) {
- super(sysi.getUrlPrefix(), null, collection, debug);
+ super(sysi.getUrlHandler(), null, collection, debug);
//this.cdURI = cdURI;
this.sysi = sysi;
@@ -158,13 +158,20 @@
try {
if (tag.equals(CaldavTags.calendarUserAddressSet)) {
- xml.property(tag, sysi.userToCaladdr(getOwner()));
+ xml.openTag(tag);
+ generateHref(xml, sysi.userToCaladdr(getOwner()));
+ xml.closeTag(tag);
+
return true;
}
if (tag.equals(CaldavTags.calendarHomeSet)) {
+ /*
xml.property(tag, sysi.getUrlPrefix() +
sysi.getCalUserInfo(getOwner(), false).userHomePath);
+ */
+ xml.property(tag, sysi.getUrlHandler().prefix(
+ sysi.getCalUserInfo(getOwner(), false).userHomePath));
return true;
}
Modified: trunk/server/src/org/bedework/caldav/server/PostMethod.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/PostMethod.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/server/src/org/bedework/caldav/server/PostMethod.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -176,11 +176,14 @@
return null;
}
+ return sysi.getUrlHandler().unprefix(val);
+ /*
if (val.startsWith(sysi.getUrlPrefix())) {
return val.substring(sysi.getUrlPrefix().length());
}
return val;
+ */
}
}
@@ -387,10 +390,13 @@
/* See if it's a valid calendar user. */
String cn = organizer.getOrganizerUri();
+ /*
if (cn.startsWith(sysi.getUrlPrefix())) {
cn = cn.substring(sysi.getUrlPrefix().length());
organizer.setOrganizerUri(cn);
}
+ */
+ organizer.setOrganizerUri(sysi.getUrlHandler().unprefix(cn));
CalUserInfo organizerInfo = sysi.getCalUserInfo(sysi.caladdrToUser(cn),
false);
@@ -465,7 +471,9 @@
for (ScheduleRecipientResult srr: sr.recipientResults) {
openTag(CaldavTags.response);
- property(CaldavTags.recipient, srr.recipient);
+ openTag(CaldavTags.recipient);
+ property(WebdavTags.href, srr.recipient);
+ closeTag(CaldavTags.recipient);
setReqstat(srr.status);
closeTag(CaldavTags.response);
@@ -499,7 +507,9 @@
for (ScheduleRecipientResult srr: sr.recipientResults) {
openTag(CaldavTags.response);
- property(CaldavTags.recipient, srr.recipient);
+ openTag(CaldavTags.recipient);
+ property(WebdavTags.href, srr.recipient);
+ closeTag(CaldavTags.recipient);
setReqstat(srr.status);
BwEvent rfb = srr.freeBusy;
Modified: trunk/server/src/org/bedework/caldav/server/SysIntf.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/SysIntf.java 2007-09-13 15:50:47 UTC (rev 201)
+++ trunk/server/src/org/bedework/caldav/server/SysIntf.java 2007-09-17 20:37:20 UTC (rev 202)
@@ -42,6 +42,7 @@
import edu.rpi.cct.webdav.servlet.shared.PrincipalPropertySearch;
import edu.rpi.cct.webdav.servlet.shared.WebdavException;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode.UrlHandler;
import edu.rpi.cmt.access.Acl;
import edu.rpi.cmt.access.PrincipalInfo;
import edu.rpi.cmt.access.Acl.CurrentAccess;
@@ -95,10 +96,20 @@
public PropertyHandler getPropertyHandler(PropertyType ptype) throws WebdavException;
/**
+ * @return UrlHandler object to manipulate urls.
+ */
+ public UrlHandler getUrlHandler();
+
+ /* *
* @return String url prefix derived from request.
- */
+ * /
public String getUrlPrefix();
+ /* *
+ * @return boolean - true if using relative urls for broken clients
+ * /
+ public boolean getRelativeUrls();*/
+
/** Does the value appear to represent a valid principal?
*
* @param val
More information about the Bedework-commit
mailing list