Mailing List svn-list@magnolia.info Message #6967
From: svn@magnolia.info
Subject: [16866] merging r16863 from magnolia-3.6-rc branch : MAGNOLIA-2269 : use CheckAndModifyPropertyValueTask instead of SetPropertyTask for safety
Date: Thu, 17 Jul 2008 15:09:59 +0200 (CEST)
To: svn-list@magnolia.info

[16866] merging r16863 from magnolia-3.6-rc branch : MAGNOLIA-2269 : use CheckAndModifyPropertyValueTask instead of SetPropertyTask for safety ul, #logmsg > ol { margin-left: 0; margin: 0 0 1em 0; } #logmsg pre { background: #eee; padding: 1em; } #logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;} #logmsg dl { margin: 0; } #logmsg dt { font-weight: bold; } #logmsg dd { margin: 0; padding: 0 0 0.5em 0; } #logmsg dd:before { content:'\00bb';} #logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; } #logmsg table th.Corner { text-align: left; } #logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; } #header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; } #patch { width: 100%; } #patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;} #patch .propset h4, #patch .binary h4 {margin:0;} #patch pre {padding:0;line-height:1.2em;margin:0;} #patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;} #patch .propset .diff, #patch .binary .diff {padding:10px 0;} #patch span {display:block;padding:0 10px;} #patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, .info {color:#888;background:#fff;} -->
Revision
16866
Author
gjoseph
Date
2008-07-17 15:09:59 +0200 (Thu, 17 Jul 2008)

Log Message

merging r16863 from magnolia-3.6-rc branch : MAGNOLIA-2269 : use CheckAndModifyPropertyValueTask instead of SetPropertyTask for safety

Modified Paths

Diff

Modified: magnolia/trunk/magnolia-core/src/main/java/info/magnolia/module/delta/SetPropertyTask.java (16865 => 16866)


--- magnolia/trunk/magnolia-core/src/main/java/info/magnolia/module/delta/SetPropertyTask.java	2008-07-17 13:05:28 UTC (rev 16865)
+++ magnolia/trunk/magnolia-core/src/main/java/info/magnolia/module/delta/SetPropertyTask.java	2008-07-17 13:09:59 UTC (rev 16866)
@@ -45,7 +45,10 @@
 
 
 /**
- * Sets a new value for a property.
+ * Sets a new value for a property. Consider using CheckAndModifyPropertyValueTask if you want your update tasks
+ * to only modify expected values.
+ * @see CheckAndModifyPropertyValueTask
+ *  
  * @author fgiust
  * @version $Revision: $ ($Author: $)
  */

Modified: magnolia/trunk/magnolia-module-workflow/src/main/java/info/magnolia/module/workflow/setup/WorkflowModuleVersionHandler.java (16865 => 16866)


--- magnolia/trunk/magnolia-module-workflow/src/main/java/info/magnolia/module/workflow/setup/WorkflowModuleVersionHandler.java	2008-07-17 13:05:28 UTC (rev 16865)
+++ magnolia/trunk/magnolia-module-workflow/src/main/java/info/magnolia/module/workflow/setup/WorkflowModuleVersionHandler.java	2008-07-17 13:09:59 UTC (rev 16866)
@@ -38,15 +38,16 @@
 import info.magnolia.module.InstallContext;
 import info.magnolia.module.admininterface.setup.AddMainMenuItemTask;
 import info.magnolia.module.admininterface.setup.AddSubMenuItemTask;
+import info.magnolia.module.admininterface.trees.WebsiteTreeConfiguration;
 import info.magnolia.module.delta.ArrayDelegateTask;
 import info.magnolia.module.delta.BackupTask;
 import info.magnolia.module.delta.BootstrapResourcesTask;
 import info.magnolia.module.delta.BootstrapSingleResource;
+import info.magnolia.module.delta.CheckAndModifyPropertyValueTask;
 import info.magnolia.module.delta.Delta;
 import info.magnolia.module.delta.DeltaBuilder;
 import info.magnolia.module.delta.IsModuleInstalledOrRegistered;
 import info.magnolia.module.delta.ModuleDependencyBootstrapTask;
-import info.magnolia.module.delta.SetPropertyTask;
 import info.magnolia.module.delta.Task;
 import info.magnolia.module.delta.WarnTask;
 import info.magnolia.module.workflow.setup.for3_5.AddNewDefaultConfig;
@@ -83,21 +84,22 @@
         }
     };
 
-    private Task changeWebsiteTreeConfigurationTask = new SetPropertyTask(
+    private Task changeWebsiteTreeConfigurationTask = new CheckAndModifyPropertyValueTask("Website tree configuration", "Modifies the website tree configuration so that a message window pops up for activation.",
         ContentRepository.CONFIG,
         "/modules/adminInterface/trees/website",
         "configurationClass",
+        WebsiteTreeConfiguration.class.getName(),
         WorkflowWebsiteTreeConfiguration.class.getName());
 
     private Task changeDMSTreeConfigurationTask = new IsModuleInstalledOrRegistered(
-        "DMS Tree Configuration",
-        "Enter comment dialog on activation",
+        "DMS tree configuration", "Modifies the dms tree configuration so that a comment window pops up for activation.",
         "dms",
-        new SetPropertyTask(
+        new CheckAndModifyPropertyValueTask("DMS tree configuration", "Modifies the dms tree configuration so that a comment window pops up for activation.",
             ContentRepository.CONFIG,
             "/modules/dms/trees/dms",
             "configurationClass",
-            // can't add a dependency to the dms so must use the class' name
+            // can't add a dependency to the dms so must use the class names
+            "info.magnolia.module.dms.DMSAdminTreeConfig",
             "info.magnolia.module.dms.WorkflowDMSAdminTreeConfig"
     ));
 
@@ -106,12 +108,12 @@
         final Delta delta35 = DeltaBuilder.update("3.5", "")
                 .addTask(inboxMenu)
                 .addTask(flowsPageMenu)
-                .addTask(new BootstrapSingleResource("Bootstrap", "Bootstraps the Workflow Utils page", "/mgnl-bootstrap/workflow/config.modules.workflow.pages.flows.xml"))
-                .addTask(new BootstrapSingleResource("Bootstrap", "Bootstraps the Inbox Subpages", "/mgnl-bootstrap/workflow/config.modules.workflow.pages.inboxSubPages.xml"))
+                .addTask(new BootstrapSingleResource("Bootstrap", "Bootstraps the Workflow Utils page.", "/mgnl-bootstrap/workflow/config.modules.workflow.pages.flows.xml"))
+                .addTask(new BootstrapSingleResource("Bootstrap", "Bootstraps the Inbox Subpages.", "/mgnl-bootstrap/workflow/config.modules.workflow.pages.inboxSubPages.xml"))
                 // TODO refactor the following ArrayDelegateTask into a single one: BackupAndBootstrap("resource.xml", "/backup/location", "Message", MessageType.WARNING), will be fixed with MAGNOLIA-1945
                 .addTask(new ArrayDelegateTask("Backup and Bootstrap", "Makes a backup of the current 'EditWorkItem' dialog and re-installs it.", new Task[] {
                         new BackupTask(ContentRepository.CONFIG, "/modules/workflow/dialogs/editWorkItem", true),
-                        new BootstrapSingleResource("Bootstrap", "Bootstraps the Inbox Subpages", "/mgnl-bootstrap/workflow/config.modules.workflow.dialogs.editWorkItem.xml", ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW),
+                        new BootstrapSingleResource("Bootstrap", "Bootstraps the Inbox Subpages.", "/mgnl-bootstrap/workflow/config.modules.workflow.dialogs.editWorkItem.xml", ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW),
                         new WarnTask("Note: ", "Note that the 'EditWorkItem' dialog was re-installed. Magnolia put a backup of original dialog into '" + BACKUP_PATH + "/editWorkItem'. Please review the changes manually.")
                     }))
                 .addTask(new BootstrapSingleResource("Bootstrap", "Bootstraps the 'EditActivationWorkItem' dialog", "/mgnl-bootstrap/workflow/config.modules.workflow.dialogs.editActivationWorkItem.xml"))
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster