diff options
author | Keith Wall <kwall@apache.org> | 2014-06-24 06:13:46 +0000 |
---|---|---|
committer | Keith Wall <kwall@apache.org> | 2014-06-24 06:13:46 +0000 |
commit | 4fea24a0ef3b77d3fc38deb987c67e5fafa41732 (patch) | |
tree | 04e1bc2ec9ebe3780dca5eb3137d19a655aefe03 /java/broker-core/src | |
parent | b8233a51aae57d8b66f2042bee6c6271bd547351 (diff) | |
download | qpid-python-4fea24a0ef3b77d3fc38deb987c67e5fafa41732.tar.gz |
QPID-5834: [Java Broker] Move validation that prevents to deletion of default virtualhost to validate, in order that it can veto the proposed state change
* Added a unit test, improve other VH unit tests
* Removed MockVirtualHost
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1605011 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-core/src')
7 files changed, 147 insertions, 674 deletions
diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java index 5e7c87e998..6608b57024 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java @@ -145,10 +145,12 @@ public interface VirtualHost<X extends VirtualHost<X, Q, E>, Q extends Queue<?>, Collection<String> getExchangeTypeNames(); - void delete(); - void start(); + void stop(); + + void delete(); + public static interface Transaction { void dequeue(MessageInstance entry); 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 9ef1fd889a..6e3f9bd643 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 @@ -207,6 +207,14 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte { throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable"); } + if (changedAttributes.contains(DESIRED_STATE)) + { + if (State.DELETED == proxyForValidation.getDesiredState() + && getName().equals(_broker.getDefaultVirtualHost())) + { + throw new IntegrityViolationException("Cannot delete default virtual host '" + getName() + "'"); + } + } } @Override @@ -1144,10 +1152,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte { String hostName = getName(); - if (hostName.equals(_broker.getAttribute(Broker.DEFAULT_VIRTUAL_HOST))) - { - throw new IntegrityViolationException("Cannot delete default virtual host '" + hostName + "'"); - } close(); MessageStore ms = getMessageStore(); diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java index fe2a8f1f2b..22e33848bf 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/HouseKeepingTask.java @@ -22,6 +22,7 @@ package org.apache.qpid.server.virtualhost; import org.apache.log4j.Logger; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.security.SecurityManager; import javax.security.auth.Subject; @@ -31,16 +32,13 @@ public abstract class HouseKeepingTask implements Runnable { private Logger _logger = Logger.getLogger(this.getClass()); - private VirtualHostImpl _virtualHost; - private String _name; private final Subject _subject; - public HouseKeepingTask(VirtualHostImpl vhost) + public HouseKeepingTask(VirtualHost vhost) { - _virtualHost = vhost; - _name = _virtualHost.getName() + ":" + this.getClass().getSimpleName(); + _name = vhost.getName() + ":" + this.getClass().getSimpleName(); _subject = SecurityManager.getSystemTaskSubject(_name); } @@ -75,11 +73,6 @@ public abstract class HouseKeepingTask implements Runnable } } - public VirtualHostImpl getVirtualHost() - { - return _virtualHost; - } - /** Execute the plugin. */ public abstract void execute(); diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java b/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java index 2f3e25dbe9..b69af13c13 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java @@ -20,15 +20,23 @@ */ package org.apache.qpid.server.model; +import static org.mockito.Matchers.argThat; +import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import org.mockito.ArgumentMatcher; + import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor; import org.apache.qpid.server.configuration.updater.TaskExecutor; +import org.apache.qpid.server.store.ConfiguredObjectRecord; import org.apache.qpid.server.store.DurableConfigurationStore; import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.TestMemoryVirtualHost; @@ -39,6 +47,7 @@ public class VirtualHostTest extends QpidTestCase private Broker _broker; private TaskExecutor _taskExecutor; private VirtualHostNode<?> _virtualHostNode; + private DurableConfigurationStore _configStore; @Override protected void setUp() throws Exception @@ -46,86 +55,163 @@ public class VirtualHostTest extends QpidTestCase super.setUp(); _broker = BrokerTestHelper.createBrokerMock(); + _taskExecutor = new CurrentThreadTaskExecutor(); _taskExecutor.start(); when(_broker.getTaskExecutor()).thenReturn(_taskExecutor); _virtualHostNode = mock(VirtualHostNode.class); - when(_virtualHostNode.getConfigurationStore()).thenReturn(mock(DurableConfigurationStore.class)); + _configStore = mock(DurableConfigurationStore.class); + when(_virtualHostNode.getConfigurationStore()).thenReturn(_configStore); + + // Virtualhost needs the EventLogger from the SystemContext. when(_virtualHostNode.getParent(Broker.class)).thenReturn(_broker); + ConfiguredObjectFactory objectFactory = _broker.getObjectFactory(); when(_virtualHostNode.getModel()).thenReturn(objectFactory.getModel()); - when(_virtualHostNode.getObjectFactory()).thenReturn(objectFactory); when(_virtualHostNode.getTaskExecutor()).thenReturn(_taskExecutor); - - when(((VirtualHostNode)_virtualHostNode).getCategoryClass()).thenReturn(VirtualHostNode.class); } - @Override public void tearDown() throws Exception { - _taskExecutor.stopImmediately(); - super.tearDown(); + try + { + _taskExecutor.stopImmediately(); + } + finally + { + super.tearDown(); + } } - public void testActiveState() + public void testNewVirtualHost() { - VirtualHost<?,?,?> host = createHost(); + String virtualHostName = getName(); + VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName); + assertNotNull("Unexpected id", virtualHost.getId()); + assertEquals("Unexpected name", virtualHostName, virtualHost.getName()); + assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState()); - host.start(); - assertEquals("Unexpected state", State.ACTIVE, host.getAttribute(VirtualHost.STATE)); + verify(_configStore).create(matchesRecord(virtualHost.getId(), virtualHost.getType())); } - public void testDeletedState() + public void testDeleteVirtualHost() { - VirtualHost<?,?,?> host = createHost(); + VirtualHost<?,?,?> virtualHost = createVirtualHost(getName()); + assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState()); + + virtualHost.delete(); - host.delete(); - assertEquals("Unexpected state", State.DELETED, host.getAttribute(VirtualHost.STATE)); + assertEquals("Unexpected state", State.DELETED, virtualHost.getState()); + verify(_configStore).remove(matchesRecord(virtualHost.getId(), virtualHost.getType())); } - public void testCreateQueueChildHavingMessageGroupingAttributes() + public void testDeleteDefaultVirtualHostIsDisallowed() { - VirtualHost<?,?,?> host = createHost(); + String virtualHostName = getName(); + when(_broker.getDefaultVirtualHost()).thenReturn(virtualHostName); + + VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName); + + try + { + virtualHost.delete(); + fail("Exception not thrown"); + } + catch(IntegrityViolationException ive) + { + // PASS + } + + assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState()); + verify(_configStore, never()).remove(matchesRecord(virtualHost.getId(), virtualHost.getType())); + } + + public void testStopAndStartVirtualHost() + { + String virtualHostName = getName(); + + VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName); + assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState()); + + virtualHost.stop(); + assertEquals("Unexpected state", State.STOPPED, virtualHost.getState()); + + virtualHost.start(); + assertEquals("Unexpected state", State.ACTIVE, virtualHost.getState()); - host.start(); + verify(_configStore, times(1)).create(matchesRecord(virtualHost.getId(), virtualHost.getType())); + verify(_configStore, times(2)).update(eq(false), matchesRecord(virtualHost.getId(), virtualHost.getType())); + } + + public void testCreateDurableQueue() + { + String virtualHostName = getName(); + VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName); - String queueName = getTestName(); - Map<String, Object> arguments = new HashMap<String, Object>(); - arguments.put(Queue.MESSAGE_GROUP_KEY, "mykey"); - arguments.put(Queue.MESSAGE_GROUP_SHARED_GROUPS, true); + String queueName = "myQueue"; + Map<String, Object> arguments = new HashMap<>(); arguments.put(Queue.NAME, queueName); + arguments.put(Queue.DURABLE, Boolean.TRUE); - host.createChild(Queue.class, arguments); + Queue queue = virtualHost.createChild(Queue.class, arguments); + assertNotNull(queue.getId()); + assertEquals(queueName, queue.getName()); - Queue<?> queue = host.getChildByName(Queue.class, queueName); - Object messageGroupKey = queue.getAttribute(Queue.MESSAGE_GROUP_KEY); - assertEquals("Unexpected message group key attribute", "mykey", messageGroupKey); + verify(_configStore).create(matchesRecord(queue.getId(), queue.getType())); + } - Object sharedGroups = queue.getAttribute(Queue.MESSAGE_GROUP_SHARED_GROUPS); - assertEquals("Unexpected shared groups attribute", true, sharedGroups); + public void testCreateNonDurableQueue() + { + String virtualHostName = getName(); + VirtualHost<?,?,?> virtualHost = createVirtualHost(virtualHostName); + + String queueName = "myQueue"; + Map<String, Object> arguments = new HashMap<>(); + arguments.put(Queue.NAME, queueName); + arguments.put(Queue.DURABLE, Boolean.FALSE); + Queue queue = virtualHost.createChild(Queue.class, arguments); + assertNotNull(queue.getId()); + assertEquals(queueName, queue.getName()); + + verify(_configStore, never()).create(matchesRecord(queue.getId(), queue.getType())); } - private VirtualHost<?,?,?> createHost() + private VirtualHost<?,?,?> createVirtualHost(final String virtualHostName) { - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(VirtualHost.NAME, getName()); + Map<String, Object> attributes = new HashMap<>(); + attributes.put(VirtualHost.NAME, virtualHostName); attributes.put(VirtualHost.TYPE, TestMemoryVirtualHost.VIRTUAL_HOST_TYPE); - VirtualHost<?,?,?> host = createHost(attributes); + TestMemoryVirtualHost host = new TestMemoryVirtualHost(attributes, _virtualHostNode); + host.create(); return host; } - private VirtualHost<?,?,?> createHost(Map<String, Object> attributes) + private static ConfiguredObjectRecord matchesRecord(UUID id, String type) { - attributes = new HashMap<String, Object>(attributes); - attributes.put(VirtualHost.ID, UUID.randomUUID()); - TestMemoryVirtualHost host= new TestMemoryVirtualHost(attributes, _virtualHostNode); - host.create(); - return host; + return argThat(new MinimalConfiguredObjectRecordMatcher(id, type)); } + private static class MinimalConfiguredObjectRecordMatcher extends ArgumentMatcher<ConfiguredObjectRecord> + { + private final UUID _id; + private final String _type; + + private MinimalConfiguredObjectRecordMatcher(UUID id, String type) + { + _id = id; + _type = type; + } + + @Override + public boolean matches(Object argument) + { + ConfiguredObjectRecord rhs = (ConfiguredObjectRecord) argument; + return (_id.equals(rhs.getId()) || _type.equals(rhs.getType())); + } + } } diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java b/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java index 317d51e70a..321a050747 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java @@ -32,7 +32,6 @@ import java.util.UUID; import javax.security.auth.Subject; -import org.apache.qpid.server.configuration.store.JsonConfigurationEntryStore; import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor; import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.exchange.ExchangeImpl; @@ -63,9 +62,6 @@ import org.apache.qpid.server.virtualhost.VirtualHostImpl; public class BrokerTestHelper { - protected static final String BROKER_STORE_CLASS_NAME_KEY = "brokerstore.class.name"; - protected static final String JSON_BROKER_STORE_CLASS_NAME = JsonConfigurationEntryStore.class.getName(); - private static final TaskExecutor TASK_EXECUTOR = new CurrentThreadTaskExecutor(); static { diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java b/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java index e30ab2e52b..09820c2821 100644 --- a/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java +++ b/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/HouseKeepingTaskTest.java @@ -20,6 +20,10 @@ */ package org.apache.qpid.server.virtualhost; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.test.utils.QpidTestCase; public class HouseKeepingTaskTest extends QpidTestCase @@ -27,14 +31,15 @@ public class HouseKeepingTaskTest extends QpidTestCase public void testThreadNameIsSetForDurationOfTask() throws Exception { - String originalThreadName = Thread.currentThread().getName(); String vhostName = "HouseKeepingTaskTestVhost"; String expectedThreadNameDuringExecution = vhostName + ":" + "ThreadNameRememberingTask"; - ThreadNameRememberingTask testTask = new ThreadNameRememberingTask(new MockVirtualHost(vhostName)); + VirtualHost virtualHost = mock(VirtualHost.class); + when(virtualHost.getName()).thenReturn(vhostName); + ThreadNameRememberingTask testTask = new ThreadNameRememberingTask(virtualHost); testTask.run(); @@ -48,7 +53,7 @@ public class HouseKeepingTaskTest extends QpidTestCase { private String _threadNameDuringExecution; - private ThreadNameRememberingTask(VirtualHostImpl vhost) + private ThreadNameRememberingTask(VirtualHost vhost) { super(vhost); } diff --git a/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java b/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java deleted file mode 100644 index be4d7ae49d..0000000000 --- a/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java +++ /dev/null @@ -1,613 +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.virtualhost; - -import java.security.AccessControlException; -import java.util.Collection; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.ScheduledFuture; - -import org.apache.qpid.server.configuration.updater.TaskExecutor; -import org.apache.qpid.server.connection.IConnectionRegistry; -import org.apache.qpid.server.exchange.ExchangeImpl; -import org.apache.qpid.server.logging.EventLogger; -import org.apache.qpid.server.message.MessageDestination; -import org.apache.qpid.server.message.MessageSource; -import org.apache.qpid.server.model.BrokerModel; -import org.apache.qpid.server.model.ConfigurationChangeListener; -import org.apache.qpid.server.model.ConfiguredObject; -import org.apache.qpid.server.model.ConfiguredObjectFactory; -import org.apache.qpid.server.model.Connection; -import org.apache.qpid.server.model.LifetimePolicy; -import org.apache.qpid.server.model.Model; -import org.apache.qpid.server.model.State; -import org.apache.qpid.server.model.VirtualHostAlias; -import org.apache.qpid.server.protocol.LinkRegistry; -import org.apache.qpid.server.queue.AMQQueue; -import org.apache.qpid.server.security.SecurityManager; -import org.apache.qpid.server.stats.StatisticsCounter; -import org.apache.qpid.server.store.ConfiguredObjectRecord; -import org.apache.qpid.server.store.DurableConfigurationStore; -import org.apache.qpid.server.store.MessageStore; -import org.apache.qpid.server.txn.DtxRegistry; - -public class MockVirtualHost implements VirtualHostImpl<MockVirtualHost, AMQQueue<?>, ExchangeImpl<?>> -{ - private String _name; - - public MockVirtualHost(String name) - { - _name = name; - } - - public void close() - { - - } - - public DtxRegistry getDtxRegistry() - { - return null; - } - - public IConnectionRegistry getConnectionRegistry() - { - return null; - } - - public int getHouseKeepingActiveCount() - { - return 0; - } - - public long getHouseKeepingCompletedTaskCount() - { - return 0; - } - - public int getHouseKeepingPoolSize() - { - return 0; - } - - public long getHouseKeepingTaskCount() - { - return 0; - } - - public MessageStore getMessageStore() - { - return null; - } - - @Override - public String getType() - { - return null; - } - - @Override - public Map<String, String> getContext() - { - return null; - } - - @Override - public <T> T getContextValue(final Class<T> clazz, final String propertyName) - { - return null; - } - - @Override - public String getLastUpdatedBy() - { - return null; - } - - @Override - public long getLastUpdatedTime() - { - return 0; - } - - @Override - public String getCreatedBy() - { - return null; - } - - @Override - public long getCreatedTime() - { - return 0; - } - - @Override - public State getDesiredState() - { - return null; - } - - @Override - public State getState() - { - return null; - } - - @Override - public void addChangeListener(final ConfigurationChangeListener listener) - { - - } - - @Override - public boolean removeChangeListener(final ConfigurationChangeListener listener) - { - return false; - } - - @Override - public <T extends ConfiguredObject> T getParent(final Class<T> clazz) - { - return null; - } - - public DurableConfigurationStore getDurableConfigurationStore() - { - return null; - } - - public String getName() - { - return _name; - } - - @Override - public String getDescription() - { - return null; - } - - @Override - public AMQQueue<?> getQueue(String name) - { - return null; - } - - @Override - public MessageSource getMessageSource(final String name) - { - return null; - } - - @Override - public AMQQueue<?> getQueue(UUID id) - { - return null; - } - - @Override - public Collection<String> getSupportedExchangeTypes() - { - return null; - } - - @Override - public Collection<String> getSupportedQueueTypes() - { - return null; - } - - @Override - public boolean isQueue_deadLetterQueueEnabled() - { - return false; - } - - @Override - public long getHousekeepingCheckPeriod() - { - return 0; - } - - @Override - public long getStoreTransactionIdleTimeoutClose() - { - return 0; - } - - @Override - public long getStoreTransactionIdleTimeoutWarn() - { - return 0; - } - - @Override - public long getStoreTransactionOpenTimeoutClose() - { - return 0; - } - - @Override - public long getStoreTransactionOpenTimeoutWarn() - { - return 0; - } - - @Override - public int getHousekeepingThreadCount() - { - return 0; - } - - @Override - public Map<String, Object> getMessageStoreSettings() - { - return null; - } - - @Override - public long getQueueCount() - { - return 0; - } - - @Override - public long getExchangeCount() - { - return 0; - } - - @Override - public long getConnectionCount() - { - return 0; - } - - @Override - public long getBytesIn() - { - return 0; - } - - @Override - public long getBytesOut() - { - return 0; - } - - @Override - public long getMessagesIn() - { - return 0; - } - - @Override - public long getMessagesOut() - { - return 0; - } - - @Override - public Collection<VirtualHostAlias> getAliases() - { - return null; - } - - @Override - public Collection<Connection> getConnections() - { - return null; - } - - @Override - public Collection<AMQQueue<?>> getQueues() - { - return null; - } - - @Override - public int removeQueue(AMQQueue<?> queue) - { - return 0; - } - - @Override - public AMQQueue<?> createQueue(Map<String, Object> arguments) - { - return null; - } - - @Override - public Collection<String> getExchangeTypeNames() - { - return null; - } - - @Override - public void delete() - { - - } - - @Override - public void start() - { - - } - - @Override - public void executeTransaction(final TransactionalOperation op) - { - - } - - @Override - public ExchangeImpl createExchange(Map<String,Object> attributes) - { - return null; - } - - @Override - public void removeExchange(ExchangeImpl exchange, boolean force) - { - } - - @Override - public MessageDestination getMessageDestination(final String name) - { - return null; - } - - @Override - public ExchangeImpl getExchange(String name) - { - return null; - } - - @Override - public ExchangeImpl getExchange(UUID id) - { - return null; - } - - @Override - public ExchangeImpl getDefaultDestination() - { - return null; - } - - @Override - public Collection<ExchangeImpl<?>> getExchanges() - { - return null; - } - - public SecurityManager getSecurityManager() - { - return null; - } - - @Override - public ConfiguredObjectFactory getObjectFactory() - { - return null; - } - - @Override - public Model getModel() - { - return BrokerModel.getInstance(); - } - - public LinkRegistry getLinkRegistry(String remoteContainerId) - { - return null; - } - - public ScheduledFuture<?> scheduleTask(long delay, Runnable timeoutTask) - { - return null; - } - - public void scheduleHouseKeepingTask(long period, HouseKeepingTask task) - { - - } - - public void setHouseKeepingPoolSize(int newSize) - { - - } - - public UUID getId() - { - return null; - } - - public boolean isDurable() - { - return false; - } - - @Override - public LifetimePolicy getLifetimePolicy() - { - return null; - } - - @Override - public Collection<String> getAttributeNames() - { - return null; - } - - @Override - public Object getAttribute(final String name) - { - return null; - } - - @Override - public Map<String, Object> getActualAttributes() - { - return null; - } - - @Override - public Object setAttribute(final String name, final Object expected, final Object desired) - throws IllegalStateException, AccessControlException, IllegalArgumentException - { - return null; - } - - @Override - public Map<String, Number> getStatistics() - { - return null; - } - - @Override - public <C extends ConfiguredObject> Collection<C> getChildren(final Class<C> clazz) - { - return null; - } - - @Override - public <C extends ConfiguredObject> C getChildById(final Class<C> clazz, final UUID id) - { - return null; - } - - @Override - public <C extends ConfiguredObject> C getChildByName(final Class<C> clazz, final String name) - { - return null; - } - - @Override - public <C extends ConfiguredObject> C createChild(final Class<C> childClass, - final Map<String, Object> attributes, - final ConfiguredObject... otherParents) - { - return null; - } - - @Override - public void setAttributes(final Map<String, Object> attributes) - throws IllegalStateException, AccessControlException, IllegalArgumentException - { - - } - - @Override - public Class<? extends ConfiguredObject> getCategoryClass() - { - return null; - } - - @Override - public <C extends ConfiguredObject<C>> C findConfiguredObject(final Class<C> clazz, final String name) - { - return null; - } - - @Override - public ConfiguredObjectRecord asObjectRecord() - { - return null; - } - - @Override - public void open() - { - - } - - public StatisticsCounter getDataDeliveryStatistics() - { - return null; - } - - public StatisticsCounter getDataReceiptStatistics() - { - return null; - } - - public StatisticsCounter getMessageDeliveryStatistics() - { - return null; - } - - public StatisticsCounter getMessageReceiptStatistics() - { - return null; - } - - public void registerMessageDelivered(long messageSize) - { - - } - - public void registerMessageReceived(long messageSize, long timestamp) - { - - } - - public void resetStatistics() - { - - } - - public void block() - { - } - - public void unblock() - { - } - - @Override - public TaskExecutor getTaskExecutor() - { - return null; - } - - @Override - public EventLogger getEventLogger() - { - return null; - } - - @Override - public boolean getDefaultDeadLetterQueueEnabled() - { - return false; - } - - @Override - public String getModelVersion() - { - return null; - } - -} |