You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/04/15 20:47:57 UTC

svn commit: r1587682 - in /qpid/trunk/qpid/java/broker-core/src: main/java/org/apache/qpid/server/binding/ main/java/org/apache/qpid/server/model/ main/java/org/apache/qpid/server/model/adapter/ main/java/org/apache/qpid/server/queue/ main/java/org/apa...

Author: rgodfrey
Date: Tue Apr 15 18:47:56 2014
New Revision: 1587682

URL: http://svn.apache.org/r1587682
Log:
QPID-5698 : [Java Broker] make attributes automated or derived

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/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/Broker.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/Connection.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
    qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java
    qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
    qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.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=1587682&r1=1587681&r2=1587682&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 Tue Apr 15 18:47:56 2014
@@ -122,13 +122,13 @@ public class BindingImpl
     }
 
     @Override
-    public Queue getQueue()
+    public Queue<?> getQueue()
     {
         return _queue;
     }
 
     @Override
-    public ExchangeImpl getExchange()
+    public ExchangeImpl<?> getExchange()
     {
         return _exchange;
     }

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=1587682&r1=1587681&r2=1587682&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 Tue Apr 15 18:47:56 2014
@@ -136,6 +136,9 @@ public abstract class AbstractConfigured
     private boolean _durable;
 
     @ManagedAttributeField
+    private String _description;
+
+    @ManagedAttributeField
     private LifetimePolicy _lifetimePolicy;
 
     private final Map<String, ConfiguredObjectAttribute<?,?>> _attributeTypes;
@@ -342,6 +345,10 @@ public abstract class AbstractConfigured
         }
         catch (InvocationTargetException e)
         {
+            if(e.getCause() instanceof RuntimeException)
+            {
+                throw (RuntimeException) e.getCause();
+            }
             throw new ServerScopedRuntimeException("Unable to set the automated attribute " + name + " on the configure object type " + getClass().getName(),e);
         }
     }
@@ -630,7 +637,7 @@ public abstract class AbstractConfigured
     public Object getAttribute(String name)
     {
         ConfiguredObjectAttribute<X,?> attr = (ConfiguredObjectAttribute<X, ?>) _attributeTypes.get(name);
-        if(attr != null && attr.getAnnotation().automate())
+        if(attr != null && (attr.getAnnotation().automate() || attr.getAnnotation().derived()))
         {
             Object value = attr.getValue((X)this);
             if(value != null && attr.getAnnotation().secure() &&
@@ -653,7 +660,7 @@ public abstract class AbstractConfigured
     @Override
     public String getDescription()
     {
-        return (String) getAttribute(DESCRIPTION);
+        return _description;
     }
 
     @Override
@@ -926,7 +933,9 @@ public abstract class AbstractConfigured
             {
                 Object desired = attributes.get(name);
                 Object expected = getAttribute(name);
-                if (changeAttribute(name, expected, desired))
+                if(((_attributes.get(name) != null && !_attributes.get(name).equals(attributes.get(name)))
+                     || attributes.get(name) != null)
+                    && changeAttribute(name, expected, desired))
                 {
                     attributeSet(name, expected, desired);
                 }
@@ -1005,19 +1014,19 @@ public abstract class AbstractConfigured
     }
 
     @Override
-    public String getLastUpdatedBy()
+    public final String getLastUpdatedBy()
     {
         return _lastUpdatedBy;
     }
 
     @Override
-    public long getLastUpdatedTime()
+    public final long getLastUpdatedTime()
     {
         return _lastUpdatedTime;
     }
 
     @Override
-    public String getCreatedBy()
+    public final String getCreatedBy()
     {
         return _createdBy;
     }
@@ -1038,7 +1047,7 @@ public abstract class AbstractConfigured
     }
 
     @Override
-    public long getCreatedTime()
+    public final long getCreatedTime()
     {
         return _createdTime;
     }

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=1587682&r1=1587681&r2=1587682&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 Tue Apr 15 18:47:56 2014
@@ -31,11 +31,13 @@ public interface Binding<X extends Bindi
     public String QUEUE = "queue";
     public String EXCHANGE = "exchange";
 
-    @ManagedAttribute
-    Queue getQueue();
+    // TODO - this is a hack
+    @ManagedAttribute( derived = true )
+    Queue<?> getQueue();
 
-    @ManagedAttribute
-    Exchange getExchange();
+    // TODO - this is a hack
+    @ManagedAttribute( derived = true )
+    Exchange<?> getExchange();
 
     @ManagedAttribute
     Map<String,Object> getArguments();

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Tue Apr 15 18:47:56 2014
@@ -99,6 +99,9 @@ public interface Broker<X extends Broker
     @ManagedAttribute( derived = true )
     Collection<String> getSupportedPreferencesProviderTypes();
 
+    @ManagedAttribute( derived = true )
+    Collection<String> getSupportedVirtualHostTypes();
+
     @ManagedAttribute( automate = true )
     String getDefaultVirtualHost();
 

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=1587682&r1=1587681&r2=1587682&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 Tue Apr 15 18:47:56 2014
@@ -65,7 +65,7 @@ public interface ConfiguredObject<X exte
     String getName();
 
 
-    @ManagedAttribute
+    @ManagedAttribute( automate = true )
     String getDescription();
 
     @ManagedAttribute( automate = true )
@@ -74,16 +74,16 @@ public interface ConfiguredObject<X exte
     @ManagedAttribute(automate = true)
     Map<String, String> getContext();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     String getLastUpdatedBy();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     long getLastUpdatedTime();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     String getCreatedBy();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     long getCreatedTime();
 
 

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java Tue Apr 15 18:47:56 2014
@@ -28,53 +28,52 @@ public interface Connection<X extends Co
 
     // Attributes
 
-    public static final String STATE = "state";
+    String STATE = "state";
 
-    public static final String CLIENT_ID = "clientId";
-    public static final String CLIENT_VERSION = "clientVersion";
-    public static final String INCOMING = "incoming";
-    public static final String LOCAL_ADDRESS = "localAddress";
-    public static final String PRINCIPAL = "principal";
-    public static final String PROPERTIES = "properties";
-    public static final String REMOTE_ADDRESS = "remoteAddress";
-    public static final String REMOTE_PROCESS_NAME = "remoteProcessName";
-    public static final String REMOTE_PROCESS_PID = "remoteProcessPid";
-    public static final String SESSION_COUNT_LIMIT = "sessionCountLimit";
-    public static final String TRANSPORT = "transport";
-    /** Name of port associated with the connection */
-    public static final String PORT = "port";
+    String CLIENT_ID = "clientId";
+    String CLIENT_VERSION = "clientVersion";
+    String INCOMING = "incoming";
+    String LOCAL_ADDRESS = "localAddress";
+    String PRINCIPAL = "principal";
+    String PROPERTIES = "properties";
+    String REMOTE_ADDRESS = "remoteAddress";
+    String REMOTE_PROCESS_NAME = "remoteProcessName";
+    String REMOTE_PROCESS_PID = "remoteProcessPid";
+    String SESSION_COUNT_LIMIT = "sessionCountLimit";
+    String TRANSPORT = "transport";
+    String PORT = "port";
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getClientId();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getClientVersion();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     boolean isIncoming();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getLocalAddress();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     String getPrincipal();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getRemoteAddress();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getRemoteProcessName();
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     String getRemoteProcessPid();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     long getSessionCountLimit();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     Transport getTransport();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     Port getPort();
 
     @ManagedStatistic

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java Tue Apr 15 18:47:56 2014
@@ -101,7 +101,7 @@ public interface Queue<X extends Queue<X
 
 
     // TODO - this is not an attribute
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     boolean isQueueFlowStopped();
 
     @ManagedContextDefault( name = "queue.alertThresholdMessageAge")

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Session.java Tue Apr 15 18:47:56 2014
@@ -32,10 +32,10 @@ public interface Session<X extends Sessi
     // available credit of both producer and consumer sides.
     String PRODUCER_FLOW_BLOCKED = "producerFlowBlocked";
 
-    @ManagedAttribute( automate = true )
+    @ManagedAttribute( derived = true )
     int getChannelId();
 
-    @ManagedAttribute
+    @ManagedAttribute( derived = true )
     boolean isProducerFlowBlocked();
 
 

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java Tue Apr 15 18:47:56 2014
@@ -47,10 +47,12 @@ public interface VirtualHost<X extends V
     String CONFIGURATION_STORE_SETTINGS         = "configurationStoreSettings";
     String MESSAGE_STORE_SETTINGS               = "messageStoreSettings";
 
-    @ManagedAttribute
+    // TODO - this isn't really an attribute
+    @ManagedAttribute( derived = true )
     Collection<String> getSupportedExchangeTypes();
 
-    @ManagedAttribute
+    // TODO - this isn't really an attribute
+    @ManagedAttribute( derived = true )
     Collection<String> getSupportedQueueTypes();
 
     @ManagedContextDefault( name = "queue.deadLetterQueueEnabled")
@@ -89,7 +91,7 @@ public interface VirtualHost<X extends V
     @ManagedAttribute( automate = true, defaultValue = "${virtualhost.storeTransactionOpenTimeoutWarn}")
     long getStoreTransactionOpenTimeoutWarn();
 
-    @ManagedAttribute
+    @ManagedAttribute( automate = true )
     String getSecurityAcl();
 
     @ManagedContextDefault( name = "virtualhost.housekeepingThreadCount")

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Tue Apr 15 18:47:56 2014
@@ -137,7 +137,8 @@ public class BrokerAdapter extends Abstr
                          SystemContext parent)
     {
         super(parentsMap(parent),
-              combineIdWithAttributes(id,MapValueConverter.convert(attributes, ATTRIBUTE_TYPES)), parent.getTaskExecutor());
+              combineIdWithAttributes(id, MapValueConverter.convert(attributes, ATTRIBUTE_TYPES)),
+              parent.getTaskExecutor());
 
         _objectFactory = parent.getObjectFactory();
         _virtualHostRegistry = new VirtualHostRegistry(parent.getEventLogger());
@@ -266,31 +267,33 @@ public class BrokerAdapter extends Abstr
     @Override
     public String getBuildVersion()
     {
-        return (String) getAttribute(BUILD_VERSION);
+        return QpidProperties.getBuildVersion();
     }
 
     @Override
     public String getOperatingSystem()
     {
-        return (String) getAttribute(OPERATING_SYSTEM);
+        return SystemUtils.getOSString();
     }
 
     @Override
     public String getPlatform()
     {
-        return (String) getAttribute(PLATFORM);
+        return System.getProperty("java.vendor") + " "
+                      + System.getProperty("java.runtime.version", System.getProperty("java.version"));
     }
 
     @Override
     public String getProcessPid()
     {
-        return (String) getAttribute(PROCESS_PID);
+        // TODO
+        return null;
     }
 
     @Override
     public String getProductVersion()
     {
-        return (String) getAttribute(PRODUCT_VERSION);
+        return QpidProperties.getReleaseVersion();
     }
 
     @Override
@@ -300,6 +303,12 @@ public class BrokerAdapter extends Abstr
     }
 
     @Override
+    public Collection<String> getSupportedVirtualHostTypes()
+    {
+        return _objectFactory.getSupportedTypes(VirtualHost.class);
+    }
+
+    @Override
     public Collection<String> getSupportedAuthenticationProviders()
     {
         return _objectFactory.getSupportedTypes(AuthenticationProvider.class);
@@ -801,47 +810,6 @@ public class BrokerAdapter extends Abstr
         {
             return State.ACTIVE;
         }
-        else if(BUILD_VERSION.equals(name))
-        {
-            return QpidProperties.getBuildVersion();
-        }
-        else if(OPERATING_SYSTEM.equals(name))
-        {
-            return SystemUtils.getOSString();
-        }
-        else if(PLATFORM.equals(name))
-        {
-            return System.getProperty("java.vendor") + " "
-                   + System.getProperty("java.runtime.version", System.getProperty("java.version"));
-        }
-        else if(PROCESS_PID.equals(name))
-        {
-            // TODO
-        }
-        else if(PRODUCT_VERSION.equals(name))
-        {
-            return QpidProperties.getReleaseVersion();
-        }
-        else if(SUPPORTED_VIRTUALHOST_STORE_TYPES.equals(name))
-        {
-            return _supportedVirtualHostStoreTypes;
-        }
-        else if(SUPPORTED_VIRTUALHOST_TYPES.equals(name))
-        {
-            return _objectFactory.getSupportedTypes(VirtualHost.class);
-        }
-        else if(SUPPORTED_AUTHENTICATION_PROVIDERS.equals(name))
-        {
-            return getSupportedAuthenticationProviders();
-        }
-        else if (SUPPORTED_PREFERENCES_PROVIDER_TYPES.equals(name))
-        {
-            return getSupportedPreferencesProviderTypes();
-        }
-        else if (MODEL_VERSION.equals(name))
-        {
-            return Model.MODEL_VERSION;
-        }
         return super.getAttribute(name);
     }
 

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java Tue Apr 15 18:47:56 2014
@@ -39,25 +39,6 @@ public final class ConnectionAdapter ext
     private final Map<AMQSessionModel, SessionAdapter> _sessionAdapters =
             new HashMap<AMQSessionModel, SessionAdapter>();
 
-    @ManagedAttributeField
-    private String _remoteAddress;
-    @ManagedAttributeField
-    private String _localAddress;
-    @ManagedAttributeField
-    private String _clientId;
-    @ManagedAttributeField
-    private String _clientVersion;
-    @ManagedAttributeField
-    private boolean _incoming;
-    @ManagedAttributeField
-    private Transport _transport;
-    @ManagedAttributeField
-    private Port _port;
-    @ManagedAttributeField
-    private String _remoteProcessName;
-    @ManagedAttributeField
-    private String _remoteProcessPid;
-
     public ConnectionAdapter(final AMQConnectionModel conn, TaskExecutor taskExecutor)
     {
         super(parentsMap(conn.getVirtualHost()),createAttributes(conn), taskExecutor);
@@ -66,17 +47,11 @@ public final class ConnectionAdapter ext
         conn.addSessionListener(this);
     }
 
-    private static Map<String, Object> createAttributes(final AMQConnectionModel conn)
+    private static Map<String, Object> createAttributes(final AMQConnectionModel _connection)
     {
         Map<String,Object> attributes = new HashMap<String, Object>();
         attributes.put(ID, UUID.randomUUID());
-        attributes.put(NAME, conn.getRemoteAddressString().replaceAll("/", ""));
-        attributes.put(CLIENT_ID, conn.getClientId() );
-        attributes.put(CLIENT_VERSION, conn.getClientVersion());
-        attributes.put(TRANSPORT, conn.getTransport());
-        attributes.put(PORT, conn.getPort());
-        attributes.put(INCOMING, true);
-        attributes.put(REMOTE_ADDRESS, conn.getRemoteAddressString());
+        attributes.put(NAME, _connection.getRemoteAddressString().replaceAll("/", ""));
         attributes.put(DURABLE, false);
         return attributes;
     }
@@ -84,25 +59,25 @@ public final class ConnectionAdapter ext
     @Override
     public String getClientId()
     {
-        return _clientId;
+        return _connection.getClientId();
     }
 
     @Override
     public String getClientVersion()
     {
-        return _clientVersion;
+        return _connection.getClientVersion();
     }
 
     @Override
     public boolean isIncoming()
     {
-        return _incoming;
+        return true;
     }
 
     @Override
     public String getLocalAddress()
     {
-        return _localAddress;
+        return null;
     }
 
     @Override
@@ -115,19 +90,19 @@ public final class ConnectionAdapter ext
     @Override
     public String getRemoteAddress()
     {
-        return _remoteAddress;
+        return _connection.getRemoteAddressString();
     }
 
     @Override
     public String getRemoteProcessName()
     {
-        return _remoteProcessName;
+        return null;
     }
 
     @Override
     public String getRemoteProcessPid()
     {
-        return _remoteProcessPid;
+        return null;
     }
 
     @Override
@@ -139,13 +114,13 @@ public final class ConnectionAdapter ext
     @Override
     public Transport getTransport()
     {
-        return _transport;
+        return _connection.getTransport();
     }
 
     @Override
     public Port getPort()
     {
-        return _port;
+        return _connection.getPort();
     }
 
     public Collection<Session> getSessions()
@@ -179,34 +154,6 @@ public final class ConnectionAdapter ext
         return null;  //TODO
     }
 
-    @Override
-    public Object getAttribute(String name)
-    {
-
-        if(name.equals(PRINCIPAL))
-        {
-            final Principal authorizedPrincipal = _connection.getAuthorizedPrincipal();
-            return authorizedPrincipal == null ? null : authorizedPrincipal.getName();
-        }
-        else if(name.equals(PROPERTIES))
-        {
-
-        }
-        else if(name.equals(SESSION_COUNT_LIMIT))
-        {
-            return _connection.getSessionCountLimit();
-        }
-        else if(name.equals(TRANSPORT))
-        {
-            return String.valueOf(_connection.getTransport());
-        }
-        else if(name.equals(PORT))
-        {
-            Port port = _connection.getPort();
-            return String.valueOf(port == null ? null : port.getName());
-        }
-        return super.getAttribute(name);
-    }
 
     @Override
     public <C extends ConfiguredObject> Collection<C> getChildren(Class<C> clazz)

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProvider.java Tue Apr 15 18:47:56 2014
@@ -30,6 +30,6 @@ public interface FileSystemPreferencesPr
     String PATH = "path";
     String PROVIDER_TYPE = "FileSystemPreferences";
 
-    @ManagedAttribute
+    @ManagedAttribute( automate = true )
     String getPath();
 }

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java Tue Apr 15 18:47:56 2014
@@ -54,6 +54,7 @@ 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.IllegalStateTransitionException;
+import org.apache.qpid.server.model.ManagedAttributeField;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.util.MapValueConverter;
 
@@ -76,6 +77,11 @@ public class FileSystemPreferencesProvid
 
     private FileSystemPreferencesStore _store;
 
+    @ManagedAttributeField( afterSet = "openNewStore" )
+    private String _path;
+
+    private boolean _open;
+
     public FileSystemPreferencesProviderImpl(UUID id, Map<String, Object> attributes,
                                              AuthenticationProvider<? extends AuthenticationProvider> authenticationProvider)
     {
@@ -85,8 +91,15 @@ public class FileSystemPreferencesProvid
         State state = MapValueConverter.getEnumAttribute(State.class, STATE, attributes, State.INITIALISING);
         _state = new AtomicReference<State>(state);
         _authenticationProvider = authenticationProvider;
-        _store = new FileSystemPreferencesStore(new File(MapValueConverter.getStringAttribute(PATH, attributes)));
+    }
+
+    @Override
+    protected void onOpen()
+    {
+        super.onOpen();
+        _store = new FileSystemPreferencesStore(new File(_path));
         createStoreIfNotExist();
+        _open = true;
     }
 
     @Override
@@ -102,7 +115,7 @@ public class FileSystemPreferencesProvid
     @Override
     public String getPath()
     {
-        return (String) getAttribute(PATH);
+        return _path;
     }
 
     @Override
@@ -127,6 +140,11 @@ public class FileSystemPreferencesProvid
         return super.getAttribute(name);
     }
 
+    public void close()
+    {
+        setDesiredState(getState(), State.STOPPED);
+    }
+
     @Override
     public boolean setState(State currentState, State desiredState) throws IllegalStateTransitionException, AccessControlException
     {
@@ -136,15 +154,18 @@ public class FileSystemPreferencesProvid
             if ((state == State.INITIALISING || state == State.ACTIVE || state == State.STOPPED || state == State.QUIESCED || state == State.ERRORED)
                     && _state.compareAndSet(state, State.DELETED))
             {
-                try
-                {
-                    _store.close();
-                }
-                finally
+                if(_store != null)
                 {
-                    _store.delete();
-                    deleted();
-                    _authenticationProvider.setPreferencesProvider(null);
+                    try
+                    {
+                        _store.close();
+                    }
+                    finally
+                    {
+                        _store.delete();
+                        deleted();
+                        _authenticationProvider.setPreferencesProvider(null);
+                    }
                 }
                 return true;
             }
@@ -194,7 +215,10 @@ public class FileSystemPreferencesProvid
         {
             if (_state.compareAndSet(state, State.STOPPED))
             {
-                _store.close();
+                if(_store != null)
+                {
+                    _store.close();
+                }
                 return true;
             }
             else
@@ -235,47 +259,38 @@ public class FileSystemPreferencesProvid
         return _authenticationProvider;
     }
 
+
+
     @Override
     protected void changeAttributes(Map<String, Object> attributes)
     {
-        Map<String, Object> effectiveAttributes = MapValueConverter.convert(super.generateEffectiveAttributes(attributes),
-                ATTRIBUTE_TYPES);
 
-        String effectivePath = (String) effectiveAttributes.get(PATH);
-        String currentPath = (String) getAttribute(PATH);
+        super.changeAttributes(attributes);
 
-        File storeFile = new File(effectivePath);
-        FileSystemPreferencesStore newStore = null;
-        if (!effectivePath.equals(currentPath))
+        // if provider was previously in ERRORED state then set its state to ACTIVE
+        _state.compareAndSet(State.ERRORED, State.ACTIVE);
+    }
+
+    private void openNewStore()
+    {
+        if(_open)
         {
-            if (!storeFile.exists())
+            if (_store != null)
             {
-                throw new IllegalConfigurationException("Path to preferences file does not exist!");
+                _store.close();
             }
-            newStore = new FileSystemPreferencesStore(storeFile);
-            newStore.open();
-        }
 
-        try
-        {
-            super.changeAttributes(attributes);
-
-            if (newStore != null)
+            if (_path == null)
             {
-                _store.close();
-                _store = newStore;
-                newStore = null;
+                _store = null;
             }
-        }
-        finally
-        {
-            if (newStore != null)
+            else
             {
-                newStore.close();
+                _store = new FileSystemPreferencesStore(new File(_path));
+                createStoreIfNotExist();
+                _store.open();
             }
         }
-        // if provider was previously in ERRORED state then set its state to ACTIVE
-        _state.compareAndSet(State.ERRORED, State.ACTIVE);
     }
 
     @Override
@@ -294,9 +309,22 @@ public class FileSystemPreferencesProvid
             throw new IllegalConfigurationException("Changing the type of preferences provider is not supported");
         }
 
-        if (changedAttributes.contains(PATH) && (updated.getPath() == null || updated.getPath().equals("")))
+        if (changedAttributes.contains(PATH))
         {
-            throw new IllegalConfigurationException("Path to preferences file is not specified");
+            if(updated.getPath() == null || updated.getPath().equals(""))
+            {
+                throw new IllegalConfigurationException("Path to preferences file is not specified");
+            }
+            else if(!updated.getPath().equals(getPath()))
+            {
+                File storeFile = new File(updated.getPath());
+
+                if (!storeFile.exists())
+                {
+                    throw new IllegalConfigurationException("Path to preferences file does not exist!");
+                }
+
+            }
         }
 
         if(changedAttributes.contains(DURABLE) && !updated.isDurable())
@@ -304,6 +332,8 @@ public class FileSystemPreferencesProvid
             throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
         }
 
+
+
     }
 
     public void createStoreIfNotExist()

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java Tue Apr 15 18:47:56 2014
@@ -40,8 +40,6 @@ final class SessionAdapter extends Abstr
 
     private AMQSessionModel _session;
 
-    @ManagedAttributeField
-    private int _channelId;
 
     public SessionAdapter(final ConnectionAdapter connectionAdapter,
                           final AMQSessionModel session,
@@ -71,7 +69,6 @@ final class SessionAdapter extends Abstr
         Map<String,Object> attributes = new HashMap<String, Object>();
         attributes.put(ID, UUID.randomUUID());
         attributes.put(NAME, String.valueOf(session.getChannelId()));
-        attributes.put(CHANNEL_ID, session.getChannelId());
         attributes.put(DURABLE, false);
         attributes.put(LIFETIME_POLICY, LifetimePolicy.DELETE_ON_SESSION_END);
         return attributes;
@@ -80,7 +77,7 @@ final class SessionAdapter extends Abstr
     @Override
     public int getChannelId()
     {
-        return _channelId;
+        return _session.getChannelId();
     }
 
     @Override

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java Tue Apr 15 18:47:56 2014
@@ -194,19 +194,6 @@ public interface AMQQueue<X extends AMQQ
 
     void setNotificationListener(QueueNotificationListener listener);
 
-    /**
-     * Sets the free text description of this queue.
-     *
-     * @param description
-     *
-     */
-    void setDescription(String description);
-
-    /**
-     * Gets the free text description of this queue.
-     */
-    String getDescription();
-
     long getPersistentDequeuedBytes();
 
     long getPersistentDequeuedMessages();

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Tue Apr 15 18:47:56 2014
@@ -118,8 +118,6 @@ public abstract class AbstractQueue
     private final VirtualHostImpl _virtualHost;
     private final DeletedChildListener _deletedChildListener = new DeletedChildListener();
 
-    private String _description;
-
     private ExchangeImpl _alternateExchange;
 
 
@@ -309,7 +307,6 @@ public abstract class AbstractQueue
         arguments.put(Queue.LIFETIME_POLICY, getLifetimePolicy());
 
         _arguments = Collections.synchronizedMap(arguments);
-        _description = MapValueConverter.getStringAttribute(Queue.DESCRIPTION, attributes, null);
 
         _noLocal = MapValueConverter.getBooleanAttribute(Queue.NO_LOCAL, attributes, false);
 
@@ -2406,18 +2403,6 @@ public abstract class AbstractQueue
         _notificationListener = listener;
     }
 
-    @Override
-    public void setDescription(String description)
-    {
-        _description = description;
-    }
-
-    @Override
-    public String getDescription()
-    {
-        return _description;
-    }
-
     public final  <M extends ServerMessage<? extends StorableMessageMetaData>> int send(final M message,
                                                                                         final String routingAddress,
                                                                                         final InstanceProperties instanceProperties,
@@ -2824,11 +2809,6 @@ public abstract class AbstractQueue
                 }
                 return false;
             }
-            else if (DESCRIPTION.equals(name))
-            {
-                setDescription((String) desired);
-                return true;
-            }
 
             return super.changeAttribute(name, expected, desired);
         }

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Tue Apr 15 18:47:56 2014
@@ -164,6 +164,9 @@ public abstract class AbstractVirtualHos
     @ManagedAttributeField
     private int _housekeepingThreadCount;
 
+    @ManagedAttributeField
+    private String _securityAcl;
+
 
     public AbstractVirtualHost(final Map<String, Object> attributes, Broker<?> broker)
     {
@@ -1550,7 +1553,7 @@ public abstract class AbstractVirtualHos
     @Override
     public String getSecurityAcl()
     {
-        return (String)getAttribute(SECURITY_ACL);
+        return _securityAcl;
     }
 
     @Override

Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java Tue Apr 15 18:47:56 2014
@@ -21,6 +21,14 @@
 
 package org.apache.qpid.server.configuration.startup;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.PreferencesProvider;
@@ -30,14 +38,6 @@ import org.apache.qpid.server.util.Broke
 import org.apache.qpid.test.utils.QpidTestCase;
 import org.apache.qpid.test.utils.TestFileUtils;
 
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
 /*
 *
 * Licensed to the Apache Software Foundation (ASF) under one
@@ -98,6 +98,7 @@ public class PreferencesProviderCreation
         {
             attributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
             PreferencesProvider provider = new FileSystemPreferencesProviderImpl(id,attributes,_authenticationProvider);
+            provider.open();
             assertNotNull("Preferences provider was not recovered", provider);
             assertEquals("Unexpected name", "test-provider", provider.getName());
             assertEquals("Unexpected id", id, provider.getId());

Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java Tue Apr 15 18:47:56 2014
@@ -99,7 +99,8 @@ public class FileSystemPreferencesProvid
             attributes.put(FileSystemPreferencesProvider.PATH, nonExistingFile.getAbsolutePath());
             attributes.put(ConfiguredObject.NAME, getTestName());
             _preferencesProvider = new FileSystemPreferencesProviderImpl(UUID.randomUUID(), attributes, _authenticationProvider);
-            _preferencesProvider.createStoreIfNotExist();
+            _preferencesProvider.open();
+
             assertEquals(State.INITIALISING, _preferencesProvider.getState());
             assertTrue("Preferences file was not created", nonExistingFile.exists());
         }
@@ -121,6 +122,7 @@ public class FileSystemPreferencesProvid
             attributes.put(FileSystemPreferencesProvider.PATH, emptyPrefsFile.getAbsolutePath());
             _preferencesProvider = new FileSystemPreferencesProviderImpl(UUID.randomUUID(), attributes, _authenticationProvider);
             assertEquals(State.INITIALISING, _preferencesProvider.getState());
+            _preferencesProvider.close();
         }
         finally
         {
@@ -279,7 +281,9 @@ public class FileSystemPreferencesProvid
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put(FileSystemPreferencesProvider.PATH, _preferencesFile.getAbsolutePath());
         attributes.put(ConfiguredObject.NAME, "test");
-        return _preferencesProvider = new FileSystemPreferencesProviderImpl(UUID.randomUUID(), attributes, _authenticationProvider);
+        _preferencesProvider = new FileSystemPreferencesProviderImpl(UUID.randomUUID(), attributes, _authenticationProvider);
+        _preferencesProvider.open();
+        return _preferencesProvider;
     }
 
     private void assertUser1Preferences(Map<String, Object> preferences1)

Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java?rev=1587682&r1=1587681&r2=1587682&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java Tue Apr 15 18:47:56 2014
@@ -77,7 +77,7 @@ public class SecurityManagerTest extends
 
     public void testAuthoriseCreateBinding()
     {
-        ExchangeImpl<?> exchange = mock(ExchangeImpl.class);
+        ExchangeImpl exchange = mock(ExchangeImpl.class);
         when(exchange.getParent(VirtualHost.class)).thenReturn(_virtualHost);
         when(exchange.getName()).thenReturn(TEST_EXCHANGE);
 
@@ -470,7 +470,7 @@ public class SecurityManagerTest extends
 
     public void testAuthoriseUnbind()
     {
-        ExchangeImpl<?> exchange = mock(ExchangeImpl.class);
+        ExchangeImpl exchange = mock(ExchangeImpl.class);
         when(exchange.getParent(VirtualHost.class)).thenReturn(_virtualHost);
         when(exchange.getName()).thenReturn(TEST_EXCHANGE);
 



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