pnever      2003/10/17 09:47:26

  Modified:    src/share/org/apache/slide/structure StructureImpl.java
               src/share/org/apache/slide/common NamespaceConfig.java
               src/conf/webapp Domain.xml
  Log:
  Added bind and unbind actions (preparing for supporting ACL draft-12)
  
  Revision  Changes    Path
  1.33      +12 -7     
jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java
  
  Index: StructureImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- StructureImpl.java        10 Oct 2003 11:31:09 -0000      1.32
  +++ StructureImpl.java        17 Oct 2003 16:47:26 -0000      1.33
  @@ -356,7 +356,7 @@
                   if (parentObject != null) {
                       securityHelper
                           .checkCredentials(token, courObject, namespaceConfig
  -                                              .getCreateObjectAction());
  +                                              .getBindMemberAction());
                       
                       // The role who creates the new object should have
                       // read/write access permissions
  @@ -600,13 +600,18 @@
               Uri curUri = namespace.getUri(token, nodeToDelete.getUri());
               Uri parentUri = curUri.getParentUri();
               ObjectNode parentNode = parentUri.getStore().retrieveObject(parentUri);
  -            parentNode.removeChild(nodeToDelete);
  +            
               securityHelper.checkCredentials
                   (token, nodeToDelete, namespaceConfig.getRemoveObjectAction());
  +            securityHelper.checkCredentials
  +                (token, parentNode, namespaceConfig.getUnbindMemberAction());
               lockHelper.checkLock
                   (token, nodeToDelete, namespaceConfig.getRemoveObjectAction());
               lockHelper.checkLock
  -                (token, parentNode, namespaceConfig.getRemoveObjectAction());
  +                (token, parentNode, namespaceConfig.getUnbindMemberAction());
  +
  +            parentNode.removeChild(nodeToDelete);
  +            
               if (Configuration.useBinding(curUri.getStore()) && 
nodeToDelete.numberOfParentBindings() > 0) {
                   store(token, nodeToDelete);
               }
  
  
  
  1.28      +32 -4     
jakarta-slide/src/share/org/apache/slide/common/NamespaceConfig.java
  
  Index: NamespaceConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/NamespaceConfig.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- NamespaceConfig.java      5 Aug 2003 10:24:21 -0000       1.27
  +++ NamespaceConfig.java      17 Oct 2003 16:47:26 -0000      1.28
  @@ -217,6 +217,13 @@
   
   
       /**
  +     * Bind/unbind actions
  +     */
  +    protected ActionNode bindMemberAction;
  +    protected ActionNode unbindMemberAction;
  +
  +    
  +    /**
        * Users path.
        */
       protected String usersPath = null;
  @@ -470,6 +477,20 @@
   
   
       /**
  +     * Method getBindAction
  +     *
  +     * @return   an ActionNode
  +     */
  +    public ActionNode getBindMemberAction() {
  +        return bindMemberAction;
  +    }
  +
  +    
  +    public ActionNode getUnbindMemberAction() {
  +        return unbindMemberAction;
  +    }
  +
  +    /**
        * Users path accessor.
        *
        * @return String Users path
  @@ -615,6 +636,9 @@
           modifyRevisionContentAction = getConfiguredNode(namespace, config, 
"modify-revision-content");
           removeRevisionContentAction = getConfiguredNode(namespace, config, 
"remove-revision-content");
   
  +        bindMemberAction = getConfiguredNode(namespace, config, "bind-member");
  +        unbindMemberAction = getConfiguredNode(namespace, config, "unbind-member");
  +
   
           setPathsAndConfigValues(config);
   
  @@ -846,6 +870,8 @@
               createRevisionContentAction = defaultAction;
               modifyRevisionContentAction = defaultAction;
               removeRevisionContentAction = defaultAction;
  +            bindMemberAction = defaultAction;
  +            unbindMemberAction = defaultAction;
   
               usersPath = "";
               filesPath = "";
  @@ -893,6 +919,8 @@
               createRevisionContentAction = defaultAction;
               modifyRevisionContentAction = defaultAction;
               removeRevisionContentAction = defaultAction;
  +            bindMemberAction = defaultAction;
  +            unbindMemberAction = defaultAction;
   
               usersPath = "";
               filesPath = "";
  
  
  
  1.41      +2 -0      jakarta-slide/src/conf/webapp/Domain.xml
  
  Index: Domain.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/conf/webapp/Domain.xml,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- Domain.xml        14 Oct 2002 16:03:42 -0000      1.40
  +++ Domain.xml        17 Oct 2003 16:47:26 -0000      1.41
  @@ -121,6 +121,8 @@
                        
<create-revision-content>/actions/write</create-revision-content>
                        
<modify-revision-content>/actions/write</modify-revision-content>
                        
<remove-revision-content>/actions/write</remove-revision-content>
  +                     <bind-member>/actions/write</bind-member>
  +                     <unbind-member>/actions/write</unbind-member>
                        <!-- Paths configuration -->
                        <userspath>/users</userspath>
                        <guestpath>guest</guestpath>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to