qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wpr...@apache.org
Subject svn commit: r1428896 - in /qpid/trunk/qpid/java: jca/src/main/java/org/apache/qpid/ra/admin/ systests/src/main/java/org/apache/qpid/ra/admin/
Date Fri, 04 Jan 2013 14:39:38 GMT
Author: wprice
Date: Fri Jan  4 14:39:38 2013
New Revision: 1428896

URL: http://svn.apache.org/viewvc?rev=1428896&view=rev
Log:
QPID-4318
    *Added support to QpidConnectionFactoryProxy for
    Queue/TopicConnectionFactorys
    *Added simple system test

Added:
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxyTest.java
Modified:
    qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxy.java

Modified: qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxy.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxy.java?rev=1428896&r1=1428895&r2=1428896&view=diff
==============================================================================
--- qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxy.java
(original)
+++ qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxy.java
Fri Jan  4 14:39:38 2013
@@ -27,13 +27,17 @@ import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.Serializable;
 
-import javax.jms.ConnectionFactory;
 import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
 import javax.jms.JMSException;
 import javax.naming.NamingException;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
 import javax.naming.Reference;
 import javax.naming.Referenceable;
 import javax.naming.spi.ObjectFactory;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
 
 import org.apache.qpid.client.AMQConnectionFactory;
 
@@ -44,7 +48,7 @@ import org.slf4j.LoggerFactory;
  *
  *
  */
-public class QpidConnectionFactoryProxy implements Externalizable, Referenceable, ConnectionFactory,
Serializable
+public class QpidConnectionFactoryProxy implements QueueConnectionFactory, TopicConnectionFactory,
Externalizable, Referenceable, Serializable
 {
     private static final Logger _log = LoggerFactory.getLogger(QpidDestinationProxy.class);
 
@@ -100,13 +104,6 @@ public class QpidConnectionFactoryProxy 
         try
         {
             _delegate = new AMQConnectionFactory(getConnectionURL());
-            /*
-            QpidResourceAdapter ra = new QpidResourceAdapter();
-            QpidRAManagedConnectionFactory mcf = new QpidRAManagedConnectionFactory();
-            mcf.setResourceAdapter(ra);
-            mcf.setConnectionURL(getConnectionURL());
-            delegate = new QpidRAConnectionFactoryImpl(mcf, null);
-            */
             return ((Referenceable) _delegate).getReference();
         }
         catch(Exception e)
@@ -162,7 +159,63 @@ public class QpidConnectionFactoryProxy 
     */
    public Connection createConnection(final String userName, final String password) throws
JMSException
    {
-      return _delegate.createConnection(userName, password);
+       try
+       {
+           if(_delegate == null)
+           {
+               getReference();
+           }
+
+           return _delegate.createConnection(userName, password);
+       }
+       catch(Exception e)
+       {
+          throw new JMSException(e.getMessage());
+       }
+   }
+
+   /**
+    * Create a queue connection
+    * @return The queue connection
+    * @exception JMSException Thrown if the operation fails
+    */
+   public QueueConnection createQueueConnection() throws JMSException
+   {
+       return (QueueConnection)createConnection();
+   }
+
+   /**
+    * Create a queue connection
+    * @param userName The user name
+    * @param password The password
+    * @return The connection
+    * @exception JMSException Thrown if the operation fails
+    */
+   public QueueConnection createQueueConnection(final String userName, final String password)
throws JMSException
+   {
+      return (QueueConnection)createConnection(userName, password);
+   }
+
+   /**
+    * Create a topic connection
+    * @return The topic connection
+    * @exception JMSException Thrown if the operation fails
+    */
+   public TopicConnection createTopicConnection() throws JMSException
+   {
+       return (TopicConnection)createConnection();
+   }
+
+   /**
+    * Create a topic connection
+    * @param userName The user name
+    * @param password The password
+    * @return The topic connection
+    * @exception JMSException Thrown if the operation fails
+    */
+   public TopicConnection createTopicConnection(final String userName, final String password)
throws JMSException
+   {
+      return (TopicConnection)createConnection(userName, password);
    }
 
 }

Added: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxyTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxyTest.java?rev=1428896&view=auto
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxyTest.java
(added)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/admin/QpidConnectionFactoryProxyTest.java
Fri Jan  4 14:39:38 2013
@@ -0,0 +1,120 @@
+/*
+ *
+ * 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.ra.admin;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.naming.NamingException;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.naming.Reference;
+import javax.naming.Referenceable;
+import javax.naming.spi.ObjectFactory;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+
+import junit.framework.TestCase;
+
+import org.apache.qpid.test.utils.QpidBrokerTestCase;
+
+public class QpidConnectionFactoryProxyTest extends QpidBrokerTestCase
+{
+    private static final String BROKER_PORT = "15672";
+
+    private static final String URL = "amqp://guest:guest@client/test?brokerlist='tcp://localhost:"
+ BROKER_PORT + "?sasl_mechs='PLAIN''";
+
+    public void testQueueConnectionFactory() throws Exception
+    {
+        QueueConnectionFactory cf = null;
+        QueueConnection c = null;
+
+        try
+        {
+            cf = new QpidConnectionFactoryProxy();
+            ((QpidConnectionFactoryProxy)cf).setConnectionURL(URL);
+            c = cf.createQueueConnection();
+            assertTrue(c instanceof QueueConnection);
+
+        }
+        finally
+        {
+            if(c != null)
+            {
+                c.close();
+            }
+        }
+    }
+
+    public void testTopicConnectionFactory() throws Exception
+    {
+        TopicConnectionFactory cf = null;
+        TopicConnection c = null;
+
+        try
+        {
+            cf = new QpidConnectionFactoryProxy();
+            ((QpidConnectionFactoryProxy)cf).setConnectionURL(URL);
+            c = cf.createTopicConnection();
+            assertTrue(c instanceof TopicConnection);
+
+        }
+        finally
+        {
+            if(c != null)
+            {
+                c.close();
+            }
+        }
+        try
+        {
+
+        }
+        finally
+        {
+
+        }
+    }
+
+    public void testConnectionFactory() throws Exception
+    {
+        ConnectionFactory cf = null;
+        Connection c = null;
+
+        try
+        {
+            cf = new QpidConnectionFactoryProxy();
+            ((QpidConnectionFactoryProxy)cf).setConnectionURL(URL);
+            c = cf.createConnection();
+            assertTrue(c instanceof Connection);
+
+        }
+        finally
+        {
+            if(c != null)
+            {
+                c.close();
+            }
+
+        }
+    }
+}
+



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


Mime
View raw message