summaryrefslogtreecommitdiff
path: root/common/src/org/apache/qpid/url/AMQBindingURL.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/org/apache/qpid/url/AMQBindingURL.java')
-rw-r--r--common/src/org/apache/qpid/url/AMQBindingURL.java263
1 files changed, 0 insertions, 263 deletions
diff --git a/common/src/org/apache/qpid/url/AMQBindingURL.java b/common/src/org/apache/qpid/url/AMQBindingURL.java
deleted file mode 100644
index b6a0bd500a..0000000000
--- a/common/src/org/apache/qpid/url/AMQBindingURL.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- *
- * 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.url;
-
-import org.apache.qpid.url.BindingURL;
-import org.apache.qpid.url.URLHelper;
-import org.apache.qpid.exchange.ExchangeDefaults;
-
-import java.util.HashMap;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-public class AMQBindingURL implements BindingURL
-{
- String _url;
- String _exchangeClass;
- String _exchangeName;
- String _destinationName;
- String _queueName;
- private HashMap<String, String> _options;
-
-
- public AMQBindingURL(String url) throws URLSyntaxException
- {
- //format:
- // <exch_class>://<exch_name>/[<destination>]/[<queue>]?<option>='<value>'[,<option>='<value>']*
-
- _url = url;
- _options = new HashMap<String, String>();
-
- parseBindingURL();
- }
-
- private void parseBindingURL() throws URLSyntaxException
- {
- try
- {
- URI connection = new URI(_url);
-
- String exchangeClass = connection.getScheme();
-
- if (exchangeClass == null)
- {
- _url = ExchangeDefaults.DIRECT_EXCHANGE_CLASS + "://" +
- ExchangeDefaults.DIRECT_EXCHANGE_NAME + "//" + _url;
- //URLHelper.parseError(-1, "Exchange Class not specified.", _url);
- parseBindingURL();
- return;
- }
- else
- {
- setExchangeClass(exchangeClass);
- }
-
- String exchangeName = connection.getHost();
-
- if (exchangeName == null)
- {
- URLHelper.parseError(-1, "Exchange Name not specified.", _url);
- }
- else
- {
- setExchangeName(exchangeName);
- }
-
- if (connection.getPath() == null ||
- connection.getPath().equals(""))
- {
- URLHelper.parseError(_url.indexOf(_exchangeName) + _exchangeName.length(),
- "Destination or Queue requried", _url);
- }
- else
- {
- int slash = connection.getPath().indexOf("/", 1);
- if (slash == -1)
- {
- URLHelper.parseError(_url.indexOf(_exchangeName) + _exchangeName.length(),
- "Destination requried", _url);
- }
- else
- {
- String path = connection.getPath();
- setDestinationName(path.substring(1, slash));
-
- setQueueName(path.substring(slash + 1));
-
- }
- }
-
- URLHelper.parseOptions(_options, connection.getQuery());
-
- processOptions();
-
- //Fragment is #string (not used)
- //System.out.println(connection.getFragment());
-
- }
- catch (URISyntaxException uris)
- {
-
- URLHelper.parseError(uris.getIndex(), uris.getReason(), uris.getInput());
-
- }
- }
-
- private void processOptions()
- {
- //this is where we would parse any options that needed more than just storage.
- }
-
- public String getURL()
- {
- return _url;
- }
-
- public String getExchangeClass()
- {
- return _exchangeClass;
- }
-
- public void setExchangeClass(String exchangeClass)
- {
- _exchangeClass = exchangeClass;
- }
-
- public String getExchangeName()
- {
- return _exchangeName;
- }
-
- public void setExchangeName(String name)
- {
- _exchangeName = name;
-
- if (name.equals(ExchangeDefaults.TOPIC_EXCHANGE_NAME))
- {
- setOption(BindingURL.OPTION_EXCLUSIVE, "true");
- }
- }
-
- public String getDestinationName()
- {
- return _destinationName;
- }
-
- public void setDestinationName(String name)
- {
- _destinationName = name;
- }
-
- public String getQueueName()
- {
- if (_exchangeClass.equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
- {
- if (Boolean.parseBoolean(getOption(OPTION_DURABLE)))
- {
- if (containsOption(BindingURL.OPTION_CLIENTID) && containsOption(BindingURL.OPTION_SUBSCRIPTION))
- {
- return getOption(BindingURL.OPTION_CLIENTID + ":" + BindingURL.OPTION_SUBSCRIPTION);
- }
- else
- {
- return getDestinationName();
- }
- }
- else
- {
- return getDestinationName();
- }
- }
- else
- {
- return _queueName;
- }
- }
-
- public void setQueueName(String name)
- {
- _queueName = name;
- }
-
- public String getOption(String key)
- {
- return _options.get(key);
- }
-
- public void setOption(String key, String value)
- {
- _options.put(key, value);
- }
-
- public boolean containsOption(String key)
- {
- return _options.containsKey(key);
- }
-
- public String getRoutingKey()
- {
- if (_exchangeClass.equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS))
- {
- return getQueueName();
- }
-
- if (containsOption(BindingURL.OPTION_ROUTING_KEY))
- {
- return getOption(OPTION_ROUTING_KEY);
- }
-
- return getDestinationName();
- }
-
- public void setRoutingKey(String key)
- {
- setOption(OPTION_ROUTING_KEY, key);
- }
-
-
- public String toString()
- {
- StringBuffer sb = new StringBuffer();
-
- sb.append(_exchangeClass);
- sb.append("://");
- sb.append(_exchangeName);
- sb.append('/');
- sb.append(_destinationName);
- sb.append('/');
- sb.append(_queueName);
-
- sb.append(URLHelper.printOptions(_options));
- return sb.toString();
- }
-
- public static void main(String args[]) throws URLSyntaxException
- {
- String url = "exchangeClass://exchangeName/Destination/Queue?option='value',option2='value2'";
-
- AMQBindingURL dest = new AMQBindingURL(url);
-
- System.out.println(url);
- System.out.println(dest);
-
- }
-
-} \ No newline at end of file