summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-04-19 10:53:52 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-04-19 10:53:52 +0000
commit1e7961c77a9b416851c3612c9b5c1945c7fc9731 (patch)
tree3b3edd478d59a9b5dc6a764c850f3d3bdf4b205f
parent75745550db1a5978452e1af2c2eda6c48fcf4607 (diff)
downloadqpid-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
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java31
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java16
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java1
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java4
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);
}