tdraier 2005/08/24 18:25:17 CEST
Modified files:
core/src/java/org/apache/slide/security
JahiaWebdavSecurity.java
core/src/java/org/jahia/engines/filemanager
DAVFilemanager_Engine.java
core/src/java/org/jahia/services/usermanager
JahiaGroupManagerRoutingService.java
core/src/java/org/jahia/services/webdav/listeners
JahiaMacroListener.java
core/src/java/org/jahia/services/webdav/stores
JahiaDescriptorsStore.java
UserLinkNode.java
core/src/java/org/jahia/services/webdav DAVFileAccess.java
core/src/webapp/WEB-INF/etc/slide defs.xml
core/src/webapp/jsp/jahia/engines/filemanager fileedit.jsp
core/src/webapp/jsp/jahia/engines/shared
embedded_flat_filemanager.jsp
Added files:
core/src/java/org/jahia/services/webdav/stores
JahiaGroupNode.java
Log:
switched slide to binding stores, upgraded slide libraries to latest snapshot
Revision Changes Path
1.8 +6 -6
jahia/core/src/java/org/apache/slide/security/JahiaWebdavSecurity.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/apache/slide/security/JahiaWebdavSecurity.java.diff?r1=1.7&r2=1.8&f=h
1.15 +2 -0
jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java.diff?r1=1.14&r2=1.15&f=h
1.8 +1 -1
jahia/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerRoutingService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerRoutingService.java.diff?r1=1.7&r2=1.8&f=h
1.21 +4 -1
jahia/core/src/java/org/jahia/services/webdav/DAVFileAccess.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/webdav/DAVFileAccess.java.diff?r1=1.20&r2=1.21&f=h
1.3 +20 -20
jahia/core/src/java/org/jahia/services/webdav/listeners/JahiaMacroListener.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/webdav/listeners/JahiaMacroListener.java.diff?r1=1.2&r2=1.3&f=h
1.10 +103 -50
jahia/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsStore.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsStore.java.diff?r1=1.9&r2=1.10&f=h
1.1 +30 -0
jahia/core/src/java/org/jahia/services/webdav/stores/JahiaGroupNode.java (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/webdav/stores/JahiaGroupNode.java?rev=1.1&content-type=text/plain
1.3 +7 -3
jahia/core/src/java/org/jahia/services/webdav/stores/UserLinkNode.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/webdav/stores/UserLinkNode.java.diff?r1=1.2&r2=1.3&f=h
1.5 +1 -1 jahia/core/src/webapp/WEB-INF/etc/slide/defs.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/WEB-INF/etc/slide/defs.xml.diff?r1=1.4&r2=1.5&f=h
1.3 +1 -1
jahia/core/src/webapp/jsp/jahia/engines/filemanager/fileedit.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/jsp/jahia/engines/filemanager/fileedit.jsp.diff?r1=1.2&r2=1.3&f=h
1.10 +1 -1
jahia/core/src/webapp/jsp/jahia/engines/shared/embedded_flat_filemanager.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/jsp/jahia/engines/shared/embedded_flat_filemanager.jsp.diff?r1=1.9&r2=1.10&f=h
Index: JahiaWebdavSecurity.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/apache/slide/security/JahiaWebdavSecurity.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JahiaWebdavSecurity.java 22 Aug 2005 08:40:34 -0000 1.7
+++ JahiaWebdavSecurity.java 24 Aug 2005 16:25:14 -0000 1.8
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/repository/jahia/core/src/java/org/apache/slide/security/JahiaWebdavSecurity.java,v
1.7 2005/08/22 08:40:34 knguyen Exp $
- * $Revision: 1.7 $
- * $Date: 2005/08/22 08:40:34 $
+ * $Header:
/home/cvs/repository/jahia/core/src/java/org/apache/slide/security/JahiaWebdavSecurity.java,v
1.8 2005/08/24 16:25:14 tdraier Exp $
+ * $Revision: 1.8 $
+ * $Date: 2005/08/24 16:25:14 $
*
* ====================================================================
*
@@ -59,6 +59,7 @@
import org.apache.slide.util.logger.Logger;
import org.jdom.JDOMException;
import org.jahia.services.webdav.stores.UserLinkNode;
+import org.jahia.services.webdav.stores.JahiaGroupNode;
import org.jahia.services.usermanager.JahiaGroupManagerService;
import org.jahia.services.usermanager.JahiaUserManagerService;
@@ -66,7 +67,7 @@
* Security helper.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class JahiaWebdavSecurity implements Security {
@@ -592,8 +593,7 @@
(permissionSubjectUri);
// if the node is a GroupNode, expand it out to
// normal permissions
- if (group instanceof
- org.apache.slide.structure.GroupNode ) {
+ if (group instanceof JahiaGroupNode ) {
if (group.hasChildren()) {
Enumeration groupMembers =
group.enumerateChildren();
Index: DAVFilemanager_Engine.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- DAVFilemanager_Engine.java 5 Jul 2005 15:46:10 -0000 1.14
+++ DAVFilemanager_Engine.java 24 Aug 2005 16:25:14 -0000 1.15
@@ -640,7 +640,9 @@
String value = jParams.getParameter (key);
if (value != null) {
if ("DAV:displayname".equals (key)) {
+ if (value != null && !value.equals("")) {
dav.setName (value);
+ }
} else {
NodeProperty p = (NodeProperty) props.get (key);
if (p != null && !p.isProtected ()) {
Index: JahiaGroupManagerRoutingService.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/usermanager/JahiaGroupManagerRoutingService.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JahiaGroupManagerRoutingService.java 19 Aug 2005 15:53:53 -0000
1.7
+++ JahiaGroupManagerRoutingService.java 24 Aug 2005 16:25:14 -0000
1.8
@@ -363,7 +363,7 @@
Vector resultVector = (Vector) result;
Enumeration resultEnum = resultVector.elements ();
while (resultEnum.hasMoreElements ()) {
- Vector curResult = (Vector) resultEnum.nextElement ();
+ Collection curResult = (Collection) resultEnum.nextElement ();
groupNameList.addAll (curResult);
}
return groupNameList;
Index: JahiaMacroListener.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/listeners/JahiaMacroListener.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JahiaMacroListener.java 22 Jun 2005 12:35:26 -0000 1.2
+++ JahiaMacroListener.java 24 Aug 2005 16:25:15 -0000 1.3
@@ -21,11 +21,11 @@
* Date: 28 juin 2004
* Time: 16:30:34
* <p/>
- * $Author: cmailleux $
- * $Date: 2005/06/22 12:35:26 $
- * $Id: JahiaMacroListener.java,v 1.2 2005/06/22 12:35:26 cmailleux Exp $
+ * $Author: tdraier $
+ * $Date: 2005/08/24 16:25:15 $
+ * $Id: JahiaMacroListener.java,v 1.3 2005/08/24 16:25:15 tdraier Exp $
* $RCSfile: JahiaMacroListener.java,v $
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
* $Source:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/listeners/JahiaMacroListener.java,v
$
* $State: Exp $
*/
@@ -37,23 +37,23 @@
public void copy(MacroEvent event) throws VetoException {
try {
- Content helper = getContentHelper(event);
- NodeRevisionDescriptors srcNrds =
helper.retrieve(event.getToken(),
-
event.getTargetURI());
- NodeRevisionDescriptor srcNrd = helper.retrieve(event.getToken(),
- srcNrds);
- NodeRevisionDescriptors destNrds =
helper.retrieve(event.getToken(),
-
event.getTargetURI());
- NodeRevisionDescriptor destNrd =
helper.retrieve(event.getToken(),
- destNrds);
-
- String displayName = getFilename(event.getTargetURI());
- if (getFilename(event.getSourceURI()).equals(srcNrd.getName())) {
- if (!displayName.equals(destNrd.getName())) {
- destNrd.setName(displayName);
- helper.store(event.getToken(), event.getTargetURI(),
destNrd, null);
- }
- }
+// Content helper = getContentHelper(event);
+// NodeRevisionDescriptors srcNrds =
helper.retrieve(event.getToken(),
+//
event.getTargetURI());
+// NodeRevisionDescriptor srcNrd =
helper.retrieve(event.getToken(),
+// srcNrds);
+// NodeRevisionDescriptors destNrds =
helper.retrieve(event.getToken(),
+//
event.getTargetURI());
+// NodeRevisionDescriptor destNrd =
helper.retrieve(event.getToken(),
+// destNrds);
+//
+// String displayName = getFilename(event.getTargetURI());
+// if
(getFilename(event.getSourceURI()).equals(srcNrd.getName())) {
+// if (!displayName.equals(destNrd.getName())) {
+// destNrd.setName(displayName);
+// helper.store(event.getToken(), event.getTargetURI(),
destNrd, null);
+// }
+// }
} catch (Exception e) {
}
Index: JahiaGroupNode.java
====================================================================
package org.jahia.services.webdav.stores;
import org.apache.slide.structure.SubjectNode;
import java.util.Vector;
/**
* Created by IntelliJ IDEA.
* User: toto
* Date: 23 août 2005
* Time: 17:06:51
* To change this template use File | Settings | File Templates.
*/
public class JahiaGroupNode extends SubjectNode {
public JahiaGroupNode() {
super();
}
public JahiaGroupNode(String uri) {
super(uri);
}
public JahiaGroupNode(String uri, Vector children, Vector links) {
super(uri, children, links);
}
public JahiaGroupNode(String uuri, Vector bindings, Vector parentset,
Vector links) {
super(uuri, bindings, parentset, links);
}
}
Index: JahiaDescriptorsStore.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsStore.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- JahiaDescriptorsStore.java 19 Aug 2005 15:53:56 -0000 1.9
+++ JahiaDescriptorsStore.java 24 Aug 2005 16:25:15 -0000 1.10
@@ -56,7 +56,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
* @author Dirk Verbeeck
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
public class JahiaDescriptorsStore extends AbstractRDBMSStore
@@ -880,25 +880,39 @@
}
private ObjectNode processRoot(Uri uri) throws ObjectNotFoundException,
ServiceAccessException {
- ObjectNode r = super.retrieveObject(uri);
- r.getChildren().add("/users");
- r.getChildren().add("/groups");
- r.getChildren().add("/content");
- r.getChildren().add("/liveContent");
+ Vector bindings = new Vector();
+ bindings.add(new SubjectNode.Binding("users","/users"));
+ bindings.add(new SubjectNode.Binding("groups","/groups"));
+// bindings.add(new SubjectNode.Binding("content","/content"));
+// bindings.add(new
SubjectNode.Binding("liveContent","/liveContent"));
+ bindings.add(new SubjectNode.Binding("shared","/shared"));
+ bindings.add(new SubjectNode.Binding("actions","/actions"));
+ ObjectNode r = new SubjectNode("/",bindings,new Vector(), new
Vector());
+ r.setUri("/");
return r;
}
private SubjectNode processUsersDirectory (Uri uri) throws
ObjectNotFoundException,
ServiceAccessException {
Vector children = new Vector ();
- Set users = getSlideUriManager().getUsersFolders ("/users/",siteId);
- for (Iterator iterator = users.iterator (); iterator.hasNext ();) {
- String key = (String) iterator.next ();
- if (!JahiaUserManagerService.GUEST_USERNAME.equals (key)) {
- children.add ("/users/" + key);
+ try {
+ List users =
ServicesRegistry.getInstance().getJahiaSiteUserManagerService().getMembers(siteId);
+// Set users = getSlideUriManager().getUsersFolders
("/users/",siteId);
+ for (Iterator iterator = users.iterator (); iterator.hasNext
();) {
+ JahiaUser user = (JahiaUser) iterator.next();
+ children.add (new
SubjectNode.Binding(user.getUsername(),"/users/"+user.getUsername()));
+ // String key = (String) iterator.next ();
+ // if (!JahiaUserManagerService.GUEST_USERNAME.equals
(key)) {
+ // children.add (new
SubjectNode.Binding(key,"/users/"+key));
+ // }
}
+ } catch (JahiaException e) {
+ e.printStackTrace(); //To change body of catch statement use
File | Settings | File Templates.
}
- SubjectNode subject = new SubjectNode (uri.toString (), children,
new Vector ());
+ Vector parents = new Vector();
+ parents.add(new SubjectNode.ParentBinding("users","/"));
+ SubjectNode subject = new SubjectNode (uri.toString (), children,
parents, new Vector ());
+ subject.setUri(uri.toString());
return subject;
}
@@ -907,9 +921,11 @@
// /users/username - INTERNAL_FOLDER
SubjectNode subject;
Vector childrenVector = new Vector ();
+ Vector parentsVector = new Vector ();
Vector linksVector = new Vector ();
+ parentsVector.add (new
SubjectNode.ParentBinding(userName,"/users"));
if (userName.equals (JahiaUserManagerService.GUEST_USERNAME)) {
- subject = new GuestRoleImpl (uri.toString (), childrenVector,
linksVector);
+ subject = new GuestRoleImpl (uri.toString (), childrenVector,
parentsVector, linksVector);
} else {
JahiaUser user = getUser (uri, userName);
@@ -917,16 +933,16 @@
throw new ObjectNotFoundException(uri);
}
- childrenVector.add ("/users/" + userName + "/public");
- childrenVector.add ("/users/" + userName + "/private");
- childrenVector.add ("/users/" + userName + "/mygroups");
-
+ childrenVector.add (new SubjectNode.Binding("public","/users/" +
userName + "/public"));
+ childrenVector.add (new SubjectNode.Binding("private","/users/"
+ userName + "/private"));
+ childrenVector.add (new SubjectNode.Binding("mygroups","/users/"
+ userName + "/mygroups"));
if (user.isAdminMember (siteId)) {
- subject = new RootRoleImpl (uri.toString (), childrenVector,
linksVector);
+ subject = new RootRoleImpl (uri.toString (), childrenVector,
parentsVector, linksVector);
} else {
- subject = new UserRoleImpl (uri.toString (), childrenVector,
linksVector);
+ subject = new UserRoleImpl (uri.toString (), childrenVector,
parentsVector, linksVector);
}
}
+ subject.setUri(uri.toString());
return subject;
}
@@ -939,9 +955,14 @@
throw new ObjectNotFoundException (uri);
}
JahiaUser user = getUser (uri, userName);
+
+ Vector parents = new Vector();
+ parents.add(new SubjectNode.ParentBinding(folderName,
"/users/"+userName));
+
if (folderName.equals ("mygroups") && (user != null)) {
// /users/username/groups
Vector children = new Vector ();
+
JahiaGroupManagerService groupService =
ServicesRegistry.getInstance ()
.getJahiaGroupManagerService ();
Set groupNames = new HashSet ();
@@ -954,10 +975,10 @@
String key = (String) iterator.next ();
if (!JahiaGroupManagerService.GUEST_GROUPNAME.equals (key)
&& !JahiaGroupManagerService.USERS_GROUPNAME.equals (
key)) {
- children.add ("/users/" + userName + "/mygroups/" + key);
+ children.add (new SubjectNode.Binding(key, "/users/" +
userName + "/mygroups/" + key));
}
}
- subject = new SubjectNode (uri.toString (), children, new Vector
());
+ subject = new SubjectNode (uri.toString (), children, parents,
new Vector ());
} else if (folderName.equals ("public") || folderName.equals
("private")) {
// Vector childrenVector = new Vector ();
// Vector linksVector = new Vector ();
@@ -968,11 +989,12 @@
} catch (ObjectNotFoundException e) {
Vector childrenVector = new Vector ();
Vector linksVector = new Vector ();
- subject = new SubjectNode (uri.toString (), childrenVector,
linksVector);
+ subject = new SubjectNode (uri.toString (), childrenVector,
parents, linksVector);
}
} else {
throw new ObjectNotFoundException (uri);
}
+ subject.setUri(uri.toString());
return subject;
}
@@ -986,12 +1008,16 @@
throw new ObjectNotFoundException (uri);
}
Vector v = new Vector ();
+
+ Vector parents = new Vector();
+ parents.add(new SubjectNode.ParentBinding(groupName,
"/users/"+userName+"/mygroups"));
+
Vector children = new Vector ();
- children.add ("/users/" + userName + "/mygroups/" + groupName +
"/private");
- children.add ("/users/" + userName + "/mygroups/" + groupName +
"/public");
- ObjectNode object = new SubjectNode ("/users/" + userName +
"/mygroups/" + groupName,
- children, v);
- return object;
+ children.add (new SubjectNode.Binding("private","/users/" + userName
+ "/mygroups/" + groupName + "/private"));
+ children.add (new SubjectNode.Binding("public","/users/" + userName
+ "/mygroups/" + groupName + "/public"));
+ SubjectNode subject = new SubjectNode ("/users/" + userName +
"/mygroups/" + groupName, children, parents, v);
+ subject.setUri(uri.toString());
+ return subject;
}
private ObjectNode processUserGroupSubDirectory (Uri uri, String
userName,
@@ -1019,6 +1045,7 @@
ObjectNode object = new LinkNode (
"/users/" + userName + "/mygroups/" + groupName + "/" +
folderName, myChildren,
v, linkedUri.toString ());
+ object.setUri(uri.toString());
return object;
}
@@ -1027,7 +1054,9 @@
// /groups - INTERNAL_FOLDER
SubjectNode subject;
Vector children = new Vector ();
-// JahiaGroupManagerService groupService =
ServicesRegistry.getInstance().getJahiaGroupManagerService();
+ JahiaGroupManagerService groupService =
ServicesRegistry.getInstance().getJahiaGroupManagerService();
+ Vector groups = groupService.getGroupnameList(siteId);
+
// Properties searchCriterias = new Properties();
// searchCriterias.put("*","*");
// Collection groups = new ArrayList();
@@ -1036,17 +1065,23 @@
// JahiaGroup jahiaGroup = (JahiaGroup) iterator.next();
// groups.add(jahiaGroup.getGroupname());
// }
- Collection groups = getSlideUriManager().getUsersFolders
("/groups/",siteId);
+
+// Collection groups = getSlideUriManager().getUsersFolders
("/groups/",siteId);
+
// removedUsersFolders.removeAll(groups);
// groups.addAll( removedUsersFolders );
for (Iterator iterator = groups.iterator (); iterator.hasNext ();) {
String key = (String) iterator.next ();
- if (!JahiaGroupManagerService.GUEST_GROUPNAME.equals (key) &&
!JahiaGroupManagerService.USERS_GROUPNAME.equals (
- key)) {
- children.add ("/groups/" + key);
- }
- }
- subject = new SubjectNode (uri.toString (), children, new Vector ());
+
+// if (!JahiaGroupManagerService.GUEST_GROUPNAME.equals (key) &&
!JahiaGroupManagerService.USERS_GROUPNAME.equals (
+// key)) {
+ children.add (new SubjectNode.Binding(key,"/groups/" + key));
+// }
+ }
+ Vector parents = new Vector();
+ parents.add(new SubjectNode.ParentBinding("groups","/"));
+ subject = new SubjectNode (uri.toString (), children, parents, new
Vector ());
+ subject.setUri(uri.toString());
return subject;
}
@@ -1056,14 +1091,18 @@
// /groups/groupname - INTERNAL_FOLDER
JahiaGroup group = getGroup (uri, groupName);
Vector children = new Vector ();
- if (!JahiaGroupManagerService.GUEST_GROUPNAME.equals (groupName) &&
!JahiaGroupManagerService.USERS_GROUPNAME.equals (groupName)) {
- children.add ("/groups/" + groupName + "/private");
- children.add ("/groups/" + groupName + "/public");
- }
+ Vector parentsVector = new Vector ();
+ parentsVector.add (new
SubjectNode.ParentBinding(groupName,"/groups"));
+
if (group != null) {
- children.add ("/groups/" + groupName + "/members");
+ if (!JahiaGroupManagerService.GUEST_GROUPNAME.equals (groupName)
&& !JahiaGroupManagerService.USERS_GROUPNAME.equals (groupName)) {
+ children.add (new SubjectNode.Binding("private","/groups/" +
groupName + "/private"));
+ children.add (new SubjectNode.Binding("public","/groups/" +
groupName + "/public"));
+ }
+ children.add (new SubjectNode.Binding("members","/groups/" +
groupName + "/members"));
}
- SubjectNode subject = new SubjectNode (uri.toString (), children,
new Vector ());
+ SubjectNode subject = new SubjectNode (uri.toString (), children,
parentsVector, new Vector ());
+ subject.setUri(uri.toString());
return subject;
}
@@ -1072,6 +1111,10 @@
throws ObjectNotFoundException, ServiceAccessException {
ObjectNode subject;
JahiaGroup group = getGroup (uri, groupName);
+
+ Vector parents = new Vector();
+ parents.add(new SubjectNode.ParentBinding(folderName,
"/groups/"+groupName));
+
if (folderName.equals ("members") && (group != null)) {
// /groups/groupname/members
Vector children = new Vector ();
@@ -1079,21 +1122,25 @@
while (members.hasMoreElements ()) {
JahiaUser user = (JahiaUser) members.nextElement ();
if (!JahiaUserManagerService.GUEST_USERNAME.equals
(user.getUsername ())) {
- children.add ("/groups/" + groupName + "/members/" +
user.getUsername ());
+ children.add (new SubjectNode.Binding(user.getUsername
(),"/groups/" + groupName + "/members/" + user.getUsername ()));
}
}
- subject = new GroupNode (uri.toString (), children, new Vector
());
+ subject = new JahiaGroupNode (uri.toString (), children,
parents, new Vector ());
} else if ((folderName.equals ("public") || folderName.equals
("private")) &&
!JahiaGroupManagerService.GUEST_GROUPNAME.equals (groupName)
&&
!JahiaGroupManagerService.USERS_GROUPNAME.equals
(groupName)) {
// /groups/groupname/[private|public]
- Vector childrenVector = new Vector ();
- Vector linksVector = new Vector ();
-// getChildren (uri, childrenVector, linksVector);
- subject = new SubjectNode (uri.toString (), childrenVector,
linksVector);
+ try {
+ subject = (SubjectNode) super.retrieveObject(uri);
+ } catch (ObjectNotFoundException e) {
+ Vector childrenVector = new Vector ();
+ Vector linksVector = new Vector ();
+ subject = new SubjectNode (uri.toString (), childrenVector,
parents, linksVector);
+ }
} else {
throw new ObjectNotFoundException (uri);
}
+ subject.setUri(uri.toString());
return subject;
}
@@ -1105,14 +1152,19 @@
throw new ObjectNotFoundException (uri);
}
Vector v = new Vector ();
+
+ Vector parents = new Vector ();
+ parents.add(new SubjectNode.ParentBinding(memberName, "/groups/" +
groupName + "/members"));
+
Vector children = new Vector ();
if (!memberName.equals(JahiaUserManagerService.GUEST_USERNAME)) {
- children.add ("/groups/" + groupName + "/members/" + memberName +
"/private");
- children.add ("/groups/" + groupName + "/members/" + memberName +
"/public");
+ children.add (new SubjectNode.Binding("private","/groups/" +
groupName + "/members/" + memberName + "/private"));
+ children.add (new SubjectNode.Binding("public", "/groups/" +
groupName + "/members/" + memberName + "/public"));
}
ObjectNode object = new UserLinkNode (
- "/groups/" + groupName + "/members/" + memberName, children,
v,
+ "/groups/" + groupName + "/members/" + memberName, children,
parents, v,
"/users/" + memberName);
+ object.setUri(uri.toString());
return object;
}
@@ -1136,6 +1188,7 @@
myChildren.add ("/groups/" + groupName + s);
}
ObjectNode object = new LinkNode (uri.toString (), myChildren, v,
linkedUri.toString ());
+ object.setUri(uri.toString());
return object;
}
Index: UserLinkNode.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/stores/UserLinkNode.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UserLinkNode.java 22 Jun 2005 12:35:26 -0000 1.2
+++ UserLinkNode.java 24 Aug 2005 16:25:15 -0000 1.3
@@ -12,11 +12,11 @@
* Date: 24 aot 2004
* Time: 16:16:22
* <p/>
- * $Author: cmailleux $
- * $Date: 2005/06/22 12:35:26 $
- * $Id: UserLinkNode.java,v 1.2 2005/06/22 12:35:26 cmailleux Exp $
+ * $Author: tdraier $
+ * $Date: 2005/08/24 16:25:15 $
+ * $Id: UserLinkNode.java,v 1.3 2005/08/24 16:25:15 tdraier Exp $
* $RCSfile: UserLinkNode.java,v $
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
* $Source:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/stores/UserLinkNode.java,v
$
* $State: Exp $
*/
@@ -59,6 +59,10 @@
setLinkedUri(linkedUri);
}
+ public UserLinkNode(String uuri, Vector bindings, Vector parentset,
Vector links, String linkedUri) {
+ super(uuri, bindings, parentset, links);
+ setLinkedUri(linkedUri);
+ }
// ----------------------------------------------------- Instance
Variables
Index: DAVFileAccess.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/webdav/DAVFileAccess.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- DAVFileAccess.java 5 Aug 2005 12:22:58 -0000 1.20
+++ DAVFileAccess.java 24 Aug 2005 16:25:15 -0000 1.21
@@ -39,6 +39,7 @@
import org.jahia.services.usermanager.JahiaGroupManagerService;
import org.jahia.services.usermanager.JahiaUser;
import org.jahia.services.usermanager.JahiaUserManagerService;
+import org.jahia.services.webdav.stores.JahiaGroupNode;
import org.jahia.urls.URI;
import javax.servlet.http.HttpServletRequest;
@@ -264,7 +265,7 @@
.getJahiaGroupManagerService ()
.lookupGroup (jahiaUserKey);
if (jahiaGroup != null) {
- GroupNode subjectNode = (GroupNode)
ns.structure.retrieve (ns.rootToken,
+ JahiaGroupNode subjectNode = (JahiaGroupNode)
ns.structure.retrieve (ns.rootToken,
"/groups/" + jahiaGroup.getGroupname () +
"/members");
if (acl.getPermission (jahiaGroup,
JahiaBaseACL.READ_RIGHTS)) {
allUsers.add (subjectNode);
@@ -707,6 +708,8 @@
return res;
}
+ res.put("DAV:displayname",new
NodeProperty(PropertyName.DISPLAY_NAME, ""));
+
Enumeration en = revisionDescriptor.enumerateProperties ();
while (en.hasMoreElements ()) {
NodeProperty nodeProperty = (NodeProperty) en.nextElement ();
Index: defs.xml
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/WEB-INF/etc/slide/defs.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- defs.xml 9 Aug 2005 11:58:17 -0000 1.4
+++ defs.xml 24 Aug 2005 16:25:16 -0000 1.5
@@ -9,7 +9,7 @@
-->
<definition>
- <store name="jahia"
classname="org.jahia.services.webdav.stores.CachedStore" >
+ <store name="jahia" classname="org.apache.slide.store.BindingStore" >
<nodestore
classname="org.jahia.services.webdav.stores.JahiaDescriptorsStore">
<!-- Comment this line to store your slide file inside your
database -->
<parameter
name="contentStore">org.jahia.services.webdav.stores.FileContentStore</parameter>
Index: fileedit.jsp
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/jsp/jahia/engines/filemanager/fileedit.jsp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- fileedit.jsp 6 Aug 2004 19:39:38 -0000 1.2
+++ fileedit.jsp 24 Aug 2005 16:25:16 -0000 1.3
@@ -123,7 +123,7 @@
<% } else { %>
<%=fileNode.getName() %>
<% }
- } else if (nodeProperty.isProtected() || !canWrite) { %>
+ } else if (nodeProperty.isProtected() || !canWrite ||
nodeProperty.getNamespace().equals("DAV:")) { %>
<%= nodeProperty.getValue() %>
<% } else { %>
<input class="input" name="<%=
nodeProperty.getNamespace()+nodeProperty.getName() %>" value="<%=
nodeProperty.getValue() %>"/>
Index: embedded_flat_filemanager.jsp
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/jsp/jahia/engines/shared/embedded_flat_filemanager.jsp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- embedded_flat_filemanager.jsp 5 Jul 2005 15:46:47 -0000 1.9
+++ embedded_flat_filemanager.jsp 24 Aug 2005 16:25:16 -0000 1.10
@@ -835,7 +835,7 @@
<a name="<%=tableEntry.getEncodedName()%>"></a><%
String name;
name =
tableEntry.getName().substring(tableEntry.getName().lastIndexOf('/')+1);
- if (!tableEntry.getDisplayName().equals(name) ) {
+ if (tableEntry.getDisplayName() != null &&
!tableEntry.getDisplayName().equals("") &&
!tableEntry.getDisplayName().equals(name)) {
name += " (" +
JahiaString.adjustStringSize(tableEntry.getDisplayName(),15) + ")";
}