diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-04-19 10:53:52 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-04-19 10:53:52 +0000 |
| commit | 1e7961c77a9b416851c3612c9b5c1945c7fc9731 (patch) | |
| tree | 3b3edd478d59a9b5dc6a764c850f3d3bdf4b205f | |
| parent | 75745550db1a5978452e1af2c2eda6c48fcf4607 (diff) | |
| download | qpid-python-1e7961c77a9b416851c3612c9b5c1945c7fc9731.tar.gz | |
QPID-5578 : Undo accidental commit of r1588632
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1588633 13f79535-47bb-0310-9956-ffa450edef68
8 files changed, 20 insertions, 44 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java index 1cb26cc4b2..df548d651f 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java @@ -35,7 +35,6 @@ import org.apache.qpid.server.logging.messages.BindingMessages; import org.apache.qpid.server.logging.subjects.BindingLogSubject; import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.ConfiguredObject; -import org.apache.qpid.server.model.ManagedAttributeField; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHost; @@ -47,13 +46,12 @@ public class BindingImpl extends AbstractConfiguredObject<BindingImpl> implements org.apache.qpid.server.model.Binding<BindingImpl> { - private String _bindingKey; + private final String _bindingKey; private final AMQQueue _queue; private final ExchangeImpl _exchange; - @ManagedAttributeField private Map<String, Object> _arguments; private final AtomicLong _matches = new AtomicLong(); - private BindingLogSubject _logSubject; + private final BindingLogSubject _logSubject; final AtomicBoolean _deleted = new AtomicBoolean(); final CopyOnWriteArrayList<StateChangeListener<BindingImpl,State>> _stateChangeListeners = @@ -62,38 +60,27 @@ public class BindingImpl public BindingImpl(Map<String, Object> attributes, AMQQueue queue, ExchangeImpl exchange) { super(parentsMap(queue,exchange),enhanceWithDurable(attributes,queue,exchange),queue.getVirtualHost().getTaskExecutor()); - _bindingKey = getName(); + _bindingKey = (String)attributes.get(org.apache.qpid.server.model.Binding.NAME); _queue = queue; _exchange = exchange; + Map<String,Object> arguments = (Map<String, Object>) attributes.get(org.apache.qpid.server.model.Binding.ARGUMENTS); + _arguments = arguments == null ? Collections.EMPTY_MAP : Collections.unmodifiableMap(arguments); - } - - @Override - protected void onOpen() - { - super.onOpen(); - _logSubject = new BindingLogSubject(_bindingKey,_exchange,_queue); - + //Perform ACLs + queue.getVirtualHost().getSecurityManager().authoriseCreateBinding(this); + _logSubject = new BindingLogSubject(_bindingKey,exchange,queue); getEventLogger().message(_logSubject, BindingMessages.CREATED(String.valueOf(getArguments()), getArguments() != null && !getArguments().isEmpty())); + } @Override protected void onCreate() { super.onCreate(); - try - { - _queue.getVirtualHost().getSecurityManager().authoriseCreateBinding(this); - } - catch(AccessControlException e) - { - deleted(); - throw e; - } if (isDurable()) { _queue.getVirtualHost().getDurableConfigurationStore().create(asObjectRecord()); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java index fa4e3f21dd..5de3fa4d4e 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java @@ -20,21 +20,20 @@ */ package org.apache.qpid.server.exchange; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - import org.apache.log4j.Logger; import org.apache.qpid.server.binding.BindingImpl; import org.apache.qpid.server.filter.AMQInvalidArgumentException; import org.apache.qpid.server.filter.FilterSupport; -import org.apache.qpid.server.filter.Filterable; import org.apache.qpid.server.filter.MessageFilter; import org.apache.qpid.server.message.AMQMessageHeader; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import org.apache.qpid.server.filter.Filterable; + /** * Defines binding and matching based on a set of headers. */ @@ -62,8 +61,7 @@ class HeadersBinding _binding = binding; if(_binding !=null) { - Map<String, Object> arguments = _binding.getArguments(); - _mappings = arguments == null ? Collections.<String,Object>emptyMap() : arguments; + _mappings = _binding.getArguments(); initMappings(); } else diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java index 03b19608af..4789da7126 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java @@ -1351,10 +1351,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im ManagedAttribute annotation = m.getAnnotation(ManagedAttribute.class); if(annotation != null) { - if(!(annotation.automate() || annotation.derived() || annotation.state())) - { - throw new ServerScopedRuntimeException("ManagedAttributes must be either automated or derived. " + m.getName() + " on " + clazz.getSimpleName() + " does not meet this criterion."); - } if(!clazz.isInterface() || !ConfiguredObject.class.isAssignableFrom(clazz)) { throw new ServerScopedRuntimeException("Can only define ManagedAttributes on interfaces which extend " + ConfiguredObject.class.getSimpleName() + ". " + clazz.getSimpleName() + " does not meet these criteria."); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java index a4e1f47160..17b9282f66 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java @@ -39,7 +39,7 @@ public interface Binding<X extends Binding<X>> extends ConfiguredObject<X> @ManagedAttribute( derived = true ) Exchange<?> getExchange(); - @ManagedAttribute( automate = true ) + @ManagedAttribute Map<String,Object> getArguments(); @ManagedStatistic diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java index 1404f5e7b6..54bab071fd 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java @@ -122,7 +122,7 @@ public interface ConfiguredObject<X extends ConfiguredObject<X>> * * @return the actual state of the object */ - @ManagedAttribute( state = true ) + @ManagedAttribute State getState(); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java index 4360e97c7e..20d8a3c311 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java @@ -30,7 +30,6 @@ public @interface ManagedAttribute boolean secure() default false; boolean derived() default false; boolean automate() default false; - boolean state() default false; boolean mandatory() default false; String defaultValue() default ""; } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java index 9b1da6225b..3d6ab9e76d 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java @@ -361,9 +361,7 @@ public class HeadersBindingTest extends TestCase attributes.put(Binding.ARGUMENTS, arguments); } attributes.put(Binding.ID, id); - BindingImpl binding = new BindingImpl(attributes, queue, exchange); - binding.open(); - return binding; + return new BindingImpl(attributes, queue, exchange); } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java index a6930a9acd..7b57143016 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java @@ -383,9 +383,7 @@ public class TopicExchangeTest extends QpidTestCase attributes.put(Binding.ARGUMENTS, arguments); } attributes.put(Binding.ID, id); - BindingImpl binding = new BindingImpl(attributes, queue, exchange); - binding.open(); - return binding; + return new BindingImpl(attributes, queue, exchange); } |
