summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-01-03 19:27:29 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-01-03 19:27:29 +0000
commitae5fa4bd4157e440aba9dc9eba578ed181336e22 (patch)
treee753f8e96b66497028ec1a0432bd193981067e2c /qpid/java/broker-plugins
parente497a8527d42a93dce9320b5919cad93aa00a32b (diff)
downloadqpid-python-ae5fa4bd4157e440aba9dc9eba578ed181336e22.tar.gz
QPID-5437 : [Java Broker] Allow HTTP ports to be bound only to specific interfaces
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1555217 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java5
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html6
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js8
3 files changed, 15 insertions, 4 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
index 0f5e5e8f58..982b3d9825 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
+++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
@@ -261,6 +261,11 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem
throw new IllegalArgumentException("Unexpected transport on port " + port.getName() + ":" + transports);
}
lastPort = port.getPort();
+ String bindingAddress = port.getBindingAddress();
+ if(bindingAddress != null && !bindingAddress.trim().equals("") && !bindingAddress.trim().equals("*"))
+ {
+ connector.setHost(bindingAddress.trim());
+ }
connector.setPort(port.getPort());
server.addConnector(connector);
}
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
index 59abbadf32..c7676d27b7 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
@@ -42,9 +42,11 @@
data-dojo-props="name:'authenticationProvider',label:'Authentication Provider*:', searchAttr: 'name', required: true, placeHolder: 'Select Provider'">
</select>
</div>
- <div id="formAddPort:fieldsAMQP">
+ <div id="formAddPort:fieldsBindingAddress">
<input id="formAddPort.bindingAddress" type="text" name="bindingAddress" placeholder="*"
- dojoType="dijit.form.TextBox" data-dojo-props="label: 'Binding address:'"/>
+ dojoType="dijit.form.TextBox" data-dojo-props="label: 'Binding address:'"/>
+ </div>
+ <div id="formAddPort:fieldsAMQP">
<input id="formAddPort.protocolsDefault" type="checkbox" checked="checked"
dojoType="dijit.form.CheckBox" data-dojo-props="label: 'Support default protocols:'"/>
<select id="formAddPort.protocolsAMQP" name="protocols" data-dojo-type="dijit.form.MultiSelect" multiple="true"
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
index 18abfa443f..8f2b9cbee3 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
@@ -246,13 +246,15 @@ define(["dojo/_base/xhr",
transportWidget.set("disabled", disableTransportWidget);
registry.byId("formAddPort.authenticationProvider").set("disabled", isRMI);
registry.byId("formAddPort:fieldsAuthenticationProvider").domNode.style.display = isRMI? "none" : "block";
+ registry.byId("formAddPort:fieldsBindingAddress").domNode.style.display = newValue == "JMX" ? "none" : "block";
+
});
theForm = registry.byId("formAddPort");
var containers = ["formAddPort:fields", "formAddPort:fieldsTransportSSL", "formAddPort:fieldsAMQP",
"formAddPort:fieldsJMX", "formAddPort:fieldsHTTP", "formAddPort:transport",
- "formAddPort:fieldsClientAuthCheckboxes", "formAddPort:fieldsAuthenticationProvider"];
+ "formAddPort:fieldsClientAuthCheckboxes", "formAddPort:fieldsAuthenticationProvider", "formAddPort:fieldsBindingAddress"];
var labelWidthValue = "200";
for(var i = 0; i < containers.length; i++)
{
@@ -448,8 +450,10 @@ define(["dojo/_base/xhr",
{
var httpProtocolsWidget = registry.byId("formAddPort.protocolsHTTP");
httpProtocolsWidget.set("disabled", false);
- httpProtocolsWidget.set("value", protocols[0])
+ httpProtocolsWidget.set("value", protocols[0]);
typeWidget.set("value", "HTTP");
+ var addressWidget = registry.byId("formAddPort.bindingAddress");
+ addressWidget.set("value", port.bindingAddress)
}
registry.byId("formAddPort:fields" + typeWidget.value).domNode.style.display = "block";
typeWidget.set("disabled", true);