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 2016/11/03 07:30:50 UTC
svn commit: r1767829 - in
/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server:
SystemLauncher.java model/AbstractSystemConfig.java model/SystemConfig.java
Author: rgodfrey
Date: Thu Nov 3 07:30:50 2016
New Revision: 1767829
URL: http://svn.apache.org/viewvc?rev=1767829&view=rev
Log:
QPID-7486 : remove assumptions on Broker in SystemLauncher
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/SystemLauncher.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/SystemLauncher.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/SystemLauncher.java?rev=1767829&r1=1767828&r2=1767829&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/SystemLauncher.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/SystemLauncher.java Thu Nov 3 07:30:50 2016
@@ -54,7 +54,6 @@ import org.apache.qpid.server.logging.Lo
import org.apache.qpid.server.logging.LoggingMessageLogger;
import org.apache.qpid.server.logging.MessageLogger;
import org.apache.qpid.server.logging.SystemOutMessageLogger;
-import org.apache.qpid.server.model.Container;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.SystemConfig;
import org.apache.qpid.server.plugin.PluggableFactoryLoader;
@@ -283,7 +282,7 @@ public class SystemLauncher
_systemConfig.open();
- if (_systemConfig.getContainer(Container.class).getState() == State.ERRORED)
+ if (_systemConfig.getContainer().getState() == State.ERRORED)
{
throw new RuntimeException("Closing due to errors");
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java?rev=1767829&r1=1767828&r2=1767829&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java Thu Nov 3 07:30:50 2016
@@ -198,7 +198,7 @@ public abstract class AbstractSystemConf
@Override
public final <T extends Container<? extends T>> T getContainer(Class<T> clazz)
{
- Collection<? extends Container> children = getChildren(Container.class);
+ Collection<? extends T> children = getChildren(clazz);
if(children == null || children.isEmpty())
{
return null;
@@ -208,16 +208,37 @@ public abstract class AbstractSystemConf
throw new IllegalConfigurationException("More than one " + clazz.getSimpleName() + " has been registered in a single context");
}
- Container container = children.iterator().next();
- if(clazz.isAssignableFrom(container.getClass()))
+ return children.iterator().next();
+
+ }
+
+ @Override
+ public final Container<?> getContainer()
+ {
+ final Collection<Class<? extends ConfiguredObject>> containerTypes =
+ getModel().getChildTypes(SystemConfig.class);
+ Class containerClass = null;
+ for(Class<? extends ConfiguredObject> clazz : containerTypes)
{
- return (T) container;
+ if(Container.class.isAssignableFrom(clazz))
+ {
+ if(containerClass == null)
+ {
+ containerClass = clazz;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Model has more than one child Container class beneath SystemConfig");
+ }
+ }
}
- else
+
+ if(containerClass == null)
{
- throw new IllegalConfigurationException("Child is not of expected class, expected " + clazz.getSimpleName() + " but was " + container.getClass().getSimpleName());
+ throw new IllegalArgumentException("Model has no child Container class beneath SystemConfig");
}
+ return getContainer(containerClass);
}
@Override
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java?rev=1767829&r1=1767828&r2=1767829&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java Thu Nov 3 07:30:50 2016
@@ -102,6 +102,8 @@ public interface SystemConfig<X extends
EventLogger getEventLogger();
+ Container<?> getContainer();
+
DurableConfigurationStore getConfigurationStore();
Runnable getOnContainerResolveTask();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org