You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2015/03/12 15:13:29 UTC

svn commit: r1666200 [1/4] - in /qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java: ./ amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/ bdbstore/src/test/java/org/...

Author: kwall
Date: Thu Mar 12 14:13:28 2015
New Revision: 1666200

URL: http://svn.apache.org/r1666200
Log:
Merge from trunk

Added:
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerAssembler.java
Modified:
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SendingLinkEndpoint.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ConfigModelPasswordManagingAuthenticationProvider.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ManagedUser.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnection.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestKitCarImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestStandardCarImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/lifecycle/TestConfiguredObject.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileTrustStoreTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostQueueCreationTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNodeTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ProtocolEngine_0_10.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/metadata.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/widgetconfigurer.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addExchange.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBean.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/VirtualHostManagerMBeanTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/tools/src/main/java/org/apache/qpid/tools/util/ArgumentsParser.java

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 12 14:13:28 2015
@@ -9,4 +9,4 @@
 /qpid/branches/java-network-refactor/qpid/java:805429-821809
 /qpid/branches/qpid-2935/qpid/java:1061302-1072333
 /qpid/trunk/qpid:796646-796653
-/qpid/trunk/qpid/java:1643238-1663687
+/qpid/trunk/qpid/java:1643238-1666113

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java Thu Mar 12 14:13:28 2015
@@ -33,6 +33,7 @@ import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
@@ -148,6 +149,7 @@ public class ConnectionEndpoint implemen
     private String _localHostname;
     private boolean _secure;
     private Principal _externalPrincipal;
+    private List<Runnable> _postLockActions = new ArrayList<>();
 
     public ConnectionEndpoint(Container container, SaslServerProvider cbs)
     {
@@ -792,22 +794,37 @@ public class ConnectionEndpoint implemen
         _logger = logger;
     }
 
-    public synchronized void receive(final short channel, final Object frame)
+    public void receive(final short channel, final Object frame)
     {
-        if (_logger.isEnabled())
+        List<Runnable> postLockActions;
+        synchronized(this)
         {
-            _logger.received(_remoteAddress, channel, frame);
-        }
-        if (frame instanceof FrameBody)
-        {
-            ((FrameBody) frame).invoke(channel, this);
+            if (_logger.isEnabled())
+            {
+                _logger.received(_remoteAddress, channel, frame);
+            }
+            if (frame instanceof FrameBody)
+            {
+                ((FrameBody) frame).invoke(channel, this);
+            }
+            else if (frame instanceof SaslFrameBody)
+            {
+                ((SaslFrameBody) frame).invoke(this);
+            }
+            postLockActions = _postLockActions;
+            _postLockActions = new ArrayList<>();
         }
-        else if (frame instanceof SaslFrameBody)
+        for(Runnable action : postLockActions)
         {
-            ((SaslFrameBody) frame).invoke(this);
+            action.run();
         }
     }
 
+    synchronized void addPostLockAction(Runnable action)
+    {
+        _postLockActions.add(action);
+    }
+
     public AMQPDescribedTypeRegistry getDescribedTypeRegistry()
     {
         return _describedTypeRegistry;

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SendingLinkEndpoint.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SendingLinkEndpoint.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SendingLinkEndpoint.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SendingLinkEndpoint.java Thu Mar 12 14:13:28 2015
@@ -21,15 +21,19 @@
 
 package org.apache.qpid.amqp_1_0.transport;
 
-import org.apache.qpid.amqp_1_0.type.*;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.qpid.amqp_1_0.type.Binary;
+import org.apache.qpid.amqp_1_0.type.DeliveryState;
+import org.apache.qpid.amqp_1_0.type.Outcome;
+import org.apache.qpid.amqp_1_0.type.Symbol;
+import org.apache.qpid.amqp_1_0.type.UnsignedInteger;
 import org.apache.qpid.amqp_1_0.type.transport.Attach;
 import org.apache.qpid.amqp_1_0.type.transport.Flow;
 import org.apache.qpid.amqp_1_0.type.transport.Role;
 import org.apache.qpid.amqp_1_0.type.transport.Transfer;
 
-import java.util.HashMap;
-import java.util.Map;
-
 public class SendingLinkEndpoint extends LinkEndpoint<SendingLinkListener>
 {
 
@@ -162,8 +166,14 @@ public class SendingLinkEndpoint extends
                 setLinkCredit(limit.subtract(getDeliveryCount()));
             }
         }
-        getLinkEventListener().flowStateChanged();
-
+        getSession().getConnection().addPostLockAction(new Runnable()
+        {
+            @Override
+            public void run()
+            {
+                flowStateChanged();
+            }
+        });
     }
 
     @Override

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java Thu Mar 12 14:13:28 2015
@@ -456,32 +456,42 @@ public class SessionEndpoint
 
     public void receiveFlow(final Flow flow)
     {
-
-        synchronized(getLock())
+        synchronized (getLock())
         {
             UnsignedInteger handle = flow.getHandle();
-            LinkEndpoint endpoint = handle == null ? null : _remoteLinkEndpoints.get(handle);
+            final LinkEndpoint endpoint = handle == null ? null : _remoteLinkEndpoints.get(handle);
 
-            final UnsignedInteger nextOutgoingId = flow.getNextIncomingId() == null ? _initialOutgoingId : flow.getNextIncomingId();
+            final UnsignedInteger nextOutgoingId =
+                    flow.getNextIncomingId() == null ? _initialOutgoingId : flow.getNextIncomingId();
             int limit = (nextOutgoingId.intValue() + flow.getIncomingWindow().intValue());
             _outgoingSessionCredit = UnsignedInteger.valueOf(limit - _nextOutgoingTransferId.intValue());
 
-            if(endpoint != null)
+            if (endpoint != null)
             {
-                endpoint.receiveFlow( flow );
+                endpoint.receiveFlow(flow);
             }
             else
             {
-                for(LinkEndpoint le : _remoteLinkEndpoints.values())
+                final Collection<LinkEndpoint> allLinkEndpoints = _remoteLinkEndpoints.values();
+                getConnection().addPostLockAction(new Runnable()
                 {
-                    le.flowStateChanged();
-                }
+                    @Override
+                    public void run()
+                    {
+
+                        for(LinkEndpoint le : allLinkEndpoints)
+                        {
+                            le.flowStateChanged();
+                        }
+                    }
+                });
             }
 
             getLock().notifyAll();
         }
 
 
+
     }
 
     public void receiveDisposition(final Disposition disposition)

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java Thu Mar 12 14:13:28 2015
@@ -21,7 +21,6 @@
 
 package org.apache.qpid.server.virtualhostnode.berkeleydb;
 
-import java.security.AccessControlException;
 import java.util.Map;
 import java.util.Set;
 
@@ -44,7 +43,6 @@ import org.apache.qpid.server.model.Stat
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.model.SystemConfig;
 import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
 
 public class BDBHARemoteReplicationNodeImpl extends AbstractConfiguredObject<BDBHARemoteReplicationNodeImpl> implements BDBHARemoteReplicationNode<BDBHARemoteReplicationNodeImpl>
@@ -122,27 +120,6 @@ public class BDBHARemoteReplicationNodeI
         super.deleted();
     }
 
-
-    @Override
-    protected void authoriseSetAttributes(final ConfiguredObject<?> proxyForValidation,
-                                          final Set<String> modifiedAttributes)
-    {
-        _broker.getSecurityManager().authoriseVirtualHostNode(getName(), Operation.UPDATE);
-    }
-
-    @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            _broker.getSecurityManager().authoriseVirtualHostNode(getName(), Operation.DELETE);
-        }
-        else
-        {
-            _broker.getSecurityManager().authoriseVirtualHostNode(getName(), Operation.UPDATE);
-        }
-    }
-
     @Override
     public String toString()
     {

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeTest.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeTest.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeTest.java Thu Mar 12 14:13:28 2015
@@ -36,7 +36,6 @@ import org.apache.qpid.server.model.Conf
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.store.DurableConfigurationStore;
 import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
 import org.apache.qpid.server.util.BrokerTestHelper;
@@ -106,9 +105,7 @@ public class BDBHARemoteReplicationNodeT
         String remoteReplicationName = getName();
         BDBHARemoteReplicationNode remoteReplicationNode = createRemoteReplicationNode(remoteReplicationName);
 
-        doThrow(new AccessControlException("mocked ACL exception")).when(_mockSecurityManager).authoriseVirtualHostNode(
-                remoteReplicationName,
-                Operation.UPDATE);
+        doThrow(new AccessControlException("mocked ACL exception")).when(_mockSecurityManager).authoriseUpdate(remoteReplicationNode);
 
         assertNull(remoteReplicationNode.getDescription());
 
@@ -130,9 +127,7 @@ public class BDBHARemoteReplicationNodeT
         String remoteReplicationName = getName();
         BDBHARemoteReplicationNode remoteReplicationNode = createRemoteReplicationNode(remoteReplicationName);
 
-        doThrow(new AccessControlException("mocked ACL exception")).when(_mockSecurityManager).authoriseVirtualHostNode(
-                remoteReplicationName,
-                Operation.DELETE);
+        doThrow(new AccessControlException("mocked ACL exception")).when(_mockSecurityManager).authoriseDelete(remoteReplicationNode);
 
         assertNull(remoteReplicationNode.getDescription());
 

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java Thu Mar 12 14:13:28 2015
@@ -398,9 +398,9 @@ public class BDBHAVirtualHostNodeRestTes
         assertNotNull("Node " + name + " has unexpected lastKnownReplicationId", lastKnownTransactionId);
         assertTrue("Node " + name + " has unexpected lastKnownReplicationId " + lastKnownTransactionId, lastKnownTransactionId > 0);
 
-        Long joinTime = (Long) nodeData.get(BDBHAVirtualHostNode.JOIN_TIME);
+        Number joinTime = (Number) nodeData.get(BDBHAVirtualHostNode.JOIN_TIME);
         assertNotNull("Node " + name + " has unexpected joinTime", joinTime);
-        assertTrue("Node " + name + " has unexpected joinTime " + joinTime, joinTime > 0);
+        assertTrue("Node " + name + " has unexpected joinTime " + joinTime, joinTime.longValue() > 0);
      }
 
     private void assertActualAndDesiredStates(final String restUrl,

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java Thu Mar 12 14:13:28 2015
@@ -48,6 +48,7 @@ import org.apache.qpid.server.model.Queu
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.util.StateChangeListener;
 
 public class BindingImpl
@@ -254,7 +255,7 @@ public class BindingImpl
     @Override
     public void validateOnCreate()
     {
-        _queue.getVirtualHost().getSecurityManager().authoriseCreateBinding(this);
+        authoriseCreate(this);
 
         AMQQueue queue = getAMQQueue();
         Map<String, Object> arguments = getArguments();
@@ -271,4 +272,10 @@ public class BindingImpl
         }
     }
 
+    @Override
+    protected SecurityManager getSecurityManager()
+    {
+        return _queue.getVirtualHost().getSecurityManager();
+    }
+
 }

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java Thu Mar 12 14:13:28 2015
@@ -29,7 +29,7 @@ import org.apache.qpid.server.store.Dura
 
 public class StoreConfigurationChangeListener implements ConfigurationChangeListener
 {
-    private DurableConfigurationStore _store;
+    private final DurableConfigurationStore _store;
 
     public StoreConfigurationChangeListener(DurableConfigurationStore store)
     {

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Thu Mar 12 14:13:28 2015
@@ -20,7 +20,6 @@
  */
 package org.apache.qpid.server.exchange;
 
-import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -141,12 +140,6 @@ public abstract class AbstractExchange<T
     }
 
     @Override
-    public void validateOnCreate()
-    {
-        _virtualHost.getSecurityManager().authoriseCreateExchange(this);
-    }
-
-    @Override
     public void onValidate()
     {
         super.onValidate();
@@ -195,8 +188,6 @@ public abstract class AbstractExchange<T
     @Override
     public void deleteWithChecks()
     {
-        _virtualHost.getSecurityManager().authoriseDelete(this);
-
         if(hasReferrers())
         {
             throw new ExchangeIsAlternateException(getName());
@@ -656,7 +647,7 @@ public abstract class AbstractExchange<T
         }
 
         // Check access
-        _virtualHost.getSecurityManager().authoriseUnbind(binding);
+        authoriseDelete(binding);
 
         BindingImpl b = _bindingsMap.remove(new BindingIdentifier(bindingKey,queue));
 
@@ -810,7 +801,7 @@ public abstract class AbstractExchange<T
             preSetAlternateExchange();
             setState(State.DELETED);
         }
-        catch (ExchangeIsAlternateException | RequiredExchangeException e)
+        catch (ExchangeIsAlternateException e)
         {
 
         }
@@ -925,16 +916,5 @@ public abstract class AbstractExchange<T
         return binding;
     }
 
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        _virtualHost.getSecurityManager().authoriseUpdate(this);
-    }
-
-    @Override
-    protected void changeAttributes(final Map<String, Object> attributes)
-    {
-        super.changeAttributes(attributes);
-    }
 
 }

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Thu Mar 12 14:13:28 2015
@@ -1288,17 +1288,18 @@ public abstract class AbstractConfigured
                             }
 
                         }
-
                     });
-
-
                 }
                 else
                 {
-                    authoriseSetDesiredState(desiredState);
-                    validateChange(createProxyForValidation(Collections.<String, Object>singletonMap(
-                            ConfiguredObject.DESIRED_STATE,
-                            desiredState)), Collections.singleton(ConfiguredObject.DESIRED_STATE));
+                    ConfiguredObject<?> proxyForValidation =
+                            createProxyForValidation(Collections.<String, Object>singletonMap(
+                                    ConfiguredObject.DESIRED_STATE,
+                                    desiredState));
+                    Set<String> desiredStateOnlySet = Collections.unmodifiableSet(
+                            Collections.singleton(ConfiguredObject.DESIRED_STATE));
+                    authoriseSetAttributes(proxyForValidation, desiredStateOnlySet);
+                    validateChange(proxyForValidation, desiredStateOnlySet);
 
                     if (changeAttribute(ConfiguredObject.DESIRED_STATE, currentDesiredState, desiredState))
                     {
@@ -2014,12 +2015,6 @@ public abstract class AbstractConfigured
         }
     }
 
-    protected void authoriseSetAttributes(final ConfiguredObject<?> proxyForValidation,
-                                          final Set<String> modifiedAttributes)
-    {
-
-    }
-
     protected void changeAttributes(final Map<String, Object> attributes)
     {
         Collection<String> names = getAttributeNames();
@@ -2077,17 +2072,61 @@ public abstract class AbstractConfigured
     {
         return (ConfiguredObject<?>) Proxy.newProxyInstance(getClass().getClassLoader(),
                                                             new Class<?>[]{_bestFitInterface},
-                                                            new AttributeGettingHandler(attributes));
+                                                            new AttributeGettingHandler(attributes, _attributeTypes, this));
     }
 
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
+    private ConfiguredObject<?> createProxyForAuthorisation(final Class<? extends ConfiguredObject> category,
+                                                            final Map<String, Object> attributes,
+                                                            final ConfiguredObject<?> parent,
+                                                            final ConfiguredObject<?>... otherParents)
     {
-        // allowed by default
+        return (ConfiguredObject<?>) Proxy.newProxyInstance(getClass().getClassLoader(),
+                                                            new Class<?>[]{category},
+                                                            new AuthorisationProxyInvocationHandler(attributes,
+                                                                    getModel().getTypeRegistry().getAttributeTypes(category),
+                                                                    category, parent, otherParents));
     }
 
-    protected <C extends ConfiguredObject> void authoriseCreateChild(Class<C> childClass, Map<String, Object> attributes, ConfiguredObject... otherParents) throws AccessControlException
+    protected final <C extends ConfiguredObject<?>> void authoriseCreateChild(Class<C> childClass, Map<String, Object> attributes, ConfiguredObject... otherParents) throws AccessControlException
     {
-        // allowed by default
+        ConfiguredObject<?> configuredObject = createProxyForAuthorisation(childClass, attributes, this, otherParents);
+        getSecurityManager().authoriseCreate(configuredObject);
+    }
+
+    protected final void authoriseCreate(ConfiguredObject<?> object) throws AccessControlException
+    {
+        getSecurityManager().authoriseCreate(object);
+    }
+
+    protected final void authoriseSetAttributes(final ConfiguredObject<?> proxyForValidation,
+                                                               final Set<String> modifiedAttributes)
+    {
+        if (modifiedAttributes.contains(DESIRED_STATE) && State.DELETED.equals(proxyForValidation.getDesiredState()))
+        {
+            authoriseDelete(this);
+            if (modifiedAttributes.size() == 1)
+            {
+                // nothing left to authorize
+                return;
+            }
+        }
+        getSecurityManager().authoriseUpdate(this);
+    }
+
+    protected final void authoriseDelete(ConfiguredObject<?> object)
+    {
+        getSecurityManager().authoriseDelete(object);
+    }
+
+    protected SecurityManager getSecurityManager()
+    {
+        Broker broker = getModel().getAncestor(Broker.class, getCategoryClass(), this);
+        if (broker != null )
+        {
+            return broker.getSecurityManager();
+        }
+        LOGGER.warn("Broker parent is not found for " + getName() + " of type " + getClass());
+        return null;
     }
 
     @Override
@@ -2440,15 +2479,23 @@ public abstract class AbstractConfigured
     }
 
 
-    private class AttributeGettingHandler implements InvocationHandler
+    private static class AttributeGettingHandler implements InvocationHandler
     {
-        private Map<String,Object> _attributes;
+        private final Map<String,Object> _attributes;
+        private final Map<String, ConfiguredObjectAttribute<?,?>> _attributeTypes;
+        private final ConfiguredObject<?> _configuredObject;
 
-        AttributeGettingHandler(final Map<String, Object> modifiedAttributes)
+        AttributeGettingHandler(final Map<String, Object> modifiedAttributes, Map<String, ConfiguredObjectAttribute<?,?>> attributeTypes, ConfiguredObject<?> configuredObject)
         {
-            Map<String,Object> combinedAttributes = new HashMap<String, Object>(getActualAttributes());
+            Map<String,Object> combinedAttributes = new HashMap<>();
+            if (configuredObject != null)
+            {
+                combinedAttributes.putAll(configuredObject.getActualAttributes());
+            }
             combinedAttributes.putAll(modifiedAttributes);
             _attributes = combinedAttributes;
+            _attributeTypes = attributeTypes;
+            _configuredObject = configuredObject;
         }
 
         @Override
@@ -2477,16 +2524,26 @@ public abstract class AbstractConfigured
 
         protected Object getValue(final ConfiguredObjectAttribute attribute)
         {
+            Object value;
             if(attribute.isAutomated())
             {
-                ConfiguredAutomatedAttribute autoAttr = (ConfiguredAutomatedAttribute)attribute;
-                Object value = _attributes.get(attribute.getName());
-                return attribute.convert(value == null && !"".equals(autoAttr.defaultValue()) ? autoAttr.defaultValue() : value , AbstractConfiguredObject.this);
+                ConfiguredAutomatedAttribute autoAttr = (ConfiguredAutomatedAttribute) attribute;
+                value = _attributes.get(attribute.getName());
+                if (value == null && !"".equals(autoAttr.defaultValue()))
+                {
+                    value = autoAttr.defaultValue();
+                }
             }
             else
             {
-                return _attributes.get(attribute.getName());
+                value = _attributes.get(attribute.getName());
             }
+            return convert(attribute, value);
+        }
+
+        protected Object convert(ConfiguredObjectAttribute attribute, Object value)
+        {
+            return attribute.convert(value, _configuredObject);
         }
 
         private ConfiguredObjectAttribute getAttributeFromMethod(final Method method)
@@ -2503,6 +2560,54 @@ public abstract class AbstractConfigured
         }
     }
 
+    private static class AuthorisationProxyInvocationHandler extends AttributeGettingHandler
+    {
+        private final Class<? extends ConfiguredObject> _category;
+        private final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> _parents;
+        private final ConfiguredObject<?> _parent   ;
+
+        AuthorisationProxyInvocationHandler(Map<String, Object> attributes,
+                                            Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes,
+                                            Class<? extends ConfiguredObject> categoryClass,
+                                            ConfiguredObject<?> parent,
+                                            ConfiguredObject<?>... parents)
+        {
+            super(attributes, attributeTypes, null);
+            _parent = parent;
+            _category = categoryClass;
+            _parents = new HashMap<>();
+            if (parents != null)
+            {
+                for (ConfiguredObject<?> parentObject : parents)
+                {
+                    _parents.put(parentObject.getCategoryClass(), parentObject);
+                }
+            }
+            _parents.put(parent.getCategoryClass(), parent);
+        }
+
+        @Override
+        public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable
+        {
+            if(method.getName().equals("getParent") && args != null && args.length == 1 && args[0] instanceof Class)
+            {
+                Class<ConfiguredObject> parentClass = (Class<ConfiguredObject> )args[0];
+                return _parents.get(parentClass);
+            }
+            else if(method.getName().equals("getCategoryClass"))
+            {
+                return _category;
+            }
+            return super.invoke(proxy, method, args);
+        }
+
+        @Override
+        protected Object convert(ConfiguredObjectAttribute attribute, Object value)
+        {
+            return attribute.convert(value, _parent);
+        }
+    }
+
     protected final static class DuplicateIdException extends IllegalArgumentException
     {
         public DuplicateIdException(final ConfiguredObject<?> child)

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java Thu Mar 12 14:13:28 2015
@@ -20,7 +20,6 @@
  */
 package org.apache.qpid.server.model.adapter;
 
-import java.security.AccessControlException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
@@ -30,8 +29,6 @@ import org.apache.qpid.server.model.Abst
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Plugin;
-import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.security.access.Operation;
 
 public abstract class AbstractPluginAdapter<X extends Plugin<X>> extends AbstractConfiguredObject<X> implements Plugin<X>
 {
@@ -70,27 +67,6 @@ public abstract class AbstractPluginAdap
         return Collections.emptyList();
     }
 
-    @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), Plugin.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of plugin is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), Plugin.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting of plugin attributes is denied");
-        }
-    }
-
     protected Broker<?> getBroker()
     {
         return _broker;

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Thu Mar 12 14:13:28 2015
@@ -54,7 +54,6 @@ import org.apache.qpid.server.plugin.Con
 import org.apache.qpid.server.plugin.PluggableFactoryLoader;
 import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.security.SubjectCreator;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.manager.SimpleAuthenticationManager;
 import org.apache.qpid.server.stats.StatisticsCounter;
 import org.apache.qpid.server.stats.StatisticsGatherer;
@@ -908,35 +907,6 @@ public class BrokerAdapter extends Abstr
     }
 
     @Override
-    protected <C extends ConfiguredObject> void authoriseCreateChild(Class<C> childClass, Map<String, Object> attributes,
-            ConfiguredObject... otherParents) throws AccessControlException
-    {
-        if (childClass == VirtualHostNode.class)
-        {
-            _securityManager.authoriseVirtualHostNode(String.valueOf(attributes.get(NAME)), Operation.CREATE);
-
-        }
-        else
-        {
-            if (!_securityManager.authoriseConfiguringBroker(String.valueOf(attributes.get(NAME)),
-                                                             childClass,
-                                                             Operation.CREATE))
-            {
-                throw new AccessControlException("Creation of new broker level entity is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_securityManager.authoriseConfiguringBroker(getName(), Broker.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting of broker attributes is denied");
-        }
-    }
-
-    @Override
     public boolean isManagementMode()
     {
         return _parent.isManagementMode();

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java Thu Mar 12 14:13:28 2015
@@ -21,7 +21,6 @@ package org.apache.qpid.server.model.ada
 
 import java.io.File;
 import java.io.IOException;
-import java.security.AccessControlException;
 import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -50,7 +49,6 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.UsernamePrincipal;
 import org.apache.qpid.server.security.group.FileGroupDatabase;
 import org.apache.qpid.server.security.group.GroupPrincipal;
@@ -219,8 +217,6 @@ public class FileBasedGroupProviderImpl
         {
             String groupName = (String) attributes.get(Group.NAME);
 
-            getSecurityManager().authoriseGroupOperation(Operation.CREATE, groupName);
-
             if (getState() != State.ACTIVE)
             {
                 throw new IllegalConfigurationException(String.format("Group provider '%s' is not activated. Cannot create a group.", getName()));
@@ -262,8 +258,8 @@ public class FileBasedGroupProviderImpl
         }
     }
 
-
-    private SecurityManager getSecurityManager()
+    @Override
+    protected SecurityManager getSecurityManager()
     {
         return _broker.getSecurityManager();
     }
@@ -360,27 +356,6 @@ public class FileBasedGroupProviderImpl
         // no-op, as per above, groups are not in the store
     }
 
-    @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), GroupProvider.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of groups provider is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), GroupProvider.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting of group provider attributes is denied");
-        }
-    }
-
     private class GroupAdapter extends AbstractConfiguredObject<GroupAdapter> implements Group<GroupAdapter>
     {
         private GroupPrincipal _groupPrincipal;
@@ -465,8 +440,6 @@ public class FileBasedGroupProviderImpl
             {
                 String memberName = (String) attributes.get(GroupMember.NAME);
 
-                getSecurityManager().authoriseGroupOperation(Operation.UPDATE, getName());
-
                 _groupDatabase.addUserToGroup(memberName, getName());
                 UUID id = UUID.randomUUID();
                 Map<String,Object> attrMap = new HashMap<String, Object>();
@@ -486,7 +459,6 @@ public class FileBasedGroupProviderImpl
         @StateTransition( currentState = State.ACTIVE, desiredState = State.DELETED )
         private ListenableFuture<Void> doDelete()
         {
-            getSecurityManager().authoriseGroupOperation(Operation.DELETE, getName());
             _groupDatabase.removeGroup(getName());
             deleted();
             setState(State.DELETED);
@@ -557,8 +529,6 @@ public class FileBasedGroupProviderImpl
             @StateTransition(currentState = State.ACTIVE, desiredState = State.DELETED)
             private ListenableFuture<Void> doDelete()
             {
-                getSecurityManager().authoriseGroupOperation(Operation.UPDATE, GroupAdapter.this.getName());
-
                 _groupDatabase.removeUserFromGroup(getName(), GroupAdapter.this.getName());
                 deleted();
                 setState(State.DELETED);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java Thu Mar 12 14:13:28 2015
@@ -235,6 +235,7 @@ public class FileSystemPreferencesProvid
     @Override
     public Map<String, Object> getPreferences(String userId)
     {
+        getSecurityManager().authoriseUserUpdate(userId);
         return _store == null? Collections.<String, Object>emptyMap() : _store.getPreferences(userId);
     }
 
@@ -257,6 +258,10 @@ public class FileSystemPreferencesProvid
             throw new IllegalStateException("Cannot delete preferences with preferences provider " + getName() + " in state " + getState() );
         }
 
+        for (String userId: userIDs)
+        {
+            getSecurityManager().authoriseUserUpdate(userId);
+        }
         return _store.deletePreferences(userIDs);
     }
 

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java Thu Mar 12 14:13:28 2015
@@ -21,7 +21,6 @@
 
 package org.apache.qpid.server.model.port;
 
-import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
@@ -46,7 +45,6 @@ import org.apache.qpid.server.model.Stat
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.model.Transport;
 import org.apache.qpid.server.model.TrustStore;
-import org.apache.qpid.server.security.access.Operation;
 
 abstract public class AbstractPort<X extends AbstractPort<X>> extends AbstractConfiguredObject<X> implements Port<X>
 {
@@ -276,28 +274,6 @@ abstract public class AbstractPort<X ext
         return State.ACTIVE;
     }
 
-
-    @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), Port.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of port is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), Port.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting of port attributes is denied");
-        }
-    }
-
     @Override
     public Collection<String> getEnabledCipherSuites()
     {

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Thu Mar 12 14:13:28 2015
@@ -273,12 +273,6 @@ public abstract class AbstractQueue<X ex
     }
 
     @Override
-    protected void validateOnCreate()
-    {
-        _virtualHost.getSecurityManager().authoriseCreateQueue(this);
-    }
-
-    @Override
     protected void onCreate()
     {
         super.onCreate();
@@ -3049,12 +3043,6 @@ public abstract class AbstractQueue<X ex
         }
     }
 
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        _virtualHost.getSecurityManager().authoriseUpdate(this);
-    }
-
     int getMaxAsyncDeliveries()
     {
         return _maxAsyncDeliveries;

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java Thu Mar 12 14:13:28 2015
@@ -51,6 +51,7 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.protocol.AMQSessionModel;
 import org.apache.qpid.server.protocol.MessageConverterRegistry;
+import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.util.StateChangeListener;
 
 class QueueConsumerImpl
@@ -126,7 +127,7 @@ class QueueConsumerImpl
         _queue = queue;
 
         // Access control
-        _queue.getVirtualHost().getSecurityManager().authoriseCreateConsumer(this);
+        authoriseCreate(this);
 
         open();
 
@@ -145,6 +146,12 @@ class QueueConsumerImpl
         _target.addStateListener(_listener);
     }
 
+    @Override
+    protected SecurityManager getSecurityManager()
+    {
+        return _queue.getVirtualHost().getSecurityManager();
+    }
+
     private static Map<String, Object> createAttributeMap(String name, FilterManager filters, EnumSet<Option> optionSet)
     {
         Map<String,Object> attributes = new HashMap<String, Object>();

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java Thu Mar 12 14:13:28 2015
@@ -24,7 +24,6 @@ import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.security.AccessControlException;
 import java.security.GeneralSecurityException;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
@@ -53,7 +52,6 @@ import org.apache.qpid.server.model.Mana
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.util.ServerScopedRuntimeException;
 import org.apache.qpid.server.util.urlstreamhandler.data.Handler;
 import org.apache.qpid.transport.network.security.ssl.QpidClientX509KeyManager;
@@ -127,27 +125,6 @@ public class FileKeyStoreImpl extends Ab
     }
 
     @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of key store is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting key store attributes is denied");
-        }
-    }
-
-    @Override
     protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
     {
         super.validateChange(proxyForValidation, changedAttributes);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java Thu Mar 12 14:13:28 2015
@@ -24,7 +24,6 @@ import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.security.AccessControlException;
 import java.security.GeneralSecurityException;
 import java.security.KeyStore;
 import java.security.NoSuchAlgorithmException;
@@ -53,7 +52,6 @@ import org.apache.qpid.server.model.Port
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.model.TrustStore;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManager;
 import org.apache.qpid.server.util.urlstreamhandler.data.Handler;
 import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager;
@@ -153,27 +151,6 @@ public class FileTrustStoreImpl extends
     }
 
     @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if(desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), TrustStore.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of key store is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes) throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), TrustStore.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting key store attributes is denied");
-        }
-    }
-
-    @Override
     protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
     {
         super.validateChange(proxyForValidation, changedAttributes);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java Thu Mar 12 14:13:28 2015
@@ -32,7 +32,6 @@ import java.net.URL;
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
-import java.security.AccessControlException;
 import java.security.GeneralSecurityException;
 import java.security.KeyFactory;
 import java.security.PrivateKey;
@@ -66,14 +65,12 @@ import org.apache.qpid.server.model.Abst
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.IntegrityViolationException;
-import org.apache.qpid.server.model.KeyStore;
 import org.apache.qpid.server.model.ManagedAttributeField;
 import org.apache.qpid.server.model.ManagedObject;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.util.urlstreamhandler.data.Handler;
 
 @ManagedObject( category = false )
@@ -215,28 +212,6 @@ public class NonJavaKeyStoreImpl extends
     }
 
     @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if (desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of key store is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes)
-            throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting key store attributes is denied");
-        }
-    }
-
-    @Override
     protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
     {
         super.validateChange(proxyForValidation, changedAttributes);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java?rev=1666200&r1=1666199&r2=1666200&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java Thu Mar 12 14:13:28 2015
@@ -25,7 +25,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.security.AccessControlException;
 import java.security.GeneralSecurityException;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateException;
@@ -55,7 +54,6 @@ import org.apache.qpid.server.model.Auth
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.IntegrityViolationException;
-import org.apache.qpid.server.model.KeyStore;
 import org.apache.qpid.server.model.ManagedAttributeField;
 import org.apache.qpid.server.model.ManagedObject;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
@@ -63,7 +61,6 @@ import org.apache.qpid.server.model.Port
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.model.TrustStore;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.manager.SimpleLDAPAuthenticationManager;
 import org.apache.qpid.server.util.urlstreamhandler.data.Handler;
 
@@ -228,28 +225,6 @@ public class NonJavaTrustStoreImpl
     }
 
     @Override
-    protected void authoriseSetDesiredState(State desiredState) throws AccessControlException
-    {
-        if (desiredState == State.DELETED)
-        {
-            if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.DELETE))
-            {
-                throw new AccessControlException("Deletion of key store is denied");
-            }
-        }
-    }
-
-    @Override
-    protected void authoriseSetAttributes(ConfiguredObject<?> modified, Set<String> attributes)
-            throws AccessControlException
-    {
-        if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), KeyStore.class, Operation.UPDATE))
-        {
-            throw new AccessControlException("Setting key store attributes is denied");
-        }
-    }
-
-    @Override
     protected void validateChange(final ConfiguredObject<?> proxyForValidation, final Set<String> changedAttributes)
     {
         super.validateChange(proxyForValidation, changedAttributes);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org