pnever      2003/10/18 09:30:29

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        AclMethod.java
               src/conf/webapp Domain.xml
               src/share/org/apache/slide/lock LockImpl.java
               src/share/org/apache/slide/common Namespace.java
                        NamespaceConfig.java
               src/share/org/apache/slide/security SecurityImpl.java
                        SecurityImplAllGrant.java
  Log:
  Preparing for ACL draft-12:
  - using generic object NamespaceConfig.DEFAULT_ACTION
  - removed creation of /tempaction
  - added NamespaceConfig.getActionsPath()
  
  Revision  Changes    Path
  1.34      +4 -4      
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.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- AclMethod.java    16 Oct 2003 10:01:15 -0000      1.33
  +++ AclMethod.java    18 Oct 2003 16:30:29 -0000      1.34
  @@ -342,7 +342,7 @@
                               ListIterator  iter = privileges.listIterator();
                               Element userPriv = (Element) iter.next();
                               String value = userPriv.getName();
  -                            addPermission (principal, 
config.getDefaultAction().getUri() + "/" + value, negative, inheritable);
  +                            addPermission (principal, 
config.getActionsPath()+"/"+value, negative, inheritable);
                               break;
                           default:
                               int statusCode = WebdavStatus.SC_INTERNAL_SERVER_ERROR;
  
  
  
  1.42      +1 -1      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.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- Domain.xml        17 Oct 2003 16:47:26 -0000      1.41
  +++ Domain.xml        18 Oct 2003 16:30:29 -0000      1.42
  @@ -103,7 +103,6 @@
           -->
                <configuration>
                        <!-- Actions mapping -->
  -                     <default-action>/actions</default-action>
                        <read-object>/actions/read</read-object>
                        <create-object>/actions/write</create-object>
                        <remove-object>/actions/write</remove-object>
  @@ -127,6 +126,7 @@
                        <userspath>/users</userspath>
                        <guestpath>guest</guestpath>
                        <filespath>/files</filespath>
  +            <actionspath>/actions</actionspath>
                        <parameter name="dav">true</parameter>
                        <parameter name="standalone">true</parameter>
                        <!-- Roles definition -->
  
  
  
  1.34      +9 -5      jakarta-slide/src/share/org/apache/slide/lock/LockImpl.java
  
  Index: LockImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/lock/LockImpl.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- LockImpl.java     8 Sep 2003 15:46:40 -0000       1.33
  +++ LockImpl.java     18 Oct 2003 16:30:29 -0000      1.34
  @@ -451,12 +451,16 @@
           throws ServiceAccessException, ObjectNotFoundException,
           ObjectLockedException {
           
  +        // no check for default action (server intitialization)
  +        if (action == namespaceConfig.DEFAULT_ACTION) {
  +            return;
  +        }
  +        
           if (Configuration.useIntegratedLocking()) {
               if (isLocked(slideToken, subject, user, action, false)) {
                   throw new ObjectLockedException(subject.getUri());
               }
           }
  -        
       }
       
       
  
  
  
  1.51      +4 -12     jakarta-slide/src/share/org/apache/slide/common/Namespace.java
  
  Index: Namespace.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Namespace.java,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- Namespace.java    8 Oct 2002 13:12:35 -0000       1.50
  +++ Namespace.java    18 Oct 2003 16:30:29 -0000      1.51
  @@ -798,11 +798,6 @@
               }
               rootUri.getStore().grantPermission(rootUri, allAccess);
               
  -            // Create a dummy action
  -            Uri tempActionUri = getUri("/tempaction");
  -            ActionNode tempAction = new ActionNode("/tempaction");
  -            tempActionUri.getStore().createObject(tempActionUri, tempAction);
  -            
               // end transaction for temp object creation
               getTransactionManager().commit();
               
  @@ -829,9 +824,6 @@
               getTransactionManager().begin();
               
               getLogger().log("Finish init namespace " + getName() + " 
configuration",LOG_CHANNEL,Logger.INFO);
  -            
  -            // Then, destroy the temp action
  -            tempActionUri.getStore().removeObject(tempActionUri, tempAction);
               
               // And remove the all permission from the root node
               rootNode =
  
  
  
  1.29      +72 -68    
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.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- NamespaceConfig.java      17 Oct 2003 16:47:26 -0000      1.28
  +++ NamespaceConfig.java      18 Oct 2003 16:30:29 -0000      1.29
  @@ -99,6 +99,10 @@
       public static final String LINK_ROLE = LinkNode.class.getName();
   
   
  +    /** generic action nodes */
  +    public static final ActionNode DEFAULT_ACTION = new ActionNode();
  +
  +
       // ----------------------------------------------------- Instance Variables
   
   
  @@ -109,12 +113,6 @@
   
   
       /**
  -     * Default action.
  -     */
  -    protected ActionNode defaultAction;
  -
  -
  -    /**
        * Read object action.
        */
       protected ActionNode readObjectAction;
  @@ -242,6 +240,12 @@
   
   
       /**
  +     * File path.
  +     */
  +    protected String actionsPath = null;
  +
  +
  +    /**
        * Additional parameters.
        */
       protected Hashtable parameters;
  @@ -302,7 +306,7 @@
        * @return ActionNode Default action
        */
       public ActionNode getDefaultAction() {
  -        return defaultAction;
  +        return DEFAULT_ACTION;
       }
   
   
  @@ -521,6 +525,16 @@
   
   
       /**
  +     * Actions path accessor.
  +     *
  +     * @return String Action path
  +     */
  +    public String getActionsPath() {
  +        return actionsPath;
  +    }
  +
  +
  +    /**
        * Get default properties for a given role.
        *
        * @return Enumeration of properties
  @@ -613,11 +627,6 @@
   
           name = namespace.getName();
   
  -        defaultAction = null;
  -        defaultAction = getConfiguredNode(namespace, config, "default-action");
  -        if (defaultAction == null)
  -            throw new InvalidNamespaceConfigurationException(namespace, "Default 
action could not be set");
  -
           readObjectAction = getConfiguredNode(namespace, config, "read-object");
           createObjectAction = getConfiguredNode(namespace, config, "create-object");
           removeObjectAction = getConfiguredNode(namespace, config, "remove-object");
  @@ -749,7 +758,7 @@
           try {
               result = getActionNode(namespace, config.getConfiguration( 
nodeName).getValue());
           } catch (ConfigurationException e) {
  -            result = defaultAction;
  +            result = getDefaultAction();
           }
           return result;
       }
  @@ -774,6 +783,12 @@
           }
   
           try {
  +            actionsPath = config.getConfiguration("actionspath").getValue();
  +        } catch (ConfigurationException e) {
  +            actionsPath = "";
  +        }
  +
  +        try {
               autoCreateUsers = Boolean.valueOf
                   (config.getConfiguration("auto-create-users").getValue())
                   .booleanValue();
  @@ -849,29 +864,25 @@
           name = namespace.getName();
   
           try {
  -
  -            Uri tempActionUri = namespace.getUri("/tempaction");
  -            defaultAction = (ActionNode) tempActionUri.getStore()
  -                .retrieveObject(tempActionUri);
  -            readObjectAction = defaultAction;
  -            createObjectAction = defaultAction;
  -            removeObjectAction = defaultAction;
  -            grantPermissionAction = defaultAction;
  -            revokePermissionAction = defaultAction;
  -            readPermissionsAction = defaultAction;
  -            lockObjectAction = defaultAction;
  -            killLockAction = defaultAction;
  -            readLocksAction = defaultAction;
  -            readRevisionMetadataAction = defaultAction;
  -            createRevisionMetadataAction = defaultAction;
  -            modifyRevisionMetadataAction = defaultAction;
  -            removeRevisionMetadataAction = defaultAction;
  -            readRevisionContentAction = defaultAction;
  -            createRevisionContentAction = defaultAction;
  -            modifyRevisionContentAction = defaultAction;
  -            removeRevisionContentAction = defaultAction;
  -            bindMemberAction = defaultAction;
  -            unbindMemberAction = defaultAction;
  +            readObjectAction = getDefaultAction();
  +            createObjectAction = getDefaultAction();
  +            removeObjectAction = getDefaultAction();
  +            grantPermissionAction = getDefaultAction();
  +            revokePermissionAction = getDefaultAction();
  +            readPermissionsAction = getDefaultAction();
  +            lockObjectAction = getDefaultAction();
  +            killLockAction = getDefaultAction();
  +            readLocksAction = getDefaultAction();
  +            readRevisionMetadataAction = getDefaultAction();
  +            createRevisionMetadataAction = getDefaultAction();
  +            modifyRevisionMetadataAction = getDefaultAction();
  +            removeRevisionMetadataAction = getDefaultAction();
  +            readRevisionContentAction = getDefaultAction();
  +            createRevisionContentAction = getDefaultAction();
  +            modifyRevisionContentAction = getDefaultAction();
  +            removeRevisionContentAction = getDefaultAction();
  +            bindMemberAction = getDefaultAction();
  +            unbindMemberAction = getDefaultAction();
   
               usersPath = "";
               filesPath = "";
  @@ -899,28 +910,25 @@
           name = "slide";
   
           try {
  -//            Uri tempActionUri = namespace.getUri("/tempaction");
  -//            defaultAction = (ActionNode) tempActionUri.getStore()
  -//                .retrieveObject(tempActionUri);
  -            readObjectAction = defaultAction;
  -            createObjectAction = defaultAction;
  -            removeObjectAction = defaultAction;
  -            grantPermissionAction = defaultAction;
  -            revokePermissionAction = defaultAction;
  -            readPermissionsAction = defaultAction;
  -            lockObjectAction = defaultAction;
  -            killLockAction = defaultAction;
  -            readLocksAction = defaultAction;
  -            readRevisionMetadataAction = defaultAction;
  -            createRevisionMetadataAction = defaultAction;
  -            modifyRevisionMetadataAction = defaultAction;
  -            removeRevisionMetadataAction = defaultAction;
  -            readRevisionContentAction = defaultAction;
  -            createRevisionContentAction = defaultAction;
  -            modifyRevisionContentAction = defaultAction;
  -            removeRevisionContentAction = defaultAction;
  -            bindMemberAction = defaultAction;
  -            unbindMemberAction = defaultAction;
  +            readObjectAction = getDefaultAction();
  +            createObjectAction = getDefaultAction();
  +            removeObjectAction = getDefaultAction();
  +            grantPermissionAction = getDefaultAction();
  +            revokePermissionAction = getDefaultAction();
  +            readPermissionsAction = getDefaultAction();
  +            lockObjectAction = getDefaultAction();
  +            killLockAction = getDefaultAction();
  +            readLocksAction = getDefaultAction();
  +            readRevisionMetadataAction = getDefaultAction();
  +            createRevisionMetadataAction = getDefaultAction();
  +            modifyRevisionMetadataAction = getDefaultAction();
  +            removeRevisionMetadataAction = getDefaultAction();
  +            readRevisionContentAction = getDefaultAction();
  +            createRevisionContentAction = getDefaultAction();
  +            modifyRevisionContentAction = getDefaultAction();
  +            removeRevisionContentAction = getDefaultAction();
  +            bindMemberAction = getDefaultAction();
  +            unbindMemberAction = getDefaultAction();
   
               usersPath = "";
               filesPath = "";
  @@ -1001,13 +1009,9 @@
               Uri actionUri = namespace.getUri(actionPath);
               result = (ActionNode) actionUri.getStore()
                   .retrieveObject(actionUri);
  -        } else {
  -            if (defaultAction != null) {
  -                result = defaultAction;
  -            } else {
  -                throw new InvalidNamespaceConfigurationException
  -                    (namespace, "Needed default action is not defined");
               }
  +        else {
  +            result = getDefaultAction();
           }
   
           return result;
  
  
  
  1.38      +9 -4      
jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java
  
  Index: SecurityImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- SecurityImpl.java 13 Oct 2003 17:07:31 -0000      1.37
  +++ SecurityImpl.java 18 Oct 2003 16:30:29 -0000      1.38
  @@ -489,6 +489,11 @@
                                    ActionNode action)
           throws ServiceAccessException, ObjectNotFoundException {
           
  +        // no check for default action (server intitialization)
  +        if (action == namespaceConfig.DEFAULT_ACTION) {
  +            return true;
  +        }
  +        
           boolean granted = false;
           boolean denied = false;
           boolean rootObjectReached = false;
  
  
  
  1.3       +9 -4      
jakarta-slide/src/share/org/apache/slide/security/SecurityImplAllGrant.java
  
  Index: SecurityImplAllGrant.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/security/SecurityImplAllGrant.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SecurityImplAllGrant.java 5 Aug 2003 08:51:00 -0000       1.2
  +++ SecurityImplAllGrant.java 18 Oct 2003 16:30:29 -0000      1.3
  @@ -120,6 +120,11 @@
       public boolean hasPermission(ObjectNode object, SubjectNode subject,
                                    ActionNode action)
           throws ServiceAccessException, ObjectNotFoundException {
  +
  +        // no check for default action (server intitialization)
  +        if (action == namespaceConfig.DEFAULT_ACTION) {
  +            return true;
  +        }
           
           boolean granted = false;
           boolean denied = false;
  
  
  

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

Reply via email to