From 2d5ba62ec69e7ffa4b98149a9f6fef539e38251f Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 16 Jun 2009 10:48:51 +0000
Subject: [PATCH] Fix for issue 3912 (Default automatic Backup should be offered by the control panel)

---
 opends/src/guitools/org/opends/guitools/controlpanel/ui/BackupPanel.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/BackupPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/BackupPanel.java
index d0be1e1..7523175 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/BackupPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/BackupPanel.java
@@ -60,9 +60,11 @@
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.BackupDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
+import org.opends.guitools.controlpanel.datamodel.ScheduleType;
 import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
 import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
 import org.opends.guitools.controlpanel.task.Task;
+import org.opends.guitools.controlpanel.ui.components.ScheduleSummaryPanel;
 import org.opends.guitools.controlpanel.util.BackgroundTask;
 import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.messages.Message;
@@ -100,6 +102,8 @@
 
   private boolean backupIDInitialized = false;
 
+  private ScheduleSummaryPanel schedulePanel;
+
   private static final Logger LOG =
     Logger.getLogger(BackupPanel.class.getName());
 
@@ -251,20 +255,27 @@
         INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL.get());
     add(lBackupOptions, gbc);
 
-    compressData = Utilities.createCheckBox(
-        INFO_CTRL_PANEL_COMPRESS_DATA_LABEL.get());
-    compressData.setSelected(false);
+    schedulePanel = new ScheduleSummaryPanel(
+        INFO_CTRL_PANEL_BACKUP_TASK_NAME.get().toString());
+    schedulePanel.setSchedule(ScheduleType.createLaunchNow());
 
     gbc.insets.left = 10;
     gbc.gridx = 1;
     gbc.gridwidth = 2;
+    add(schedulePanel, gbc);
+
+    compressData = Utilities.createCheckBox(
+        INFO_CTRL_PANEL_COMPRESS_DATA_LABEL.get());
+    compressData.setSelected(false);
+
+    gbc.gridy ++;
+    gbc.insets.top = 5;
     add(compressData, gbc);
 
     encryptData = Utilities.createCheckBox(
         INFO_CTRL_PANEL_ENCRYPT_DATA_LABEL.get());
 
     gbc.gridy ++;
-    gbc.insets.top = 5;
     add(encryptData, gbc);
     encryptData.setSelected(false);
     generateMessageDigest = Utilities.createCheckBox(
@@ -351,6 +362,7 @@
     setPrimaryValid(lPath);
     setPrimaryValid(lAvailableBackups);
     setPrimaryValid(lParentID);
+    setPrimaryValid(lBackupOptions);
     backupIDInitialized = false;
 
     final LinkedHashSet<Message> errors = new LinkedHashSet<Message>();
@@ -434,6 +446,8 @@
       }
     }
 
+    addScheduleErrors(getSchedule(), errors, lBackupOptions);
+
     // Check that there is not a backup with the provided ID
     final JComponent[] components =
     {
@@ -578,6 +592,11 @@
     }
   }
 
+  private ScheduleType getSchedule()
+  {
+    return schedulePanel.getSchedule();
+  }
+
   /**
    * {@inheritDoc}
    */
@@ -586,6 +605,7 @@
     setPrimaryValid(lBackend);
     setPrimaryValid(lPath);
     setPrimaryValid(lAvailableBackups);
+    setPrimaryValid(lBackupOptions);
 
     super.cancelClicked();
   }
@@ -824,6 +844,8 @@
 
       args.addAll(getConnectionCommandLineArguments());
 
+      args.addAll(getScheduleArgs(getSchedule()));
+
       if (isServerRunning())
       {
         args.addAll(getConfigCommandLineArguments());

--
Gitblit v1.10.0