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 aožt 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 @@
       &nbsp;&nbsp;<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) + ")";
               }
   
  

Reply via email to