Author: rgodfrey
Date: Sat Apr 19 10:45:42 2014
New Revision: 1588632

URL: http://svn.apache.org/r1588632
Log:
QPID-5578 : [Java Broker] Remove DurableConfigurationStoreHelper as it no 
longer does anything useful

Modified:
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
    
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
    
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
 Sat Apr 19 10:45:42 2014
@@ -35,6 +35,7 @@ import org.apache.qpid.server.logging.me
 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;
@@ -46,12 +47,13 @@ public class BindingImpl
         extends AbstractConfiguredObject<BindingImpl>
         implements org.apache.qpid.server.model.Binding<BindingImpl>
 {
-    private final String _bindingKey;
+    private String _bindingKey;
     private final AMQQueue _queue;
     private final ExchangeImpl _exchange;
+    @ManagedAttributeField
     private Map<String, Object> _arguments;
     private final AtomicLong _matches = new AtomicLong();
-    private final BindingLogSubject _logSubject;
+    private BindingLogSubject _logSubject;
 
     final AtomicBoolean _deleted = new AtomicBoolean();
     final CopyOnWriteArrayList<StateChangeListener<BindingImpl,State>> 
_stateChangeListeners =
@@ -60,27 +62,38 @@ 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 = 
(String)attributes.get(org.apache.qpid.server.model.Binding.NAME);
+        _bindingKey = getName();
         _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);
 
 
-        //Perform ACLs
-        
queue.getVirtualHost().getSecurityManager().authoriseCreateBinding(this);
-        _logSubject = new BindingLogSubject(_bindingKey,exchange,queue);
+    }
+
+    @Override
+    protected void onOpen()
+    {
+        super.onOpen();
+        _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());

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/HeadersBinding.java
 Sat Apr 19 10:45:42 2014
@@ -20,20 +20,21 @@
  */
 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.
  */
@@ -61,7 +62,8 @@ class HeadersBinding
         _binding = binding;
         if(_binding !=null)
         {
-            _mappings = _binding.getArguments();
+            Map<String, Object> arguments = _binding.getArguments();
+            _mappings = arguments == null ? 
Collections.<String,Object>emptyMap() : arguments;
             initMappings();
         }
         else

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 Sat Apr 19 10:45:42 2014
@@ -1351,6 +1351,10 @@ public abstract class AbstractConfigured
                 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.");

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Binding.java
 Sat Apr 19 10:45:42 2014
@@ -39,7 +39,7 @@ public interface Binding<X extends Bindi
     @ManagedAttribute( derived = true )
     Exchange<?> getExchange();
 
-    @ManagedAttribute
+    @ManagedAttribute( automate = true )
     Map<String,Object> getArguments();
 
     @ManagedStatistic

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
 Sat Apr 19 10:45:42 2014
@@ -122,7 +122,7 @@ public interface ConfiguredObject<X exte
      *
      * @return the actual state of the object
      */
-    @ManagedAttribute
+    @ManagedAttribute( state = true )
     State getState();
 
 

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
 Sat Apr 19 10:45:42 2014
@@ -30,6 +30,7 @@ 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 "";
 }

Modified: 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
 Sat Apr 19 10:45:42 2014
@@ -361,7 +361,9 @@ public class HeadersBindingTest extends 
             attributes.put(Binding.ARGUMENTS, arguments);
         }
         attributes.put(Binding.ID, id);
-        return new BindingImpl(attributes, queue, exchange);
+        BindingImpl binding = new BindingImpl(attributes, queue, exchange);
+        binding.open();
+        return binding;
     }
 
 

Modified: 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java?rev=1588632&r1=1588631&r2=1588632&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
 Sat Apr 19 10:45:42 2014
@@ -383,7 +383,9 @@ public class TopicExchangeTest extends Q
             attributes.put(Binding.ARGUMENTS, arguments);
         }
         attributes.put(Binding.ID, id);
-        return new BindingImpl(attributes, queue, exchange);
+        BindingImpl binding = new BindingImpl(attributes, queue, exchange);
+        binding.open();
+        return binding;
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to