dirkv 01/07/13 06:05:37
Modified: src/webdav/client/src/org/apache/webdav/cmd Slide.java
Log:
auto-complete the principal for grant, deny & revoke
Revision Changes Path
1.32 +17 -3
jakarta-slide/src/webdav/client/src/org/apache/webdav/cmd/Slide.java
Index: Slide.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/cmd/Slide.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- Slide.java 2001/07/13 12:37:14 1.31
+++ Slide.java 2001/07/13 13:05:26 1.32
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/cmd/Slide.java,v 1.31
2001/07/13 12:37:14 dirkv Exp $
- * $Revision: 1.31 $
- * $Date: 2001/07/13 12:37:14 $
+ * $Header:
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/cmd/Slide.java,v 1.32
2001/07/13 13:05:26 dirkv Exp $
+ * $Revision: 1.32 $
+ * $Date: 2001/07/13 13:05:26 $
*
* ====================================================================
*
@@ -868,6 +868,7 @@
continue;
}
}
+
principal=checkPrincipal(principal,webdavResource,path);
grant(webdavResource, namespace, permission,
path, principal);
} else
if (todo.equalsIgnoreCase("deny")) {
@@ -918,6 +919,7 @@
continue;
}
}
+ principal=checkPrincipal(principal,webdavResource,path);
deny(webdavResource, namespace, permission, path, principal);
} else
if (todo.equalsIgnoreCase("revoke")) {
@@ -968,6 +970,7 @@
continue;
}
}
+ principal=checkPrincipal(principal,webdavResource,path);
revoke(webdavResource, namespace, permission, path, principal);
} else
if (todo.equalsIgnoreCase("acl")) {
@@ -1394,6 +1397,17 @@
return normalize(uri);
}
+ private String checkPrincipal(String principal, WebdavResource webdavResource,
String path) throws HttpException,IOException
+ {
+ // FIXME: when search support is complete enhance this
+ // to really search for the principal
+ if (!principal.startsWith("/") && !principal.startsWith("http")) {
+ PrincipalCollectionSetProperty set =
webdavResource.principalCollectionSetFindMethod(path);
+ if ((set!=null) && (set.getHrefs().length==1))
+ principal = set.getHrefs()[0] + "/" + principal;
+ }
+ return normalize(principal);
+ }
/**
* Set the path.
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... jericho
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... jericho
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... jericho
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... remm
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... remm
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... jericho
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... jericho
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... remm
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... remm
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... dirkv
- cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/... juergen
