summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2015-04-10 09:57:39 +0000
committerKeith Wall <kwall@apache.org>2015-04-10 09:57:39 +0000
commit60c56cbf7bf8afd5dc577480853e7214cb60b3e2 (patch)
tree472e786d636fd51ae12ea0061596ec7e0b64d811 /qpid/java/broker-plugins
parentb187311574bbf087f376256d237173b38a84fdbc (diff)
downloadqpid-python-60c56cbf7bf8afd5dc577480853e7214cb60b3e2.tar.gz
QPID-6485: [Java Broker] Remove superfluous find/get methods from the Broker configured object
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1672602 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngineCreator_0_10.java8
-rw-r--r--qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java5
-rw-r--r--qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java2
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java14
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java7
-rw-r--r--qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java21
6 files changed, 41 insertions, 16 deletions
diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngineCreator_0_10.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngineCreator_0_10.java
index 4231045afd..08eb06111e 100644
--- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngineCreator_0_10.java
+++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngineCreator_0_10.java
@@ -30,6 +30,7 @@ import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.port.AmqpPort;
import org.apache.qpid.server.plugin.PluggableService;
import org.apache.qpid.server.plugin.ProtocolEngineCreator;
+import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.transport.ConnectionDelegate;
import org.apache.qpid.transport.network.NetworkConnection;
@@ -76,11 +77,10 @@ public class ProtocolEngineCreator_0_10 implements ProtocolEngineCreator
{
fqdn = ((InetSocketAddress) address).getHostName();
}
- final ConnectionDelegate connDelegate = new ServerConnectionDelegate(broker,
- fqdn, broker.getSubjectCreator(address, transport.isSecure())
- );
+ SubjectCreator subjectCreator = port.getAuthenticationProvider().getSubjectCreator(transport.isSecure());
+ ConnectionDelegate connDelegate = new ServerConnectionDelegate(broker, fqdn, subjectCreator);
- ServerConnection conn = new ServerConnection(id,broker, port, transport);
+ ServerConnection conn = new ServerConnection(id, broker, port, transport);
conn.setConnectionDelegate(connDelegate);
conn.setRemoteAddress(network.getRemoteAddress());
diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
index f1e9f400f4..b1f2a6e841 100644
--- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
+++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
@@ -485,7 +485,8 @@ public class AMQProtocolEngine implements ServerProtocolEngine,
setProtocolVersion(pv);
StringBuilder mechanismBuilder = new StringBuilder();
- for(String mechanismName : _broker.getSubjectCreator(getLocalAddress(), _transport.isSecure()).getMechanisms())
+ SubjectCreator subjectCreator = _port.getAuthenticationProvider().getSubjectCreator(_transport.isSecure());
+ for(String mechanismName : subjectCreator.getMechanisms())
{
if(mechanismBuilder.length() != 0)
{
@@ -1899,7 +1900,7 @@ public class AMQProtocolEngine implements ServerProtocolEngine,
public SubjectCreator getSubjectCreator()
{
- return _broker.getSubjectCreator(getLocalAddress(), getTransport().isSecure());
+ return _port.getAuthenticationProvider().getSubjectCreator(getTransport().isSecure());
}
public EventLogger getEventLogger()
diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java
index dc9564cc9f..013126cfe0 100644
--- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java
+++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java
@@ -232,7 +232,7 @@ public class ProtocolEngine_1_0_0_SASL implements ServerProtocolEngine, FrameOut
Container container = new Container(_broker.getId().toString());
- SubjectCreator subjectCreator = _broker.getSubjectCreator(getLocalAddress(), _transport.isSecure());
+ SubjectCreator subjectCreator = _port.getAuthenticationProvider().getSubjectCreator(_transport.isSecure());
_endpoint = new ConnectionEndpoint(container, asSaslServerProvider(subjectCreator));
_endpoint.setLogger(new ConnectionEndpoint.FrameReceiptLogger()
{
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 4639236d60..f9293a33b0 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
@@ -22,6 +22,7 @@ package org.apache.qpid.server.management.plugin;
import java.io.IOException;
import java.io.Writer;
+import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.security.GeneralSecurityException;
import java.util.ArrayList;
@@ -556,7 +557,18 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
@Override
public AuthenticationProvider getAuthenticationProvider(SocketAddress localAddress)
{
- return getBroker().getAuthenticationProvider(localAddress);
+ InetSocketAddress inetSocketAddress = (InetSocketAddress)localAddress;
+ AuthenticationProvider provider = null;
+ Collection<Port<?>> ports = getBroker().getPorts();
+ for (Port<?> p : ports)
+ {
+ if (p instanceof HttpPort && inetSocketAddress.getPort() == p.getPort())
+ {
+ provider = ((HttpPort<?>) p).getAuthenticationProvider();
+ break;
+ }
+ }
+ return provider;
}
@Override
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
index aa3ebe055d..d1b923048b 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -39,6 +40,7 @@ import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.port.HttpPort;
import org.apache.qpid.test.utils.QpidTestCase;
public class HttpManagementTest extends QpidTestCase
@@ -115,7 +117,10 @@ public class HttpManagementTest extends QpidTestCase
{
SocketAddress localAddress = InetSocketAddress.createUnresolved("localhost", 8080);
AuthenticationProvider brokerAuthenticationProvider = mock(AuthenticationProvider.class);
- when(_broker.getAuthenticationProvider(localAddress)).thenReturn(brokerAuthenticationProvider);
+ HttpPort port = mock(HttpPort.class);
+ when(port.getPort()).thenReturn(8080);
+ when(port.getAuthenticationProvider()).thenReturn(brokerAuthenticationProvider);
+ when(_broker.getPorts()).thenReturn(Collections.singletonList(port));
AuthenticationProvider authenticationProvider = _management.getAuthenticationProvider(localAddress);
assertEquals("Unexpected subject creator", brokerAuthenticationProvider, authenticationProvider);
}
diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
index 36b3a0a058..381295a18a 100644
--- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
+++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
@@ -23,7 +23,6 @@ package org.apache.qpid.server.jmx;
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.net.InetAddress;
-import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.rmi.AlreadyBoundException;
import java.rmi.NoSuchObjectException;
@@ -57,8 +56,10 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.messages.ManagementConsoleMessages;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.KeyStore;
-import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.port.JmxPort;
+import org.apache.qpid.server.model.port.RmiPort;
+import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.server.security.auth.jmx.JMXPasswordAuthenticator;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
@@ -78,12 +79,12 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
private Registry _rmiRegistry;
private final Broker _broker;
- private final Port _registryPort;
- private final Port _connectorPort;
+ private final RmiPort _registryPort;
+ private final JmxPort _connectorPort;
public JMXManagedObjectRegistry(
Broker broker,
- Port connectorPort, Port registryPort,
+ JmxPort connectorPort, RmiPort registryPort,
JMXManagementPlugin jmxManagement)
{
_broker = broker;
@@ -158,8 +159,14 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
int jmxPortConnectorServer = _connectorPort.getPort();
//add a JMXAuthenticator implementation the env map to authenticate the RMI based JMX connector server
- JMXPasswordAuthenticator rmipa = new JMXPasswordAuthenticator(_broker, new InetSocketAddress(jmxPortConnectorServer), connectorSslEnabled);
- HashMap<String,Object> connectorEnv = new HashMap<String,Object>();
+ SubjectCreator subjectCreator =_connectorPort.getAuthenticationProvider().getSubjectCreator(connectorSslEnabled);
+ if (subjectCreator == null)
+ {
+ throw new SecurityException("Can't get subject creator for " + _connectorPort);
+ }
+
+ JMXPasswordAuthenticator rmipa = new JMXPasswordAuthenticator(subjectCreator, _broker.getSecurityManager());
+ HashMap<String,Object> connectorEnv = new HashMap<>();
connectorEnv.put(JMXConnectorServer.AUTHENTICATOR, rmipa);
System.setProperty("java.rmi.server.randomIDs", "true");