[Bedework-commit] webdav r207 - in
trunk/server/src/edu/rpi/cct/webdav/servlet: common shared
svnadmin at bedework.org
svnadmin at bedework.org
Mon Mar 15 00:21:51 EDT 2010
Author: douglm
Date: 2010-03-15 00:21:49 -0400 (Mon, 15 Mar 2010)
New Revision: 207
Modified:
trunk/server/src/edu/rpi/cct/webdav/servlet/common/GetMethod.java
trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavPrincipalNode.java
Log:
1. Unprefix principal urls in getPrincipal method for AccessUtil
2. Changed type of content length from int to long - affects nodes and interfaces. Needed for resources.
Also means a schema change, stored length needs to be a bigint rather than int. Also content must be stored as a blob.
Schema was broken anyway, resources limited to 255 bytes. Not being used other than by tests so schema change should be OK.
3. CalDavBwIntf canPut method needs to take account of resource nodes.
4. Null changes to CalDAVCalNode, CalDavComponentNode - finals and @override
5. For resources use streams rather than byte arrays. Avoids copying.
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/common/GetMethod.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/common/GetMethod.java 2010-03-15 04:21:43 UTC (rev 206)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/common/GetMethod.java 2010-03-15 04:21:49 UTC (rev 207)
@@ -63,6 +63,7 @@
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -83,12 +84,14 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.common.MethodBase#init()
*/
+ @Override
public void init() {
doContent = true;
}
- public void doMethod(HttpServletRequest req,
- HttpServletResponse resp) throws WebdavException {
+ @Override
+ public void doMethod(final HttpServletRequest req,
+ final HttpServletResponse resp) throws WebdavException {
if (debug) {
trace("GetMethod: doMethod");
}
@@ -126,7 +129,7 @@
/** Get the content now to set up length, type etc.
*/
String contentType;
- int contentLength;
+ long contentLength;
if (node.getContentBinary()) {
streamIn = getNsIntf().getBinaryContent(node);
@@ -154,8 +157,13 @@
}
resp.setContentType(contentType);
- resp.setContentLength(contentLength);
+ if (contentLength > Integer.MAX_VALUE) {
+ resp.setContentLength(-1);
+ } else {
+ resp.setContentLength((int)contentLength);
+ }
+
if (doContent) {
if ((in == null) && (streamIn == null)) {
if (debug) {
@@ -185,7 +193,7 @@
}
}
- private void writeContent(Reader in, Writer out)
+ private void writeContent(final Reader in, final Writer out)
throws WebdavException {
try {
char[] buff = new char[bufferSize];
@@ -212,7 +220,7 @@
}
}
- private void streamContent(InputStream in, OutputStream out)
+ private void streamContent(final InputStream in, final OutputStream out)
throws WebdavException {
try {
byte[] buff = new byte[bufferSize];
@@ -252,8 +260,8 @@
* @return Reader
* @throws WebdavException
*/
- protected String generateHtml(HttpServletRequest req,
- WebdavNsNode node) throws WebdavException {
+ protected String generateHtml(final HttpServletRequest req,
+ final WebdavNsNode node) throws WebdavException {
try {
Sbuff sb = new Sbuff();
@@ -330,7 +338,7 @@
/**
* @param ss
*/
- public void lines(String[] ss) {
+ public void lines(final String[] ss) {
for (int i = 0; i < ss.length; i++) {
line(ss[i]);
}
@@ -339,7 +347,7 @@
/**
* @param s
*/
- public void line(String s) {
+ public void line(final String s) {
sb.append(s);
sb.append("\r\n");
}
@@ -347,10 +355,11 @@
/**
* @param s
*/
- public void append(String s) {
+ public void append(final String s) {
sb.append(s);
}
+ @Override
public String toString() {
return sb.toString();
}
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java 2010-03-15 04:21:43 UTC (rev 206)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java 2010-03-15 04:21:49 UTC (rev 207)
@@ -66,7 +66,6 @@
import org.apache.log4j.Logger;
import org.w3c.dom.Element;
-import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.Reader;
import java.io.Serializable;
@@ -978,13 +977,7 @@
* @throws WebdavException
*/
public InputStream getContentStream() throws WebdavException {
- byte[] cont = getBinaryContent();
-
- if (cont == null) {
- return null;
- }
-
- return new ByteArrayInputStream(cont);
+ return null;
}
/** Return string content
@@ -996,15 +989,6 @@
return null;
}
- /** Return binary content
- *
- * @return byte[] content.
- * @throws WebdavException
- */
- public byte[] getBinaryContent() throws WebdavException {
- return null;
- }
-
/**
* @param methodTag - acts as a flag for the method type
* @throws WebdavException
@@ -1029,10 +1013,10 @@
public abstract String getContentLang() throws WebdavException;
/**
- * @return int content length
+ * @return long content length
* @throws WebdavException
*/
- public abstract int getContentLen() throws WebdavException;
+ public abstract long getContentLen() throws WebdavException;
/** A content type of null implies no content (or we don't know)
*
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavPrincipalNode.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavPrincipalNode.java 2010-03-15 04:21:43 UTC (rev 206)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavPrincipalNode.java 2010-03-15 04:21:49 UTC (rev 207)
@@ -54,8 +54,6 @@
package edu.rpi.cct.webdav.servlet.shared;
-import edu.rpi.cct.webdav.servlet.shared.WebdavException;
-import edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf;
import edu.rpi.cmt.access.AccessPrincipal;
import edu.rpi.cmt.access.WhoDefs;
import edu.rpi.cmt.access.Acl.CurrentAccess;
@@ -94,10 +92,10 @@
* @param debug
* @throws WebdavException
*/
- public WebdavPrincipalNode(UrlHandler urlHandler, String path,
- AccessPrincipal account,
- boolean collection,
- String uri, boolean debug) throws WebdavException {
+ public WebdavPrincipalNode(final UrlHandler urlHandler, final String path,
+ final AccessPrincipal account,
+ final boolean collection,
+ final String uri, final boolean debug) throws WebdavException {
super(urlHandler, path, collection, uri, debug);
this.account = account;
userPrincipal = account.getKind() == WhoDefs.whoTypeUser;
@@ -110,6 +108,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getOwner()
*/
+ @Override
public AccessPrincipal getOwner() throws WebdavException {
return account;
}
@@ -117,6 +116,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#update()
*/
+ @Override
public void update() throws WebdavException {
}
@@ -124,11 +124,13 @@
* Abstract methods
* ==================================================================== */
+ @Override
public CurrentAccess getCurrentAccess() throws WebdavException {
return null;
}
- public String getEtagValue(boolean strong) throws WebdavException {
+ @Override
+ public String getEtagValue(final boolean strong) throws WebdavException {
String val = "1234567890";
if (strong) {
@@ -141,6 +143,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#trailSlash()
*/
+ @Override
public boolean trailSlash() {
return true;
}
@@ -148,11 +151,13 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getChildren()
*/
+ @Override
public Collection getChildren() throws WebdavException {
return null;
}
- public WdCollection getCollection(boolean deref) throws WebdavException {
+ @Override
+ public WdCollection getCollection(final boolean deref) throws WebdavException {
return null;
}
@@ -163,6 +168,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getContentBinary()
*/
+ @Override
public boolean getContentBinary() throws WebdavException {
return false;
}
@@ -170,6 +176,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getContentLang()
*/
+ @Override
public String getContentLang() throws WebdavException {
return null;
}
@@ -177,13 +184,15 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getContentLen()
*/
- public int getContentLen() throws WebdavException {
+ @Override
+ public long getContentLen() throws WebdavException {
return 0;
}
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getContentType()
*/
+ @Override
public String getContentType() throws WebdavException {
return null;
}
@@ -191,6 +200,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getCreDate()
*/
+ @Override
public String getCreDate() throws WebdavException {
return null;
}
@@ -198,6 +208,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getDisplayname()
*/
+ @Override
public String getDisplayname() throws WebdavException {
return account.getAccount();
}
@@ -205,6 +216,7 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#getLastmodDate()
*/
+ @Override
public String getLastmodDate() throws WebdavException {
return null;
}
@@ -216,8 +228,9 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
*/
- public boolean removeProperty(Element val,
- SetPropertyResult spr) throws WebdavException {
+ @Override
+ public boolean removeProperty(final Element val,
+ final SetPropertyResult spr) throws WebdavException {
warn("Unimplemented - removeProperty");
return false;
@@ -226,8 +239,9 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
*/
- public boolean setProperty(Element val,
- SetPropertyResult spr) throws WebdavException {
+ @Override
+ public boolean setProperty(final Element val,
+ final SetPropertyResult spr) throws WebdavException {
if (super.setProperty(val, spr)) {
return true;
}
@@ -238,7 +252,8 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#knownProperty(edu.rpi.sss.util.xml.QName)
*/
- public boolean knownProperty(QName tag) {
+ @Override
+ public boolean knownProperty(final QName tag) {
if (propertyNames.get(tag) != null) {
return true;
}
@@ -250,9 +265,10 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#generatePropertyValue(edu.rpi.sss.util.xml.QName, edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf, boolean)
*/
- public boolean generatePropertyValue(QName tag,
- WebdavNsIntf intf,
- boolean allProp) throws WebdavException {
+ @Override
+ public boolean generatePropertyValue(final QName tag,
+ final WebdavNsIntf intf,
+ final boolean allProp) throws WebdavException {
String ns = tag.getNamespaceURI();
XmlEmit xml = intf.getXmlEmit();
More information about the Bedework-commit
mailing list