You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/06/20 19:34:03 UTC

svn commit: r1686656 - in /qpid/java/trunk: broker-core/src/main/java/org/apache/qpid/server/model/ broker-core/src/main/java/org/apache/qpid/server/model/adapter/ broker-core/src/main/java/org/apache/qpid/server/plugin/ broker-plugins/management-http/...

Author: rgodfrey
Date: Sat Jun 20 17:34:03 2015
New Revision: 1686656

URL: http://svn.apache.org/r1686656
Log:
QPID-6598 : Add UI for changing configuration encyrption

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfigurationSecretEncrypterFactory.java
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Sat Jun 20 17:34:03 2015
@@ -128,7 +128,7 @@ public interface Broker<X extends Broker
     @ManagedContextDefault(name = MESSAGE_COMPRESSION_THRESHOLD_SIZE)
     int DEFAULT_MESSAGE_COMPRESSION_THRESHOLD_SIZE = 102400;
 
-    @ManagedAttribute
+    @ManagedAttribute(validValues = {"org.apache.qpid.server.model.adapter.BrokerAdapter#getAvailableConfigurationEncrypters()"})
     String getConfidentialConfigurationEncryptionProvider();
 
     @DerivedAttribute( persist = true )

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Sat Jun 20 17:34:03 2015
@@ -25,6 +25,7 @@ import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.Timer;
@@ -132,7 +133,7 @@ public class BrokerAdapter extends Abstr
         QpidServiceLoader qpidServiceLoader = new QpidServiceLoader();
         final Set<String> systemNodeCreatorTypes = qpidServiceLoader.getInstancesByType(SystemNodeCreator.class).keySet();
         _virtualHostPropertiesNodeEnabled = systemNodeCreatorTypes.contains(VirtualHostPropertiesNodeCreator.TYPE);
-        if(attributes.containsKey(CONFIDENTIAL_CONFIGURATION_ENCRYPTION_PROVIDER))
+        if(attributes.get(CONFIDENTIAL_CONFIGURATION_ENCRYPTION_PROVIDER) != null )
         {
 
             final String encryptionProviderType = String.valueOf(attributes.get(CONFIDENTIAL_CONFIGURATION_ENCRYPTION_PROVIDER));
@@ -858,4 +859,10 @@ public class BrokerAdapter extends Abstr
         updateEncrypter(_confidentialConfigurationEncryptionProvider);
         forceUpdateAllSecureAttributes();
     }
+
+    @SuppressWarnings("unused")
+    public static Collection<String> getAvailableConfigurationEncrypters()
+    {
+        return (new QpidServiceLoader()).getInstancesByType(ConfigurationSecretEncrypterFactory.class).keySet();
+    }
 }

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfigurationSecretEncrypterFactory.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfigurationSecretEncrypterFactory.java?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfigurationSecretEncrypterFactory.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfigurationSecretEncrypterFactory.java Sat Jun 20 17:34:03 2015
@@ -25,5 +25,5 @@ import org.apache.qpid.server.security.e
 
 public interface ConfigurationSecretEncrypterFactory extends Pluggable
 {
-    public ConfigurationSecretEncrypter createEncrypter(ConfiguredObject<?> object);
+    ConfigurationSecretEncrypter createEncrypter(ConfiguredObject<?> object);
 }

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/editBroker.html Sat Jun 20 17:34:03 2015
@@ -58,6 +58,19 @@
                   </div>
               </div>
 
+              <div class="clear">
+                    <div class="formLabel-labelCell tableContainer-labelCell">Config Encyrption:</div>
+                    <div class="formLabel-controlCell tableContainer-valueCell">
+                        <input type="text" id="editBroker.confidentialConfigurationEncryptionProvider"
+                               data-dojo-type="dijit/form/FilteringSelect"
+                               data-dojo-props="
+                              name: 'confidentialConfigurationEncryptionProvider',
+                              required: true,
+                              title: 'Select Configuration Encryption Type',
+                              placeHolder: 'Select encryption type'" />
+                    </div>
+              </div>
+
               <div class="clear formBox">
                   <fieldset>
                       <legend>Global Connection Defaults</legend>

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js Sat Jun 20 17:34:03 2015
@@ -55,7 +55,7 @@ define(["dojo/parser",
         addAuthenticationProvider, addVirtualHostNodeAndVirtualHost, addPort, addStore, addGroupProvider, addAccessControlProvider, editBroker, template) {
 
            var brokerAttributeNames = ["name", "operatingSystem", "platform", "productVersion", "modelVersion",
-                                        "statisticsReportingPeriod", "statisticsReportingResetEnabled",
+                                        "statisticsReportingPeriod", "statisticsReportingResetEnabled", "confidentialConfigurationEncryptionProvider",
                                         "connection.sessionCountLimit", "connection.heartBeatDelay"];
 
            function Broker(name, parent, controller) {

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js Sat Jun 20 17:34:03 2015
@@ -45,7 +45,7 @@ define(["dojox/html/entities",
         "dojo/domReady!"],
   function (entities, array, event, lang, win, dom, domConstruct, registry, parser, json, query, Memory, ObjectStore, util, template)
   {
-    var fields = [ "name", "statisticsReportingPeriod", "statisticsReportingResetEnabled", "connection.sessionCountLimit", "connection.heartBeatDelay"];
+    var fields = [ "name", "statisticsReportingPeriod", "statisticsReportingResetEnabled", "confidentialConfigurationEncryptionProvider", "connection.sessionCountLimit", "connection.heartBeatDelay"];
     var numericFieldNames = ["statisticsReportingPeriod", "connection.sessionCountLimit", "connection.heartBeatDelay"];
 
     var brokerEditor =
@@ -83,7 +83,23 @@ define(["dojox/html/entities",
         this.management = management;
         var that=this;
         this.dialog.set("title", "Edit Broker - " + entities.encode(String(brokerData.name)));
-        management.load( {type:"broker"}, { actuals: true }).then(
+          var typeMetaData = management.metadata.getMetaData("Broker", "broker");
+          var encrypters = typeMetaData.attributes.confidentialConfigurationEncryptionProvider.validValues;
+          var encrypterTypesData = [];
+          encrypterTypesData.push({id: "", name: "None"});
+          array.forEach(encrypters,
+              function(item)
+              {
+                  encrypterTypesData.push({id: item, name: item});
+              }
+          );
+
+          var encrytperTypesStore = new Memory({ data: encrypterTypesData });
+          var encrypterControl = registry.byId("editBroker.confidentialConfigurationEncryptionProvider");
+          encrypterControl.set("store", encrytperTypesStore);
+          encrypterControl.set("value", "NONE");
+
+          management.load( {type:"broker"}, { actuals: true }).then(
               function(data)
               {
                 that._show(data[0], brokerData);

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html?rev=1686656&r1=1686655&r2=1686656&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/showBroker.html Sat Jun 20 17:34:03 2015
@@ -41,6 +41,10 @@
                 <div class="formLabel-labelCell">Broker model version:</div>
                 <div id="brokerAttribute.modelVersion"></div>
             </div>
+            <div id="brokerAttribute.confidentialConfigurationEncryptionProvider.container" class="clear">
+                <div class="formLabel-labelCell">Config Encryption:</div>
+                <div id="brokerAttribute.confidentialConfigurationEncryptionProvider"></div>
+            </div>
             <div id="brokerAttribute.statisticsReportingPeriod.container" class="hidden clear">
                 <div class="formLabel-labelCell">Statistics reporting period (ms):</div>
                 <div id="brokerAttribute.statisticsReportingPeriod"></div>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org