remm        01/02/15 09:33:44

  Modified:    src/share/org/apache/slide/content ContentImpl.java
                        NodeRevisionDescriptor.java
  Log:
  - Add a way to specify default properties.
  
  Revision  Changes    Path
  1.20      +30 -4     
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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ContentImpl.java  2001/02/08 19:19:35     1.19
  +++ ContentImpl.java  2001/02/15 17:33:39     1.20
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.19 
2001/02/08 19:19:35 remm Exp $
  - * $Revision: 1.19 $
  - * $Date: 2001/02/08 19:19:35 $
  + * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v 1.20 
2001/02/15 17:33:39 remm Exp $
  + * $Revision: 1.20 $
  + * $Date: 2001/02/15 17:33:39 $
    *
    * ====================================================================
    *
  @@ -77,7 +77,7 @@
    * Implementation of the content interface.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
  - * @version $Revision: 1.19 $
  + * @version $Revision: 1.20 $
    */
   public final class ContentImpl implements Content {
       
  @@ -394,6 +394,8 @@
                    namespaceConfig.getCreateRevisionContentAction());
           }
           
  +        setDefaultProperties(associatedObject, revisionDescriptor);
  +        
           Uri objectUri = namespace.getUri(strUri);
           
           NodeRevisionDescriptors revisionDescriptors = null;
  @@ -731,6 +733,8 @@
           lockHelper.checkLock(token, associatedObject,
                                namespaceConfig.getCreateRevisionContentAction());
           
  +        setDefaultProperties(associatedObject, newRevisionDescriptor);
  +        
           Uri objectUri = namespace.getUri(strUri);
           
           // Retrieve the revision table
  @@ -812,6 +816,8 @@
           lockHelper.checkLock(token, associatedObject,
                                namespaceConfig.getModifyRevisionContentAction());
           
  +        setDefaultProperties(associatedObject, revisionDescriptor);
  +        
           Uri objectUri = namespace.getUri(strUri);
           
           // Retrieve the revision table
  @@ -974,6 +980,8 @@
           lockHelper.checkLock(token, associatedObject,
                                namespaceConfig.getCreateRevisionContentAction());
           
  +        setDefaultProperties(associatedObject, newRevisionDescriptor);
  +        
           Uri objectUri = namespace.getUri(strUri);
           
           // Retrieve the revision table
  @@ -1044,5 +1052,23 @@
           
       }
       
  +    
  +    /**
  +     * Set default properties for a revision descriptors.
  +     */
  +    protected void setDefaultProperties
  +        (ObjectNode associatedObject, 
  +         NodeRevisionDescriptor revisionDescriptor) {
  +        // Retrieving the roles of the associated object
  +        Enumeration roles = securityHelper.getRoles(associatedObject);
  +        while (roles.hasMoreElements()) {
  +            String role = (String) roles.nextElement();
  +            Enumeration defaultProperties = 
  +                namespaceConfig.getDefaultProperties(role);
  +            revisionDescriptor.setDefaultProperties(defaultProperties);
  +        }
  +    }
  +        
  +
       
   }
  
  
  
  1.14      +22 -4     
jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java
  
  Index: NodeRevisionDescriptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- NodeRevisionDescriptor.java       2001/01/17 17:51:01     1.13
  +++ NodeRevisionDescriptor.java       2001/02/15 17:33:41     1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java,v
 1.13 2001/01/17 17:51:01 juergen Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/01/17 17:51:01 $
  + * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java,v
 1.14 2001/02/15 17:33:41 remm Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/02/15 17:33:41 $
    *
    * ====================================================================
    *
  @@ -80,7 +80,7 @@
    * Node Revision Descriptor class.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */
   public final class NodeRevisionDescriptor implements Serializable, Cloneable {
       
  @@ -770,6 +770,24 @@
                       .longValue();
               }
               return -1L;
  +        }
  +    }
  +    
  +    
  +    /**
  +     * Set default properties.
  +     */
  +    void setDefaultProperties(Enumeration defaultProperties) {
  +        while (defaultProperties.hasMoreElements()) {
  +            NodeProperty currentProperty = 
  +                (NodeProperty) defaultProperties.nextElement();
  +            String name = currentProperty.getName();
  +            String namespace = currentProperty.getNamespace();
  +            NodeProperty lookup = getProperty(name, namespace);
  +            if (lookup == null) {
  +                // Adding property
  +                setProperty(name, namespace, currentProperty.getValue());
  +            }
           }
       }
       
  
  
  

Reply via email to