You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/08/29 15:04:33 UTC
svn commit: r1758241 - in /qpid/java/trunk:
bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/
broker-core/src/main/java/org/apache/qpid/server/model/
broker-core/src/main/java/org/apache/qpid/server/store/preferences/
broker-core/sr...
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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org