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());
+ }
}
}