From ac472b82aecfbb1bafbbbff5037202addbd51115 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Fri, 25 Apr 2014 23:14:14 +0000 Subject: QPID-5615 : Address review comments from Alex Rudyy git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1590188 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/server/binding/BindingImpl.java | 2 +- .../qpid/server/exchange/AbstractExchange.java | 2 +- .../server/model/AbstractConfiguredObject.java | 52 ---------------------- .../apache/qpid/server/model/ConfiguredObject.java | 2 - .../ConfiguredObjectAttributeOrStatistic.java | 26 +++++++++-- .../model/adapter/AbstractPluginAdapter.java | 3 +- .../qpid/server/model/adapter/BrokerAdapter.java | 12 +---- .../server/model/adapter/ConnectionAdapter.java | 22 ++++++--- .../model/adapter/FileBasedGroupProviderImpl.java | 20 ++++----- .../FileSystemPreferencesProviderFactory.java | 5 --- .../adapter/FileSystemPreferencesProviderImpl.java | 7 ++- .../qpid/server/model/adapter/SessionAdapter.java | 6 +-- .../model/adapter/VirtualHostAliasAdapter.java | 4 +- .../qpid/server/model/port/AbstractPort.java | 4 +- .../apache/qpid/server/queue/AbstractQueue.java | 3 +- .../qpid/server/queue/QueueConsumerImpl.java | 3 +- .../qpid/server/security/FileKeyStoreImpl.java | 4 +- .../qpid/server/security/FileTrustStoreImpl.java | 4 +- .../manager/AbstractAuthenticationManager.java | 8 +--- .../AbstractAuthenticationManagerFactory.java | 34 -------------- ...D5PasswordFileAuthenticationManagerFactory.java | 18 +++++--- .../ExternalAuthenticationManagerFactory.java | 5 ++- .../KerberosAuthenticationManagerFactory.java | 14 +++--- ...inPasswordFileAuthenticationManagerFactory.java | 18 +++++--- .../PrincipalDatabaseAuthenticationManager.java | 3 +- .../manager/ScramSHA1AuthenticationManager.java | 3 +- .../ScramSHA1AuthenticationManagerFactory.java | 6 ++- .../SimpleLDAPAuthenticationManagerFactory.java | 6 ++- .../qpid/server/stats/StatisticsGatherer.java | 4 -- .../server/virtualhost/AbstractVirtualHost.java | 15 +------ .../AbstractStandardVirtualHostNode.java | 5 +-- .../startup/VirtualHostCreationTest.java | 3 +- .../apache/qpid/server/model/VirtualHostTest.java | 3 ++ .../adapter/FileSystemPreferencesProviderTest.java | 2 +- .../apache/qpid/server/util/BrokerTestHelper.java | 6 ++- .../qpid/server/virtualhost/MockVirtualHost.java | 13 ------ .../virtualhost/VirtualHostQueueCreationTest.java | 3 +- .../plugins/ACLFileAccessControlProviderImpl.java | 3 +- 38 files changed, 128 insertions(+), 225 deletions(-) delete mode 100644 qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManagerFactory.java (limited to 'qpid/java') 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 3bf90248b9..8b6cb1c387 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 @@ -63,7 +63,7 @@ public class BindingImpl public BindingImpl(Map attributes, AMQQueue queue, ExchangeImpl exchange) { - super(parentsMap(queue,exchange),enhanceWithDurable(attributes,queue,exchange),queue.getVirtualHost().getTaskExecutor()); + super(parentsMap(queue,exchange),enhanceWithDurable(attributes,queue,exchange)); _bindingKey = getName(); _queue = queue; _exchange = exchange; 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 5bf1c112cb..1f0f20ef1b 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 @@ -108,7 +108,7 @@ public abstract class AbstractExchange> public AbstractExchange(Map attributes, VirtualHostImpl vhost) { - super(parentsMap(vhost), attributes, vhost.getTaskExecutor()); + super(parentsMap(vhost), attributes); _virtualHost = vhost; // check ACL try 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 c48f505259..c5127bae16 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 @@ -713,12 +713,6 @@ public abstract class AbstractConfiguredObject> im return _lifetimePolicy; } - @Override - public T getAttribute(final ConfiguredObjectAttribute attr) - { - return (T) getAttribute(attr.getName()); - } - @Override public final Map getActualAttributes() { @@ -1070,52 +1064,6 @@ public abstract class AbstractConfiguredObject> im // allowed by default } - /** - * Returns a map of effective attribute values that would result - * if applying the supplied changes. Does not apply the changes. - */ - protected Map generateEffectiveAttributes(Map changedValues) - { - //Build a new set of effective attributes that would be - //the result of applying the attribute changes, so we - //can validate the configuration that would result - - Map existingActualValues = getActualAttributes(); - - //create a new merged map, starting with the defaults - Map merged = new HashMap(); - - for(String name : getAttributeNames()) - { - if(changedValues.containsKey(name)) - { - Object changedValue = changedValues.get(name); - if(changedValue != null) - { - //use the new non-null value for the merged values - merged.put(name, changedValue); - } - else - { - //we just use the default (if there was one) since the changed - //value is null and effectively clears any existing actual value - } - } - else if(existingActualValues.get(name) != null) - { - //Use existing non-null actual value for the merge - merged.put(name, existingActualValues.get(name)); - } - else - { - //There was neither a change or an existing non-null actual - //value, so just use the default value (if there was one). - } - } - - return merged; - } - @Override public final String getLastUpdatedBy() { diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java index d1d5f91b06..f960dfa6f9 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java @@ -191,8 +191,6 @@ public interface ConfiguredObject> */ Object getAttribute(String name); - T getAttribute(ConfiguredObjectAttribute attr); - /** * Return the map containing only explicitly set attributes * diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttributeOrStatistic.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttributeOrStatistic.java index 2e1350981c..0c8866fff1 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttributeOrStatistic.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttributeOrStatistic.java @@ -23,6 +23,8 @@ package org.apache.qpid.server.model; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import org.apache.qpid.server.util.ServerScopedRuntimeException; + abstract class ConfiguredObjectAttributeOrStatistic { @@ -137,13 +139,29 @@ abstract class ConfiguredObjectAttributeOrStatistic> extends Abstrac protected AbstractPluginAdapter(Map attributes, Broker broker) { - super(parentsMap(broker), - attributes, broker.getTaskExecutor()); + super(parentsMap(broker), attributes); _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 2927bb1491..6b77833bc9 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 @@ -58,7 +58,7 @@ import org.apache.qpid.server.stats.StatisticsGatherer; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.util.SystemUtils; -public class BrokerAdapter extends AbstractConfiguredObject implements Broker, ConfigurationChangeListener, StatisticsGatherer, StatisticsGatherer.Source +public class BrokerAdapter extends AbstractConfiguredObject implements Broker, ConfigurationChangeListener, StatisticsGatherer { private static final Logger LOGGER = Logger.getLogger(BrokerAdapter.class); @@ -104,9 +104,7 @@ public class BrokerAdapter extends AbstractConfiguredObject imple public BrokerAdapter(Map attributes, SystemContext parent) { - super(parentsMap(parent), - attributes, - parent.getTaskExecutor()); + super(parentsMap(parent), attributes); _logRecorder = parent.getLogRecorder(); _eventLogger = parent.getEventLogger(); @@ -995,12 +993,6 @@ public class BrokerAdapter extends AbstractConfiguredObject imple _eventLogger = eventLogger; } - @Override - public StatisticsGatherer getStatisticsGatherer() - { - return this; - } - public void registerMessageDelivered(long messageSize) { _messagesDelivered.registerEvent(1L); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java index d20cc68184..7a4523035d 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java @@ -22,11 +22,21 @@ package org.apache.qpid.server.model.adapter; import java.security.AccessControlException; import java.security.Principal; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; import org.apache.qpid.protocol.AMQConstant; -import org.apache.qpid.server.model.*; -import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.model.AbstractConfiguredObject; +import org.apache.qpid.server.model.ConfiguredObject; +import org.apache.qpid.server.model.Connection; +import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.Session; +import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.Transport; import org.apache.qpid.server.protocol.AMQConnectionModel; import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.protocol.SessionModelListener; @@ -39,9 +49,9 @@ public final class ConnectionAdapter extends AbstractConfiguredObject _sessionAdapters = new HashMap(); - public ConnectionAdapter(final AMQConnectionModel conn, TaskExecutor taskExecutor) + public ConnectionAdapter(final AMQConnectionModel conn) { - super(parentsMap(conn.getVirtualHost()),createAttributes(conn), taskExecutor); + super(parentsMap(conn.getVirtualHost()),createAttributes(conn)); _connection = conn; open(); conn.addSessionListener(this); @@ -246,7 +256,7 @@ public final class ConnectionAdapter extends AbstractConfiguredObject attributes, Broker broker) { - super(parentsMap(broker), - attributes, broker.getTaskExecutor()); + super(parentsMap(broker), attributes); _broker = broker; @@ -140,7 +138,7 @@ public class FileBasedGroupProviderImpl UUID id = UUID.randomUUID(); attrMap.put(Group.ID, id); attrMap.put(Group.NAME, group.getName()); - GroupAdapter groupAdapter = new GroupAdapter(attrMap, getTaskExecutor()); + GroupAdapter groupAdapter = new GroupAdapter(attrMap); principals.add(groupAdapter); } @@ -229,7 +227,7 @@ public class FileBasedGroupProviderImpl UUID id = UUID.randomUUID(); attrMap.put(Group.ID, id); attrMap.put(Group.NAME, groupName); - GroupAdapter groupAdapter = new GroupAdapter(attrMap, getTaskExecutor()); + GroupAdapter groupAdapter = new GroupAdapter(attrMap); groupAdapter.create(); return (C) groupAdapter; @@ -409,9 +407,9 @@ public class FileBasedGroupProviderImpl private class GroupAdapter extends AbstractConfiguredObject implements Group { - public GroupAdapter(Map attributes, TaskExecutor taskExecutor) + public GroupAdapter(Map attributes) { - super(parentsMap(FileBasedGroupProviderImpl.this), attributes, taskExecutor); + super(parentsMap(FileBasedGroupProviderImpl.this), attributes); } @@ -444,7 +442,7 @@ public class FileBasedGroupProviderImpl Map attrMap = new HashMap(); attrMap.put(GroupMember.ID,id); attrMap.put(GroupMember.NAME, principal.getName()); - GroupMemberAdapter groupMemberAdapter = new GroupMemberAdapter(attrMap, getTaskExecutor()); + GroupMemberAdapter groupMemberAdapter = new GroupMemberAdapter(attrMap); groupMemberAdapter.open(); members.add(groupMemberAdapter); } @@ -495,7 +493,7 @@ public class FileBasedGroupProviderImpl Map attrMap = new HashMap(); attrMap.put(GroupMember.ID,id); attrMap.put(GroupMember.NAME, memberName); - GroupMemberAdapter groupMemberAdapter = new GroupMemberAdapter(attrMap, getTaskExecutor()); + GroupMemberAdapter groupMemberAdapter = new GroupMemberAdapter(attrMap); groupMemberAdapter.create(); return (C) groupMemberAdapter; @@ -539,10 +537,10 @@ public class FileBasedGroupProviderImpl GroupMember { - public GroupMemberAdapter(Map attrMap, TaskExecutor taskExecutor) + public GroupMemberAdapter(Map attrMap) { // TODO - need to relate to the User object - super(parentsMap(GroupAdapter.this),attrMap, taskExecutor); + super(parentsMap(GroupAdapter.this),attrMap); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactory.java index 14f017ac7a..9434adf97a 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactory.java @@ -21,9 +21,7 @@ package org.apache.qpid.server.model.adapter; -import java.util.HashMap; import java.util.Map; -import java.util.UUID; import org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory; import org.apache.qpid.server.model.AuthenticationProvider; @@ -41,9 +39,6 @@ public class FileSystemPreferencesProviderFactory extends AbstractConfiguredObje public FileSystemPreferencesProviderImpl createInstance(final Map attributes, final ConfiguredObject... parents) { - Map attributesWithoutId = new HashMap(attributes); - Object idObj = attributesWithoutId.remove(ConfiguredObject.ID); - UUID id = idObj == null ? UUID.randomUUID() : idObj instanceof UUID ? (UUID) idObj : UUID.fromString(idObj.toString()); return new FileSystemPreferencesProviderImpl(attributes, getParent(AuthenticationProvider.class,parents)); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java index c955d8d370..765fc149a0 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java @@ -75,9 +75,7 @@ public class FileSystemPreferencesProviderImpl public FileSystemPreferencesProviderImpl(Map attributes, AuthenticationProvider authenticationProvider) { - super(parentsMap(authenticationProvider), - attributes, - authenticationProvider.getParent(Broker.class).getTaskExecutor()); + super(parentsMap(authenticationProvider), attributes); State state = MapValueConverter.getEnumAttribute(State.class, STATE, attributes, State.INITIALISING); _state = new AtomicReference(state); _authenticationProvider = authenticationProvider; @@ -261,6 +259,7 @@ public class FileSystemPreferencesProviderImpl _state.compareAndSet(State.ERRORED, State.ACTIVE); } + /* Note this method is used: it is referenced by the annotation on _path to be called after _path is set */ private void openNewStore() { if(_open) @@ -326,7 +325,7 @@ public class FileSystemPreferencesProviderImpl } - public void createStoreIfNotExist() + private void createStoreIfNotExist() { _store.createIfNotExist(); } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java index 3b55fcb1bd..c32bfac88c 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java @@ -27,7 +27,6 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Consumer; @@ -47,10 +46,9 @@ final class SessionAdapter extends AbstractConfiguredObject impl public SessionAdapter(final ConnectionAdapter connectionAdapter, - final AMQSessionModel session, - TaskExecutor taskExecutor) + final AMQSessionModel session) { - super(parentsMap(connectionAdapter), createAttributes(session), taskExecutor); + super(parentsMap(connectionAdapter), createAttributes(session)); _session = session; _session.addConsumerListener(new ConsumerListener() { diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java index 0b1409c5b9..c16e17acf3 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java @@ -42,9 +42,7 @@ public class VirtualHostAliasAdapter extends AbstractConfiguredObject> extends AbstractCo public AbstractPort(Map attributes, Broker broker) { - super(parentsMap(broker), - attributes, - broker.getTaskExecutor()); + super(parentsMap(broker), attributes); _broker = broker; 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 e96850ca85..9e1a350d73 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 @@ -225,8 +225,7 @@ public abstract class AbstractQueue> protected AbstractQueue(Map attributes, VirtualHostImpl virtualHost) { - super(parentsMap(virtualHost), - attributes, virtualHost.getTaskExecutor()); + super(parentsMap(virtualHost), attributes); _virtualHost = virtualHost; _asyncDelivery = ReferenceCountingExecutorService.getInstance().acquireExecutorService(); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java index b3d4e4368f..1d7bf7f2a9 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java @@ -116,8 +116,7 @@ class QueueConsumerImpl EnumSet