Author: rgodfrey
Date: Thu Apr 24 22:24:26 2014
New Revision: 1589897

URL: http://svn.apache.org/r1589897
Log:
QPID-5578 : Remove unusued contants and tidy up other code

Modified:
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
    
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
    
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java?rev=1589897&r1=1589896&r2=1589897&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
 Thu Apr 24 22:24:26 2014
@@ -108,7 +108,7 @@ public abstract class AbstractPluginAdap
         }
     }
 
-    protected Broker getBroker()
+    protected Broker<?> getBroker()
     {
         return _broker;
     }

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java?rev=1589897&r1=1589896&r2=1589897&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
 Thu Apr 24 22:24:26 2014
@@ -21,12 +21,10 @@
 
 package org.apache.qpid.server.model.port;
 
-import java.lang.reflect.Type;
 import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -50,29 +48,9 @@ import org.apache.qpid.server.model.Virt
 import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.util.MapValueConverter;
-import org.apache.qpid.server.util.ParameterizedTypeImpl;
 
 abstract public class AbstractPort<X extends AbstractPort<X>> extends 
AbstractConfiguredObject<X> implements Port<X>
 {
-    @SuppressWarnings("serial")
-    public static final Map<String, Type> ATTRIBUTE_TYPES = 
Collections.unmodifiableMap(new HashMap<String, Type>(){{
-        put(NAME, String.class);
-        put(PROTOCOLS, new ParameterizedTypeImpl(Set.class, Protocol.class));
-        put(TRANSPORTS, new ParameterizedTypeImpl(Set.class, Transport.class));
-        put(TRUST_STORES, new ParameterizedTypeImpl(Set.class, String.class));
-        put(KEY_STORE, String.class);
-        put(PORT, Integer.class);
-        put(TCP_NO_DELAY, Boolean.class);
-        put(RECEIVE_BUFFER_SIZE, Integer.class);
-        put(SEND_BUFFER_SIZE, Integer.class);
-        put(NEED_CLIENT_AUTH, Boolean.class);
-        put(WANT_CLIENT_AUTH, Boolean.class);
-        put(BINDING_ADDRESS, String.class);
-        put(STATE, State.class);
-        put(AUTHENTICATION_PROVIDER, String.class);
-    }});
-
-    public static final Transport DEFAULT_TRANSPORT = Transport.TCP;
 
     private final Broker<?> _broker;
     private AtomicReference<State> _state;

Modified: 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1589897&r1=1589896&r2=1589897&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
 Thu Apr 24 22:24:26 2014
@@ -20,14 +20,11 @@
  */
 package org.apache.qpid.server.management.plugin;
 
-import java.lang.reflect.Type;
 import java.net.SocketAddress;
 import java.security.GeneralSecurityException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.EnumSet;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -69,7 +66,7 @@ import org.apache.qpid.server.management
 import 
org.apache.qpid.server.management.plugin.servlet.rest.UserPreferencesServlet;
 import org.apache.qpid.server.model.*;
 import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
-import org.apache.qpid.server.model.port.AbstractPortWithAuthProvider;
+import org.apache.qpid.server.model.port.HttpPort;
 import org.apache.qpid.server.util.ServerScopedRuntimeException;
 import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager;
 
@@ -90,18 +87,6 @@ public class HttpManagement extends Abst
 
     private static final String OPERATIONAL_LOGGING_NAME = "Web";
 
-
-    @SuppressWarnings("serial")
-    private static final Map<String, Type> ATTRIBUTE_TYPES = 
Collections.unmodifiableMap(new HashMap<String, Type>(){{
-        put(HTTP_BASIC_AUTHENTICATION_ENABLED, Boolean.class);
-        put(HTTPS_BASIC_AUTHENTICATION_ENABLED, Boolean.class);
-        put(HTTP_SASL_AUTHENTICATION_ENABLED, Boolean.class);
-        put(HTTPS_SASL_AUTHENTICATION_ENABLED, Boolean.class);
-        put(NAME, String.class);
-        put(TIME_OUT, Integer.class);
-        put(TYPE, String.class);
-    }});
-
     private static final String JSESSIONID_COOKIE_PREFIX = "JSESSIONID_";
 
     private Server _server;
@@ -146,7 +131,7 @@ public class HttpManagement extends Abst
     {
         
getBroker().getEventLogger().message(ManagementConsoleMessages.STARTUP(OPERATIONAL_LOGGING_NAME));
 
-        Collection<Port> httpPorts = getHttpPorts(getBroker().getPorts());
+        Collection<Port<?>> httpPorts = getHttpPorts(getBroker().getPorts());
         _server = createServer(httpPorts);
         try
         {
@@ -184,8 +169,7 @@ public class HttpManagement extends Abst
         return _sessionTimeout;
     }
 
-    @SuppressWarnings("unchecked")
-    private Server createServer(Collection<Port> ports)
+    private Server createServer(Collection<Port<?>> ports)
     {
         if (_logger.isInfoEnabled())
         {
@@ -194,114 +178,48 @@ public class HttpManagement extends Abst
 
         Server server = new Server();
         int lastPort = -1;
-        for (Port port : ports)
+        for (Port<?> port : ports)
         {
-            if (State.QUIESCED.equals(port.getState()))
+            if(port instanceof HttpPort)
             {
-                continue;
-            }
 
-            Connector connector = null;
+                if (State.QUIESCED.equals(port.getState()))
+                {
+                    continue;
+                }
+
+                Connector connector = null;
 
-            Collection<Transport> transports = port.getTransports();
-            if (!transports.contains(Transport.SSL))
-            {
-                connector = new SelectChannelConnector();
-            }
-            else if (transports.contains(Transport.SSL))
-            {
-                KeyStore keyStore = port.getKeyStore();
-                Collection<TrustStore> trustStores = port.getTrustStores();
-                if (keyStore == null)
+                Collection<Transport> transports = port.getTransports();
+                if (!transports.contains(Transport.SSL))
                 {
-                    throw new IllegalConfigurationException("Key store is not 
configured. Cannot start management on HTTPS port without keystore");
+                    connector = new SelectChannelConnector();
                 }
-                SslContextFactory factory = new SslContextFactory();
-                final boolean needClientAuth = port instanceof 
AbstractPortWithAuthProvider
-                                               && 
((AbstractPortWithAuthProvider)port).getNeedClientAuth();
-                final boolean wantClientAuth = port instanceof 
AbstractPortWithAuthProvider
-                                               && 
((AbstractPortWithAuthProvider)port).getWantClientAuth();
-                boolean needClientCert = needClientAuth || wantClientAuth;
-                if (needClientCert && trustStores.isEmpty())
+                else if (transports.contains(Transport.SSL))
                 {
-                    throw new IllegalConfigurationException("Client 
certificate authentication is enabled on AMQP port '"
-                                                            + this.getName() + 
"' but no trust store defined");
+                    connector = createSslConnector((HttpPort<?>) port);
                 }
-
-                try
+                else
                 {
-                    SSLContext sslContext = SSLContext.getInstance("TLS");
-                    KeyManager[] keyManagers = keyStore.getKeyManagers();
-
-                    TrustManager[] trustManagers;
-                    if(trustStores == null || trustStores.isEmpty())
-                    {
-                        trustManagers = null;
-                    }
-                    else if(trustStores.size() == 1)
-                    {
-                        trustManagers = 
trustStores.iterator().next().getTrustManagers();
-                    }
-                    else
-                    {
-                        Collection<TrustManager> trustManagerList = new 
ArrayList<TrustManager>();
-                        final QpidMultipleTrustManager mulTrustManager = new 
QpidMultipleTrustManager();
-
-                        for(TrustStore ts : trustStores)
-                        {
-                            TrustManager[] managers = ts.getTrustManagers();
-                            if(managers != null)
-                            {
-                                for(TrustManager manager : managers)
-                                {
-                                    if(manager instanceof X509TrustManager)
-                                    {
-                                        
mulTrustManager.addTrustManager((X509TrustManager)manager);
-                                    }
-                                    else
-                                    {
-                                        trustManagerList.add(manager);
-                                    }
-                                }
-                            }
-                        }
-                        if(!mulTrustManager.isEmpty())
-                        {
-                            trustManagerList.add(mulTrustManager);
-                        }
-                        trustManagers = trustManagerList.toArray(new 
TrustManager[trustManagerList.size()]);
-                    }
-                    sslContext.init(keyManagers, trustManagers, null);
-
-                    factory.setSslContext(sslContext);
-                    if(needClientAuth)
-                    {
-                        factory.setNeedClientAuth(true);
-                    }
-                    else if(wantClientAuth)
-                    {
-                        factory.setWantClientAuth(true);
-                    }
+                    throw new IllegalArgumentException("Unexpected transport 
on port "
+                                                       + port.getName()
+                                                       + ":"
+                                                       + transports);
                 }
-                catch (GeneralSecurityException e)
+                lastPort = port.getPort();
+                String bindingAddress = port.getBindingAddress();
+                if (bindingAddress != null && 
!bindingAddress.trim().equals("") && !bindingAddress.trim().equals("*"))
                 {
-                    throw new ServerScopedRuntimeException("Cannot configure 
port " + port.getName() + " for transport " + Transport.SSL, e);
+                    connector.setHost(bindingAddress.trim());
                 }
-                connector = new SslSocketConnector(factory);
-
+                connector.setPort(port.getPort());
+                server.addConnector(connector);
             }
             else
             {
-                throw new IllegalArgumentException("Unexpected transport on 
port " + port.getName() + ":" + transports);
+                throw new IllegalArgumentException("Http management can only 
be added to an Http port");
             }
-            lastPort = port.getPort();
-            String bindingAddress = port.getBindingAddress();
-            if(bindingAddress != null && !bindingAddress.trim().equals("") && 
!bindingAddress.trim().equals("*"))
-            {
-                connector.setHost(bindingAddress.trim());
-            }
-            connector.setPort(port.getPort());
-            server.addConnector(connector);
+
         }
 
         ServletContextHandler root = new 
ServletContextHandler(ServletContextHandler.SESSIONS);
@@ -379,6 +297,88 @@ public class HttpManagement extends Abst
         return server;
     }
 
+    private Connector createSslConnector(final HttpPort<?> port)
+    {
+        final Connector connector;
+        KeyStore keyStore = port.getKeyStore();
+        Collection<TrustStore> trustStores = port.getTrustStores();
+        if (keyStore == null)
+        {
+            throw new IllegalConfigurationException("Key store is not 
configured. Cannot start management on HTTPS port without keystore");
+        }
+        SslContextFactory factory = new SslContextFactory();
+
+        boolean needClientCert = port.getNeedClientAuth() || 
port.getWantClientAuth();
+
+        if (needClientCert && trustStores.isEmpty())
+        {
+            throw new IllegalConfigurationException("Client certificate 
authentication is enabled on AMQP port '"
+                                                    + this.getName() + "' but 
no trust store defined");
+        }
+
+        try
+        {
+            SSLContext sslContext = SSLContext.getInstance("TLS");
+            KeyManager[] keyManagers = keyStore.getKeyManagers();
+
+            TrustManager[] trustManagers;
+            if(trustStores == null || trustStores.isEmpty())
+            {
+                trustManagers = null;
+            }
+            else if(trustStores.size() == 1)
+            {
+                trustManagers = 
trustStores.iterator().next().getTrustManagers();
+            }
+            else
+            {
+                Collection<TrustManager> trustManagerList = new ArrayList<>();
+                final QpidMultipleTrustManager mulTrustManager = new 
QpidMultipleTrustManager();
+
+                for(TrustStore ts : trustStores)
+                {
+                    TrustManager[] managers = ts.getTrustManagers();
+                    if(managers != null)
+                    {
+                        for(TrustManager manager : managers)
+                        {
+                            if(manager instanceof X509TrustManager)
+                            {
+                                
mulTrustManager.addTrustManager((X509TrustManager)manager);
+                            }
+                            else
+                            {
+                                trustManagerList.add(manager);
+                            }
+                        }
+                    }
+                }
+                if(!mulTrustManager.isEmpty())
+                {
+                    trustManagerList.add(mulTrustManager);
+                }
+                trustManagers = trustManagerList.toArray(new 
TrustManager[trustManagerList.size()]);
+            }
+            sslContext.init(keyManagers, trustManagers, null);
+
+            factory.setSslContext(sslContext);
+            if(port.getNeedClientAuth())
+            {
+                factory.setNeedClientAuth(true);
+            }
+            else if(port.getWantClientAuth())
+            {
+                factory.setWantClientAuth(true);
+            }
+        }
+        catch (GeneralSecurityException e)
+        {
+            throw new ServerScopedRuntimeException("Cannot configure port " + 
port.getName() + " for transport " + Transport.SSL, e);
+        }
+        connector = new SslSocketConnector(factory);
+        return connector;
+    }
+
     private void addRestServlet(ServletContextHandler root, String name, 
Class<? extends ConfiguredObject>... hierarchy)
     {
         root.addServlet(new ServletHolder(name, new RestServlet(hierarchy)), 
"/rest/" + name + "/*");
@@ -417,10 +417,10 @@ public class HttpManagement extends Abst
         return connector instanceof SslSocketConnector ? "HTTPS" : "HTTP";
     }
 
-    private Collection<Port> getHttpPorts(Collection<Port> ports)
+    private Collection<Port<?>> getHttpPorts(Collection<Port<?>> ports)
     {
-        Collection<Port> httpPorts = new HashSet<Port>();
-        for (Port port : ports)
+        Collection<Port<?>> httpPorts = new HashSet<>();
+        for (Port<?> port : ports)
         {
             if (port.getAvailableProtocols().contains(Protocol.HTTP))
             {



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

Reply via email to