Author: orudyy Date: Mon Aug 29 15:04:33 2016 New Revision: 1758241 URL: http://svn.apache.org/viewvc?rev=1758241&view=rev Log: QPID-7398: [Java Broker] Instantiate UserPreferences for newly created configured objects
Added: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/preferences/UserPreferencesCreator.java - copied, changed from r1757892, qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Model.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/BrokerTestHelper.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImplTest.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AbstractConfiguredObjectTest.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0Test.java Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java (original) +++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java Mon Aug 29 15:04:33 2016 @@ -48,6 +48,7 @@ import org.apache.qpid.server.model.Queu import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.model.port.AmqpPort; +import org.apache.qpid.server.model.preferences.UserPreferences; import org.apache.qpid.server.protocol.LinkRegistry; import org.apache.qpid.server.stats.StatisticsCounter; import org.apache.qpid.server.store.DurableConfigurationStore; @@ -538,4 +539,11 @@ public class BDBHAReplicaVirtualHostImpl { } + + @Override + public UserPreferences createUserPreferences(final ConfiguredObject<?> object) + { + throwUnsupportedForReplica(); + return null; + } } Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Mon Aug 29 15:04:33 2016 @@ -83,6 +83,7 @@ import org.apache.qpid.server.security.a import org.apache.qpid.server.security.auth.TaskPrincipal; import org.apache.qpid.server.security.encryption.ConfigurationSecretEncrypter; import org.apache.qpid.server.store.ConfiguredObjectRecord; +import org.apache.qpid.server.store.preferences.UserPreferencesCreator; import org.apache.qpid.server.util.Action; import org.apache.qpid.server.util.ServerScopedRuntimeException; import org.apache.qpid.util.Strings; @@ -845,6 +846,7 @@ public abstract class AbstractConfigured doValidation(true, createExceptionHandler); validateOnCreate(); registerWithParents(); + createUserPreferences(); } catch (RuntimeException e) { @@ -890,6 +892,21 @@ public abstract class AbstractConfigured } + private void createUserPreferences() + { + if (this instanceof UserPreferencesCreator) + { + return; + } + + UserPreferencesCreator preferenceCreator = getAncestor(UserPreferencesCreator.class); + if (preferenceCreator != null) + { + UserPreferences userPreferences = preferenceCreator.createUserPreferences(this); + setUserPreferences(userPreferences); + } + } + private void initializeAttributes() { final AuthenticatedPrincipal currentUser = AuthenticatedPrincipal.getCurrentUser(); @@ -1901,7 +1918,7 @@ public abstract class AbstractConfigured return (T) _parents.get(clazz); } - public final <T extends ConfiguredObject> T getAncestor(final Class<T> clazz) + public final <T> T getAncestor(final Class<T> clazz) { return getModel().getAncestor(clazz, this); } Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Mon Aug 29 15:04:33 2016 @@ -32,9 +32,11 @@ import org.apache.qpid.configuration.Com import org.apache.qpid.server.logging.EventLogger; import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.stats.StatisticsGatherer; +import org.apache.qpid.server.store.preferences.UserPreferencesCreator; @ManagedObject( defaultType = Broker.BROKER_TYPE) -public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventLoggerProvider, StatisticsGatherer, Container<X> +public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventLoggerProvider, StatisticsGatherer, Container<X>, + UserPreferencesCreator { String BROKER_TYPE = "Broker"; Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/BrokerImpl.java Mon Aug 29 15:04:33 2016 @@ -61,6 +61,9 @@ import org.apache.qpid.server.logging.Ev import org.apache.qpid.server.logging.messages.BrokerMessages; import org.apache.qpid.server.logging.messages.VirtualHostMessages; import org.apache.qpid.server.model.preferences.GenericPrincipal; +import org.apache.qpid.server.model.preferences.Preference; +import org.apache.qpid.server.model.preferences.UserPreferences; +import org.apache.qpid.server.model.preferences.UserPreferencesImpl; import org.apache.qpid.server.plugin.QpidServiceLoader; import org.apache.qpid.server.plugin.SystemAddressSpaceCreator; import org.apache.qpid.server.plugin.SystemNodeCreator; @@ -730,6 +733,11 @@ public class BrokerImpl extends Abstract } } + @Override + public UserPreferences createUserPreferences(final ConfiguredObject<?> object) + { + return new UserPreferencesImpl(_preferenceTaskExecutor, object, _preferenceStore, Collections.<Preference>emptySet()); + } private void updateAccessControl() { Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Model.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Model.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Model.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Model.java Mon Aug 29 15:04:33 2016 @@ -76,13 +76,13 @@ public abstract class Model return descendants; } - public <C extends ConfiguredObject> C getAncestor(final Class<C> ancestorClass, + public <C> C getAncestor(final Class<C> ancestorClass, final ConfiguredObject<?> object) { return getAncestor(ancestorClass, object.getCategoryClass(), object); } - public <C extends ConfiguredObject> C getAncestor(final Class<C> ancestorClass, + public <C> C getAncestor(final Class<C> ancestorClass, final Class<? extends ConfiguredObject> category, final ConfiguredObject<?> object) { @@ -95,10 +95,10 @@ public abstract class Model for(Class<? extends ConfiguredObject> parentClass : getParentTypes(category)) { ConfiguredObject<?> parent = object.getParent(parentClass); - ConfiguredObject<?> ancestor = getAncestor(ancestorClass, parentClass, parent); + C ancestor = getAncestor(ancestorClass, parentClass, parent); if(ancestor != null) { - return (C) ancestor; + return ancestor; } } } Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java Mon Aug 29 15:04:33 2016 @@ -36,13 +36,15 @@ import org.apache.qpid.server.queue.Queu import org.apache.qpid.server.stats.StatisticsGatherer; import org.apache.qpid.server.store.DurableConfigurationStore; import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.preferences.UserPreferencesCreator; import org.apache.qpid.server.transport.AMQPConnection; import org.apache.qpid.server.virtualhost.HouseKeepingTask; import org.apache.qpid.server.virtualhost.NodeAutoCreationPolicy; @ManagedObject( defaultType = "ProvidedStore", description = VirtualHost.CLASS_DESCRIPTION) public interface VirtualHost<X extends VirtualHost<X>> extends ConfiguredObject<X>, StatisticsGatherer, - EventLoggerProvider, NamedAddressSpace + EventLoggerProvider, NamedAddressSpace, + UserPreferencesCreator { String CLASS_DESCRIPTION = "<p>A virtualhost is a namespace in which messaging is performed. Virtualhosts are " + "independent; the messaging goes on a within a virtualhost is independent of any " Copied: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/preferences/UserPreferencesCreator.java (from r1757892, qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java) URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/preferences/UserPreferencesCreator.java?p2=qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/preferences/UserPreferencesCreator.java&p1=qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java&r1=1757892&r2=1758241&rev=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/preferences/UserPreferencesCreator.java Mon Aug 29 15:04:33 2016 @@ -15,18 +15,15 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. + * */ -package org.apache.qpid.server.model.testmodels.hierarchy; +package org.apache.qpid.server.store.preferences; -import org.apache.qpid.server.model.ManagedObject; -import org.apache.qpid.server.model.ManagedOperation; -import org.apache.qpid.server.model.Param; +import org.apache.qpid.server.model.ConfiguredObject; +import org.apache.qpid.server.model.preferences.UserPreferences; -@ManagedObject(category = false) -public interface TestStandardCar<X extends TestStandardCar<X>> extends TestCar<X> +public interface UserPreferencesCreator { - - @ManagedOperation - Door openDoor(@Param(name = "door", defaultValue = "DRIVER") Door door); + UserPreferences createUserPreferences(ConfiguredObject<?> object); } Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Mon Aug 29 15:04:33 2016 @@ -92,6 +92,9 @@ import org.apache.qpid.server.message.Se import org.apache.qpid.server.message.internal.InternalMessage; import org.apache.qpid.server.model.*; import org.apache.qpid.server.model.port.AmqpPort; +import org.apache.qpid.server.model.preferences.Preference; +import org.apache.qpid.server.model.preferences.UserPreferences; +import org.apache.qpid.server.model.preferences.UserPreferencesImpl; import org.apache.qpid.server.plugin.ConnectionValidator; import org.apache.qpid.server.plugin.QpidServiceLoader; import org.apache.qpid.server.plugin.SystemNodeCreator; @@ -2028,21 +2031,29 @@ public abstract class AbstractVirtualHos }); } + @Override + public UserPreferences createUserPreferences(ConfiguredObject<?> object) + { + if (_preferenceTaskExecutor == null || !_preferenceTaskExecutor.isRunning()) + { + throw new IllegalStateException("Cannot create user preferences in not fully initialized virtual host"); + } + return new UserPreferencesImpl(_preferenceTaskExecutor, object, _preferenceStore, Collections.<Preference>emptySet()); + } + private void stopPreferenceTaskExecutor() { - TaskExecutor preferenceTaskExecutor = _preferenceTaskExecutor; - if (preferenceTaskExecutor != null) + if (_preferenceTaskExecutor != null) { - preferenceTaskExecutor.stop(); + _preferenceTaskExecutor.stop(); } } private void closePreferenceStore() { - PreferenceStore ps = _preferenceStore; - if (ps != null) + if (_preferenceStore != null) { - ps.close(); + _preferenceStore.close(); } } @@ -2420,6 +2431,13 @@ public abstract class AbstractVirtualHos getBroker().assignTargetSizes(); + final PreferenceStoreUpdater updater = new PreferenceStoreUpdaterImpl(); + Collection<PreferenceRecord> records = _preferenceStore.openAndLoad(updater); + _preferenceTaskExecutor = new TaskExecutorImpl("virtualhost-" + getName() + "-preferences", null); + _preferenceTaskExecutor.start(); + PreferencesRecoverer preferencesRecoverer = new PreferencesRecoverer(_preferenceTaskExecutor); + preferencesRecoverer.recoverPreferences(this, records, _preferenceStore); + if (_createDefaultExchanges) { return doAfter(createDefaultExchanges(), new Runnable() @@ -2464,13 +2482,6 @@ public abstract class AbstractVirtualHos State finalState = State.ERRORED; try { - final PreferenceStoreUpdater updater = new PreferenceStoreUpdaterImpl(); - Collection<PreferenceRecord> records = _preferenceStore.openAndLoad(updater); - _preferenceTaskExecutor = new TaskExecutorImpl("virtualhost-" + getName() + "-preferences", null); - _preferenceTaskExecutor.start(); - PreferencesRecoverer preferencesRecoverer = new PreferencesRecoverer(_preferenceTaskExecutor); - preferencesRecoverer.recoverPreferences(this, records, _preferenceStore); - initialiseHouseKeeping(getHousekeepingCheckPeriod()); finalState = State.ACTIVE; _acceptsConnections.set(true); Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostImpl.java Mon Aug 29 15:04:33 2016 @@ -50,6 +50,7 @@ import org.apache.qpid.server.model.Queu import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.model.port.AmqpPort; +import org.apache.qpid.server.model.preferences.UserPreferences; import org.apache.qpid.server.protocol.LinkRegistry; import org.apache.qpid.server.stats.StatisticsCounter; import org.apache.qpid.server.store.DurableConfigurationStore; @@ -551,4 +552,11 @@ class RedirectingVirtualHostImpl { } + + @Override + public UserPreferences createUserPreferences(final ConfiguredObject<?> object) + { + throwUnsupportedForRedirector(); + return null; + } } Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/BrokerTestHelper.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/BrokerTestHelper.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/BrokerTestHelper.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/BrokerTestHelper.java Mon Aug 29 15:04:33 2016 @@ -252,7 +252,7 @@ public class BrokerTestHelper public static Exchange<?> createExchange(String hostName, final boolean durable, final EventLogger eventLogger) throws Exception { - final VirtualHost virtualHost = mockWithSystemPrincipal(VirtualHost.class, SYSTEM_PRINCIPAL); + final VirtualHost virtualHost = mockWithSystemPrincipal(VirtualHost.class, SYSTEM_PRINCIPAL); when(virtualHost.getName()).thenReturn(hostName); when(virtualHost.getEventLogger()).thenReturn(eventLogger); when(virtualHost.getDurableConfigurationStore()).thenReturn(mock(DurableConfigurationStore.class)); @@ -261,6 +261,7 @@ public class BrokerTestHelper when(virtualHost.getModel()).thenReturn(objectFactory.getModel()); when(virtualHost.getTaskExecutor()).thenReturn(TASK_EXECUTOR); when(virtualHost.getChildExecutor()).thenReturn(TASK_EXECUTOR); + when(virtualHost.getCategoryClass()).thenReturn(VirtualHost.class); final Map<String,Object> attributes = new HashMap<String, Object>(); attributes.put(org.apache.qpid.server.model.Exchange.ID, UUIDGenerator.generateExchangeUUID("amp.direct", virtualHost.getName())); attributes.put(org.apache.qpid.server.model.Exchange.NAME, "amq.direct"); Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImplTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImplTest.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImplTest.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImplTest.java Mon Aug 29 15:04:33 2016 @@ -53,6 +53,7 @@ public class FileBasedGroupProviderImplT when(_broker.getChildExecutor()).thenReturn(_taskExecutor); when(_broker.getModel()).thenReturn(BrokerModel.getInstance()); when(_broker.getId()).thenReturn(UUID.randomUUID()); + when(_broker.getCategoryClass()).thenReturn(Broker.class); } @Override Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AbstractConfiguredObjectTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AbstractConfiguredObjectTest.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AbstractConfiguredObjectTest.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AbstractConfiguredObjectTest.java Mon Aug 29 15:04:33 2016 @@ -337,6 +337,23 @@ public class AbstractConfiguredObjectTes } + public void testUserPreferencesCreatedOnEngineCreation() + { + Map<String, Object> carAttributes = new HashMap<>(); + carAttributes.put(ConfiguredObject.NAME, "myCar"); + carAttributes.put(ConfiguredObject.TYPE, TestStandardCarImpl.TEST_STANDARD_CAR_TYPE); + + TestCar car = _model.getObjectFactory().create(TestCar.class, carAttributes); + + Map<String, Object> engineAttributes = new HashMap<>(); + engineAttributes.put(ConfiguredObject.NAME, "myEngine"); + engineAttributes.put(ConfiguredObject.TYPE, TestElecEngineImpl.TEST_ELEC_ENGINE_TYPE); + + TestEngine engine = (TestEngine) car.createChild(TestEngine.class, engineAttributes); + + assertNotNull("Unexpected user preferences", engine.getUserPreferences()); + } + public void testDuplicateChildRejected_Name() { doDuplicateChildCheck(ConfiguredObject.NAME); Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCar.java Mon Aug 29 15:04:33 2016 @@ -22,9 +22,10 @@ package org.apache.qpid.server.model.tes import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.ManagedOperation; import org.apache.qpid.server.model.Param; +import org.apache.qpid.server.store.preferences.UserPreferencesCreator; @ManagedObject(category = false) -public interface TestStandardCar<X extends TestStandardCar<X>> extends TestCar<X> +public interface TestStandardCar<X extends TestStandardCar<X>> extends TestCar<X>, UserPreferencesCreator { @ManagedOperation Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java Mon Aug 29 15:04:33 2016 @@ -33,6 +33,12 @@ import org.apache.qpid.server.model.Conf import org.apache.qpid.server.model.ManagedAttributeField; import org.apache.qpid.server.model.ManagedObject; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; +import org.apache.qpid.server.model.Model; +import org.apache.qpid.server.model.preferences.Preference; +import org.apache.qpid.server.model.preferences.UserPreferences; +import org.apache.qpid.server.model.preferences.UserPreferencesImpl; +import org.apache.qpid.server.store.preferences.NoopPreferenceStoreFactoryService; +import org.apache.qpid.server.store.preferences.PreferenceStore; @ManagedObject( category = false, type = TestStandardCarImpl.TEST_STANDARD_CAR_TYPE, @@ -41,6 +47,7 @@ public class TestStandardCarImpl extends implements TestStandardCar<TestStandardCarImpl> { public static final String TEST_STANDARD_CAR_TYPE = "testpertrolcar"; + private final PreferenceStore _preferenceStore; @ManagedAttributeField private Colour _bodyColour; @@ -51,12 +58,13 @@ public class TestStandardCarImpl extends @ManagedObjectFactoryConstructor public TestStandardCarImpl(final Map<String, Object> attributes) { - super(parentsMap(), attributes, newTaskExecutor(), TestModel.getInstance()); + this(attributes, TestModel.getInstance()); } - public TestStandardCarImpl(final Map<String, Object> attributes, TestModel model) + public TestStandardCarImpl(final Map<String, Object> attributes, Model model) { super(parentsMap(), attributes, newTaskExecutor(), model); + _preferenceStore = new NoopPreferenceStoreFactoryService().createInstance(this, null); } @@ -99,4 +107,10 @@ public class TestStandardCarImpl extends { return _interiorColour; } + + @Override + public UserPreferences createUserPreferences(final ConfiguredObject<?> object) + { + return new UserPreferencesImpl(getTaskExecutor(), object, _preferenceStore, Collections.<Preference>emptySet()); + } } Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java Mon Aug 29 15:04:33 2016 @@ -267,5 +267,17 @@ public class TestConfiguredObject extend { return _configuredObjectTypeRegistry; } + + @Override + public <C> C getAncestor(final Class<C> ancestorClass, + final Class<? extends ConfiguredObject> category, + final ConfiguredObject<?> object) + { + if (object == null) + { + return null; + } + return super.getAncestor(ancestorClass, category, object); + } } } Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java Mon Aug 29 15:04:33 2016 @@ -24,6 +24,7 @@ import static org.apache.qpid.test.utils import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.argThat; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -83,6 +84,7 @@ public class NonJavaKeyStoreTest extends when(_broker.getChildExecutor()).thenReturn(_taskExecutor); when(_broker.getModel()).thenReturn(_model); when(_broker.getEventLogger()).thenReturn(new EventLogger(_messageLogger)); + when(((Broker) _broker).getCategoryClass()).thenReturn(Broker.class); _testResources = new ArrayList<>(); } Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java (original) +++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java Mon Aug 29 15:04:33 2016 @@ -54,6 +54,7 @@ public class NonJavaTrustStoreTest exten when(_broker.getChildExecutor()).thenReturn(_taskExecutor); when(_broker.getModel()).thenReturn(_model); when(_broker.getEventLogger()).thenReturn(new EventLogger()); + when(((Broker) _broker).getCategoryClass()).thenReturn(Broker.class); } public void testCreationOfTrustStoreFromValidCertificate() throws Exception Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0Test.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0Test.java?rev=1758241&r1=1758240&r2=1758241&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0Test.java (original) +++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0Test.java Mon Aug 29 15:04:33 2016 @@ -102,6 +102,7 @@ public class ProtocolEngine_1_0_0Test ex when(_broker.getTaskExecutor()).thenReturn(taskExecutor); when(_broker.getId()).thenReturn(UUID.randomUUID()); when(_broker.getEventLogger()).thenReturn(new EventLogger()); + when(((Broker) _broker).getCategoryClass()).thenReturn(Broker.class); _port = mock(AmqpPort.class); when(_port.getChildExecutor()).thenReturn(taskExecutor); when(_port.getCategoryClass()).thenReturn(Port.class); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org