From 6ecec6acc02cd62dfb14490407035bd18314ee1d Mon Sep 17 00:00:00 2001
From: Ian Packer <ian.packer@forgerock.com>
Date: Fri, 07 Aug 2015 11:12:02 +0000
Subject: [PATCH] OPENDJ-1359 CR-7818 Control panel requires incremental backups specify the parent

---
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_de.properties          |    5 +-
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_ja.properties          |    5 +-
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties             |    4 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java |   50 ++++++++++++++++++------
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_es.properties          |    5 +-
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_zh_CN.properties       |    5 +-
 opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_fr.properties          |    5 +-
 7 files changed, 54 insertions(+), 25 deletions(-)

diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
index 0e80b40..33d5533 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
@@ -85,6 +85,7 @@
   private JTextField backupID;
   private JTextField parentBackupID;
   private JRadioButton fullBackup;
+  private JCheckBox incrementalParent;
   private JRadioButton incrementalBackup;
   private JCheckBox compressData;
   private JCheckBox encryptData;
@@ -194,6 +195,12 @@
         INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL.get());
     add(incrementalBackup, gbc);
 
+    gbc.gridy ++;
+    gbc.insets.left = 25;
+    incrementalParent = Utilities.createCheckBox(
+        INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL.get());
+    add(incrementalParent, gbc);
+
     ButtonGroup group = new ButtonGroup();
     group.add(fullBackup);
     group.add(incrementalBackup);
@@ -291,7 +298,8 @@
       {
         backends.setEnabled(!allBackends.isSelected());
         signMessageDigest.setEnabled(generateMessageDigest.isSelected());
-        boolean enable = incrementalBackup.isSelected();
+        incrementalParent.setEnabled(incrementalBackup.isSelected());
+        boolean enable = isIncrementalWithParent();
         refreshList.setEnabled(enable);
         tableScroll.setEnabled(enable);
         backupList.setEnabled(enable);
@@ -303,6 +311,7 @@
       }
     };
     incrementalBackup.addChangeListener(changeListener);
+    incrementalParent.addChangeListener(changeListener);
     generateMessageDigest.addChangeListener(changeListener);
     allBackends.addChangeListener(changeListener);
     changeListener.stateChanged(null);
@@ -310,6 +319,18 @@
     addBottomGlue(gbc);
   }
 
+  /**
+   * Check status of incremental backup radio/checkbox
+   *
+   * @return boolean true if both incremental and parent base ID
+   *                  are selected
+   */
+  private boolean isIncrementalWithParent()
+  {
+    return incrementalParent.isSelected() &&
+            incrementalBackup.isSelected();
+  }
+
   /** {@inheritDoc} */
   public void configurationChanged(ConfigurationChangeEvent ev)
   {
@@ -408,7 +429,7 @@
       }
     }
 
-    if (incrementalBackup.isSelected())
+    if (isIncrementalWithParent())
     {
       if (isLocal())
       {
@@ -437,7 +458,7 @@
     {
         backends, allBackends, fullBackup, incrementalBackup, parentDirectory,
         browse, backupList, refreshList, compressData, encryptData,
-        generateMessageDigest, signMessageDigest
+        generateMessageDigest, signMessageDigest, incrementalParent
     };
     setEnabledOK(false);
     setEnabledCancel(false);
@@ -645,7 +666,7 @@
           }
         }
       }
-      if (incrementalBackup.isSelected())
+      if (isIncrementalWithParent())
       {
         if (isLocal())
         {
@@ -769,16 +790,19 @@
       if (incrementalBackup.isSelected())
       {
         args.add("--incremental");
-        if (isLocal())
+        if(incrementalParent.isSelected())
         {
-          BackupDescriptor backup = getSelectedBackup();
-          args.add("--incrementalBaseID");
-          args.add(backup.getID());
-        }
-        else
-        {
-          args.add("--incrementalBaseID");
-          args.add(parentBackupID.getText());
+          if (isLocal())
+          {
+            BackupDescriptor backup = getSelectedBackup();
+            args.add("--incrementalBaseID");
+            args.add(backup.getID());
+          }
+          else
+          {
+            args.add("--incrementalBaseID");
+            args.add(parentBackupID.getText());
+          }
         }
       }
 
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
index c9aff83..e1c629b 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
@@ -1362,8 +1362,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=All Backends
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=Backup Type:
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=Full Backup
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Incremental Backup (Specify Parent \
- Backup Below)
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=Specify Parent Backup Below
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Incremental Backup
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=Backup ID:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=Available Parent Backups:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=Backup Options:
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_de.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_de.properties
index c572a4c..ddfed8e 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_de.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_de.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2011-2014 ForgeRock AS
+#      Portions Copyright 2011-2015 ForgeRock AS
 
 
 
@@ -780,7 +780,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=Alle Backends
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=Sicherungstyp
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=Vollst\u00e4ndige Sicherung
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Inkrementelle Sicherung (\u00fcbergeordnete Sicherung unten angeben)
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Inkrementelle Sicherung
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=\u00fcbergeordnete Sicherung unten angeben
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=Sicherungs-ID:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=Verf\u00fcgbare \u00fcbergeordnete Sicherungen:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=Sicherungsoptionen:
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_es.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_es.properties
index 51fa572..3425bf5 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_es.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_es.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2011-2014 ForgeRock AS
+#      Portions Copyright 2011-2015 ForgeRock AS
 
 
 
@@ -780,7 +780,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=Todos los backend
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=Tipo de copia de seguridad:
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=Copia de seguridad completa
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Copia de seguridad incremental (especifique la copia de seguridad principal a continuaci\u00f3n)
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Copia de seguridad incremental
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=Especifique la copia de seguridad principal a continuaci\u00f3n
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=Id. de copia de seguridad:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=Copias de seguridad principales disponibles:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=Opciones de copia de seguridad:
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_fr.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_fr.properties
index 9e06a29..b4a4dbb 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_fr.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_fr.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2011-2014 ForgeRock AS
+#      Portions Copyright 2011-2015 ForgeRock AS
 
 
 
@@ -780,7 +780,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=Toutes les backends
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=Type de sauvegarde\u00a0:
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=Sauvegarde compl\u00e8te
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Sauvegarde par incr\u00e9mentation (sp\u00e9cifier la sauvegarde parent ci-dessous)
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=Sauvegarde par incr\u00e9mentation
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=Sp\u00e9cifier la sauvegarde parent ci-dessous
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=ID de sauvegarde\u00a0:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=Sauvegardes parents disponibles\u00a0:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=Options de sauvegarde\u00a0:
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_ja.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_ja.properties
index a851ddf..d45b454 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_ja.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_ja.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2011-2014 ForgeRock AS
+#      Portions Copyright 2011-2015 ForgeRock AS
 
 
 
@@ -777,7 +777,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306e\u30bf\u30a4\u30d7:
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=\u30d5\u30eb\u30d0\u30c3\u30af\u30a2\u30c3\u30d7
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=\u5897\u5206\u30d0\u30c3\u30af\u30a2\u30c3\u30d7 (\u89aa\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4ee5\u4e0b\u3092\u6307\u5b9a)
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=\u5897\u5206\u30d0\u30c3\u30af\u30a2\u30c3\u30d7
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=\u89aa\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4ee5\u4e0b\u3092\u6307\u5b9a
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=\u30d0\u30c3\u30af\u30a2\u30c3\u30d7 ID:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=\u4f7f\u7528\u53ef\u80fd\u306a\u89aa\u30d0\u30c3\u30af\u30a2\u30c3\u30d7:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30aa\u30d7\u30b7\u30e7\u30f3:
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_zh_CN.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_zh_CN.properties
index 849555c..2c0b3b1 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_zh_CN.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool_zh_CN.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2011-2014 ForgeRock AS
+#      Portions Copyright 2011-2015 ForgeRock AS
 
 
 
@@ -780,7 +780,8 @@
 INFO_CTRL_PANEL_BACKUP_ALL_BACKENDS_LABEL=\u6240\u6709\u540e\u7aef
 INFO_CTRL_PANEL_BACKUP_TYPE_LABEL=\u5907\u4efd\u7c7b\u578b:
 INFO_CTRL_PANEL_FULL_BACKUP_LABEL=\u5b8c\u6574\u5907\u4efd
-INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=\u589e\u91cf\u5907\u4efd\uff08\u5728\u4e0b\u9762\u6307\u5b9a\u7236\u5907\u4efd\uff09
+INFO_CTRL_PANEL_INCREMENTAL_BACKUP_LABEL=\u589e\u91cf\u5907\u4efd
+INFO_CTRL_PANEL_INCREMENTAL_PARENT_LABEL=\u5728\u4e0b\u9762\u6307\u5b9a\u7236\u5907\u4efd
 INFO_CTRL_PANEL_BACKUP_ID_LABEL=\u5907\u4efd ID:
 INFO_CTRL_PANEL_AVAILABLE_PARENT_BACKUPS_LABEL=\u53ef\u7528\u7684\u7236\u5907\u4efd:
 INFO_CTRL_PANEL_BACKUP_OPTIONS_LABEL=\u5907\u4efd\u9009\u9879:

--
Gitblit v1.10.0