You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2019/11/21 11:59:18 UTC
[qpid-broker-j] branch master updated: QPID-8382 : Allow for making
attribute injectors type specific
This is an automated email from the ASF dual-hosted git repository.
rgodfrey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
The following commit(s) were added to refs/heads/master by this push:
new cf12504 QPID-8382 : Allow for making attribute injectors type specific
cf12504 is described below
commit cf1250432e74b7793182b7b7970fe07419647e09
Author: rgodfrey <rg...@apache.org>
AuthorDate: Thu Nov 21 12:58:47 2019 +0100
QPID-8382 : Allow for making attribute injectors type specific
---
.../qpid/server/model/BrokerAttributeInjector.java | 16 ++++++------
.../server/model/ConfiguredObjectTypeRegistry.java | 29 ++++++++++++----------
.../plugin/ConfiguredObjectAttributeInjector.java | 6 +++++
3 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerAttributeInjector.java b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerAttributeInjector.java
index a2d5278..8208973 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/BrokerAttributeInjector.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/BrokerAttributeInjector.java
@@ -50,15 +50,7 @@ public class BrokerAttributeInjector implements ConfiguredObjectAttributeInjecto
{
private static final Logger LOGGER = LoggerFactory.getLogger(BrokerAttributeInjector.class);
- private final InjectedAttributeOrStatistic.TypeValidator _typeValidator =
- new InjectedAttributeOrStatistic.TypeValidator()
- {
- @Override
- public boolean appliesToType(final Class<? extends ConfiguredObject<?>> type)
- {
- return Broker.class.isAssignableFrom(type);
- }
- };
+ private final InjectedAttributeOrStatistic.TypeValidator _typeValidator = Broker.class::isAssignableFrom;
private final Class<?> _hotSpotDiagnosticMXBeanClass;
private final PlatformManagedObject _hotSpotDiagnosticMXBean;
@@ -86,6 +78,12 @@ public class BrokerAttributeInjector implements ConfiguredObjectAttributeInjecto
}
@Override
+ public InjectedAttributeStatisticOrOperation.TypeValidator getTypeValidator()
+ {
+ return _typeValidator;
+ }
+
+ @Override
public Collection<ConfiguredObjectInjectedAttribute<?, ?>> getInjectedAttributes()
{
List<ConfiguredObjectInjectedAttribute<?, ?>> attributes = new ArrayList<>();
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
index 65b8d23..79b5fc6 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
@@ -815,27 +815,30 @@ public class ConfiguredObjectTypeRegistry
for (ConfiguredObjectAttributeInjector injector : _attributeInjectors)
{
- for (ConfiguredObjectInjectedAttribute<?, ?> attr : injector.getInjectedAttributes())
+ if (injector.getTypeValidator().appliesToType((Class<? extends ConfiguredObject<?>>) clazz))
{
- if (attr.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ for (ConfiguredObjectInjectedAttribute<?, ?> attr : injector.getInjectedAttributes())
{
- attributeSet.add(attr);
+ if (attr.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ {
+ attributeSet.add(attr);
+ }
}
- }
- for (ConfiguredObjectInjectedStatistic<?, ?> attr : injector.getInjectedStatistics())
- {
- if (attr.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ for (ConfiguredObjectInjectedStatistic<?, ?> attr : injector.getInjectedStatistics())
{
- statisticSet.add(attr);
+ if (attr.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ {
+ statisticSet.add(attr);
+ }
}
- }
- for (ConfiguredObjectInjectedOperation<?> operation : injector.getInjectedOperations())
- {
- if (operation.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ for (ConfiguredObjectInjectedOperation<?> operation : injector.getInjectedOperations())
{
- operationsSet.add(operation);
+ if (operation.appliesToConfiguredObjectType((Class<? extends ConfiguredObject<?>>) clazz))
+ {
+ operationsSet.add(operation);
+ }
}
}
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectAttributeInjector.java b/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectAttributeInjector.java
index 779884a..13d9dd9 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectAttributeInjector.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectAttributeInjector.java
@@ -25,10 +25,16 @@ import java.util.Collection;
import org.apache.qpid.server.model.ConfiguredObjectInjectedAttribute;
import org.apache.qpid.server.model.ConfiguredObjectInjectedOperation;
import org.apache.qpid.server.model.ConfiguredObjectInjectedStatistic;
+import org.apache.qpid.server.model.InjectedAttributeStatisticOrOperation;
public interface ConfiguredObjectAttributeInjector extends Pluggable
{
Collection<ConfiguredObjectInjectedAttribute<?,?>> getInjectedAttributes();
Collection<ConfiguredObjectInjectedStatistic<?,?>> getInjectedStatistics();
Collection<ConfiguredObjectInjectedOperation<?>> getInjectedOperations();
+
+ default InjectedAttributeStatisticOrOperation.TypeValidator getTypeValidator()
+ {
+ return type -> true;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org