Author: aidan
Date: Mon Apr 13 12:57:54 2009
New Revision: 764430

URL: http://svn.apache.org/viewvc?rev=764430&view=rev
Log:
QPID-1621: forgot to svn add. oops.

Added:
    
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfiguration.java
    
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
    
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/SecurityConfiguration.java
    
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java

Added: 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfiguration.java?rev=764430&view=auto
==============================================================================
--- 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfiguration.java
 (added)
+++ 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfiguration.java
 Mon Apr 13 12:57:54 2009
@@ -0,0 +1,58 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration;
+
+import org.apache.commons.configuration.Configuration;
+
+
+public class ExchangeConfiguration
+{
+
+    private Configuration _config;
+    private String _name;
+
+    public ExchangeConfiguration(String exchName, Configuration subset)
+    {
+        _name = exchName;
+        _config = subset;
+    }
+
+    public String getName()
+    {
+        return _name;
+    }
+
+    public String getType()
+    {
+        return _config.getString("type","direct");
+    }
+
+    public boolean getDurable()
+    {
+        return _config.getBoolean("durable", false);
+    }
+
+    public boolean getAutoDelete()
+    {
+        return _config.getBoolean("autodelete",false);
+    }
+
+}

Added: 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java?rev=764430&view=auto
==============================================================================
--- 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
 (added)
+++ 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
 Mon Apr 13 12:57:54 2009
@@ -0,0 +1,106 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration;
+
+import java.util.List;
+
+import org.apache.commons.configuration.Configuration;
+
+public class QueueConfiguration
+{
+
+    // FIXME AIDAN XXX -- deal with defaults
+    
+    private Configuration _config;
+    private String _name;
+
+    public QueueConfiguration(String name, Configuration config)
+    {
+        _config = config;
+        _name = name;
+    }
+
+    public boolean getDurable()
+    {
+        return _config.getBoolean("durable" ,false);
+    }
+
+    public boolean getAutoDelete()
+    {
+        return _config.getBoolean("autodelete", false);
+    }
+
+    public String getOwner()
+    {
+        return _config.getString("owner", null);
+    }
+
+    public boolean getPriority()
+    {
+        return _config.getBoolean("priority", false);
+    }
+
+    public int getPriorities()
+    {
+        return _config.getInt("priorities", -1);
+    }
+
+    public String getExchange()
+    {
+        return _config.getString("exchange", null);
+    }
+
+    public List getRoutingKeys()
+    {
+        return _config.getList("routingKey");
+    }
+
+    public String getName()
+    {
+        return _name;
+    }
+
+    public long getMaximumMessageAge()
+    {
+        return _config.getLong("maximumMessageAge", 0);
+    }
+
+    public long getMaximumQueueDepth()
+    {
+        return _config.getLong("maximumQueueDepth", 0);
+    }
+
+    public long getMaximumMessageSize()
+    {
+        return _config.getLong("maximumMessageSize", 0);
+    }
+
+    public long getMaximumMessageCount()
+    {
+        return _config.getLong("maximumMessageCount", 0);
+    }
+
+    public long getMinimumAlertRepeatGap()
+    {
+        return _config.getLong("minimumAlertRepeatGap", 0);
+    }
+
+}

Added: 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/SecurityConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/SecurityConfiguration.java?rev=764430&view=auto
==============================================================================
--- 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/SecurityConfiguration.java
 (added)
+++ 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/SecurityConfiguration.java
 Mon Apr 13 12:57:54 2009
@@ -0,0 +1,41 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.    
+ *
+ * 
+ */
+
+package org.apache.qpid.server.configuration;
+
+import org.apache.commons.configuration.Configuration;
+
+public class SecurityConfiguration
+{
+
+    private Configuration _conf;
+
+    public SecurityConfiguration(Configuration configuration)
+    {
+        _conf = configuration;
+    }
+
+    public Configuration getConfiguration()
+    {
+        return _conf;
+    }
+
+}

Added: 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=764430&view=auto
==============================================================================
--- 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
 (added)
+++ 
qpid/branches/0.5-fix/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
 Mon Apr 13 12:57:54 2009
@@ -0,0 +1,405 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.    
+ * 
+ */
+
+package org.apache.qpid.server.configuration;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.SystemConfiguration;
+import org.apache.commons.configuration.XMLConfiguration;
+
+public class ServerConfiguration
+{
+
+    private static Configuration _config;
+
+    private static final int DEFAULT_FRAME_SIZE = 65536;
+    private static final int DEFAULT_BUFFER_READ_LIMIT_SIZE = 262144;
+    private static final int DEFAULT_BUFFER_WRITE_LIMIT_SIZE = 262144;
+    private static final int DEFAULT_PORT = 5672;
+    private static final int DEFAUL_SSL_PORT = 8672;
+    private static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
+    private static final int DEFAULT_JMXPORT = 8999;
+
+    private long _housekeepingExpiredMessageCheckPeriod = 
DEFAULT_HOUSEKEEPING_PERIOD;
+    private static int _jmxPort = DEFAULT_JMXPORT;
+
+    private Map<String, VirtualHostConfiguration> _virtualHosts = new 
HashMap<String, VirtualHostConfiguration>();
+    private SecurityConfiguration _securityConfiguration = null;
+    
+    public ServerConfiguration(File configurationURL) throws 
ConfigurationException
+    {
+        this(config(configurationURL));
+    }
+
+    public ServerConfiguration(Configuration conf) throws 
ConfigurationException
+    {
+        _config = conf;
+        _jmxPort = _config.getInt("management.jmxport", 8999);
+
+        _securityConfiguration = new 
SecurityConfiguration(conf.subset("security"));
+
+        List vhosts = conf.getList("virtualhosts");
+        Iterator i = vhosts.iterator();
+        while (i.hasNext())
+        {
+            Object thing = i.next();
+            if (thing instanceof String)
+            {
+                XMLConfiguration vhostConfiguration = new 
XMLConfiguration((String) thing);
+                List hosts = vhostConfiguration.getList("virtualhost.name");
+                for (int j = 0; j < hosts.size(); j++)
+                {
+                    String name = (String) hosts.get(j);
+                    CompositeConfiguration mungedConf = new 
CompositeConfiguration();
+                    
mungedConf.addConfiguration(conf.subset("virtualhosts.virtualhost."+name));
+                    
mungedConf.addConfiguration(vhostConfiguration.subset("virtualhost." + name));
+                    VirtualHostConfiguration vhostConfig = new 
VirtualHostConfiguration(name, mungedConf);
+                    _virtualHosts.put(vhostConfig.getName(), vhostConfig);
+                }
+            }
+        }
+    }
+
+    public static String[] objListToStringArray(List objList)
+    {
+        String[] networkStrings = new String[objList.size()];
+        int i = 0;
+        for (Object network : objList)
+        {
+            networkStrings[i++] = (String) network;
+        }
+        return networkStrings;
+    }
+
+    // Our configuration class needs to make the interpolate method
+    // public so it can be called below from the config method.
+    private static class MyConfiguration extends CompositeConfiguration
+    {
+        public String interpolate(String obj)
+        {
+            return super.interpolate(obj);
+        }
+    }
+
+    private final static Configuration config(File url) throws 
ConfigurationException
+    {
+        // We have to override the interpolate methods so that
+        // interpolation takes place accross the entirety of the
+        // composite configuration. Without doing this each
+        // configuration object only interpolates variables defined
+        // inside itself.
+        final MyConfiguration conf = new MyConfiguration();
+        conf.addConfiguration(new SystemConfiguration()
+        {
+            protected String interpolate(String o)
+            {
+                return conf.interpolate(o);
+            }
+        });
+        conf.addConfiguration(new XMLConfiguration(url)
+        {
+            protected String interpolate(String o)
+            {
+                return conf.interpolate(o);
+            }
+        });
+        return conf;
+    }
+
+    public void setJMXManagementPort(int mport)
+    {
+        _jmxPort = mport;
+    }
+
+    public int getJMXManagementPort()
+    {
+        return _jmxPort;
+    }
+
+    public boolean getPlatformMbeanserver()
+    {
+        return _config.getBoolean("management.platform-mbeanserver", true);
+    }
+
+    public String[] getVirtualHosts()
+    {
+        return _virtualHosts.keySet().toArray(new 
String[_virtualHosts.size()]);
+    }
+
+    public String getPluginDirectory()
+    {
+        return _config.getString("plugin-directory");
+    }
+
+    public VirtualHostConfiguration getVirtualHostConfig(String name)
+    {
+        return _virtualHosts.get(name);
+    }
+
+    public List<String> getPrincipalDatabaseNames()
+    {
+        return 
_config.getList("security.principal-databases.principal-database.name");
+    }
+
+    public List<String> getPrincipalDatabaseClass()
+    {
+        return 
_config.getList("security.principal-databases.principal-database.class");
+    }
+
+    public List<String> getPrincipalDatabaseAttributeNames(int index)
+    {
+        String name = "security.principal-databases.principal-database(" + 
index + ")." + "attributes.attribute.name";
+        return _config.getList(name);
+    }
+
+    public List<String> getPrincipalDatabaseAttributeValues(int index)
+    {
+        String name = "security.principal-databases.principal-database(" + 
index + ")." + "attributes.attribute.value";
+        return _config.getList(name);
+    }
+
+    public List<String> getManagementPrincipalDBs()
+    {
+        return _config.getList("security.jmx.principal-database");
+    }
+
+    public List<String> getManagementAccessList()
+    {
+        return _config.getList("security.jmx.access");
+    }
+
+    public int getFrameSize()
+    {
+        return _config.getInt("advanced.framesize", DEFAULT_FRAME_SIZE);
+    }
+
+    public boolean getManagementSecurityEnabled()
+    {
+        return _config.getBoolean("management.security-enabled", false);
+    }
+
+    public boolean getProtectIOEnabled()
+    {
+        return _config.getBoolean("broker.connector.protectio.enabled", false);
+    }
+
+    public int getBufferReadLimit()
+    {
+        return 
_config.getInt("broker.connector.protectio.readBufferLimitSize", 
DEFAULT_BUFFER_READ_LIMIT_SIZE);
+    }
+
+    public int getBufferWriteLimit()
+    {
+        return 
_config.getInt("broker.connector.protectio.writeBufferLimitSize", 
DEFAULT_BUFFER_WRITE_LIMIT_SIZE);
+    }
+
+    public boolean getSynchedClocks()
+    {
+        return _config.getBoolean("advanced.synced-clocks", false);
+    }
+
+    public boolean getMsgAuth()
+    {
+        return _config.getBoolean("security.msg-auth", false);
+    }
+
+    public String getJMXPrincipalDatabase()
+    {
+        return _config.getString("security.jmx.principal-database");
+    }
+
+    public String getManagementKeyStorePath()
+    {
+        return _config.getString("management.ssl.keyStorePath", null);
+    }
+
+    public boolean getManagementSSLEnabled()
+    {
+        return _config.getBoolean("management.ssl.enabled", true);
+    }
+
+    public String getManagementKeyStorePassword()
+    {
+        return _config.getString("management.ssl.keyStorePassword");
+    }
+
+    public SecurityConfiguration getSecurityConfiguration()
+    {
+        return _securityConfiguration;
+    }
+
+    public boolean getQueueAutoRegister()
+    {
+        return _config.getBoolean("queue.auto_register", true);
+    }
+
+    public boolean getManagementEnabled()
+    {
+        return _config.getBoolean("management.enabled", true);
+    }
+
+    public int getHeartBeatDelay()
+    {
+        return _config.getInt("heartbeat.delay", 5);
+    }
+
+    public double getHeartBeatTimeout()
+    {
+        return _config.getDouble("heartbeat.timeoutFactor", 2.0);
+    }
+
+    public int getDeliveryPoolSize()
+    {
+        return _config.getInt("delivery.poolsize", 0);
+    }
+
+    public long getMaximumMessageAge()
+    {
+        return _config.getLong("maximumMessageAge", 0);
+    }
+
+    public long getMaximumMessageCount()
+    {
+        return _config.getLong("maximumMessageCount", 0);
+    }
+
+    public long getMaximumQueueDepth()
+    {
+        return _config.getLong("maximumQueueDepth", 0);
+    }
+
+    public long getMaximumMessageSize()
+    {
+        return _config.getLong("maximumMessageSize", 0);
+    }
+
+    public long getMinimumAlertRepeatGap()
+    {
+        return _config.getLong("minimumAlertRepeatGap", 0);
+    }
+
+    public int getProcessors()
+    {
+        return _config.getInt("connector.processors", 4);
+    }
+
+    public int getPort()
+    {
+        return _config.getInt("connector.port", DEFAULT_PORT);
+    }
+
+    public String getBind()
+    {
+        return _config.getString("connector.bind", "wildcard");
+    }
+
+    public int getReceiveBufferSize()
+    {
+        return _config.getInt("connector.socketReceiveBuffer", 32767);
+    }
+
+    public int getWriteBufferSize()
+    {
+        return _config.getInt("connector.socketWriteBuffer", 32767);
+    }
+
+    public boolean getTcpNoDelay()
+    {
+        return _config.getBoolean("connector.tcpNoDelay", true);
+    }
+
+    public boolean getEnableExecutorPool()
+    {
+        return _config.getBoolean("advanced.filtercha...@enableexecutorpool]", 
false);
+    }
+
+    public boolean getEnablePooledAllocator()
+    {
+        return _config.getBoolean("advanced.enablePooledAllocator", false);
+    }
+
+    public boolean getEnableDirectBuffers()
+    {
+        return _config.getBoolean("advanced.enableDirectBuffers", false);
+    }
+
+    public boolean getEnableSSL()
+    {
+        return _config.getBoolean("connector.ssl.enabled", false);
+    }
+
+    public boolean getSSLOnly()
+    {
+        return _config.getBoolean("connector.ssl.sslOnly", true);
+    }
+
+    public int getSSLPort()
+    {
+        return _config.getInt("connector.ssl.port", DEFAUL_SSL_PORT);
+    }
+
+    public String getKeystorePath()
+    {
+        return _config.getString("connector.ssl.keystorePath", "none");
+    }
+
+    public String getKeystorePassword()
+    {
+        return _config.getString("connector.ssl.keystorePassword", "none");
+    }
+
+    public String getCertType()
+    {
+        return _config.getString("connector.ssl.certType", "SunX509");
+    }
+
+    public boolean getQpidNIO()
+    {
+        return _config.getBoolean("connector.qpidnio", false);
+    }
+
+    public boolean getUseBiasedWrites()
+    {
+        return _config.getBoolean("advanced.useWriteBiasedPool", false);
+    }
+
+    public String getDefaultVirtualHost()
+    {
+        return _config.getString("virtualhosts.default");
+    }
+
+    public void setHousekeepingExpiredMessageCheckPeriod(long 
_housekeepingExpiredMessageCheckPeriod)
+    {
+        this._housekeepingExpiredMessageCheckPeriod = 
_housekeepingExpiredMessageCheckPeriod;
+    }
+
+    public long getHousekeepingExpiredMessageCheckPeriod()
+    {
+        return _housekeepingExpiredMessageCheckPeriod;
+    }
+}



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to