You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by ju...@apache.org on 2001/05/10 20:33:04 UTC

cvs commit: jakarta-slide/src/stores/slidestore/file FileDescriptorsStoreNoVersioning.java

juergen     01/05/10 11:33:04

  Modified:    src/share/org/apache/slide/store AbstractStore.java
               src/webdav/server/org/apache/slide/webdav/method
                        AclMethod.java
               src/share/org/apache/slide/content ContentImpl.java
               src/stores/slidestore/file
                        FileDescriptorsStoreNoVersioning.java
  Log:
  The lock and security store (child and parent) do now support a RevisionDescriptor in their interface. Mostly this is set (currently) to null. See seperate e-mail.
  
  Revision  Changes    Path
  1.14      +31 -22    jakarta-slide/src/share/org/apache/slide/store/AbstractStore.java
  
  Index: AbstractStore.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/AbstractStore.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- AbstractStore.java	2001/04/03 09:08:19	1.13
  +++ AbstractStore.java	2001/05/10 18:32:47	1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/AbstractStore.java,v 1.13 2001/04/03 09:08:19 juergen Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/04/03 09:08:19 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/AbstractStore.java,v 1.14 2001/05/10 18:32:47 juergen Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/05/10 18:32:47 $
    *
    * ====================================================================
    *
  @@ -88,7 +88,7 @@
    * Abstract implementation of a store. Handles all caching operations.
    *
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */
   public abstract class AbstractStore extends AbstractSimpleService
       implements Store {
  @@ -571,15 +571,16 @@
        * Store an object permissions in the Descriptors Store.
        *
        * @param permission Permission we want to create
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Error accessing the Descriptors Store
        */
  -    public void grantPermission(Uri uri, NodePermission permission)
  +    public void grantPermission(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodePermission permission)
           throws ServiceAccessException {
           NodePermission tempPermission = permission.cloneObject();
           tempPermission.validate(uri.toString());
           enlist(securityStore);
           try {
  -            securityStore.grantPermission(uri, tempPermission);
  +            securityStore.grantPermission(uri, revisionDescriptor, tempPermission);
           } catch (ServiceAccessException e) {
               delist(securityStore, false);
               throw e;
  @@ -592,14 +593,15 @@
        * Store an object permissions in the Descriptors Store.
        *
        * @param permission Permission we want to create
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Error accessing the Descriptors Store
        */
  -    public void revokePermission(Uri uri, NodePermission permission)
  +    public void revokePermission(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodePermission permission)
           throws ServiceAccessException {
           permission.validate(uri.toString());
           enlist(securityStore);
           try {
  -            securityStore.revokePermission(uri, permission);
  +            securityStore.revokePermission(uri, revisionDescriptor, permission);
           } catch (ServiceAccessException e) {
               delist(securityStore, false);
               throw e;
  @@ -612,13 +614,14 @@
        * Revoke all the permissions on the object.
        *
        * @param permission Permission we want to create
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Error accessing the Descriptors Store
        */
  -    public void revokePermissions(Uri uri)
  +    public void revokePermissions(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
           enlist(securityStore);
           try {
  -            securityStore.revokePermissions(uri);
  +            securityStore.revokePermissions(uri, revisionDescriptor);
           } catch (ServiceAccessException e) {
               delist(securityStore, false);
               throw e;
  @@ -631,12 +634,13 @@
        * Read an object permissions.
        *
        * @param permission Permission we want to create
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Error accessing the Descriptors Store
        */
  -    public Enumeration enumeratePermissions(Uri uri)
  +    public Enumeration enumeratePermissions(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
           // TODO : The vectors elements MUST be cloned
  -        return securityStore.enumeratePermissions(uri);
  +        return securityStore.enumeratePermissions(uri, revisionDescriptor);
       }
       
       
  @@ -644,14 +648,15 @@
        * Puts a lock on a subject.
        *
        * @param lock Lock token
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Service access error
        */
  -    public void putLock(Uri uri, NodeLock lock)
  +    public void putLock(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeLock lock)
           throws ServiceAccessException {
           lock.validate(uri.toString());
           enlist(lockStore);
           try {
  -            lockStore.putLock(uri, lock);
  +            lockStore.putLock(uri, revisionDescriptor, lock);
           } catch (ServiceAccessException e) {
               delist(lockStore, false);
               throw e;
  @@ -664,15 +669,16 @@
        * Renews a lock.
        *
        * @param lock Token to renew
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Service access error
        * @exception LockTokenNotFoundException Lock token was not found
        */
  -    public void renewLock(Uri uri, NodeLock lock)
  +    public void renewLock(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
           lock.validate(uri.toString());
           enlist(lockStore);
           try {
  -            lockStore.renewLock(uri, lock);
  +            lockStore.renewLock(uri, revisionDescriptor, lock);
           } catch (ServiceAccessException e) {
               delist(lockStore, false);
               throw e;
  @@ -688,15 +694,16 @@
        * Removes (cancels) a lock.
        *
        * @param lock Token to remove
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Service access error
        * @exception LockTokenNotFoundException Lock token was not found
        */
  -    public void removeLock(Uri uri, NodeLock lock)
  +    public void removeLock(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
           lock.validate(uri.toString());
           enlist(lockStore);
           try {
  -            lockStore.removeLock(uri, lock);
  +            lockStore.removeLock(uri, revisionDescriptor, lock);
           } catch (ServiceAccessException e) {
               delist(lockStore, false);
               throw e;
  @@ -712,15 +719,16 @@
        * Kills a lock.
        *
        * @param lock Token to remove
  +     * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Service access error
        * @exception LockTokenNotFoundException Lock token was not found
        */
  -    public void killLock(Uri uri, NodeLock lock)
  +    public void killLock(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
           lock.validate(uri.toString());
           enlist(lockStore);
           try {
  -            lockStore.killLock(uri, lock);
  +            lockStore.killLock(uri, revisionDescriptor, lock);
           } catch (ServiceAccessException e) {
               delist(lockStore, false);
               throw e;
  @@ -736,12 +744,13 @@
        * Returns the list of locks put on a subject.
        *
        * @param subject Subject
  +     * @param revisionDescriptor Node revision descriptor
        * @return Enumeration List of locks which have been put on the subject
        * @exception ServiceAccessException Service access error
        */
  -    public Enumeration enumerateLocks(Uri uri)
  +    public Enumeration enumerateLocks(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
  -        return lockStore.enumerateLocks(uri);
  +        return lockStore.enumerateLocks(uri, revisionDescriptor);
       }
       
       
  
  
  
  1.2       +72 -72    jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java
  
  Index: AclMethod.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AclMethod.java	2001/03/26 07:06:20	1.1
  +++ AclMethod.java	2001/05/10 18:32:53	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java,v 1.1 2001/03/26 07:06:20 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/03/26 07:06:20 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AclMethod.java,v 1.2 2001/05/10 18:32:53 juergen Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/10 18:32:53 $
    *
    * ====================================================================
    *
  @@ -181,7 +181,7 @@
                   Element rootElement = document.getDocumentElement();
                   //NodeList childList = rootElement.getChildNodes();
                   
  -                NodeList aclList = 
  +                NodeList aclList =
                       rootElement.getElementsByTagNameNS
                       (NodeProperty.DEFAULT_NAMESPACE, "acl");
                   
  @@ -236,12 +236,12 @@
                       NodeList denyList = ace.getElementsByTagNameNS
                           (NodeProperty.DEFAULT_NAMESPACE, "deny");
                       
  -                    if ((grantList.getLength() > 0) && 
  +                    if ((grantList.getLength() > 0) &&
                           (denyList.getLength() > 0)) {
                           resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
                           throw new WebdavException(WebdavStatus.SC_BAD_REQUEST);
                       }
  -                    if ((grantList.getLength() == 0) && 
  +                    if ((grantList.getLength() == 0) &&
                           (denyList.getLength() == 0)) {
                           resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
                           throw new WebdavException(WebdavStatus.SC_BAD_REQUEST);
  @@ -257,125 +257,125 @@
                           privilegeList = grantList;
                       }
                       
  -                    boolean inheritable = true; 
  +                    boolean inheritable = true;
                       // FIXME : Use the very unofficial Advanced ACL spec here.
                       
                       for (int j = 0; i < privilegeList.getLength(); j++) {
                           
  -                        Element privilegeElement = 
  +                        Element privilegeElement =
                               (Element) privilegeList.item(j);
                           int privilege = parsePrivilege(privilegeElement);
                           
                           switch (privilege) {
                           case PRIVILEGE_ALL:
  -                            addPermission(principal, "/", 
  +                            addPermission(principal, "/",
                                             negative, inheritable);
                               break;
                           case PRIVILEGE_READ:
                               addPermission
  -                                (principal, 
  -                                 config.getReadObjectAction().getUri(), 
  +                                (principal,
  +                                 config.getReadObjectAction().getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getReadRevisionMetadataAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getReadRevisionContentAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  -                                 config.getReadLocksAction().getUri(), 
  +                                (principal,
  +                                 config.getReadLocksAction().getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_READ_OBJECT:
                               addPermission
  -                                (principal, 
  -                                 config.getReadObjectAction().getUri(), 
  +                                (principal,
  +                                 config.getReadObjectAction().getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_READ_REVISION_METADATA:
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getReadRevisionMetadataAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_READ_REVISION_CONTENT:
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getReadRevisionContentAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_WRITE:
                               addPermission
  -                                (principal, 
  -                                 config.getCreateObjectAction().getUri(), 
  +                                (principal,
  +                                 config.getCreateObjectAction().getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  -                                 config.getRemoveObjectAction().getUri(), 
  +                                (principal,
  +                                 config.getRemoveObjectAction().getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  -                                 config.getLockObjectAction().getUri(), 
  +                                (principal,
  +                                 config.getLockObjectAction().getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getCreateRevisionMetadataAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getModifyRevisionMetadataAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getRemoveRevisionMetadataAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getCreateRevisionContentAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  +                                (principal,
                                    config.getModifyRevisionContentAction()
  -                                 .getUri(), 
  +                                 .getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_READ_ACL:
                               addPermission
  -                                (principal, 
  -                                 config.getReadPermissionsAction().getUri(), 
  +                                (principal,
  +                                 config.getReadPermissionsAction().getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_WRITE_ACL:
                               addPermission
  -                                (principal, 
  -                                 config.getGrantPermissionAction().getUri(), 
  +                                (principal,
  +                                 config.getGrantPermissionAction().getUri(),
                                    negative, inheritable);
                               addPermission
  -                                (principal, 
  -                                 config.getRevokePermissionAction().getUri(), 
  +                                (principal,
  +                                 config.getRevokePermissionAction().getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_GRANT_PERMISSION:
                               addPermission
  -                                (principal, 
  -                                 config.getGrantPermissionAction().getUri(), 
  +                                (principal,
  +                                 config.getGrantPermissionAction().getUri(),
                                    negative, inheritable);
                               break;
                           case PRIVILEGE_REVOKE_PERMISSION:
                               addPermission
  -                                (principal, 
  -                                 config.getRevokePermissionAction().getUri(), 
  +                                (principal,
  +                                 config.getRevokePermissionAction().getUri(),
                                    negative, inheritable);
                               break;
                           }
  @@ -415,7 +415,7 @@
           
           try {
               
  -            security.setPermissions(slideToken, resourcePath, 
  +            security.setPermissions(slideToken, resourcePath, dummyNodeRevisionDescriptor,
                                       permissions.elements());
               
           } catch (ObjectNotFoundException e) {
  @@ -451,22 +451,22 @@
       
       /**
        * Parse principal.
  -     * 
  +     *
        * @return the URI of the principal
        */
       protected String parsePrincipal(Element principal)
           throws WebdavException {
  -        NodeList hrefList = 
  -            principal.getElementsByTagNameNS(NodeProperty.DEFAULT_NAMESPACE, 
  +        NodeList hrefList =
  +            principal.getElementsByTagNameNS(NodeProperty.DEFAULT_NAMESPACE,
                                                "href");
           if (hrefList.getLength() == 1) {
               Element href = (Element) hrefList.item(0);
               if (href.getFirstChild().getNodeType() == Node.TEXT_NODE)
                   return href.getFirstChild().getNodeValue();
  -        } else if (hasChild(principal, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(principal, NodeProperty.DEFAULT_NAMESPACE,
                               "all")) {
               return "/";
  -        } else if (hasChild(principal, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(principal, NodeProperty.DEFAULT_NAMESPACE,
                               "unauthenticated")) {
               return token.getNamespaceConfig().getUsersPath() + "/"
                   + token.getNamespaceConfig().getGuestPath();
  @@ -477,7 +477,7 @@
       
       /**
        * Parse privilege.
  -     * 
  +     *
        * @return privilege
        */
       protected int parsePrivilege(Element privilege)
  @@ -485,24 +485,24 @@
           
           if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE, "all")) {
               return PRIVILEGE_ALL;
  -        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE,
                               "read")) {
               return PRIVILEGE_READ;
  -        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE,
                               "write")) {
               return PRIVILEGE_WRITE;
  -        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE,
                               "read-acl")) {
               return PRIVILEGE_READ_ACL;
  -        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE, 
  +        } else if (hasChild(privilege, NodeProperty.DEFAULT_NAMESPACE,
                               "write-acl")) {
               return PRIVILEGE_WRITE_ACL;
           } else if (hasChild(privilege, SLIDE_NAMESPACE, "read-object")) {
               return PRIVILEGE_READ_OBJECT;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "read-revision-metadata")) {
               return PRIVILEGE_READ_REVISION_METADATA;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "read-revision-content")) {
               return PRIVILEGE_READ_REVISION_CONTENT;
           } else if (hasChild(privilege, SLIDE_NAMESPACE, "create-object")) {
  @@ -513,25 +513,25 @@
               return PRIVILEGE_LOCK_OBJECT;
           } else if (hasChild(privilege, SLIDE_NAMESPACE, "read-locks")) {
               return PRIVILEGE_READ_LOCKS;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "create-revision-metadata")) {
               return PRIVILEGE_CREATE_REVISION_METADATA;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "modify-revision-metadata")) {
               return PRIVILEGE_MODIFY_REVISION_METADATA;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "remove-revision-metadata")) {
               return PRIVILEGE_REMOVE_REVISION_METADATA;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "create-revision-content")) {
               return PRIVILEGE_CREATE_REVISION_CONTENT;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "modify-revision-content")) {
               return PRIVILEGE_MODIFY_REVISION_CONTENT;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "grant-permission")) {
               return PRIVILEGE_GRANT_PERMISSION;
  -        } else if (hasChild(privilege, SLIDE_NAMESPACE, 
  +        } else if (hasChild(privilege, SLIDE_NAMESPACE,
                               "revoke-permission")) {
               return PRIVILEGE_REVOKE_PERMISSION;
           } else {
  @@ -544,9 +544,9 @@
       /**
        * Has specified child element ?
        */
  -    protected boolean hasChild(Element element, String namespace, 
  +    protected boolean hasChild(Element element, String namespace,
                                  String name) {
  -        return 
  +        return
               (element.getElementsByTagNameNS(namespace, name).getLength() == 1);
       }
       
  @@ -555,7 +555,7 @@
       /**
        * Add permission to the list of permissions to set.
        */
  -    protected void addPermission(String principal, String action, 
  +    protected void addPermission(String principal, String action,
                                    boolean negative, boolean inheritable) {
           NodePermission permission = new NodePermission
               (resourcePath, principal, action, inheritable, negative);
  
  
  
  1.26      +51 -46    jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java
  
  Index: ContentImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ContentImpl.java	2001/04/28 03:52:30	1.25
  +++ ContentImpl.java	2001/05/10 18:32:57	1.26
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.25 2001/04/28 03:52:30 remm Exp $
  - * $Revision: 1.25 $
  - * $Date: 2001/04/28 03:52:30 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.26 2001/05/10 18:32:57 juergen Exp $
  + * $Revision: 1.26 $
  + * $Date: 2001/05/10 18:32:57 $
    *
    * ====================================================================
    *
  @@ -77,11 +77,17 @@
    * Implementation of the content interface.
    *
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.25 $
  + * @version $Revision: 1.26 $
    */
   public final class ContentImpl implements Content {
       
       
  +    /** private field to indicate, that the versionNumber is not correctly supported yet
  +     **/
  +    private static final NodeRevisionDescriptor dummyNodeRevisionDescriptor = null;
  +    
  +    
  +    
       // -------------------------------------------------------------- Constants
       
       
  @@ -164,9 +170,9 @@
           
           // Checking security and locking
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getReadRevisionMetadataAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getReadRevisionMetadataAction());
           
           Uri objectUri = namespace.getUri(token, strUri);
  @@ -239,14 +245,13 @@
           LinkedObjectNotFoundException, ServiceAccessException,
           RevisionDescriptorNotFoundException, ObjectLockedException {
           
  -        ObjectNode associatedObject = structureHelper
  -            .retrieve(token, revisionDescriptors.getUri());
  +        ObjectNode associatedObject = structureHelper.retrieve(token, revisionDescriptors.getUri());
           
           // Checking security and locking
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getReadRevisionMetadataAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getReadRevisionMetadataAction());
           
           Uri objectUri = namespace.getUri(token, revisionDescriptors.getUri());
  @@ -323,9 +328,9 @@
           
           // Checking security and locking
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getReadRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getReadRevisionContentAction());
           
           Uri objectUri = namespace.getUri(token, strUri);
  @@ -358,18 +363,18 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           if (namespaceConfig.getCreateRevisionMetadataAction() !=
               namespaceConfig.getCreateRevisionContentAction()) {
               securityHelper.checkCredentials
  -                (token, associatedObject,
  +                (token, associatedObject, dummyNodeRevisionDescriptor,
                    namespaceConfig.getCreateRevisionContentAction());
               lockHelper.checkLock
  -                (token, associatedObject,
  +                (token, associatedObject, dummyNodeRevisionDescriptor,
                    namespaceConfig.getCreateRevisionContentAction());
           }
           
  @@ -403,18 +408,18 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           if (namespaceConfig.getCreateRevisionMetadataAction() !=
               namespaceConfig.getCreateRevisionContentAction()) {
               securityHelper.checkCredentials
  -                (token, associatedObject,
  +                (token, associatedObject, dummyNodeRevisionDescriptor,
                    namespaceConfig.getCreateRevisionContentAction());
               lockHelper.checkLock
  -                (token, associatedObject,
  +                (token, associatedObject, dummyNodeRevisionDescriptor,
                    namespaceConfig.getCreateRevisionContentAction());
           }
           
  @@ -513,8 +518,8 @@
               } else {
                   
                   try {
  -                    { 
  -                        // merge the new received properties into the 
  +                    {
  +                        // merge the new received properties into the
                           // revisionDescriptor
   
                           // We update the descriptor's properties
  @@ -676,15 +681,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getCreateRevisionContentAction());
           
           Uri objectUri = namespace.getUri(token, strUri);
  @@ -799,15 +804,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getCreateRevisionContentAction());
           
           setDefaultProperties(associatedObject, newRevisionDescriptor);
  @@ -890,15 +895,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getModifyRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getModifyRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getModifyRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getModifyRevisionContentAction());
           
           setDefaultProperties(associatedObject, revisionDescriptor);
  @@ -959,15 +964,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getRemoveRevisionContentAction());
           
           Uri objectUri = namespace.getUri(token, revisionDescriptors.getUri());
  @@ -1011,15 +1016,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getRemoveRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getRemoveRevisionContentAction());
           
           Uri objectUri = namespace.getUri(token, strUri);
  @@ -1062,15 +1067,15 @@
           
           // Next we do a security check and a locking check for modifyRevisions
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           lockHelper.checkLock
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionMetadataAction());
           securityHelper.checkCredentials
  -            (token, associatedObject,
  +            (token, associatedObject, dummyNodeRevisionDescriptor,
                namespaceConfig.getCreateRevisionContentAction());
  -        lockHelper.checkLock(token, associatedObject,
  +        lockHelper.checkLock(token, associatedObject, dummyNodeRevisionDescriptor,
                                namespaceConfig.getCreateRevisionContentAction());
           
           setDefaultProperties(associatedObject, newRevisionDescriptor);
  
  
  
  1.5       +58 -58    jakarta-slide/src/stores/slidestore/file/FileDescriptorsStoreNoVersioning.java
  
  Index: FileDescriptorsStoreNoVersioning.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/slidestore/file/FileDescriptorsStoreNoVersioning.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FileDescriptorsStoreNoVersioning.java	2001/05/08 22:28:46	1.4
  +++ FileDescriptorsStoreNoVersioning.java	2001/05/10 18:33:01	1.5
  @@ -1,13 +1,13 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/FileDescriptorsStoreNoVersioning.java,v 1.4 2001/05/08 22:28:46 remm Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/05/08 22:28:46 $
  + * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/FileDescriptorsStoreNoVersioning.java,v 1.5 2001/05/10 18:33:01 juergen Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/05/10 18:33:01 $
    *
    * ====================================================================
    *
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -15,7 +15,7 @@
    * are met:
    *
    * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer. 
  + *    notice, this list of conditions and the following disclaimer.
    *
    * 2. Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in
  @@ -23,15 +23,15 @@
    *    distribution.
    *
    * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:  
  - *       "This product includes software developed by the 
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowlegement may appear in the software itself,
    *    if and wherever such third-party acknowlegements normally appear.
    *
    * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
    *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written 
  + *    from this software without prior written permission. For written
    *    permission, please contact apache@apache.org.
    *
    * 5. Products derived from this software may not be called "Apache"
  @@ -59,7 +59,7 @@
    *
    * [Additional notices, if required by prior licensing conditions]
    *
  - */ 
  + */
   
   package slidestore.file;
   
  @@ -76,12 +76,12 @@
   
   /**
    * Filesystem implementation of Store.
  - * 
  + *
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
   public class FileDescriptorsStoreNoVersioning extends AbstractSimpleService
  -    implements RevisionDescriptorsStore, RevisionDescriptorStore, 
  +    implements RevisionDescriptorsStore, RevisionDescriptorStore,
       SecurityStore, NodeStore {
       
       
  @@ -109,17 +109,17 @@
       
       /**
        * Read parameters.
  -     * 
  -     * @param parameters Hashtable containing the parameters' name 
  +     *
  +     * @param parameters Hashtable containing the parameters' name
        * and associated value
        */
       public synchronized void setParameters(Hashtable parameters)
  -        throws ServiceParameterErrorException, 
  +        throws ServiceParameterErrorException,
           ServiceParameterMissingException {
           // A parameter will tell were serialization files are.
           rootpath = (String) parameters.get("rootpath");
           if (rootpath == null) {
  -            // Default is that files are stored starting in the 
  +            // Default is that files are stored starting in the
               // current directory
               rootpath = "";
           }
  @@ -128,7 +128,7 @@
       
       /**
        * Connects to store.
  -     * 
  +     *
        * @exception VersionException
        */
       public synchronized void connect()
  @@ -138,7 +138,7 @@
       
       /**
        * Disconnects from content store.
  -     * 
  +     *
        * @exception ServiceDisconnectionFailedException
        */
       public synchronized void disconnect()
  @@ -148,8 +148,8 @@
       
       /**
        * Initializes content store.
  -     * 
  -     * @exception ServiceInitializationFailedException Throws an exception 
  +     *
  +     * @exception ServiceInitializationFailedException Throws an exception
        * if the store has already been initialized before
        */
       public synchronized void initialize(NamespaceAccessToken token)
  @@ -166,7 +166,7 @@
       
       /**
        * Deletes content store.
  -     * 
  +     *
        * @exception ServiceResetFailedException
        */
       public void reset()
  @@ -176,11 +176,11 @@
       
       /**
        * This function tells whether or not the service is connected.
  -     * 
  +     *
        * @return boolean true if we are connected
        * @exception ServiceAccessException Service access error
        */
  -    public boolean isConnected() 
  +    public boolean isConnected()
           throws ServiceAccessException {
           return true;
       }
  @@ -188,7 +188,7 @@
       
       /**
        * Does nothing here.
  -     * 
  +     *
        * @exception ServiceAccessException Unspecified service access error
        */
       public synchronized void commit()
  @@ -201,7 +201,7 @@
       
       /**
        * Retrive an object.
  -     * 
  +     *
        * @param uri Uri of the object we want to retrieve
        * @exception ServiceAccessException Error accessing the Data Source
        * @exception ObjectNotFoundException The object to retrieve was not found
  @@ -268,7 +268,7 @@
                       int pos = current.indexOf(uri.toString());
                       
                       // DEBUG
  -                    System.out.println("Adding child :" 
  +                    System.out.println("Adding child :"
                                          + current.substring(pos + uri.toString().length()));
                       // END DEBUG
                       childrenVector.addElement
  @@ -284,15 +284,15 @@
           
           switch (objectType) {
           case SUBJECT :
  -            result = new SubjectNode(uri.toString(), childrenVector, 
  +            result = new SubjectNode(uri.toString(), childrenVector,
                                        linksVector);
               break;
           case ACTION :
  -            result = new ActionNode(uri.toString(), childrenVector, 
  +            result = new ActionNode(uri.toString(), childrenVector,
                                       linksVector);
               break;
           case LINK :
  -            result = new LinkNode(uri.toString(), childrenVector, 
  +            result = new LinkNode(uri.toString(), childrenVector,
                                     linksVector, linkTo);
               break;
           }
  @@ -303,7 +303,7 @@
       
       /**
        * Update an object.
  -     * 
  +     *
        * @param object Object to update
        * @exception ServiceAccessException Error accessing the Data Source
        * @exception ObjectNotFoundException The object to update was not found
  @@ -315,11 +315,11 @@
       
       /**
        * Create a new object.
  -     * 
  +     *
        * @param object ObjectNode
        * @param uri Uri of the object we want to create
        * @exception ServiceAccessException Error accessing the Data Source
  -     * @exception ObjectAlreadyExistsException An object already exists 
  +     * @exception ObjectAlreadyExistsException An object already exists
        * at this Uri
        */
       public void createObject(Uri uri, ObjectNode object)
  @@ -329,7 +329,7 @@
       
       /**
        * Remove an object.
  -     * 
  +     *
        * @param object Object to remove
        * @exception ServiceAccessException Error accessing the Data Source
        * @exception ObjectNotFoundException The object to remove was not found
  @@ -344,10 +344,10 @@
       
       /**
        * Retrieve the revisions informations of an object.
  -     * 
  +     *
        * @param uri Uri
        * @exception ServiceAccessException Service access error
  -     * @exception RevisionDescriptorNotFoundException Revision descriptor 
  +     * @exception RevisionDescriptorNotFoundException Revision descriptor
        * was not found
        */
       public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
  @@ -360,7 +360,7 @@
           boolean isVersioned = false;
           
           return new NodeRevisionDescriptors(uri.toString(), initialRevision,
  -                                           workingRevisions, 
  +                                           workingRevisions,
                                              latestRevisionNumbers,
                                              branches, isVersioned);
       }
  @@ -368,7 +368,7 @@
       
       /**
        * Create a new revision information object.
  -     * 
  +     *
        * @param uri Uri
        * @param revisionDescriptors Node revision descriptors
        * @exception ServiceAccessException Service access error
  @@ -381,11 +381,11 @@
       
       /**
        * Update revision information.
  -     * 
  +     *
        * @param uri Uri
        * @param revisionDescriptors Node revision descriptors
        * @exception ServiceAccessException Service access error
  -     * @exception RevisionDescriptorNotFoundException Revision descriptor 
  +     * @exception RevisionDescriptorNotFoundException Revision descriptor
        * was not found
        */
       public void storeRevisionDescriptors
  @@ -396,7 +396,7 @@
       
       /**
        * Remove revision information.
  -     * 
  +     *
        * @param uri Uri
        * @exception ServiceAccessException Service access error
        */
  @@ -410,7 +410,7 @@
       
       /**
        * Retrieve an individual object's revision descriptor.
  -     * 
  +     *
        * @param Uri uri
        * @param revisionNumber Node revision number
        */
  @@ -423,7 +423,7 @@
       
       /**
        * Create a new revision descriptor.
  -     * 
  +     *
        * @param uri Uri
        * @param revisionDescriptor Node revision descriptor
        * @exception ServiceAccessException Service access error
  @@ -436,11 +436,11 @@
       
       /**
        * Update a revision descriptor.
  -     * 
  +     *
        * @param uri Uri
        * @param revisionDescriptors Node revision descriptor
        * @exception ServiceAccessException Service access error
  -     * @exception RevisionDescriptorNotFoundException Revision descriptor 
  +     * @exception RevisionDescriptorNotFoundException Revision descriptor
        * was not found
        */
       public void storeRevisionDescriptor
  @@ -451,7 +451,7 @@
       
       /**
        * Remove a revision descriptor.
  -     * 
  +     *
        * @param uri Uri
        * @param revisionNumber Revision number
        * @exception ServiceAccessException Service access error
  @@ -466,11 +466,11 @@
       
       /**
        * Grant a new permission.
  -     * 
  +     *
        * @param permission Permission we want to create
        * @exception ServiceAccessException Error accessing the Data Source
        */
  -    public void grantPermission(Uri uri, NodePermission permission)
  +    public void grantPermission(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodePermission permission)
           throws ServiceAccessException {
           
           try {
  @@ -484,10 +484,10 @@
               FileWriter writer = new FileWriter(file);
               PrintWriter printer = new PrintWriter(writer);
               
  -            Enumeration oldPermissions = enumeratePermissions(uri);
  +            Enumeration oldPermissions = enumeratePermissions(uri, revisionDescriptor);
               
               while (oldPermissions.hasMoreElements()) {
  -                NodePermission currentPermission = 
  +                NodePermission currentPermission =
                       (NodePermission) oldPermissions.nextElement();
                   printer.println(currentPermission.getSubjectUri());
                   printer.println(currentPermission.getActionUri());
  @@ -515,11 +515,11 @@
       
       /**
        * Revoke a permission.
  -     * 
  +     *
        * @param permission Permission we want to create
        * @exception ServiceAccessException Error accessing the Data Source
        */
  -    public void revokePermission(Uri uri, NodePermission permission)
  +    public void revokePermission(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodePermission permission)
           throws ServiceAccessException {
           
           try {
  @@ -533,10 +533,10 @@
               FileWriter writer = new FileWriter(file);
               PrintWriter printer = new PrintWriter(writer);
               
  -            Enumeration oldPermissions = enumeratePermissions(uri);
  +            Enumeration oldPermissions = enumeratePermissions(uri, revisionDescriptor);
               
               while (oldPermissions.hasMoreElements()) {
  -                NodePermission currentPermission = 
  +                NodePermission currentPermission =
                       (NodePermission) oldPermissions.nextElement();
                   if (!currentPermission.equals(permission)) {
                       printer.println(currentPermission.getSubjectUri());
  @@ -561,11 +561,11 @@
       
       /**
        * Revoke all the permissions on an object.
  -     * 
  +     *
        * @param permission Permission we want to create
        * @exception ServiceAccessException Error accessing the Data Source
        */
  -    public void revokePermissions(Uri uri)
  +    public void revokePermissions(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
           
           try {
  @@ -596,11 +596,11 @@
       
       /**
        * Enumerate permissions on an object.
  -     * 
  +     *
        * @param permission Permission we want to create
        * @exception ServiceAccessException Error accessing the Data Source
        */
  -    public Enumeration enumeratePermissions(Uri uri)
  +    public Enumeration enumeratePermissions(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
           
           Vector result = new Vector();
  @@ -638,7 +638,7 @@
                   if ((negative == null) || (negative.equals("")))
                       break;
                   
  -                permission = 
  +                permission =
                       new NodePermission(uri.toString(), subject, action,
                                           Boolean.getBoolean(inheritable),
                                           Boolean.getBoolean(negative));