diff options
| author | Robert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org> | 2014-04-11 21:45:28 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org> | 2014-04-11 21:45:28 +0000 |
| commit | c9483fa4518774ff016da145ac7bdf96b7fc6f90 (patch) | |
| tree | 0676bce0c8cb3edf1a67c07438edd1297a45a21d /qpid/java | |
| parent | 7b703586794bc1e56188f97aca697bd278fc9745 (diff) | |
| download | qpid-python-c9483fa4518774ff016da145ac7bdf96b7fc6f90.tar.gz | |
QPID-5680 : [Java Broker] remove configuration defualt maps
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1586783 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
67 files changed, 323 insertions, 425 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java index 2af06cfa8e..ad10a75963 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java @@ -83,7 +83,7 @@ public class BindingImpl public BindingImpl(UUID id, Map<String, Object> attributes, AMQQueue queue, ExchangeImpl exchange) { - super(parentsMap(queue,exchange),Collections.EMPTY_MAP,combineIdWithAttributes(id,attributes),queue.getVirtualHost().getTaskExecutor()); + super(parentsMap(queue,exchange),combineIdWithAttributes(id,attributes),queue.getVirtualHost().getTaskExecutor()); _id = id; _bindingKey = (String)attributes.get(org.apache.qpid.server.model.Binding.NAME); _queue = queue; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java index 3fbc0076a5..3b755a6df5 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java @@ -52,6 +52,7 @@ import org.apache.qpid.server.model.Publisher; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.UUIDGenerator; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.plugin.ExchangeType; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.BaseQueue; @@ -108,8 +109,8 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> public AbstractExchange(VirtualHostImpl vhost, Map<String, Object> attributes) throws UnknownExchangeException { - super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(org.apache.qpid.server.model.VirtualHost.class, (org.apache.qpid.server.model.VirtualHost)vhost), - Collections.<String,Object>emptyMap(), attributes, vhost.getTaskExecutor()); + super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(VirtualHost.class, vhost), + attributes, vhost.getTaskExecutor()); _virtualHost = vhost; _durable = MapValueConverter.getBooleanAttribute(org.apache.qpid.server.model.Exchange.DURABLE, attributes); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java index 278e8a5304..48b3bdfa8d 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java @@ -114,7 +114,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im @ManagedAttributeField private final UUID _id; - private final Map<String, Object> _defaultAttributes = new HashMap<String, Object>(); private final TaskExecutor _taskExecutor; @ManagedAttributeField @@ -160,19 +159,17 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im TaskExecutor taskExecutor) { this(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>emptyMap(), - Collections.<String,Object>emptyMap(), attributes, taskExecutor, true); + attributes, taskExecutor, true); } protected AbstractConfiguredObject(final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parents, - Map<String, Object> defaults, Map<String, Object> attributes, TaskExecutor taskExecutor) { - this(parents, defaults, attributes, taskExecutor, true); + this(parents, attributes, taskExecutor, true); } protected AbstractConfiguredObject(final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parents, - Map<String, Object> defaults, Map<String, Object> attributes, TaskExecutor taskExecutor, boolean filterAttributes) @@ -254,10 +251,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im } - if (defaults != null) - { - _defaultAttributes.putAll(defaults); - } if(!_attributes.containsKey(CREATED_BY)) { final AuthenticatedPrincipal currentUser = SecurityManager.getCurrentUser(); @@ -273,7 +266,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im for(Attribute<?,?> attr : _attributeTypes.values()) { if(attr.getAnnotation().mandatory() && !(_attributes.containsKey(attr.getName()) - || _defaultAttributes.containsKey(attr.getName()) || !"".equals(attr.getAnnotation().defaultValue()))) { throw new IllegalArgumentException("Mandatory attribute " + attr.getName() + " not supplied for instance of " + getClass().getName()); @@ -421,10 +413,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im { automatedSetValue(attrName, _attributes.get(attrName)); } - else if (_defaultAttributes.containsKey(attrName)) - { - automatedSetValue(attrName, _defaultAttributes.get(attrName)); - } else if (!"".equals(attrAnnotation.defaultValue())) { automatedSetValue(attrName, attrAnnotation.defaultValue()); @@ -582,11 +570,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im } } - private final Object getDefaultAttribute(String name) - { - return _defaultAttributes.get(name); - } - @Override public Object getAttribute(String name) { @@ -607,33 +590,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im else { Object value = getActualAttribute(name); - if (value == null) - { - value = getDefaultAttribute(name); - } - return value; - } - } - - protected <T extends ConfiguredObject<?>> Object getAttribute(String name, T parent, String parentAttributeName) - { - Object value = getActualAttribute(name); - if (value != null ) - { return value; } - if (parent != null) - { - value = parent.getAttribute(parentAttributeName); - if (value != null) - { - return value; - } - } - return getDefaultAttribute(name); } - @Override public String getDescription() { @@ -709,14 +669,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im Attribute<?,?> attr = _attributeTypes.get(name); if(attr != null && attr.getAnnotation().automate()) { - if(desired == null && _defaultAttributes.containsKey(name)) - { - automatedSetValue(name, _defaultAttributes.get(name)); - } - else - { - automatedSetValue(name, desired); - } + automatedSetValue(name, desired); } return true; } @@ -954,11 +907,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im // allowed by default } - protected Map<String, Object> getDefaultAttributes() - { - return _defaultAttributes; - } - /** * Returns a map of effective attribute values that would result * if applying the supplied changes. Does not apply the changes. @@ -969,11 +917,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im //the result of applying the attribute changes, so we //can validate the configuration that would result - Map<String, Object> defaultValues = getDefaultAttributes(); Map<String, Object> existingActualValues = getActualAttributes(); //create a new merged map, starting with the defaults - Map<String, Object> merged = new HashMap<String, Object>(defaultValues); + Map<String, Object> merged = new HashMap<String, Object>(); for(String name : getAttributeNames()) { diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java index b1e699486f..b7dd15997b 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java @@ -44,7 +44,7 @@ public interface Port<X extends Port<X>> extends ConfiguredObject<X> // Attributes - @ManagedAttribute(automate = true) + @ManagedAttribute(automate = true, defaultValue = "*") String getBindingAddress(); @ManagedAttribute(mandatory = true, automate = true) @@ -53,7 +53,7 @@ public interface Port<X extends Port<X>> extends ConfiguredObject<X> @ManagedAttribute( automate = true ) Set<Protocol> getProtocols(); - @ManagedAttribute( automate = true ) + @ManagedAttribute( automate = true, defaultValue = "TCP" ) Set<Transport> getTransports(); @ManagedAttribute( automate = true ) @@ -84,6 +84,7 @@ public interface Port<X extends Port<X>> extends ConfiguredObject<X> AccessControlException, IllegalArgumentException; + Collection<Protocol> getAvailableProtocols(); //children Collection<VirtualHostAlias> getVirtualHostBindings(); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Protocol.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Protocol.java index e9d50fbc59..22ea1d9706 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Protocol.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Protocol.java @@ -23,8 +23,6 @@ package org.apache.qpid.server.model; import java.util.Collection; import java.util.EnumSet; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; - public enum Protocol { AMQP_0_8(ProtocolType.AMQP), @@ -53,25 +51,6 @@ public enum Protocol return _protocolType == ProtocolType.AMQP; } - public AmqpProtocolVersion toAmqpProtocolVersion() - { - switch(this) - { - case AMQP_0_8: - return AmqpProtocolVersion.v0_8; - case AMQP_0_9: - return AmqpProtocolVersion.v0_9; - case AMQP_0_9_1: - return AmqpProtocolVersion.v0_9_1; - case AMQP_0_10: - return AmqpProtocolVersion.v0_10; - case AMQP_1_0: - return AmqpProtocolVersion.v1_0_0; - default: - throw new IllegalArgumentException(this + " is not an known AMQP protocol"); - } - } - public static Protocol valueOfObject(Object protocolObject) { Protocol protocol; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java index 65e3691f81..e08538b1ec 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java @@ -20,6 +20,12 @@ */ package org.apache.qpid.server.model.adapter; +import java.security.AccessControlException; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; +import java.util.UUID; + import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; @@ -28,19 +34,14 @@ import org.apache.qpid.server.model.Plugin; import org.apache.qpid.server.model.State; import org.apache.qpid.server.security.access.Operation; -import java.security.AccessControlException; -import java.util.Collection; -import java.util.Collections; -import java.util.Map; -import java.util.UUID; - public abstract class AbstractPluginAdapter<X extends Plugin<X>> extends AbstractConfiguredObject<X> implements Plugin<X> { private Broker _broker; - protected AbstractPluginAdapter(UUID id, Map<String, Object> defaults, Map<String, Object> attributes, Broker broker) + protected AbstractPluginAdapter(UUID id, Map<String, Object> attributes, Broker broker) { - super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(Broker.class, broker), defaults, combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); + super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(Broker.class, broker), + combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); _broker = broker; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java index b36d31b6e8..019b22c84e 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java @@ -137,7 +137,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple SystemContext parent) { super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(SystemContext.class, parent), - Collections.<String,Object>emptyMap(), combineIdWithAttributes(id,MapValueConverter.convert(attributes, ATTRIBUTE_TYPES)), parent.getTaskExecutor()); + combineIdWithAttributes(id,MapValueConverter.convert(attributes, ATTRIBUTE_TYPES)), parent.getTaskExecutor()); _objectFactory = parent.getObjectFactory(); _virtualHostRegistry = new VirtualHostRegistry(parent.getEventLogger()); @@ -152,7 +152,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple Map<String,Object> authManagerAttrs = new HashMap<String, Object>(); authManagerAttrs.put(NAME,"MANAGEMENT_MODE_AUTHENTICATION"); authManagerAttrs.put(ID, UUID.randomUUID()); - SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(this, Collections.<String,Object>emptyMap(), authManagerAttrs); + SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(this, authManagerAttrs); authManager.addUser(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _brokerOptions.getManagementModePassword()); _managementModeAuthenticationProvider = authManager; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java index 525a02d3a6..c28f56bfb4 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java @@ -54,7 +54,7 @@ public class FileBasedGroupProvider Map<String, Object> attributes) { super(Collections.<Class<? extends ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, broker), - Collections.<String,Object>emptyMap(), combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); + combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); _broker = broker; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java index 7281799fc2..521803ecda 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java @@ -86,7 +86,6 @@ public class FileSystemPreferencesProvider extends AbstractConfiguredObject<File AuthenticationProvider<? extends AuthenticationProvider> authenticationProvider) { super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(AuthenticationProvider.class, authenticationProvider), - Collections.<String,Object>emptyMap(), combineIdWithAttributes(id,MapValueConverter.convert(attributes, ATTRIBUTE_TYPES)), authenticationProvider.getParent(Broker.class).getTaskExecutor()); State state = MapValueConverter.getEnumAttribute(State.class, STATE, attributes, State.INITIALISING); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java index ef79f9f6bd..abdd118d10 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java @@ -86,11 +86,9 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo public AbstractPort(UUID id, Broker<?> broker, Map<String, Object> attributes, - Map<String, Object> defaults, TaskExecutor taskExecutor) { super(Collections.<Class<? extends ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, broker), - updateDefaults(defaults, attributes), combineIdWithAttributes(id,attributes), taskExecutor); _broker = broker; @@ -112,17 +110,6 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo } } - private static Map<String, Object> updateDefaults(final Map<String, Object> defaults, - final Map<String, Object> attributes) - { - Map<String, Object> updatedDefaults = new HashMap<String, Object>(defaults); - if(!defaults.containsKey(TRANSPORTS)) - { - updatedDefaults.put(Port.TRANSPORTS, Collections.singleton(DEFAULT_TRANSPORT)); - } - return updatedDefaults; - } - @Override public String getBindingAddress() { @@ -199,6 +186,19 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo } @Override + public Set<Protocol> getAvailableProtocols() + { + Set<Protocol> protocols = getProtocols(); + if(protocols == null || protocols.isEmpty()) + { + protocols = getDefaultProtocols(); + } + return protocols; + } + + protected abstract Set<Protocol> getDefaultProtocols(); + + @Override public String setName(String currentName, String desiredName) throws IllegalStateException, AccessControlException { throw new IllegalStateException(); @@ -530,11 +530,11 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo for (Port<?> existingPort : existingPorts) { - Collection<Protocol> portProtocols = existingPort.getProtocols(); + Collection<Protocol> portProtocols = existingPort.getAvailableProtocols(); if (portProtocols != null) { final ArrayList<Protocol> intersection = new ArrayList(portProtocols); - intersection.retainAll(getProtocols()); + intersection.retainAll(getAvailableProtocols()); if(!intersection.isEmpty()) { throw new IllegalConfigurationException("Port for protocols " + intersection + " already exists. Only one management port per protocol can be created."); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java index 9db653c853..33f6cb7ad0 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java @@ -20,15 +20,23 @@ package org.apache.qpid.server.model.port; import java.security.GeneralSecurityException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; - import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; + import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.configuration.IllegalConfigurationException; +import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.logging.messages.BrokerMessages; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.KeyStore; @@ -38,10 +46,8 @@ import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; import org.apache.qpid.server.model.TrustStore; -import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.plugin.QpidServiceLoader; import org.apache.qpid.server.plugin.TransportProviderFactory; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.transport.AcceptingTransport; import org.apache.qpid.server.transport.TransportProvider; import org.apache.qpid.server.util.ServerScopedRuntimeException; @@ -54,7 +60,7 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> public static final String DEFAULT_AMQP_RECEIVE_BUFFER_SIZE = "262144"; public static final String DEFAULT_AMQP_TCP_NO_DELAY = "true"; - public static final String DEFAULT_AMQP_BINDING = "*"; + public static final String DEFAULT_BINDING_ADDRESS = "*"; @ManagedAttributeField private boolean _tcpNoDelay; @@ -73,23 +79,10 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> Map<String, Object> attributes, TaskExecutor taskExecutor) { - super(id, broker, attributes, defaults(attributes), taskExecutor); + super(id, broker, attributes, Collections.<String,Object>emptyMap(), taskExecutor); _broker = broker; } - private static Map<String, Object> defaults(Map<String,Object> attributes) - { - Map<String,Object> defaults = new HashMap<String, Object>(); - - defaults.put(BINDING_ADDRESS, DEFAULT_AMQP_BINDING); - defaults.put(NAME, attributes.containsKey(BINDING_ADDRESS) ? attributes.get(BINDING_ADDRESS) : DEFAULT_AMQP_BINDING + ":" + attributes.get(PORT)); - defaults.put(PROTOCOLS, getDefaultProtocols()); - - - return defaults; - } - - @ManagedAttribute( automate = true , defaultValue = DEFAULT_AMQP_TCP_NO_DELAY ) public boolean isTcpNoDelay() { @@ -108,7 +101,7 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> return _receiveBufferSize; } - private static Set<Protocol> getDefaultProtocols() + protected Set<Protocol> getDefaultProtocols() { Set<Protocol> defaultProtocols = EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10, Protocol.AMQP_1_0); @@ -140,7 +133,6 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> protected void onActivate() { Collection<Transport> transports = getTransports(); - Set<AmqpProtocolVersion> supported = convertFromModelProtocolsToAmqp(getProtocols()); TransportProvider transportProvider = null; final HashSet<Transport> transportSet = new HashSet<Transport>(transports); @@ -163,12 +155,12 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> sslContext = createSslContext(); } - AmqpProtocolVersion defaultSupportedProtocolReply = getDefaultAmqpSupportedReply(); + Protocol defaultSupportedProtocolReply = getDefaultAmqpSupportedReply(); _transport = transportProvider.createTransport(transportSet, sslContext, this, - supported, + getAvailableProtocols(), defaultSupportedProtocolReply); _transport.start(); @@ -191,16 +183,6 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> } } - private Set<AmqpProtocolVersion> convertFromModelProtocolsToAmqp(Collection<Protocol> modelProtocols) - { - Set<AmqpProtocolVersion> amqpProtocols = new HashSet<AmqpProtocolVersion>(); - for (Protocol protocol : modelProtocols) - { - amqpProtocols.add(protocol.toAmqpProtocolVersion()); - } - return amqpProtocols; - } - private SSLContext createSslContext() { KeyStore keyStore = getKeyStore(); @@ -267,12 +249,12 @@ public class AmqpPort extends PortWithAuthProvider<AmqpPort> } } - private AmqpProtocolVersion getDefaultAmqpSupportedReply() + private Protocol getDefaultAmqpSupportedReply() { String defaultAmqpSupportedReply = System.getProperty(BrokerProperties.PROPERTY_DEFAULT_SUPPORTED_PROTOCOL_REPLY); - if (defaultAmqpSupportedReply != null) + if (defaultAmqpSupportedReply != null && defaultAmqpSupportedReply.length() != 0) { - return AmqpProtocolVersion.valueOf(defaultAmqpSupportedReply); + return Protocol.valueOf("AMQP_" + defaultAmqpSupportedReply.substring(1)); } return null; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java index 61aa0b3e82..6813ea020c 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java @@ -20,14 +20,16 @@ */ package org.apache.qpid.server.model.port; -import org.apache.qpid.server.configuration.updater.TaskExecutor; -import org.apache.qpid.server.model.Broker; -import org.apache.qpid.server.model.ManagedObject; - import java.util.Collections; import java.util.Map; +import java.util.Set; import java.util.UUID; +import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.model.Broker; +import org.apache.qpid.server.model.ManagedObject; +import org.apache.qpid.server.model.Protocol; + @ManagedObject( category = false, type = "HTTP") public class HttpPort extends PortWithAuthProvider<HttpPort> { @@ -38,4 +40,10 @@ public class HttpPort extends PortWithAuthProvider<HttpPort> { super(id, broker, attributes, Collections.<String,Object>emptyMap(), taskExecutor); } + + @Override + protected Set<Protocol> getDefaultProtocols() + { + return Collections.singleton(Protocol.HTTP); + } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPort.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPort.java index 48b59f2c75..73109ccb06 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPort.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/JmxPort.java @@ -22,11 +22,13 @@ package org.apache.qpid.server.model.port; import java.util.Collections; import java.util.Map; +import java.util.Set; import java.util.UUID; import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedObject; +import org.apache.qpid.server.model.Protocol; @ManagedObject( category = false, type = "JMX") public class JmxPort extends PortWithAuthProvider<JmxPort> @@ -45,4 +47,10 @@ public class JmxPort extends PortWithAuthProvider<JmxPort> super.validate(); validateOnlyOneInstance(); } + + @Override + protected Set<Protocol> getDefaultProtocols() + { + return Collections.singleton(Protocol.JMX_RMI); + } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortWithAuthProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortWithAuthProvider.java index afd053cf02..3aedbc9ecf 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortWithAuthProvider.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortWithAuthProvider.java @@ -51,7 +51,7 @@ abstract public class PortWithAuthProvider<X extends PortWithAuthProvider<X>> ex final Map<String, Object> defaults, final TaskExecutor taskExecutor) { - super(id, broker, attributes, defaults, taskExecutor); + super(id, broker, attributes, taskExecutor); } @ManagedAttribute( automate = true, defaultValue = DEFAULT_AMQP_NEED_CLIENT_AUTH ) diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/RmiPort.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/RmiPort.java index f27f6fbcdb..c58fc1d344 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/RmiPort.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/RmiPort.java @@ -22,12 +22,14 @@ package org.apache.qpid.server.model.port; import java.util.Collections; import java.util.Map; +import java.util.Set; import java.util.UUID; import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedObject; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; @ManagedObject( category = false, type = "RMI") @@ -38,7 +40,7 @@ public class RmiPort extends AbstractPort<RmiPort> final Map<String, Object> attributes, final TaskExecutor taskExecutor) { - super(id, broker, attributes, Collections.<String,Object>emptyMap(), taskExecutor); + super(id, broker, attributes, taskExecutor); } @Override @@ -54,4 +56,10 @@ public class RmiPort extends AbstractPort<RmiPort> } } + + @Override + protected Set<Protocol> getDefaultProtocols() + { + return Collections.singleton(Protocol.RMI); + } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ProtocolEngineCreator.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ProtocolEngineCreator.java index df5aa01003..4d15e982c4 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ProtocolEngineCreator.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ProtocolEngineCreator.java @@ -22,13 +22,13 @@ package org.apache.qpid.server.plugin;/* import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.transport.network.NetworkConnection; public interface ProtocolEngineCreator extends Pluggable { - AmqpProtocolVersion getVersion(); + Protocol getVersion(); byte[] getHeaderIdentifier(); ServerProtocolEngine newProtocolEngine(Broker broker, NetworkConnection network, diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/AmqpProtocolVersion.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/AmqpProtocolVersion.java deleted file mode 100644 index 0a71fe257a..0000000000 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/AmqpProtocolVersion.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.server.protocol; - -public enum AmqpProtocolVersion { v0_8, v0_9, v0_9_1, v0_10, v1_0_0 } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java index 050b358f53..fefd04e81d 100755 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java @@ -37,6 +37,7 @@ import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.logging.messages.ConnectionMessages; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.Sender; @@ -57,19 +58,19 @@ public class MultiVersionProtocolEngine implements ServerProtocolEngine private final Transport _transport; private final ProtocolEngineCreator[] _creators; - private Set<AmqpProtocolVersion> _supported; + private Set<Protocol> _supported; private String _fqdn; private final Broker _broker; private NetworkConnection _network; private Sender<ByteBuffer> _sender; - private final AmqpProtocolVersion _defaultSupportedReply; + private final Protocol _defaultSupportedReply; private volatile ServerProtocolEngine _delegate = new SelfDelegateProtocolEngine(); public MultiVersionProtocolEngine(final Broker broker, SSLContext sslContext, boolean wantClientAuth, boolean needClientAuth, - final Set<AmqpProtocolVersion> supported, - final AmqpProtocolVersion defaultSupportedReply, + final Set<Protocol> supported, + final Protocol defaultSupportedReply, Port port, Transport transport, final long id, ProtocolEngineCreator[] creators) { if(defaultSupportedReply != null && !supported.contains(defaultSupportedReply)) @@ -307,7 +308,7 @@ public class MultiVersionProtocolEngine implements ServerProtocolEngine ServerProtocolEngine newDelegate = null; byte[] supportedReplyBytes = null; byte[] defaultSupportedReplyBytes = null; - AmqpProtocolVersion supportedReplyVersion = null; + Protocol supportedReplyVersion = null; //Check the supported versions for a header match, and if there is one save the //delegate. Also save most recent supported version and associated reply header bytes diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java index 3742e6b3db..fcc96b8b22 100755 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java @@ -22,14 +22,16 @@ package org.apache.qpid.server.protocol; import java.util.ArrayList; import java.util.List; +import java.util.Set; +import java.util.concurrent.atomic.AtomicLong; + import javax.net.ssl.SSLContext; + import org.apache.qpid.protocol.ProtocolEngineFactory; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; - -import java.util.Set; -import java.util.concurrent.atomic.AtomicLong; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.server.plugin.QpidServiceLoader; @@ -39,8 +41,8 @@ public class MultiVersionProtocolEngineFactory implements ProtocolEngineFactory private static final AtomicLong ID_GENERATOR = new AtomicLong(0); private final Broker _broker; - private final Set<AmqpProtocolVersion> _supported; - private final AmqpProtocolVersion _defaultSupportedReply; + private final Set<Protocol> _supported; + private final Protocol _defaultSupportedReply; private final SSLContext _sslContext; private final boolean _wantClientAuth; private final boolean _needClientAuth; @@ -52,8 +54,8 @@ public class MultiVersionProtocolEngineFactory implements ProtocolEngineFactory SSLContext sslContext, boolean wantClientAuth, boolean needClientAuth, - final Set<AmqpProtocolVersion> supportedVersions, - final AmqpProtocolVersion defaultSupportedReply, + final Set<Protocol> supportedVersions, + final Protocol defaultSupportedReply, Port port, Transport transport) { diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java index b72b4fb6dc..0800dcbb57 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java @@ -75,6 +75,7 @@ import org.apache.qpid.server.model.ManagedAttributeField; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.QueueNotificationListener; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.protocol.AMQConnectionModel; import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.security.SecurityManager; @@ -242,8 +243,8 @@ public abstract class AbstractQueue Map<String, Object> attributes, QueueEntryListFactory entryListFactory) { - super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(org.apache.qpid.server.model.VirtualHost.class, (org.apache.qpid.server.model.VirtualHost)virtualHost), - Collections.<String,Object>emptyMap(), attributes, virtualHost.getTaskExecutor()); + super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(VirtualHost.class, virtualHost), + attributes, virtualHost.getTaskExecutor()); _entries = entryListFactory.createQueueEntryList(this); _virtualHost = virtualHost; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java index 822245f1a8..b26f8e28cf 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java @@ -118,7 +118,7 @@ public class FileKeyStore extends AbstractConfiguredObject<FileKeyStore> impleme public FileKeyStore(UUID id, Broker<?> broker, Map<String, Object> attributes) { super(Collections.<Class<? extends ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, broker), - Collections.<String,Object>emptyMap(), combineIdWithAttributes(id, attributes), + combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); _broker = broker; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java index adc187bd38..694d67b915 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java @@ -105,7 +105,7 @@ public class FileTrustStore extends AbstractConfiguredObject<FileTrustStore> imp public FileTrustStore(UUID id, Broker<?> broker, Map<String, Object> attributes) { super(Collections.<Class<? extends ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, broker), - Collections.<String,Object>emptyMap(), combineIdWithAttributes(id, attributes), + combineIdWithAttributes(id, attributes), broker.getTaskExecutor()); _broker = broker; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java index 928dacdfdd..a3e88031b2 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java @@ -61,11 +61,10 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica private AtomicReference<State> _state = new AtomicReference<State>(State.INITIALISING); protected AbstractAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { super(Collections.<Class<? extends ConfiguredObject>, ConfiguredObject<?>>singletonMap(Broker.class, broker), - defaults, attributes, broker.getTaskExecutor()); + attributes, broker.getTaskExecutor()); _broker = broker; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManager.java index d27951bb61..4b999446bf 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManager.java @@ -51,10 +51,9 @@ public class AnonymousAuthenticationManager extends AbstractAuthenticationManage private static final AuthenticationResult ANONYMOUS_AUTHENTICATION = new AuthenticationResult(ANONYMOUS_PRINCIPAL); protected AnonymousAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } @Override diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerFactory.java index ee3dcbbcc0..0d034ed7c9 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerFactory.java @@ -54,7 +54,7 @@ public class AnonymousAuthenticationManagerFactory extends AbstractConfiguredObj public AnonymousAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new AnonymousAuthenticationManager(getParent(Broker.class,parents), Collections.<String,Object>emptyMap(),attributes); + return new AnonymousAuthenticationManager(getParent(Broker.class,parents), attributes); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java index fadd74f837..23e50ee52b 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordDatabaseAuthenticationManager.java @@ -20,18 +20,13 @@ */ package org.apache.qpid.server.security.auth.manager; -import org.apache.qpid.server.configuration.updater.TaskExecutor; +import java.util.Map; + import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.security.auth.database.Base64MD5PasswordFilePrincipalDatabase; -import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase; import org.apache.qpid.server.security.auth.database.PrincipalDatabase; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Map; - @ManagedObject( category = false, type = "Base64MD5PasswordFile" ) public class Base64MD5PasswordDatabaseAuthenticationManager extends PrincipalDatabaseAuthenticationManager<Base64MD5PasswordDatabaseAuthenticationManager> @@ -39,11 +34,9 @@ public class Base64MD5PasswordDatabaseAuthenticationManager protected Base64MD5PasswordDatabaseAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, - final Map<String, Object> attributes, - final boolean recovering) + final Map<String, Object> attributes) { - super(broker, defaults, attributes,recovering); + super(broker, attributes); } @Override diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java index 4803ade567..10ecc68500 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java @@ -66,7 +66,7 @@ public class Base64MD5PasswordFileAuthenticationManagerFactory extends AbstractA public Base64MD5PasswordDatabaseAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new Base64MD5PasswordDatabaseAuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(),attributes,false); + return new Base64MD5PasswordDatabaseAuthenticationManager(getParent(Broker.class, parents), attributes); } @Override @@ -78,9 +78,8 @@ public class Base64MD5PasswordFileAuthenticationManagerFactory extends AbstractA attributes.put(ConfiguredObject.ID, record.getId()); final Base64MD5PasswordDatabaseAuthenticationManager authenticationManager = new Base64MD5PasswordDatabaseAuthenticationManager(getParent(Broker.class, parents), - Collections.<String, Object>emptyMap(), - attributes, - true); + attributes + ); return ResolvedObject.newInstance(authenticationManager); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManager.java index 48ac5885a7..e7d64d77f8 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManager.java @@ -24,7 +24,6 @@ import java.util.Map; import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; -import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedAttribute; import org.apache.qpid.server.model.ManagedAttributeField; @@ -42,10 +41,9 @@ public class ExternalAuthenticationManager extends AbstractAuthenticationManager private boolean _useFullDN; protected ExternalAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerFactory.java index 30097e5987..1285a79211 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerFactory.java @@ -60,7 +60,7 @@ public class ExternalAuthenticationManagerFactory extends AbstractAuthentication public ExternalAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new ExternalAuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(),attributes); + return new ExternalAuthenticationManager(getParent(Broker.class, parents), attributes); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java index 750b15e17a..6a00fd4306 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.security.Principal; import java.util.HashMap; import java.util.Map; + import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; @@ -30,7 +31,6 @@ import javax.security.sasl.Sasl; import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; -import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.security.auth.AuthenticationResult; @@ -43,10 +43,9 @@ public class KerberosAuthenticationManager extends AbstractAuthenticationManager private final CallbackHandler _callbackHandler = new GssApiCallbackHandler(); protected KerberosAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManagerFactory.java index 4a8ffda997..21d7b21a9d 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManagerFactory.java @@ -52,7 +52,7 @@ public class KerberosAuthenticationManagerFactory extends AbstractAuthentication public KerberosAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new KerberosAuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(), attributes); + return new KerberosAuthenticationManager(getParent(Broker.class, parents), attributes); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java index b53b66464a..8db0cdf774 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordDatabaseAuthenticationManager.java @@ -20,21 +20,20 @@ */ package org.apache.qpid.server.security.auth.manager; +import java.util.Map; + import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase; import org.apache.qpid.server.security.auth.database.PrincipalDatabase; -import java.util.Map; - @ManagedObject( category = false, type = "PlainPasswordFile" ) public class PlainPasswordDatabaseAuthenticationManager extends PrincipalDatabaseAuthenticationManager<PlainPasswordDatabaseAuthenticationManager> { protected PlainPasswordDatabaseAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, - final Map<String, Object> attributes, final boolean recovering) + final Map<String, Object> attributes) { - super(broker, defaults, attributes,recovering); + super(broker, attributes); } @Override diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java index 305bf6dcac..9667c1e124 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java @@ -68,7 +68,7 @@ public class PlainPasswordFileAuthenticationManagerFactory extends AbstractAuthe public PlainPasswordDatabaseAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new PlainPasswordDatabaseAuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(),attributes,false); + return new PlainPasswordDatabaseAuthenticationManager(getParent(Broker.class, parents), attributes); } @Override @@ -80,9 +80,8 @@ public class PlainPasswordFileAuthenticationManagerFactory extends AbstractAuthe attributes.put(ConfiguredObject.ID, record.getId()); PlainPasswordDatabaseAuthenticationManager authManager = new PlainPasswordDatabaseAuthenticationManager( getParent(Broker.class, parents), - Collections.<String, Object>emptyMap(), - attributes, - true); + attributes + ); return ResolvedObject.newInstance(authManager); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java index f681565767..354ae2c70c 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java @@ -59,11 +59,9 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal private String _path; protected PrincipalDatabaseAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, - final Map<String, Object> attributes, - boolean recovering) + final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } @Override diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java index 02fe989e56..a1dcf4e7f2 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManager.java @@ -20,25 +20,6 @@ */ package org.apache.qpid.server.security.auth.manager; -import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer; -import org.apache.qpid.server.configuration.RecovererProvider; -import org.apache.qpid.server.configuration.updater.ChangeAttributesTask; -import org.apache.qpid.server.configuration.updater.TaskExecutor; -import org.apache.qpid.server.model.*; -import org.apache.qpid.server.model.AbstractConfiguredObject; -import org.apache.qpid.server.security.SecurityManager; -import org.apache.qpid.server.security.access.Operation; -import org.apache.qpid.server.security.auth.AuthenticationResult; -import org.apache.qpid.server.security.auth.UsernamePrincipal; -import org.apache.qpid.server.security.auth.sasl.scram.ScramSHA1SaslServer; -import org.apache.qpid.server.store.ConfiguredObjectRecord; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.security.auth.login.AccountNotFoundException; -import javax.security.sasl.SaslException; -import javax.security.sasl.SaslServer; -import javax.xml.bind.DatatypeConverter; import java.io.IOException; import java.nio.charset.Charset; import java.security.AccessControlException; @@ -55,6 +36,33 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import javax.security.auth.login.AccountNotFoundException; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; +import javax.xml.bind.DatatypeConverter; + +import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer; +import org.apache.qpid.server.configuration.RecovererProvider; +import org.apache.qpid.server.configuration.updater.ChangeAttributesTask; +import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.model.AbstractConfiguredObject; +import org.apache.qpid.server.model.AuthenticationProvider; +import org.apache.qpid.server.model.Broker; +import org.apache.qpid.server.model.ConfiguredObject; +import org.apache.qpid.server.model.LifetimePolicy; +import org.apache.qpid.server.model.ManagedObject; +import org.apache.qpid.server.model.PasswordCredentialManagingAuthenticationProvider; +import org.apache.qpid.server.model.PreferencesProvider; +import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.User; +import org.apache.qpid.server.security.SecurityManager; +import org.apache.qpid.server.security.access.Operation; +import org.apache.qpid.server.security.auth.AuthenticationResult; +import org.apache.qpid.server.security.auth.UsernamePrincipal; +import org.apache.qpid.server.security.auth.sasl.scram.ScramSHA1SaslServer; + @ManagedObject( category = false, type = "SCRAM-SHA1" ) public class ScramSHA1AuthenticationManager extends AbstractAuthenticationManager<ScramSHA1AuthenticationManager> @@ -70,10 +78,9 @@ public class ScramSHA1AuthenticationManager protected ScramSHA1AuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } @Override @@ -435,7 +442,6 @@ public class ScramSHA1AuthenticationManager protected ScramAuthUser(final Map<String, Object> attributes, ScramSHA1AuthenticationManager parent) { super(parentsMap(parent), - Collections.<String,Object>emptyMap(), attributes, parent.getTaskExecutor()); _authenticationManager = parent; if(!ASCII.newEncoder().canEncode(getName())) diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerFactory.java index ab3846cc01..0e6fcde394 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerFactory.java @@ -60,7 +60,7 @@ public class ScramSHA1AuthenticationManagerFactory extends AbstractAuthenticatio public ScramSHA1AuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new ScramSHA1AuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(),attributes); + return new ScramSHA1AuthenticationManager(getParent(Broker.class, parents), attributes); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManager.java index 2d5211011c..0f5218dbda 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManager.java @@ -55,10 +55,9 @@ public class SimpleAuthenticationManager extends AbstractAuthenticationManager<S private final Map<String, String> _users = Collections.synchronizedMap(new HashMap<String, String>()); public SimpleAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, defaults, attributes); + super(broker, attributes); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManager.java index 8162c664b9..259780f4ee 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManager.java @@ -24,7 +24,6 @@ import java.security.GeneralSecurityException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.Principal; -import java.util.HashMap; import java.util.Hashtable; import java.util.Map; @@ -46,7 +45,7 @@ import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; import org.apache.log4j.Logger; -import org.apache.qpid.server.configuration.updater.TaskExecutor; + import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ManagedAttribute; import org.apache.qpid.server.model.ManagedAttributeField; @@ -98,22 +97,11 @@ public class SimpleLDAPAuthenticationManager extends AbstractAuthenticationManag private Class<? extends SocketFactory> _sslSocketFactoryOverrideClass; protected SimpleLDAPAuthenticationManager(final Broker broker, - final Map<String, Object> defaults, final Map<String, Object> attributes) { - super(broker, createDefaults(defaults, attributes), attributes); + super(broker, attributes); } - private static Map<String, Object> createDefaults(final Map<String, Object> defaults, - final Map<String, Object> attributes) - { - final Map<String, Object> newDefaults = new HashMap<String, Object>(defaults); - if(!defaults.containsKey("providerAuthUrl") && attributes.containsKey("providerUrl")) - { - newDefaults.put("providerAuthUrl", attributes.get("providerUrl")); - } - return newDefaults; - } @Override public void initialise() @@ -238,7 +226,8 @@ public class SimpleLDAPAuthenticationManager extends AbstractAuthenticationManag return new AuthenticationResult(AuthenticationStatus.CONTINUE); } - Hashtable<String, Object> env = createInitialDirContextEnvironment(_providerAuthUrl); + String providerAuthUrl = _providerAuthUrl == null ? _providerUrl : _providerAuthUrl; + Hashtable<String, Object> env = createInitialDirContextEnvironment(providerAuthUrl); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, name); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactory.java index 34b630e2bf..79c7e71255 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactory.java @@ -74,7 +74,7 @@ public class SimpleLDAPAuthenticationManagerFactory extends AbstractAuthenticati public SimpleLDAPAuthenticationManager createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return new SimpleLDAPAuthenticationManager(getParent(Broker.class, parents), Collections.<String,Object>emptyMap(),attributes); + return new SimpleLDAPAuthenticationManager(getParent(Broker.class, parents), attributes); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java index 377becf9ee..1ed461300b 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java @@ -20,20 +20,21 @@ */ package org.apache.qpid.server.transport; +import static org.apache.qpid.transport.ConnectionSettings.WILDCARD_ADDRESS; + +import java.net.InetSocketAddress; +import java.util.Set; + +import javax.net.ssl.SSLContext; + import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.protocol.MultiVersionProtocolEngineFactory; import org.apache.qpid.transport.NetworkTransportConfiguration; import org.apache.qpid.transport.network.IncomingNetworkTransport; -import javax.net.ssl.SSLContext; -import java.net.InetSocketAddress; -import java.util.Set; - -import static org.apache.qpid.transport.ConnectionSettings.WILDCARD_ADDRESS; - class TCPandSSLTransport implements AcceptingTransport { private IncomingNetworkTransport _networkTransport; @@ -41,14 +42,14 @@ class TCPandSSLTransport implements AcceptingTransport private SSLContext _sslContext; private InetSocketAddress _bindingSocketAddress; private Port<?> _port; - private Set<AmqpProtocolVersion> _supported; - private AmqpProtocolVersion _defaultSupportedProtocolReply; + private Set<Protocol> _supported; + private Protocol _defaultSupportedProtocolReply; TCPandSSLTransport(final Set<Transport> transports, final SSLContext sslContext, final Port<?> port, - final Set<AmqpProtocolVersion> supported, - final AmqpProtocolVersion defaultSupportedProtocolReply) + final Set<Protocol> supported, + final Protocol defaultSupportedProtocolReply) { _transports = transports; _sslContext = sslContext; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java index 33c7774a29..7c7d0ea9e6 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java @@ -20,12 +20,13 @@ */ package org.apache.qpid.server.transport; -import org.apache.qpid.server.model.Port; -import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; +import java.util.Set; import javax.net.ssl.SSLContext; -import java.util.Set; + +import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; +import org.apache.qpid.server.model.Transport; class TCPandSSLTransportProvider implements TransportProvider { @@ -33,8 +34,8 @@ class TCPandSSLTransportProvider implements TransportProvider public AcceptingTransport createTransport(final Set<Transport> transports, final SSLContext sslContext, final Port port, - final Set<AmqpProtocolVersion> supported, - final AmqpProtocolVersion defaultSupportedProtocolReply) + final Set<Protocol> supported, + final Protocol defaultSupportedProtocolReply) { return new TCPandSSLTransport(transports, sslContext, port, supported, defaultSupportedProtocolReply); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java index 86b1e31727..04b4b44c2e 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java @@ -20,19 +20,19 @@ */ package org.apache.qpid.server.transport; -import org.apache.qpid.server.model.Port; -import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; +import java.util.Set; import javax.net.ssl.SSLContext; -import java.net.InetSocketAddress; -import java.util.Set; + +import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; +import org.apache.qpid.server.model.Transport; public interface TransportProvider { AcceptingTransport createTransport(Set<Transport> transports, SSLContext sslContext, Port port, - Set<AmqpProtocolVersion> supported, - AmqpProtocolVersion defaultSupportedProtocolReply); + Set<Protocol> supported, + Protocol defaultSupportedProtocolReply); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java index 0c1016f012..9ae03433cc 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java @@ -167,7 +167,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte public AbstractVirtualHost(final Map<String, Object> attributes, Broker<?> broker) { super(parentsMap(broker), - Collections.<String,Object>emptyMap(), enhanceWithId(attributes), broker.getTaskExecutor()); _broker = broker; _dtxRegistry = new DtxRegistry(); @@ -250,7 +249,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte { for(Port port :_broker.getPorts()) { - if (Protocol.hasAmqpProtocol(port.getProtocols())) + if (Protocol.hasAmqpProtocol(port.getAvailableProtocols())) { _aliases.add(new VirtualHostAliasAdapter(this, port)); } @@ -1480,13 +1479,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte return super.getAttribute(name); } - - Object getAttribute(String name, String brokerAttributeName) - { - return getAttribute(name, _broker, brokerAttributeName); - } - - @Override public Collection<String> getAttributeNames() { diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java index 3eeff61ca9..1bf7f4f0a3 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java @@ -89,10 +89,12 @@ public class PortFactoryTest extends QpidTestCase { Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.PORT, 1); + attributes.put(Port.NAME, getName()); + attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName); - Port port = _portFactory.createPort(_portId, _broker, attributes); + Port<?> port = _portFactory.createPort(_portId, _broker, attributes); - Collection<Protocol> protocols = port.getProtocols(); + Collection<Protocol> protocols = port.getAvailableProtocols(); EnumSet<Protocol> expected = EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10, Protocol.AMQP_1_0); @@ -106,10 +108,11 @@ public class PortFactoryTest extends QpidTestCase Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.PORT, 1); + attributes.put(Port.NAME, getName()); attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName); - Port port = _portFactory.createPort(_portId, _broker, attributes); + Port<?> port = _portFactory.createPort(_portId, _broker, attributes); - Collection<Protocol> protocols = port.getProtocols(); + Collection<Protocol> protocols = port.getAvailableProtocols(); EnumSet<Protocol> expected = EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1); assertEquals("Unexpected protocols", new HashSet<Protocol>(expected), new HashSet<Protocol>(protocols)); @@ -124,10 +127,11 @@ public class PortFactoryTest extends QpidTestCase Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.PORT, 1); + attributes.put(Port.NAME, getName()); attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName); - Port port = _portFactory.createPort(_portId, _broker, attributes); + Port<?> port = _portFactory.createPort(_portId, _broker, attributes); - Collection<Protocol> protocols = port.getProtocols(); + Collection<Protocol> protocols = port.getAvailableProtocols(); EnumSet<Protocol> expected = EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10); assertEquals("Unexpected protocols", new HashSet<Protocol>(expected), new HashSet<Protocol>(protocols)); @@ -137,6 +141,7 @@ public class PortFactoryTest extends QpidTestCase { Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.PORT, 1); + attributes.put(Port.NAME, getName()); attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName); Port port = _portFactory.createPort(_portId, _broker, attributes); @@ -145,7 +150,7 @@ public class PortFactoryTest extends QpidTestCase assertEquals("Unexpected port", 1, port.getPort()); assertEquals("Unexpected transports", Collections.singleton(PortFactory.DEFAULT_TRANSPORT), port.getTransports()); assertEquals("Unexpected protocols", EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10, - Protocol.AMQP_1_0), port.getProtocols()); + Protocol.AMQP_1_0), port.getAvailableProtocols()); assertEquals("Unexpected send buffer size", PortFactory.DEFAULT_AMQP_SEND_BUFFER_SIZE, port.getAttribute(Port.SEND_BUFFER_SIZE)); assertEquals("Unexpected receive buffer size", PortFactory.DEFAULT_AMQP_RECEIVE_BUFFER_SIZE, @@ -291,7 +296,7 @@ public class PortFactoryTest extends QpidTestCase { assertEquals(_tcpTransports, port.getTransports()); } - assertEquals(amqp010ProtocolSet, port.getProtocols()); + assertEquals(amqp010ProtocolSet, port.getAvailableProtocols()); assertEquals("Unexpected send buffer size", 2, port.getAttribute(Port.SEND_BUFFER_SIZE)); assertEquals("Unexpected receive buffer size", 1, port.getAttribute(Port.RECEIVE_BUFFER_SIZE)); assertEquals("Unexpected need client auth", needClientAuth, port.getAttribute(Port.NEED_CLIENT_AUTH)); @@ -318,13 +323,12 @@ public class PortFactoryTest extends QpidTestCase assertEquals(_portId, port.getId()); assertEquals(_portNumber, port.getPort()); assertEquals(_tcpTransports, port.getTransports()); - assertEquals(nonAmqpProtocolSet, port.getProtocols()); + assertEquals(nonAmqpProtocolSet, port.getAvailableProtocols()); assertNull("Unexpected send buffer size", port.getAttribute(Port.SEND_BUFFER_SIZE)); assertNull("Unexpected receive buffer size", port.getAttribute(Port.RECEIVE_BUFFER_SIZE)); assertNull("Unexpected need client auth", port.getAttribute(Port.NEED_CLIENT_AUTH)); assertNull("Unexpected want client auth", port.getAttribute(Port.WANT_CLIENT_AUTH)); assertNull("Unexpected tcp no delay", port.getAttribute(Port.TCP_NO_DELAY)); - assertNull("Unexpected binding", port.getAttribute(Port.BINDING_ADDRESS)); } public void testCreateNonAmqpPortWithPartiallySetAttributes() @@ -344,13 +348,12 @@ public class PortFactoryTest extends QpidTestCase assertEquals(_portId, port.getId()); assertEquals(_portNumber, port.getPort()); assertEquals(Collections.singleton(PortFactory.DEFAULT_TRANSPORT), port.getTransports()); - assertEquals(nonAmqpProtocolSet, port.getProtocols()); + assertEquals(nonAmqpProtocolSet, port.getAvailableProtocols()); assertNull("Unexpected send buffer size", port.getAttribute(Port.SEND_BUFFER_SIZE)); assertNull("Unexpected receive buffer size", port.getAttribute(Port.RECEIVE_BUFFER_SIZE)); assertNull("Unexpected need client auth", port.getAttribute(Port.NEED_CLIENT_AUTH)); assertNull("Unexpected want client auth", port.getAttribute(Port.WANT_CLIENT_AUTH)); assertNull("Unexpected tcp no delay", port.getAttribute(Port.TCP_NO_DELAY)); - assertNull("Unexpected binding", port.getAttribute(Port.BINDING_ADDRESS)); } public void testCreateMixedAmqpAndNonAmqpThrowsException() @@ -378,7 +381,7 @@ public class PortFactoryTest extends QpidTestCase attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.RMI)); Port rmiPort = mock(Port.class); - when(rmiPort.getProtocols()).thenReturn(Collections.singleton(Protocol.RMI)); + when(rmiPort.getAvailableProtocols()).thenReturn(Collections.singleton(Protocol.RMI)); when(_broker.getPorts()).thenReturn(Collections.singletonList(rmiPort)); try diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java index 23267de59d..cf97e0296c 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java @@ -31,7 +31,6 @@ import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.security.auth.AuthenticationResult; import org.apache.qpid.test.utils.QpidTestCase; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -47,7 +46,7 @@ public class AnonymousAuthenticationManagerTest extends QpidTestCase Map<String,Object> attrs = new HashMap<String, Object>(); attrs.put(AuthenticationProvider.ID, UUID.randomUUID()); attrs.put(AuthenticationProvider.NAME, getTestName()); - _manager = new AnonymousAuthenticationManager(mock(Broker.class), Collections.<String,Object>emptyMap(), attrs); + _manager = new AnonymousAuthenticationManager(mock(Broker.class), attrs); } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java index 7ae4ad1bed..c450d4970b 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java @@ -21,7 +21,6 @@ package org.apache.qpid.server.security.auth.manager; import static org.apache.qpid.server.security.auth.AuthenticatedPrincipalTestHelper.assertOnlyContainsWrapped; import static org.mockito.Mockito.mock; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -49,13 +48,13 @@ public class ExternalAuthenticationManagerTest extends QpidTestCase attrs.put(AuthenticationProvider.ID, UUID.randomUUID()); attrs.put(AuthenticationProvider.NAME, getTestName()); attrs.put("useFullDN",false); - _manager = new ExternalAuthenticationManager(mock(Broker.class), Collections.<String,Object>emptyMap(), attrs); + _manager = new ExternalAuthenticationManager(mock(Broker.class), attrs); _manager.open(); HashMap<String, Object> attrsFullDN = new HashMap<String, Object>(); attrsFullDN.put(AuthenticationProvider.ID, UUID.randomUUID()); attrsFullDN.put(AuthenticationProvider.NAME, getTestName()+"FullDN"); attrsFullDN.put("useFullDN",true); - _managerUsingFullDN = new ExternalAuthenticationManager(mock(Broker.class), Collections.<String,Object>emptyMap(), attrsFullDN); + _managerUsingFullDN = new ExternalAuthenticationManager(mock(Broker.class), attrsFullDN); _managerUsingFullDN.open(); } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java index 35c4977fff..e373ada4c2 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java @@ -28,7 +28,6 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.security.Principal; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -106,7 +105,7 @@ public class PrincipalDatabaseAuthenticationManagerTest extends QpidTestCase attrs.put(ConfiguredObject.ID, UUID.randomUUID()); attrs.put(ConfiguredObject.NAME, getTestName()); attrs.put("path", _passwordFileLocation); - _manager = new PrincipalDatabaseAuthenticationManager(mock(Broker.class), Collections.<String,Object>emptyMap(), attrs, recovering) + _manager = new PrincipalDatabaseAuthenticationManager(mock(Broker.class), attrs) { @Override protected PrincipalDatabase createDatabase() diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java index 7d8d6ad6e2..0e9dce39c7 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java @@ -58,7 +58,7 @@ public class ScramSHA1AuthenticationManagerTest extends QpidTestCase final Map<String, Object> attributesMap = new HashMap<String, Object>(); attributesMap.put(AuthenticationProvider.NAME, getTestName()); attributesMap.put(AuthenticationProvider.ID, UUID.randomUUID()); - _authManager = new ScramSHA1AuthenticationManager(_broker, Collections.<String,Object>emptyMap(),attributesMap); + _authManager = new ScramSHA1AuthenticationManager(_broker, attributesMap); } @Override diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java index c148e2951d..8464b2f175 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java @@ -21,7 +21,6 @@ package org.apache.qpid.server.security.auth.manager; import java.security.Principal; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -52,7 +51,8 @@ public class SimpleAuthenticationManagerTest extends QpidTestCase Map<String,Object> authManagerAttrs = new HashMap<String, Object>(); authManagerAttrs.put(AuthenticationProvider.NAME,"MANAGEMENT_MODE_AUTHENTICATION"); authManagerAttrs.put(AuthenticationProvider.ID, UUID.randomUUID()); - final SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(mock(Broker.class), Collections.<String,Object>emptyMap(),authManagerAttrs); + final SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(mock(Broker.class), + authManagerAttrs); authManager.addUser(TEST_USER, TEST_PASSWORD); _authenticationManager = authManager; diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMessageMetaDataType.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMessageMetaDataType.java index e5c94cf66b..e16ba66391 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMessageMetaDataType.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMessageMetaDataType.java @@ -26,12 +26,12 @@ import org.apache.qpid.server.message.AMQMessageHeader; import org.apache.qpid.server.message.MessageReference; import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.plugin.MessageMetaDataType; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; public class TestMessageMetaDataType implements MessageMetaDataType<TestMessageMetaData> { //largest metadata type value the BDBMessageStore can store (it uses a byte) private static final byte TYPE = 7; + public static final String V0_8 = "v0_8"; @Override public int ordinal() @@ -64,7 +64,7 @@ public class TestMessageMetaDataType implements MessageMetaDataType<TestMessageM @Override public String getType() { - return AmqpProtocolVersion.v0_8.toString(); + return V0_8; } diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.java index 0c7361de90..382f8d8efd 100644 --- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.java +++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.java @@ -54,7 +54,7 @@ public class ACLFileAccessControlProvider Map<String, Object> attributes) { super(Collections.<Class<? extends ConfiguredObject>,ConfiguredObject<?>>singletonMap(Broker.class, broker), - Collections.<String,Object>emptyMap(), attributes, broker.getTaskExecutor()); + attributes, broker.getTaskExecutor()); _broker = broker; diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaDataType_0_10.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaDataType_0_10.java index 90fb443f5b..56c7a358c0 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaDataType_0_10.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaDataType_0_10.java @@ -21,15 +21,16 @@ package org.apache.qpid.server.protocol.v0_10; import java.nio.ByteBuffer; + import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.plugin.MessageMetaDataType; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.store.StoredMessage; public class MessageMetaDataType_0_10 implements MessageMetaDataType<MessageMetaData_0_10> { public static final int TYPE = 1; + public static final String V0_10 = "v0_10"; @Override public int ordinal() @@ -62,6 +63,6 @@ public class MessageMetaDataType_0_10 implements MessageMetaDataType<MessageMeta @Override public String getType() { - return AmqpProtocolVersion.v0_10.toString(); + return V0_10; } } 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 ab50a33b9b..7eab526a17 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 @@ -22,11 +22,12 @@ package org.apache.qpid.server.protocol.v0_10; import java.net.InetSocketAddress; import java.net.SocketAddress; + import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.ConnectionDelegate; import org.apache.qpid.transport.network.NetworkConnection; @@ -50,9 +51,9 @@ public class ProtocolEngineCreator_0_10 implements ProtocolEngineCreator { } - public AmqpProtocolVersion getVersion() + public Protocol getVersion() { - return AmqpProtocolVersion.v0_10; + return Protocol.AMQP_0_10; } diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaDataType_0_8.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaDataType_0_8.java index 9b50127ec7..dd91cb33b3 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaDataType_0_8.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageMetaDataType_0_8.java @@ -21,15 +21,16 @@ package org.apache.qpid.server.protocol.v0_8; import java.nio.ByteBuffer; + import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.plugin.MessageMetaDataType; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.store.StoredMessage; public class MessageMetaDataType_0_8 implements MessageMetaDataType<MessageMetaData> { public static final int TYPE = 0; + public static final String V0_8 = "v0_8"; @Override public int ordinal() @@ -62,6 +63,6 @@ public class MessageMetaDataType_0_8 implements MessageMetaDataType<MessageMetaD @Override public String getType() { - return AmqpProtocolVersion.v0_8.toString(); + return V0_8; } } diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java index 5ee56508d7..f0893078df 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_8.java @@ -23,8 +23,8 @@ package org.apache.qpid.server.protocol.v0_8; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.network.NetworkConnection; @@ -46,9 +46,9 @@ public class ProtocolEngineCreator_0_8 implements ProtocolEngineCreator { } - public AmqpProtocolVersion getVersion() + public Protocol getVersion() { - return AmqpProtocolVersion.v0_8; + return Protocol.AMQP_0_8; } public byte[] getHeaderIdentifier() diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java index 2a29348261..1cc5c7603c 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9.java @@ -23,8 +23,8 @@ package org.apache.qpid.server.protocol.v0_8; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.network.NetworkConnection; @@ -45,9 +45,9 @@ public class ProtocolEngineCreator_0_9 implements ProtocolEngineCreator { } - public AmqpProtocolVersion getVersion() + public Protocol getVersion() { - return AmqpProtocolVersion.v0_9; + return Protocol.AMQP_0_9; } diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java index dad6bef032..e51d74c87d 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ProtocolEngineCreator_0_9_1.java @@ -23,8 +23,8 @@ package org.apache.qpid.server.protocol.v0_8; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.network.NetworkConnection; @@ -46,9 +46,9 @@ public class ProtocolEngineCreator_0_9_1 implements ProtocolEngineCreator { } - public AmqpProtocolVersion getVersion() + public Protocol getVersion() { - return AmqpProtocolVersion.v0_9_1; + return Protocol.AMQP_0_9_1; } diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaDataType_1_0.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaDataType_1_0.java index 44b1de74e1..15f1d5cad4 100644 --- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaDataType_1_0.java +++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaDataType_1_0.java @@ -21,15 +21,16 @@ package org.apache.qpid.server.protocol.v1_0; import java.nio.ByteBuffer; + import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.plugin.MessageMetaDataType; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.store.StoredMessage; public class MessageMetaDataType_1_0 implements MessageMetaDataType<MessageMetaData_1_0> { public static final int TYPE = 2; + public static final String V1_0_0 = "v1_0_0"; @Override public int ordinal() @@ -62,6 +63,6 @@ public class MessageMetaDataType_1_0 implements MessageMetaDataType<MessageMetaD @Override public String getType() { - return AmqpProtocolVersion.v1_0_0.toString(); + return V1_0_0; } } diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngineCreator_1_0_0_SASL.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngineCreator_1_0_0_SASL.java index d3936782da..4b7a6d0e55 100644 --- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngineCreator_1_0_0_SASL.java +++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngineCreator_1_0_0_SASL.java @@ -23,8 +23,8 @@ package org.apache.qpid.server.protocol.v1_0; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.plugin.ProtocolEngineCreator; import org.apache.qpid.transport.network.NetworkConnection; @@ -45,9 +45,9 @@ public class ProtocolEngineCreator_1_0_0_SASL implements ProtocolEngineCreator { } - public AmqpProtocolVersion getVersion() + public Protocol getVersion() { - return AmqpProtocolVersion.v1_0_0; + return Protocol.AMQP_1_0; } 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 59c5a4428d..555c12037d 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 @@ -124,7 +124,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem public HttpManagement(UUID id, Broker broker, Map<String, Object> attributes) { - super(id, Collections.<String,Object>emptyMap(), attributes, broker); + super(id, attributes, broker); } @Override @@ -419,7 +419,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem Collection<Port> httpPorts = new HashSet<Port>(); for (Port port : ports) { - if (port.getProtocols().contains(Protocol.HTTP)) + if (port.getAvailableProtocols().contains(Protocol.HTTP)) { httpPorts.add(port); } diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java index 2d656a992a..e03633f026 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java @@ -24,7 +24,6 @@ package org.apache.qpid.server.jmx; import java.io.IOException; import java.lang.reflect.Type; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -89,7 +88,7 @@ public class JMXManagement extends AbstractPluginAdapter<JMXManagement> implemen public JMXManagement(UUID id, Broker broker, Map<String, Object> attributes) { - super(id, Collections.<String,Object>emptyMap(), attributes, broker); + super(id, attributes, broker); } @Override @@ -192,12 +191,12 @@ public class JMXManagement extends AbstractPluginAdapter<JMXManagement> implemen private boolean isConnectorPort(Port port) { - return port.getProtocols().contains(Protocol.JMX_RMI); + return port.getAvailableProtocols().contains(Protocol.JMX_RMI); } private boolean isRegistryPort(Port port) { - return port.getProtocols().contains(Protocol.RMI); + return port.getAvailableProtocols().contains(Protocol.RMI); } private void stop() diff --git a/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java b/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java index 83e7cff3bd..2b23efc95b 100644 --- a/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java +++ b/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java @@ -20,38 +20,37 @@ */ package org.apache.qpid.server.transport.websocket; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.ByteBuffer; +import java.security.Principal; +import java.security.cert.X509Certificate; +import java.util.Collections; +import java.util.Set; + +import javax.net.ssl.SSLContext; +import javax.servlet.http.HttpServletRequest; + +import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.nio.SelectChannelConnector; +import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; +import org.eclipse.jetty.util.ssl.SslContextFactory; +import org.eclipse.jetty.websocket.WebSocket; +import org.eclipse.jetty.websocket.WebSocketHandler; + import org.apache.qpid.protocol.ProtocolEngine; import org.apache.qpid.protocol.ProtocolEngineFactory; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.protocol.MultiVersionProtocolEngineFactory; import org.apache.qpid.server.transport.AcceptingTransport; import org.apache.qpid.server.util.ServerScopedRuntimeException; -import org.apache.qpid.transport.Binary; import org.apache.qpid.transport.Sender; import org.apache.qpid.transport.network.NetworkConnection; -import org.eclipse.jetty.server.Connector; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.nio.SelectChannelConnector; -import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; -import org.eclipse.jetty.server.ssl.SslSocketConnector; -import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.eclipse.jetty.websocket.WebSocket; -import org.eclipse.jetty.websocket.WebSocketHandler; - -import javax.net.ssl.SSLContext; -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.SocketAddress; -import java.nio.ByteBuffer; -import java.security.Principal; -import java.security.cert.X509Certificate; -import java.util.Arrays; -import java.util.Collections; -import java.util.Set; class WebSocketProvider implements AcceptingTransport { @@ -59,16 +58,16 @@ class WebSocketProvider implements AcceptingTransport private final Transport _transport; private final SSLContext _sslContext; private final Port<?> _port; - private final Set<AmqpProtocolVersion> _supported; - private final AmqpProtocolVersion _defaultSupportedProtocolReply; + private final Set<Protocol> _supported; + private final Protocol _defaultSupportedProtocolReply; private final ProtocolEngineFactory _factory; private Server _server; WebSocketProvider(final Transport transport, final SSLContext sslContext, final Port<?> port, - final Set<AmqpProtocolVersion> supported, - final AmqpProtocolVersion defaultSupportedProtocolReply) + final Set<Protocol> supported, + final Protocol defaultSupportedProtocolReply) { _transport = transport; _sslContext = sslContext; diff --git a/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java b/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java index 02d1100315..346e29e212 100644 --- a/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java +++ b/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java @@ -20,15 +20,16 @@ */ package org.apache.qpid.server.transport.websocket; +import java.util.Set; + +import javax.net.ssl.SSLContext; + import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Transport; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.transport.AcceptingTransport; import org.apache.qpid.server.transport.TransportProvider; -import javax.net.ssl.SSLContext; -import java.util.Set; - class WebSocketTransportProvider implements TransportProvider { public WebSocketTransportProvider() @@ -39,8 +40,8 @@ class WebSocketTransportProvider implements TransportProvider public AcceptingTransport createTransport(final Set<Transport> transports, final SSLContext sslContext, final Port port, - final Set<AmqpProtocolVersion> supported, - final AmqpProtocolVersion defaultSupportedProtocolReply) + final Set<Protocol> supported, + final Protocol defaultSupportedProtocolReply) { return new WebSocketProvider(transports.iterator().next(), sslContext, diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java index 74ef6ad0e0..e674cef2d0 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactoryTest.java @@ -27,10 +27,12 @@ import java.net.SocketAddress; import java.nio.ByteBuffer; import java.security.Principal; import java.util.EnumSet; +import java.util.Iterator; import java.util.Set; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; @@ -130,19 +132,19 @@ public class MultiVersionProtocolEngineFactoryTest extends QpidTestCase }; - private byte[] getAmqpHeader(final AmqpProtocolVersion version) + private byte[] getAmqpHeader(final Protocol version) { switch(version) { - case v0_8: + case AMQP_0_8: return AMQP_0_8_HEADER; - case v0_9: + case AMQP_0_9: return AMQP_0_9_HEADER; - case v0_9_1: + case AMQP_0_9_1: return AMQP_0_9_1_HEADER; - case v0_10: + case AMQP_0_10: return AMQP_0_10_HEADER; - case v1_0_0: + case AMQP_1_0: return AMQP_1_0_0_HEADER; default: fail("unknown AMQP version, appropriate header must be added for new protocol version"); @@ -156,10 +158,10 @@ public class MultiVersionProtocolEngineFactoryTest extends QpidTestCase */ public void testDifferentProtocolVersionsShareCommonIDNumberingSequence() { - Set<AmqpProtocolVersion> versions = EnumSet.allOf(AmqpProtocolVersion.class); + Set<Protocol> protocols = getAllAMQPProtocols(); MultiVersionProtocolEngineFactory factory = - new MultiVersionProtocolEngineFactory(_broker, null, false, false, versions, null, null, + new MultiVersionProtocolEngineFactory(_broker, null, false, false, protocols, null, null, org.apache.qpid.server.model.Transport.TCP); //create a dummy to retrieve the 'current' ID number @@ -167,10 +169,10 @@ public class MultiVersionProtocolEngineFactoryTest extends QpidTestCase //create a protocol engine and send the AMQP header for all supported AMQP verisons, //ensuring the ID assigned increases as expected - for(AmqpProtocolVersion version : versions) + for(Protocol protocol : protocols) { long expectedID = previousId + 1; - byte[] header = getAmqpHeader(version); + byte[] header = getAmqpHeader(protocol); assertNotNull("protocol header should not be null", header); ServerProtocolEngine engine = factory.newProtocolEngine(); @@ -187,18 +189,33 @@ public class MultiVersionProtocolEngineFactoryTest extends QpidTestCase } } + protected Set<Protocol> getAllAMQPProtocols() + { + Set<Protocol> protocols = EnumSet.allOf(Protocol.class); + Iterator<Protocol> protoIter = protocols.iterator(); + while(protoIter.hasNext()) + { + Protocol protocol = protoIter.next(); + if(protocol.getProtocolType() != Protocol.ProtocolType.AMQP) + { + protoIter.remove(); + } + } + return protocols; + } + /** * Test to verify that when requesting a ProtocolEngineFactory to produce engines having a default reply to unsupported * version initiations, there is enforcement that the default reply is itself a supported protocol version. */ public void testUnsupportedDefaultReplyCausesIllegalArgumentException() { - Set<AmqpProtocolVersion> versions = EnumSet.allOf(AmqpProtocolVersion.class); - versions.remove(AmqpProtocolVersion.v0_9); + Set<Protocol> versions = getAllAMQPProtocols(); + versions.remove(Protocol.AMQP_0_9); try { - new MultiVersionProtocolEngineFactory(_broker, null, false, false, versions, AmqpProtocolVersion.v0_9, null, + new MultiVersionProtocolEngineFactory(_broker, null, false, false, versions, Protocol.AMQP_0_9, null, org.apache.qpid.server.model.Transport.TCP); fail("should not have been allowed to create the factory"); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java index dd7444a0d5..1584dc6e46 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java @@ -40,7 +40,6 @@ import org.apache.qpid.server.model.Exchange; import org.apache.qpid.server.model.ExclusivityPolicy; import org.apache.qpid.server.model.LifetimePolicy; import org.apache.qpid.server.model.Port; -import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHost; @@ -266,17 +265,8 @@ public class Asserts @SuppressWarnings("unchecked") Collection<String> protocols = (Collection<String>) port.get(Port.PROTOCOLS); - assertNotNull("Unexpected value of attribute " + Port.PROTOCOLS, protocols); - boolean isAMQPPort = false; - for (String protocolName : protocols) - { - if (Protocol.valueOf(protocolName).isAMQP()) - { - isAMQPPort = true; - break; - } - } - if (isAMQPPort) + + if ("AMQP".equals(port.get(ConfiguredObject.TYPE))) { assertAttributesPresent(port, AbstractConfiguredObject.getAttributeNames(Port.class), @@ -289,7 +279,8 @@ public class Asserts ConfiguredObject.CONTEXT, Port.AUTHENTICATION_PROVIDER, Port.KEY_STORE, - Port.TRUST_STORES); + Port.TRUST_STORES, + Port.PROTOCOLS); assertNotNull("Unexpected value of attribute " + Port.BINDING_ADDRESS, port.get(Port.BINDING_ADDRESS)); } else @@ -311,7 +302,8 @@ public class Asserts Port.NEED_CLIENT_AUTH, Port.WANT_CLIENT_AUTH, Port.KEY_STORE, - Port.TRUST_STORES); + Port.TRUST_STORES, + Port.PROTOCOLS); } @SuppressWarnings("unchecked") diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java index 1b0d340fcc..20005d4f47 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java @@ -88,7 +88,7 @@ public class BrokerRestTest extends QpidRestTestCase @SuppressWarnings("unchecked") Collection<String> port1Protocols = (Collection<String>) amqpPort.get(Port.PROTOCOLS); - assertFalse("AMQP protocol list cannot contain HTTP", port1Protocols.contains("HTTP")); + assertFalse("AMQP protocol list cannot contain HTTP", port1Protocols != null && port1Protocols.contains("HTTP")); @SuppressWarnings("unchecked") Collection<String> port2Protocols = (Collection<String>) httpPort.get(Port.PROTOCOLS); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java index 040774b5ff..8dcf3b9010 100755 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java @@ -63,8 +63,8 @@ import org.apache.qpid.server.Broker; import org.apache.qpid.server.BrokerOptions; import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.VirtualHost; -import org.apache.qpid.server.protocol.AmqpProtocolVersion; import org.apache.qpid.server.store.MemoryMessageStore; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.virtualhost.StandardVirtualHost; @@ -155,7 +155,7 @@ public class QpidBrokerTestCase extends QpidTestCase protected BrokerCommandHelper _brokerCommandHelper = new BrokerCommandHelper(BROKER_COMMAND_TEMPLATE); private Boolean _brokerCleanBetweenTests = Boolean.getBoolean(BROKER_CLEAN_BETWEEN_TESTS); - private final AmqpProtocolVersion _brokerVersion = AmqpProtocolVersion.valueOf(System.getProperty(BROKER_VERSION, "")); + private final Protocol _brokerVersion = Protocol.valueOf("AMQP_" + System.getProperty(BROKER_VERSION, " ").substring(1)); protected String _output = System.getProperty(TEST_OUTPUT, System.getProperty("java.io.tmpdir")); protected Boolean _brokerPersistent = Boolean.getBoolean(BROKER_PERSITENT); @@ -978,12 +978,12 @@ public class QpidBrokerTestCase extends QpidTestCase */ public boolean isBroker08() { - return _brokerVersion.equals(AmqpProtocolVersion.v0_8); + return _brokerVersion.equals(Protocol.AMQP_0_8); } public boolean isBroker010() { - return _brokerVersion.equals(AmqpProtocolVersion.v0_10); + return _brokerVersion.equals(Protocol.AMQP_0_10); } protected boolean isJavaBroker() |
