QPID-6346: Create keystore/trustore tab UI only once

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1656131 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
index 6cb9ad7..0f23053 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
@@ -54,10 +54,8 @@
                             parser.parse(contentPane.containerNode);
 
                             that.keyStoreUpdater = new KeyStoreUpdater(contentPane.containerNode, that.modelObj, that.controller, that.url);
-
-                            updater.add( that.keyStoreUpdater );
-
                             that.keyStoreUpdater.update();
+                            updater.add( that.keyStoreUpdater );
 
                             var deleteKeyStoreButton = query(".deleteStoreButton", contentPane.containerNode)[0];
                             var node = registry.byNode(deleteKeyStoreButton);
@@ -132,13 +130,20 @@
                       that.keyStoreData = data[0];
                       that.updateHeader();
 
-                      require(["qpid/management/store/" + encodeURIComponent(that.keyStoreData.type.toLowerCase()) + "/show"],
+                      if (that.details)
+                      {
+                        that.details.update(that.keyStoreData);
+                      }
+                      else
+                      {
+                        require(["qpid/management/store/" + encodeURIComponent(that.keyStoreData.type.toLowerCase()) + "/show"],
                            function(DetailsUI)
                            {
                              that.details = new DetailsUI({containerNode:that.keyStoreDetailsContainer, parent: that});
                              that.details.update(that.keyStoreData);
                            }
                          );
+                      }
                    });
            };
 
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
index f3fa06c..82e2b20 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
@@ -54,10 +54,8 @@
                             parser.parse(contentPane.containerNode);
 
                             that.keyStoreUpdater = new KeyStoreUpdater(contentPane.containerNode, that.modelObj, that.controller, that.url);
-
-                            updater.add( that.keyStoreUpdater );
-
                             that.keyStoreUpdater.update();
+                            updater.add( that.keyStoreUpdater );
 
                             var deleteTrustStoreButton = query(".deleteStoreButton", contentPane.containerNode)[0];
                             var node = registry.byNode(deleteTrustStoreButton);
@@ -129,14 +127,20 @@
                {
                   that.trustStoreData = data[0];
                   that.updateHeader();
-
-                  require(["qpid/management/store/" + encodeURIComponent(that.trustStoreData.type.toLowerCase()) + "/show"],
-                       function(DetailsUI)
-                       {
-                         that.details = new DetailsUI({containerNode:that.keyStoreDetailsContainer, parent: that});
-                         that.details.update(that.trustStoreData);
-                       }
-                     );
+                  if (that.details)
+                  {
+                    that.details.update(that.trustStoreData);
+                  }
+                  else
+                  {
+                    require(["qpid/management/store/" + encodeURIComponent(that.trustStoreData.type.toLowerCase()) + "/show"],
+                      function(DetailsUI)
+                      {
+                        that.details = new DetailsUI({containerNode:that.keyStoreDetailsContainer, parent: that});
+                        that.details.update(that.trustStoreData);
+                      }
+                    );
+                  }
                });
            };