diff options
author | Alex Rudyy <orudyy@apache.org> | 2014-09-24 11:16:23 +0000 |
---|---|---|
committer | Alex Rudyy <orudyy@apache.org> | 2014-09-24 11:16:23 +0000 |
commit | 8433c9bd8359d4e81ff88b498016e453f45ec24b (patch) | |
tree | d37ee3da249c2018eacb588cd0ef4fe8ee7ebd42 | |
parent | ff1268b5f9d2fbccf615e43b9f503ce00a25a3b5 (diff) | |
download | qpid-python-8433c9bd8359d4e81ff88b498016e453f45ec24b.tar.gz |
QPID-6114: Migrate the State member variable to AbstractConfiguredObject class
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1627278 13f79535-47bb-0310-9956-ffa450edef68
31 files changed, 193 insertions, 376 deletions
diff --git a/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHost.java b/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHost.java index 6f03dc51df..58105cddc1 100644 --- a/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHost.java +++ b/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHost.java @@ -94,6 +94,7 @@ public class BDBHAReplicaVirtualHost extends AbstractConfiguredObject<BDBHARepli _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName()); _messagesReceived = new StatisticsCounter("messages-received-" + getName()); _dataReceived = new StatisticsCounter("bytes-received-" + getName()); + setState(State.UNAVAILABLE); } @Override @@ -151,12 +152,6 @@ public class BDBHAReplicaVirtualHost extends AbstractConfiguredObject<BDBHARepli } @Override - public State getState() - { - return State.UNAVAILABLE; - } - - @Override public Collection<String> getExchangeTypeNames() { return getObjectFactory().getSupportedTypes(Exchange.class); diff --git a/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java b/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java index 537c89bfc7..dfbdce4399 100644 --- a/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java +++ b/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java @@ -60,7 +60,6 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB @ManagedAttributeField(afterSet="afterSetRole") private volatile NodeRole _role; - private final AtomicReference<State> _state; private final boolean _isMonitor; private BDBHAVirtualHostNodeLogSubject _virtualHostNodeLogSubject; private GroupLogSubject _groupLogSubject; @@ -72,7 +71,7 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB _broker = virtualHostNode.getParent(Broker.class); _address = (String)attributes.get(ADDRESS); _replicatedEnvironmentFacade = replicatedEnvironmentFacade; - _state = new AtomicReference<>(State.ACTIVE); + setState(State.ACTIVE); _role = NodeRole.UNREACHABLE; _lastKnownRole = NodeRole.UNREACHABLE; @@ -81,12 +80,6 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB } @Override - public State getState() - { - return _state.get(); - } - - @Override public String getGroupName() { return _replicatedEnvironmentFacade.getGroupName(); @@ -166,7 +159,7 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB try { _replicatedEnvironmentFacade.removeNodeFromGroup(nodeName); - _state.set(State.DELETED); + setState(State.DELETED); deleted(); } catch(MasterStateException e) @@ -243,14 +236,14 @@ public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDB private void updateModelStateFromRole(NodeRole role) { - State currentState = _state.get(); + State currentState = getState(); if (currentState == State.DELETED) { return; } boolean isActive = NodeRole.MASTER == role || NodeRole.REPLICA == role; - _state.compareAndSet(currentState, isActive ? State.ACTIVE : State.UNAVAILABLE); + setState(isActive ? State.ACTIVE : State.UNAVAILABLE); } @Override diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java index a910eea657..b71d667fe0 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java @@ -63,8 +63,6 @@ public class BindingImpl final CopyOnWriteArrayList<StateChangeListener<BindingImpl,State>> _stateChangeListeners = new CopyOnWriteArrayList<StateChangeListener<BindingImpl, State>>(); - private State _state = State.UNINITIALIZED; - public BindingImpl(Map<String, Object> attributes, AMQQueue queue, ExchangeImpl exchange) { super(parentsMap(queue,exchange),stripEmptyArguments(enhanceWithDurable(attributes, queue, exchange))); @@ -227,18 +225,13 @@ public class BindingImpl } getEventLogger().message(_logSubject, BindingMessages.DELETED()); } - _state = State.DELETED; + setState(State.DELETED); } @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) private void activate() { - _state = State.ACTIVE; - } - - public State getState() - { - return _state; + setState(State.ACTIVE); } public void addStateChangeListener(StateChangeListener<BindingImpl,State> listener) diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java b/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java index c1c824a0c6..9b0cc48a62 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java @@ -107,7 +107,6 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> private final ConcurrentMap<BindingIdentifier, BindingImpl> _bindingsMap = new ConcurrentHashMap<BindingIdentifier, BindingImpl>(); private StateChangeListener<BindingImpl, State> _bindingListener; - private State _state = State.UNINITIALIZED; public AbstractExchange(Map<String, Object> attributes, VirtualHostImpl vhost) { @@ -760,7 +759,7 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) private void activate() { - _state = State.ACTIVE; + setState(State.ACTIVE); } @@ -768,7 +767,7 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> private void doDeleteBeforeInitialize() { preSetAlternateExchange(); - _state = State.DELETED; + setState(State.DELETED); } @@ -779,7 +778,7 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> { _virtualHost.removeExchange(this,true); preSetAlternateExchange(); - _state = State.DELETED; + setState(State.DELETED); } catch (ExchangeIsAlternateException | RequiredExchangeException e) { @@ -788,12 +787,6 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>> } @Override - public State getState() - { - return _state; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz) { if(org.apache.qpid.server.model.Binding.class.isAssignableFrom(clazz)) diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java index 9395adc024..fab9d95159 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java @@ -159,6 +159,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im @ManagedAttributeField( afterSet = "attainStateIfResolved" ) private State _desiredState; private boolean _openComplete; + private State _state = State.UNINITIALIZED; protected static Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parentsMap(ConfiguredObject<?>... parents) { @@ -839,7 +840,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im setAttributes(Collections.<String, Object>singletonMap(DESIRED_STATE, desiredState)); - if (setState(desiredState)) + if (getState() == desiredState) { notifyStateChanged(state, desiredState); return desiredState; @@ -853,12 +854,15 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im }); } - /** - * @return true when the state has been successfully updated to desiredState or false otherwise - */ - protected boolean setState(State desiredState) + @Override + public State getState() + { + return _state; + } + + protected void setState(State state) { - return getState() == desiredState; + _state = state; } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java index b0dda69ee6..19f6139387 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java @@ -75,7 +75,7 @@ public abstract class AbstractSystemConfig<X extends SystemConfig<X>> } @Override - protected boolean setState(final State desiredState) + protected void setState(final State desiredState) { throw new IllegalArgumentException("Cannot change the state of the SystemContext object"); } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java index 08616efe21..4d0b6ef303 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java @@ -36,7 +36,6 @@ import org.apache.qpid.server.security.access.Operation; public abstract class AbstractPluginAdapter<X extends Plugin<X>> extends AbstractConfiguredObject<X> implements Plugin<X> { private Broker _broker; - private State _state = State.UNINITIALIZED; protected AbstractPluginAdapter(Map<String, Object> attributes, Broker broker) { @@ -66,17 +65,6 @@ public abstract class AbstractPluginAdapter<X extends Plugin<X>> extends Abstrac } @Override - public State getState() - { - return _state; - } - - protected void setCurrentState(State state) - { - _state = state; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { return Collections.emptyList(); diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java index afa68e23b1..92ac43e629 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java @@ -99,8 +99,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple @ManagedAttributeField private String _confidentialConfigurationEncryptionProvider; - private State _state = State.UNINITIALIZED; - @ManagedObjectFactoryConstructor public BrokerAdapter(Map<String, Object> attributes, SystemConfig parent) @@ -273,7 +271,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple _eventLogger.message(BrokerMessages.MANAGEMENT_MODE(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _brokerOptions.getManagementModePassword())); } - _state = State.ACTIVE; + setState(State.ACTIVE); } private void initialiseStatisticsReporting() @@ -500,11 +498,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple return virtualHostNode; } - public State getState() - { - return _state; - } - @Override public long getBytesIn() { diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java index 31668e3bc5..62f0e6ae06 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java @@ -52,8 +52,6 @@ public final class ConnectionAdapter extends AbstractConfiguredObject<Connection private final AtomicBoolean _underlyingClosed = new AtomicBoolean(false); private AMQConnectionModel _underlyingConnection; - private State _state = State.ACTIVE; - public ConnectionAdapter(final AMQConnectionModel conn) { super(parentsMap(conn.getVirtualHost()),createAttributes(conn)); @@ -73,6 +71,7 @@ public final class ConnectionAdapter extends AbstractConfiguredObject<Connection conn.addDeleteTask(_underlyingConnectionDeleteTask); conn.addSessionListener(this); + setState(State.ACTIVE); } private static Map<String, Object> createAttributes(final AMQConnectionModel _connection) @@ -161,7 +160,7 @@ public final class ConnectionAdapter extends AbstractConfiguredObject<Connection { closeUnderlyingConnection(); deleted(); - _state = State.DELETED; + setState(State.DELETED); } @Override @@ -170,11 +169,6 @@ public final class ConnectionAdapter extends AbstractConfiguredObject<Connection closeUnderlyingConnection(); } - public State getState() - { - return _state; - } - @Override public <C extends ConfiguredObject> C addChild(Class<C> childClass, Map<String, Object> attributes, ConfiguredObject... otherParents) { diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java index b273cf7dce..a82c0de7e9 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java @@ -61,7 +61,6 @@ public class FileBasedGroupProviderImpl private static Logger LOGGER = Logger.getLogger(FileBasedGroupProviderImpl.class); private final Broker<?> _broker; - private AtomicReference<State> _state; private FileGroupDatabase _groupDatabase; @@ -76,9 +75,6 @@ public class FileBasedGroupProviderImpl _broker = broker; - - State state = MapValueConverter.getEnumAttribute(State.class, STATE, attributes, State.UNINITIALIZED); - _state = new AtomicReference<State>(state); } public void onValidate() @@ -202,13 +198,6 @@ public class FileBasedGroupProviderImpl } @Override - public State getState() - { - return _state.get(); - } - - - @Override public Object getAttribute(String name) { if (STATE.equals(name)) @@ -277,11 +266,11 @@ public class FileBasedGroupProviderImpl try { _groupDatabase.setGroupFile(getPath()); - _state.set(State.ACTIVE); + setState(State.ACTIVE); } catch(IOException | RuntimeException e) { - _state.set(State.ERRORED); + setState(State.ERRORED); if (_broker.isManagementMode()) { LOGGER.warn("Failed to activate group provider: " + getName(), e); @@ -302,13 +291,13 @@ public class FileBasedGroupProviderImpl } deleted(); - _state.set(State.DELETED); + setState(State.DELETED); } @StateTransition( currentState = State.UNINITIALIZED, desiredState = State.QUIESCED) private void startQuiesced() { - _state.set(State.QUIESCED); + setState(State.QUIESCED); } public Set<Principal> getGroupPrincipalsForUser(String username) @@ -364,21 +353,12 @@ public class FileBasedGroupProviderImpl private class GroupAdapter extends AbstractConfiguredObject<GroupAdapter> implements Group<GroupAdapter> { - private State _state = State.UNINITIALIZED; public GroupAdapter(Map<String, Object> attributes) { super(parentsMap(FileBasedGroupProviderImpl.this), attributes); } - - @Override - public State getState() - { - return _state; - } - - @Override public void onValidate() { @@ -392,7 +372,7 @@ public class FileBasedGroupProviderImpl @StateTransition( currentState = State.UNINITIALIZED, desiredState = State.ACTIVE ) private void activate() { - _state = State.ACTIVE; + setState(State.ACTIVE); } @Override @@ -476,15 +456,13 @@ public class FileBasedGroupProviderImpl getSecurityManager().authoriseGroupOperation(Operation.DELETE, getName()); _groupDatabase.removeGroup(getName()); deleted(); - _state = State.DELETED; + setState(State.DELETED); } private class GroupMemberAdapter extends AbstractConfiguredObject<GroupMemberAdapter> implements GroupMember<GroupMemberAdapter> { - private State _state = State.UNINITIALIZED; - public GroupMemberAdapter(Map<String, Object> attrMap) { // TODO - need to relate to the User object @@ -513,12 +491,6 @@ public class FileBasedGroupProviderImpl } @Override - public State getState() - { - return _state; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren( Class<C> clazz) { @@ -528,7 +500,7 @@ public class FileBasedGroupProviderImpl @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) private void activate() { - _state = State.ACTIVE; + setState(State.ACTIVE); } @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED) @@ -538,7 +510,7 @@ public class FileBasedGroupProviderImpl _groupDatabase.removeUserFromGroup(getName(), GroupAdapter.this.getName()); deleted(); - _state = State.DELETED; + setState(State.DELETED); } } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java index 7d594af9c2..68660d8f81 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java @@ -60,7 +60,6 @@ public class FileSystemPreferencesProviderImpl private static final Logger LOGGER = Logger.getLogger(FileSystemPreferencesProviderImpl.class); private final AuthenticationProvider<? extends AuthenticationProvider> _authenticationProvider; - private State _state = State.UNINITIALIZED; private FileSystemPreferencesStore _store; @@ -86,11 +85,11 @@ public class FileSystemPreferencesProviderImpl createStoreIfNotExist(); _store.open(); _open = true; - _state = State.ACTIVE; + setState(State.ACTIVE); } catch( RuntimeException e ) { - _state = State.ERRORED; + setState(State.ERRORED); } } @@ -111,12 +110,6 @@ public class FileSystemPreferencesProviderImpl } @Override - public State getState() - { - return _state; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { return Collections.emptySet(); @@ -147,7 +140,7 @@ public class FileSystemPreferencesProviderImpl { _store.close(); } - _state = State.QUIESCED; + setState(State.QUIESCED); } @StateTransition(currentState = { State.ACTIVE, State.QUIESCED, State.ERRORED }, desiredState = State.DELETED ) @@ -162,14 +155,14 @@ public class FileSystemPreferencesProviderImpl _authenticationProvider.setPreferencesProvider(null); } - _state = State.DELETED; + setState(State.DELETED); } @StateTransition(currentState = { State.QUIESCED, State.ERRORED }, desiredState = State.ACTIVE ) private void restart() { _store.open(); - _state = State.ACTIVE; + setState(State.ACTIVE); } @Override @@ -210,7 +203,7 @@ public class FileSystemPreferencesProviderImpl super.changeAttributes(attributes); // if provider was previously in ERRORED state then set its state to ACTIVE - if(_state == State.ERRORED) + if(getState() == State.ERRORED) { onOpen(); } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java index 9c2759bd1d..c3b8a8798b 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java @@ -42,8 +42,6 @@ final class SessionAdapter extends AbstractConfiguredObject<SessionAdapter> impl { // Attributes private final AMQSessionModel _session; - private State _state = State.ACTIVE; - public SessionAdapter(final ConnectionAdapter connectionAdapter, final AMQSessionModel session) @@ -75,7 +73,7 @@ final class SessionAdapter extends AbstractConfiguredObject<SessionAdapter> impl deleted(); } }); - + setState(State.ACTIVE); } private static Map<String, Object> createAttributes(final AMQSessionModel session) @@ -110,11 +108,6 @@ final class SessionAdapter extends AbstractConfiguredObject<SessionAdapter> impl return Collections.emptySet(); //TODO } - public State getState() - { - return _state; - } - @Override public Object getAttribute(String name) { @@ -188,8 +181,8 @@ final class SessionAdapter extends AbstractConfiguredObject<SessionAdapter> impl @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED) private void doDelete() { - _state = State.DELETED; deleted(); + setState(State.DELETED); } } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java index cc1f557df1..0ea9079ebb 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java @@ -45,6 +45,7 @@ public class VirtualHostAliasAdapter extends AbstractConfiguredObject<VirtualHos super(parentsMap(virtualHost,port), createAttributes(virtualHost, port)); _vhost = virtualHost; _port = port; + setState(State.ACTIVE); } private static Map<String, Object> createAttributes(final VirtualHost virtualHost, final Port port) @@ -75,12 +76,6 @@ public class VirtualHostAliasAdapter extends AbstractConfiguredObject<VirtualHos } @Override - public State getState() - { - return State.ACTIVE; // TODO - Implement - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { return Collections.emptySet(); diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java index 30b97e9e01..fd70a96c5c 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java @@ -118,7 +118,6 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo } private final Broker<?> _broker; - private State _state = State.UNINITIALIZED; @ManagedAttributeField private int _port; @@ -299,13 +298,6 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo } @Override - public State getState() - { - return _state; - } - - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { if(clazz == Connection.class) @@ -332,7 +324,7 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo private void doDelete() { close(); - _state = State.DELETED; + setState(State.DELETED); } @StateTransition( currentState = {State.UNINITIALIZED, State.QUIESCED}, desiredState = State.ACTIVE ) @@ -340,11 +332,11 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo { try { - _state = onActivate(); + setState(onActivate()); } catch (RuntimeException e) { - _state = State.ERRORED; + setState(State.ERRORED); LOGGER.error("Unable to active port '" + getName() + "'of type " + getType() + " on port " + getPort(), e); } @@ -353,7 +345,7 @@ abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractCo @StateTransition( currentState = State.UNINITIALIZED, desiredState = State.QUIESCED) private void startQuiesced() { - _state = State.QUIESCED; + setState(State.QUIESCED); } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java index ca89db3849..ca1278a97a 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java @@ -241,8 +241,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> @ManagedAttributeField private long _maximumMessageTtl; - - private State _state = State.UNINITIALIZED; private final AtomicBoolean _recovering = new AtomicBoolean(true); private final ConcurrentLinkedQueue<EnqueueRequest> _postRecoveryQueue = new ConcurrentLinkedQueue<>(); @@ -2814,14 +2812,14 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) private void activate() { - _state = State.ACTIVE; + setState(State.ACTIVE); } @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.DELETED) private void doDeleteBeforeInitialize() { preSetAlternateExchange(); - _state = State.DELETED; + setState(State.DELETED); } @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED) @@ -2829,7 +2827,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> { _virtualHost.removeQueue(this); preSetAlternateExchange(); - _state = State.DELETED; + setState(State.DELETED); } @@ -2876,12 +2874,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>> } @Override - public State getState() - { - return _state; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz) { if(clazz == Binding.class) diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java index 60bad7bf1c..0f278eda91 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java @@ -289,6 +289,7 @@ class QueueConsumerImpl _target.queueEmpty(); } + @Override public State getState() { return STATE_MAP.get(_target.getState()); diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java index d4aeca0437..6e02e71cd4 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java @@ -45,6 +45,7 @@ import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.StateTransition; import org.apache.qpid.server.security.access.Operation; import org.apache.qpid.server.util.ServerScopedRuntimeException; import org.apache.qpid.transport.network.security.ssl.QpidClientX509KeyManager; @@ -86,12 +87,6 @@ public class FileKeyStoreImpl extends AbstractConfiguredObject<FileKeyStoreImpl> } @Override - public State getState() - { - return State.ACTIVE; - } - - @Override public Object getAttribute(String name) { if(KeyStore.STATE.equals(name)) @@ -102,27 +97,28 @@ public class FileKeyStoreImpl extends AbstractConfiguredObject<FileKeyStoreImpl> return super.getAttribute(name); } - @Override - protected boolean setState(State desiredState) + @StateTransition(currentState = {State.ACTIVE, State.ERRORED}, desiredState = State.DELETED) + protected void doDelete() { - if(desiredState == State.DELETED) - { - // verify that it is not in use - String storeName = getName(); + // verify that it is not in use + String storeName = getName(); - Collection<Port> ports = new ArrayList<Port>(_broker.getPorts()); - for (Port port : ports) + Collection<Port> ports = new ArrayList<Port>(_broker.getPorts()); + for (Port port : ports) + { + if (port.getKeyStore() == this) { - if (port.getKeyStore() == this) - { - throw new IntegrityViolationException("Key store '" + storeName + "' can't be deleted as it is in use by a port:" + port.getName()); - } + throw new IntegrityViolationException("Key store '" + storeName + "' can't be deleted as it is in use by a port:" + port.getName()); } - deleted(); - return true; } + deleted(); + setState(State.DELETED); + } - return false; + @StateTransition(currentState = {State.UNINITIALIZED, State.ERRORED}, desiredState = State.ACTIVE) + protected void doActivate() + { + setState(State.ACTIVE); } @Override diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java index 0596c21291..cb5aaacb07 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java @@ -44,6 +44,7 @@ import org.apache.qpid.server.model.ManagedAttributeField; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.StateTransition; import org.apache.qpid.server.model.TrustStore; import org.apache.qpid.server.security.access.Operation; import org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManager; @@ -85,60 +86,56 @@ public class FileTrustStoreImpl extends AbstractConfiguredObject<FileTrustStoreI } } - @Override - public State getState() + @StateTransition(currentState = {State.ACTIVE, State.ERRORED}, desiredState = State.DELETED) + protected void doDelete() { - return State.ACTIVE; - } + // verify that it is not in use + String storeName = getName(); - @Override - protected boolean setState(State desiredState) - { - if(desiredState == State.DELETED) + Collection<Port<?>> ports = new ArrayList<Port<?>>(_broker.getPorts()); + for (Port port : ports) { - // verify that it is not in use - String storeName = getName(); - - Collection<Port<?>> ports = new ArrayList<Port<?>>(_broker.getPorts()); - for (Port port : ports) + Collection<TrustStore> trustStores = port.getTrustStores(); + if(trustStores != null) { - Collection<TrustStore> trustStores = port.getTrustStores(); - if(trustStores != null) + for (TrustStore store : trustStores) { - for (TrustStore store : trustStores) + if(storeName.equals(store.getAttribute(TrustStore.NAME))) { - if(storeName.equals(store.getAttribute(TrustStore.NAME))) - { - throw new IntegrityViolationException("Trust store '" - + storeName - + "' can't be deleted as it is in use by a port: " - + port.getName()); - } + throw new IntegrityViolationException("Trust store '" + + storeName + + "' can't be deleted as it is in use by a port: " + + port.getName()); } } } + } - Collection<AuthenticationProvider> authenticationProviders = new ArrayList<AuthenticationProvider>(_broker.getAuthenticationProviders()); - for (AuthenticationProvider authProvider : authenticationProviders) + Collection<AuthenticationProvider> authenticationProviders = new ArrayList<AuthenticationProvider>(_broker.getAuthenticationProviders()); + for (AuthenticationProvider authProvider : authenticationProviders) + { + if(authProvider.getAttributeNames().contains(SimpleLDAPAuthenticationManager.TRUST_STORE)) { - if(authProvider.getAttributeNames().contains(SimpleLDAPAuthenticationManager.TRUST_STORE)) - { - Object attributeType = authProvider.getAttribute(AuthenticationProvider.TYPE); - Object attributeValue = authProvider.getAttribute(SimpleLDAPAuthenticationManager.TRUST_STORE); - if (SimpleLDAPAuthenticationManager.PROVIDER_TYPE.equals(attributeType) + Object attributeType = authProvider.getAttribute(AuthenticationProvider.TYPE); + Object attributeValue = authProvider.getAttribute(SimpleLDAPAuthenticationManager.TRUST_STORE); + if (SimpleLDAPAuthenticationManager.PROVIDER_TYPE.equals(attributeType) && storeName.equals(attributeValue)) - { - throw new IntegrityViolationException("Trust store '" - + storeName - + "' can't be deleted as it is in use by an authentication manager: " - + authProvider.getName()); - } + { + throw new IntegrityViolationException("Trust store '" + + storeName + + "' can't be deleted as it is in use by an authentication manager: " + + authProvider.getName()); } } - deleted(); - return true; } - return false; + deleted(); + setState(State.DELETED); + } + + @StateTransition(currentState = {State.UNINITIALIZED, State.ERRORED}, desiredState = State.ACTIVE) + protected void doActivate() + { + setState(State.ACTIVE); } @Override diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java index 299ba6c249..fddb856a39 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java @@ -70,6 +70,7 @@ import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.StateTransition; import org.apache.qpid.server.security.access.Operation; import org.apache.qpid.server.util.urlstreamhandler.data.Handler; @@ -183,12 +184,6 @@ public class NonJavaKeyStoreImpl extends AbstractConfiguredObject<NonJavaKeyStor } @Override - public State getState() - { - return State.ACTIVE; - } - - @Override public Object getAttribute(String name) { if (KeyStore.STATE.equals(name)) @@ -199,30 +194,31 @@ public class NonJavaKeyStoreImpl extends AbstractConfiguredObject<NonJavaKeyStor return super.getAttribute(name); } - @Override - protected boolean setState(State desiredState) + @StateTransition(currentState = {State.ACTIVE, State.ERRORED}, desiredState = State.DELETED) + protected void doDelete() { - if (desiredState == State.DELETED) - { - // verify that it is not in use - String storeName = getName(); + // verify that it is not in use + String storeName = getName(); - Collection<Port> ports = new ArrayList<Port>(_broker.getPorts()); - for (Port port : ports) + Collection<Port> ports = new ArrayList<Port>(_broker.getPorts()); + for (Port port : ports) + { + if (port.getKeyStore() == this) { - if (port.getKeyStore() == this) - { - throw new IntegrityViolationException("Key store '" - + storeName - + "' can't be deleted as it is in use by a port:" - + port.getName()); - } + throw new IntegrityViolationException("Key store '" + + storeName + + "' can't be deleted as it is in use by a port:" + + port.getName()); } - deleted(); - return true; } + deleted(); + setState(State.DELETED); + } - return false; + @StateTransition(currentState = {State.UNINITIALIZED, State.ERRORED}, desiredState = State.ACTIVE) + protected void doActivate() + { + setState(State.ACTIVE); } @Override diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java index 4f7f913776..d757387a34 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java @@ -49,6 +49,7 @@ import org.apache.log4j.Logger; import org.apache.qpid.server.configuration.IllegalConfigurationException; 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.IntegrityViolationException; @@ -58,7 +59,10 @@ import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.model.StateTransition; +import org.apache.qpid.server.model.TrustStore; import org.apache.qpid.server.security.access.Operation; +import org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManager; import org.apache.qpid.server.util.urlstreamhandler.data.Handler; @ManagedObject( category = false ) @@ -168,12 +172,6 @@ public class NonJavaTrustStoreImpl } @Override - public State getState() - { - return State.ACTIVE; - } - - @Override public Object getAttribute(String name) { if (KeyStore.STATE.equals(name)) @@ -184,30 +182,56 @@ public class NonJavaTrustStoreImpl return super.getAttribute(name); } - @Override - protected boolean setState(State desiredState) + @StateTransition(currentState = {State.ACTIVE, State.ERRORED}, desiredState = State.DELETED) + protected void doDelete() { - if (desiredState == State.DELETED) + // verify that it is not in use + String storeName = getName(); + + Collection<Port<?>> ports = new ArrayList<Port<?>>(_broker.getPorts()); + for (Port port : ports) { - // verify that it is not in use - String storeName = getName(); + Collection<TrustStore> trustStores = port.getTrustStores(); + if(trustStores != null) + { + for (TrustStore store : trustStores) + { + if(storeName.equals(store.getAttribute(TrustStore.NAME))) + { + throw new IntegrityViolationException("Trust store '" + + storeName + + "' can't be deleted as it is in use by a port: " + + port.getName()); + } + } + } + } - Collection<Port> ports = new ArrayList<Port>(_broker.getPorts()); - for (Port port : ports) + Collection<AuthenticationProvider> authenticationProviders = new ArrayList<AuthenticationProvider>(_broker.getAuthenticationProviders()); + for (AuthenticationProvider authProvider : authenticationProviders) + { + if(authProvider.getAttributeNames().contains(SimpleLDAPAuthenticationManager.TRUST_STORE)) { - if (port.getKeyStore() == this) + Object attributeType = authProvider.getAttribute(AuthenticationProvider.TYPE); + Object attributeValue = authProvider.getAttribute(SimpleLDAPAuthenticationManager.TRUST_STORE); + if (SimpleLDAPAuthenticationManager.PROVIDER_TYPE.equals(attributeType) + && storeName.equals(attributeValue)) { - throw new IntegrityViolationException("Key store '" - + storeName - + "' can't be deleted as it is in use by a port:" - + port.getName()); + throw new IntegrityViolationException("Trust store '" + + storeName + + "' can't be deleted as it is in use by an authentication manager: " + + authProvider.getName()); } } - deleted(); - return true; } + deleted(); + setState(State.DELETED); + } - return false; + @StateTransition(currentState = {State.UNINITIALIZED, State.ERRORED}, desiredState = State.ACTIVE) + protected void doActivate() + { + setState(State.ACTIVE); } @Override diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java index 6fa93ed51a..69f0011302 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java @@ -27,7 +27,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; import org.apache.log4j.Logger; @@ -56,7 +55,6 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica private final Broker _broker; private PreferencesProvider _preferencesProvider; - private AtomicReference<State> _state = new AtomicReference<State>(State.UNINITIALIZED); @ManagedAttributeField private List<String> _secureOnlyMechanisms; @@ -139,12 +137,6 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica throw new IllegalConfigurationException("Cannot associate " + user + " with authentication provider " + this); } - @Override - public State getState() - { - return _state.get(); - } - @SuppressWarnings("unchecked") @Override public <C extends ConfiguredObject> C addChild(Class<C> childClass, Map<String, Object> attributes, ConfiguredObject... otherParents) @@ -185,7 +177,7 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica @StateTransition( currentState = State.UNINITIALIZED, desiredState = State.QUIESCED ) protected void startQuiesced() { - _state.set(State.QUIESCED); + setState(State.QUIESCED); } @StateTransition( currentState = { State.UNINITIALIZED, State.QUIESCED, State.QUIESCED }, desiredState = State.ACTIVE ) @@ -193,11 +185,11 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica { try { - _state.set(State.ACTIVE); + setState(State.ACTIVE); } catch(RuntimeException e) { - _state.set(State.ERRORED); + setState(State.ERRORED); if (_broker.isManagementMode()) { LOGGER.warn("Failed to activate authentication provider: " + getName(), e); @@ -234,16 +226,10 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica } deleted(); - _state.set(State.DELETED); + setState(State.DELETED); } - - protected boolean updateState(State from, State to) - { - return _state.compareAndSet(from, to); - } - @Override public Object getAttribute(final String name) { diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java index 3197d78c2a..a6a2ea8d34 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java @@ -117,7 +117,7 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal } catch(IllegalConfigurationException e) { - updateState(getState(), State.ERRORED); + setState(State.ERRORED); } } @@ -378,7 +378,7 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal { initialise(); // if provider was previously in ERRORED state then set its state to ACTIVE - updateState(State.ERRORED, State.ACTIVE); + setState(State.ACTIVE); } catch(RuntimeException e) { @@ -396,8 +396,6 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal { private final Principal _user; - private State _state = State.UNINITIALIZED; - @ManagedAttributeField private String _password; @@ -447,13 +445,6 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal } } - - @Override - public State getState() - { - return _state; - } - @Override public boolean changeAttribute(String name, Object expected, Object desired) throws IllegalStateException, AccessControlException, IllegalArgumentException @@ -469,7 +460,7 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.ACTIVE) private void activate() { - _state = State.ACTIVE; + setState(State.ACTIVE); } @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED) @@ -485,7 +476,7 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal preferencesProvider.deletePreferences(userName); } deleted(); - _state = State.DELETED; + setState(State.DELETED); } catch (AccountNotFoundException e) { diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramAuthUser.java b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramAuthUser.java index f28b46d1dd..1f80a84e4f 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramAuthUser.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramAuthUser.java @@ -59,7 +59,7 @@ class ScramAuthUser extends AbstractConfiguredObject<ScramAuthUser> implements U { throw new IllegalArgumentException("Scram SHA1 user names are restricted to characters in the ASCII charset"); } - + setState(State.ACTIVE); } @Override @@ -168,12 +168,6 @@ class ScramAuthUser extends AbstractConfiguredObject<ScramAuthUser> implements U } @Override - public State getState() - { - return State.ACTIVE; - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz) { return Collections.emptySet(); diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java index 2d58cb9327..0dbf854c55 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java @@ -114,8 +114,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte private final SystemNodeRegistry _systemNodeRegistry = new SystemNodeRegistry(); - private final AtomicReference<State> _state = new AtomicReference<>(State.UNINITIALIZED); - private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived; private final Map<String, LinkRegistry> _linkRegistry = new HashMap<String, LinkRegistry>(); @@ -263,9 +261,9 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte private void checkVHostStateIsActive() { - if (_state.get() != State.ACTIVE) + if (getState() != State.ACTIVE) { - throw new IllegalStateException("The virtual host state of " + _state.get() + throw new IllegalStateException("The virtual host state of " + getState() + " does not permit this operation."); } } @@ -351,16 +349,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte } @Override - public State getState() - { - if(_deleted.get()) - { - return State.DELETED; - } - return _state.get(); - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { if(clazz == VirtualHostAlias.class) @@ -1157,8 +1145,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte closeChildren(); shutdownHouseKeeping(); closeMessageStore(); - _state.set(State.STOPPED); - + setState(State.STOPPED); } @StateTransition( currentState = { State.ACTIVE, State.ERRORED }, desiredState = State.DELETED ) @@ -1183,6 +1170,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte } } deleted(); + setState(State.DELETED); } } @@ -1419,8 +1407,8 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte } finally { - _state.set(finalState); - reportIfError(_state.get()); + setState(finalState); + reportIfError(getState()); } } diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java index 45a3c1eb5a..5cbfb0942a 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java @@ -76,7 +76,6 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< } private final Broker<?> _broker; - private final AtomicReference<State> _state = new AtomicReference<State>(State.UNINITIALIZED); private final EventLogger _eventLogger; private DurableConfigurationStore _durableConfigurationStore; @@ -106,12 +105,6 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< } @Override - public State getState() - { - return _state.get(); - } - - @Override public LifetimePolicy getLifetimePolicy() { return LifetimePolicy.PERMANENT; @@ -124,11 +117,11 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< try { activate(); - _state.set(State.ACTIVE); + setState(State.ACTIVE); } catch(RuntimeException e) { - _state.set(State.ERRORED); + setState(State.ERRORED); if (_broker.isManagementMode()) { LOGGER.warn("Failed to make " + this + " active.", e); @@ -187,7 +180,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< @StateTransition( currentState = { State.ACTIVE, State.STOPPED, State.ERRORED}, desiredState = State.DELETED ) protected void doDelete() { - _state.set(State.DELETED); + setState(State.DELETED); deleteVirtualHostIfExists(); close(); deleted(); @@ -213,7 +206,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< { closeChildren(); closeConfigurationStore(); - _state.set(stoppedState); + setState(stoppedState); } @Override diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategoryImpl.java b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategoryImpl.java index e98a9fa3dc..5be708e8f5 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategoryImpl.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategoryImpl.java @@ -74,12 +74,6 @@ public class Test2RootCategoryImpl extends AbstractConfiguredObject<Test2RootCat } @Override - protected boolean setState(final State desiredState) - { - return false; - } - - @Override public String getAutomatedPersistedValue() { return _automatedPersistedValue; @@ -121,12 +115,6 @@ public class Test2RootCategoryImpl extends AbstractConfiguredObject<Test2RootCat return _mapValue; } - @Override - public State getState() - { - return null; - } - public static Collection<String> functionGeneratedValidValues() { return Collections.singleton("generated"); diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategoryImpl.java b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategoryImpl.java index 080a352f11..e12da63349 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategoryImpl.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategoryImpl.java @@ -52,14 +52,6 @@ public class TestChildCategoryImpl } @Override - public State getState() - { - return null; - } - - - - @Override public String getValidValueNotInterpolated() { return _validValueNotInterpolated; diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java index 0c6a0cb0ca..baac082cc7 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java @@ -72,11 +72,6 @@ public class TestRootCategoryImpl extends AbstractConfiguredObject<TestRootCateg super(parentsMap(), attributes, taskExecutor); } - @Override - protected boolean setState(final State desiredState) - { - return false; - } @Override public String getAutomatedPersistedValue() @@ -109,12 +104,6 @@ public class TestRootCategoryImpl extends AbstractConfiguredObject<TestRootCateg } @Override - public State getState() - { - return null; - } - - @Override public String getValidValue() { return _validValue; diff --git a/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java b/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java index 5708e27e33..f0edc59025 100644 --- a/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java +++ b/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java @@ -49,8 +49,6 @@ public class ACLFileAccessControlProviderImpl protected DefaultAccessControl _accessControl; protected final Broker _broker; - private AtomicReference<State> _state = new AtomicReference<>(State.UNINITIALIZED); - @ManagedAttributeField private String _path; @@ -98,12 +96,6 @@ public class ACLFileAccessControlProviderImpl } @Override - public State getState() - { - return _state.get(); - } - - @Override public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz) { return Collections.emptySet(); @@ -116,18 +108,18 @@ public class ACLFileAccessControlProviderImpl if(_broker.isManagementMode()) { - _state.set(_accessControl.validate() ? State.QUIESCED : State.ERRORED); + setState(_accessControl.validate() ? State.QUIESCED : State.ERRORED); } else { try { _accessControl.open(); - _state.set(State.ACTIVE); + setState(State.ACTIVE); } catch (RuntimeException e) { - _state.set(State.ERRORED); + setState(State.ERRORED); if (_broker.isManagementMode()) { LOGGER.warn("Failed to activate ACL provider: " + getName(), e); @@ -150,14 +142,14 @@ public class ACLFileAccessControlProviderImpl @StateTransition(currentState = State.UNINITIALIZED, desiredState = State.QUIESCED) private void startQuiesced() { - _state.set(State.QUIESCED); + setState(State.QUIESCED); } @StateTransition(currentState = {State.ACTIVE, State.QUIESCED, State.ERRORED}, desiredState = State.DELETED) private void doDelete() { close(); - _state.set(State.DELETED); + setState(State.DELETED); deleted(); } diff --git a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 2339cfb000..e07705656a 100644 --- a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -140,7 +140,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem } getBroker().getEventLogger().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME)); - setCurrentState(State.ACTIVE); + setState(State.ACTIVE); } @Override diff --git a/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java b/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java index 98c6d9ffe8..a38aa9e349 100644 --- a/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java +++ b/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java @@ -172,7 +172,7 @@ public class JMXManagementPluginImpl new LoggingManagementMBean(LoggingManagementFacade.getCurrentInstance(), _objectRegistry); } _objectRegistry.start(); - setCurrentState(State.ACTIVE); + setState(State.ACTIVE); _allowPortActivation = false; } |