Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/EditAttribute.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/EditAttribute.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/EditAttribute.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/EditAttribute.java Tue Apr 24 02:01:58 2007 @@ -20,22 +20,16 @@ */ package org.apache.qpid.management.ui.actions; -import org.apache.qpid.management.ui.ApplicationWorkbenchAdvisor; +import static org.apache.qpid.management.ui.Constants.ACTION_EDITATTRIBUTE; import org.apache.qpid.management.ui.exceptions.InfoRequiredException; import org.apache.qpid.management.ui.views.MBeanView; import org.apache.qpid.management.ui.views.ViewUtility; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; -public class EditAttribute implements IWorkbenchWindowActionDelegate -{ - private IWorkbenchWindow _window; - +public class EditAttribute extends AbstractAction implements IWorkbenchWindowActionDelegate +{ public void run(IAction action) { if(_window != null) @@ -47,13 +41,11 @@ } catch(InfoRequiredException ex) { - ViewUtility.popupInfoMessage("Edit Attribute", ex.getMessage()); + ViewUtility.popupInfoMessage(ACTION_EDITATTRIBUTE, ex.getMessage()); } catch(Exception ex) { - IStatus status = new Status(IStatus.ERROR, ApplicationWorkbenchAdvisor.PERSPECTIVE_ID, - IStatus.OK, ex.getMessage(), ex.getCause()); - ErrorDialog.openError(_window.getShell(), "Error", "Attribute could not be edited", status); + handleException(ex, "Attribute could not be edited", null); } } } @@ -74,14 +66,6 @@ * @see IWorkbenchWindowActionDelegate#dispose */ public void dispose() { - } - - /** - * We will cache window object in order to - * be able to provide parent shell for the message dialog. - * @see IWorkbenchWindowActionDelegate#init - */ - public void init(IWorkbenchWindow window) { - this._window = window; + } }
Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/ReconnectServer.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/ReconnectServer.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/ReconnectServer.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/ReconnectServer.java Tue Apr 24 02:01:58 2007 @@ -20,19 +20,20 @@ */ package org.apache.qpid.management.ui.actions; -import static org.apache.qpid.management.ui.Constants.*; +import static org.apache.qpid.management.ui.Constants.ACTION_LOGIN; +import static org.apache.qpid.management.ui.Constants.CONSOLE_IMAGE; +import static org.apache.qpid.management.ui.Constants.INFO_PASSWORD; +import static org.apache.qpid.management.ui.Constants.INFO_USERNAME; +import static org.apache.qpid.management.ui.Constants.PASSWORD; +import static org.apache.qpid.management.ui.Constants.USERNAME; import org.apache.qpid.management.ui.ApplicationRegistry; -import org.apache.qpid.management.ui.ApplicationWorkbenchAdvisor; import org.apache.qpid.management.ui.Constants; import org.apache.qpid.management.ui.exceptions.InfoRequiredException; import org.apache.qpid.management.ui.views.NavigationView; import org.apache.qpid.management.ui.views.TreeObject; import org.apache.qpid.management.ui.views.ViewUtility; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -40,18 +41,15 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; -public class ReconnectServer implements IWorkbenchWindowActionDelegate +public class ReconnectServer extends AbstractAction implements IWorkbenchWindowActionDelegate { - private IWorkbenchWindow _window; private NavigationView _navigationView; private String _title; private String _serverName; @@ -80,16 +78,6 @@ { } - - /** - * We will cache window object in order to - * be able to provide parent shell for the message dialog. - * @see IWorkbenchWindowActionDelegate#init - */ - public void init(IWorkbenchWindow window) - { - this._window = window; - } private NavigationView getNavigationView() { @@ -126,11 +114,9 @@ { ViewUtility.popupInfoMessage("Reconnect Qpid server", ex.getMessage()); } - catch(Exception ex) + catch (Exception ex) { - IStatus status = new Status(IStatus.ERROR, ApplicationWorkbenchAdvisor.PERSPECTIVE_ID, - IStatus.OK, ex.getMessage(), ex.getCause()); - ErrorDialog.openError(_window.getShell(), "Error", ERROR_SERVER_CONNECTION, status); + handleException(ex, null, null); } } } Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/Refresh.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/Refresh.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/Refresh.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/Refresh.java Tue Apr 24 02:01:58 2007 @@ -25,17 +25,14 @@ import org.apache.qpid.management.ui.views.NavigationView; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; /** * This action refreshes both the views -Navigation and MBeanView * @author Bhupendra Bhardwaj */ -public class Refresh implements IWorkbenchWindowActionDelegate +public class Refresh extends AbstractAction implements IWorkbenchWindowActionDelegate { - private IWorkbenchWindow _window; - /** * Selection in the workbench has been changed. We * can change the state of the 'real' action here @@ -56,16 +53,6 @@ public void dispose() { - } - - /** - * We will cache window object in order to - * be able to provide parent shell for the message dialog. - * @see IWorkbenchWindowActionDelegate#init - */ - public void init(IWorkbenchWindow window) - { - this._window = window; } public void run(IAction action) Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/RemoveServer.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/RemoveServer.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/RemoveServer.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/RemoveServer.java Tue Apr 24 02:01:58 2007 @@ -20,22 +20,15 @@ */ package org.apache.qpid.management.ui.actions; -import org.apache.qpid.management.ui.ApplicationWorkbenchAdvisor; import org.apache.qpid.management.ui.exceptions.InfoRequiredException; import org.apache.qpid.management.ui.views.NavigationView; import org.apache.qpid.management.ui.views.ViewUtility; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; -public class RemoveServer implements IWorkbenchWindowActionDelegate -{ - private IWorkbenchWindow _window; - +public class RemoveServer extends AbstractAction implements IWorkbenchWindowActionDelegate +{ /** * Selection in the workbench has been changed. We * can change the state of the 'real' action here @@ -57,16 +50,6 @@ { } - - /** - * We will cache window object in order to - * be able to provide parent shell for the message dialog. - * @see IWorkbenchWindowActionDelegate#init - */ - public void init(IWorkbenchWindow window) - { - this._window = window; - } public void run(IAction action) { @@ -83,9 +66,7 @@ } catch(Exception ex) { - IStatus status = new Status(IStatus.ERROR, ApplicationWorkbenchAdvisor.PERSPECTIVE_ID, - IStatus.OK, ex.getMessage(), ex.getCause()); - ErrorDialog.openError(_window.getShell(), "Error", "Server could not be removed", status); + handleException(ex, "Server could not be removed", null); } } } Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java Tue Apr 24 02:01:58 2007 @@ -20,7 +20,6 @@ */ package org.apache.qpid.management.ui.jmx; -import java.io.IOException; import java.math.BigInteger; import java.util.ArrayList; import java.util.Arrays; @@ -149,11 +148,6 @@ ViewUtility.popupErrorMessage("Error", "Managed Object is null \n" + ex.toString()); printStackTrace(ex); } - else if (ex instanceof IOException) - { - ViewUtility.popupErrorMessage(mbean.getInstanceName(), "IO Error occured \n" + ex.toString()); - printStackTrace(ex); - } else if (ex instanceof ReflectionException) { ViewUtility.popupErrorMessage(mbean.getInstanceName(), "Server has thrown error \n" + ex.toString()); @@ -462,7 +456,7 @@ } } - private static void printStackTrace(Throwable ex) + public static void printStackTrace(Throwable ex) { if (ApplicationRegistry.debug) { Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java Tue Apr 24 02:01:58 2007 @@ -21,6 +21,7 @@ package org.apache.qpid.management.ui.views; import static org.apache.qpid.management.ui.Constants.*; + import org.apache.qpid.management.ui.ApplicationRegistry; import org.apache.qpid.management.ui.ManagedBean; import org.apache.qpid.management.ui.jmx.JMXServerRegistry; @@ -51,8 +52,6 @@ import org.eclipse.swt.events.PaintListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.VerifyEvent; -import org.eclipse.swt.events.VerifyListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java Tue Apr 24 02:01:58 2007 @@ -1,9 +1,13 @@ package org.apache.qpid.management.ui.views; +import static org.apache.qpid.management.ui.Constants.BUTTON_REFRESH; +import static org.apache.qpid.management.ui.Constants.FONT_BOLD; +import static org.apache.qpid.management.ui.Constants.FONT_ITALIC; +import static org.apache.qpid.management.ui.Constants.FONT_NORMAL; + import java.util.Collections; import java.util.HashMap; -import static org.apache.qpid.management.ui.Constants.*; import org.apache.qpid.management.ui.ApplicationRegistry; import org.apache.qpid.management.ui.ManagedBean; import org.apache.qpid.management.ui.jmx.MBeanUtility; Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java (original) +++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java Tue Apr 24 02:01:58 2007 @@ -20,6 +20,8 @@ */ package org.apache.qpid.management.ui.views; +import static org.apache.qpid.management.ui.Constants.*; + import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -27,14 +29,12 @@ import java.util.List; import org.apache.qpid.management.ui.ApplicationRegistry; -import static org.apache.qpid.management.ui.Constants.*; import org.apache.qpid.management.ui.ManagedBean; import org.apache.qpid.management.ui.ManagedServer; import org.apache.qpid.management.ui.ServerRegistry; import org.apache.qpid.management.ui.exceptions.InfoRequiredException; import org.apache.qpid.management.ui.jmx.JMXServerRegistry; import org.apache.qpid.management.ui.jmx.MBeanUtility; - import org.eclipse.jface.preference.PreferenceStore; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; @@ -48,7 +48,6 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerSorter; - import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; @@ -63,7 +62,6 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; - import org.eclipse.ui.part.ViewPart; /** @@ -216,10 +214,9 @@ ServerRegistry serverRegistry = new JMXServerRegistry(server); ApplicationRegistry.addServer(server, serverRegistry); } - catch (Exception ex) + catch (IOException ex) { - ex.printStackTrace(); - throw new Exception("Error in connecting to Qpid broker at " + server.getUrl(), ex); + throw (Exception)ex.getCause(); } } @@ -274,7 +271,15 @@ _managedServerMap.put(managedServer, serverNode); // populate the server tree - populateServer(serverNode); + try + { + populateServer(serverNode); + } + catch (SecurityException ex) + { + disconnect(managedServer); + throw ex; + } // Add the Queue/Exchanges/Connections from config file into the navigation tree addConfiguredItems(managedServer); @@ -413,38 +418,30 @@ * the given server node. * @param serverNode */ - private void populateServer(TreeObject serverNode) + private void populateServer(TreeObject serverNode) throws Exception { ManagedServer server = (ManagedServer) serverNode.getManagedObject(); String domain = server.getDomain(); - try + if (!domain.equals(ALL)) + { + TreeObject domainNode = new TreeObject(domain, NODE_TYPE_DOMAIN); + domainNode.setParent(serverNode); + + populateDomain(domainNode); + } + else { - if (!domain.equals(ALL)) + List<TreeObject> domainList = new ArrayList<TreeObject>(); + List<String> domains = MBeanUtility.getAllDomains(server); + + for (String domainName : domains) { - TreeObject domainNode = new TreeObject(domain, NODE_TYPE_DOMAIN); + TreeObject domainNode = new TreeObject(domainName, NODE_TYPE_DOMAIN); domainNode.setParent(serverNode); + domainList.add(domainNode); populateDomain(domainNode); } - else - { - List<TreeObject> domainList = new ArrayList<TreeObject>(); - List<String> domains = MBeanUtility.getAllDomains(server); - ; - for (String domainName : domains) - { - TreeObject domainNode = new TreeObject(domainName, NODE_TYPE_DOMAIN); - domainNode.setParent(serverNode); - - domainList.add(domainNode); - populateDomain(domainNode); - } - } - } - catch (Exception ex) - { - System.out.println("\nError in connecting to Qpid broker "); - ex.printStackTrace(); } } @@ -726,6 +723,11 @@ { TreeObject selectedNode = getSelectedServerNode(); ManagedServer managedServer = (ManagedServer) selectedNode.getManagedObject(); + disconnect(managedServer); + } + + private void disconnect(ManagedServer managedServer) throws Exception + { if (!_managedServerMap.containsKey(managedServer)) { return; @@ -763,8 +765,17 @@ // put the server in the managed server map _managedServerMap.put(managedServer, selectedNode); - // populate the server tree now - populateServer(selectedNode); + try + { + // populate the server tree now + populateServer(selectedNode); + } + catch (SecurityException ex) + { + disconnect(managedServer); + throw ex; + } + // Add the Queue/Exchanges/Connections from config file into the navigation tree addConfiguredItems(managedServer); Modified: incubator/qpid/trunk/qpid/java/systests/pom.xml URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/pom.xml?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/pom.xml (original) +++ incubator/qpid/trunk/qpid/java/systests/pom.xml Tue Apr 24 02:01:58 2007 @@ -62,7 +62,8 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> - <skip>true</skip> + <testSourceDirectory>${basedir}/src/main</testSourceDirectory> + <testClassesDirectory>target/classes</testClassesDirectory> </configuration> </plugin> @@ -89,3 +90,4 @@ </resources> </build> </project> + Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/ack/TxAckTest.java Tue Apr 24 02:01:58 2007 @@ -24,6 +24,8 @@ import org.apache.qpid.AMQException; import org.apache.qpid.framing.BasicPublishBody; import org.apache.qpid.framing.AMQShortString; +import org.apache.qpid.framing.ContentHeaderBody; +import org.apache.qpid.framing.AMQFrameDecodingException; import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.server.RequiredDeliveryException; import org.apache.qpid.server.queue.AMQMessage; @@ -102,7 +104,7 @@ _storeContext, null, new LinkedList<RequiredDeliveryException>(), new HashSet<Long>()); - for(int i = 0; i < messageCount; i++) + for (int i = 0; i < messageCount; i++) { long deliveryTag = i + 1; @@ -144,7 +146,7 @@ private void assertCount(List<Long> tags, int expected) { - for(long tag : tags) + for (long tag : tags) { UnacknowledgedMessage u = _map.get(tag); assertTrue("Message not found for tag " + tag, u != null); @@ -161,6 +163,7 @@ assertCount(_unacked, 0); } + void undoPrepare() { _op.consolidate(); @@ -175,7 +178,6 @@ _op.consolidate(); _op.commit(_storeContext); - //check acked messages are removed from map Set<Long> keys = new HashSet<Long>(_map.getDeliveryTags()); keys.retainAll(_acked); @@ -195,6 +197,20 @@ TestMessage(long tag, long messageId, MessagePublishInfo publishBody, TransactionalContext txnContext) { super(messageId, publishBody, txnContext); + try + { + setContentHeaderBody(new ContentHeaderBody() + { + public int getSize() + { + return 1; + } + }); + } + catch (AMQException e) + { + // won't happen + } _tag = tag; } Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java Tue Apr 24 02:01:58 2007 @@ -22,6 +22,8 @@ private static final Logger _logger = Logger.getLogger(ReturnUnroutableMandatoryMessageTest.class); private final List<Message> _bouncedMessageList = Collections.synchronizedList(new ArrayList<Message>()); + private static final String VIRTUALHOST = "test"; + private static final String BROKER = "vm://:1"; static { @@ -53,10 +55,10 @@ * * @throws Exception */ - public void testReturnUnroutableMandatoryMessage() throws Exception + public void testReturnUnroutableMandatoryMessage_HEADERS() throws Exception { _bouncedMessageList.clear(); - Connection con = new AMQConnection("vm://:1", "guest", "guest", "consumer1", "/test"); + Connection con = new AMQConnection(BROKER, "guest", "guest", "consumer1", VIRTUALHOST); AMQSession consumerSession = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE); @@ -70,7 +72,7 @@ //((AMQSession) consumerSession).declareExchangeSynch(ExchangeDefaults.HEADERS_EXCHANGE_NAME, ExchangeDefaults.HEADERS_EXCHANGE_CLASS); // This is the default now - Connection con2 = new AMQConnection("vm://:1", "guest", "guest", "producer1", "/test"); + Connection con2 = new AMQConnection(BROKER, "guest", "guest", "producer1", VIRTUALHOST); con2.setExceptionListener(this); AMQSession producerSession = (AMQSession) con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); @@ -126,6 +128,138 @@ } + + public void testReturnUnroutableMandatoryMessage_QUEUE() throws Exception + { + _bouncedMessageList.clear(); + Connection con = new AMQConnection(BROKER, "guest", "guest", "consumer1", VIRTUALHOST); + + + AMQSession consumerSession = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + + AMQQueue valid_queue = new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_CLASS, "testReturnUnroutableMandatoryMessage_QUEUE"); + AMQQueue invalid_queue = new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_CLASS, "testReturnUnroutableMandatoryMessage_QUEUE_INVALID"); + MessageConsumer consumer = consumerSession.createConsumer(valid_queue); + + //force synch to ensure the consumer has resulted in a bound queue + //((AMQSession) consumerSession).declareExchangeSynch(ExchangeDefaults.HEADERS_EXCHANGE_NAME, ExchangeDefaults.HEADERS_EXCHANGE_CLASS); + // This is the default now + + Connection con2 = new AMQConnection(BROKER, "guest", "guest", "producer1", VIRTUALHOST); + + con2.setExceptionListener(this); + AMQSession producerSession = (AMQSession) con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); + + // Need to start the "producer" connection in order to receive bounced messages + _logger.info("Starting producer connection"); + con2.start(); + + + MessageProducer nonMandatoryProducer = producerSession.createProducer(valid_queue, false, false); + MessageProducer mandatoryProducer = producerSession.createProducer(invalid_queue); + + // First test - should be routed + _logger.info("Sending non-mandatory message"); + TextMessage msg1 = producerSession.createTextMessage("msg1"); + nonMandatoryProducer.send(msg1); + + // Second test - should be bounced + _logger.info("Sending non-routable mandatory message"); + TextMessage msg2 = producerSession.createTextMessage("msg2"); + mandatoryProducer.send(msg2); + + + _logger.info("Starting consumer connection"); + con.start(); + TextMessage tm = (TextMessage) consumer.receive(1000L); + + assertTrue("No message routed to receiver", tm != null); + assertTrue("Wrong message routed to receiver: " + tm.getText(), "msg1".equals(tm.getText())); + + try + { + Thread.sleep(1000L); + } + catch (InterruptedException e) + { + ; + } + + assertTrue("Wrong number of messages bounced (expect 1): " + _bouncedMessageList.size(), _bouncedMessageList.size() == 1); + Message m = _bouncedMessageList.get(0); + assertTrue("Wrong message bounced: " + m.toString(), m.toString().contains("msg2")); + + + con.close(); + con2.close(); + } + + + public void testReturnUnroutableMandatoryMessage_TOPIC() throws Exception + { + _bouncedMessageList.clear(); + Connection con = new AMQConnection(BROKER, "guest", "guest", "consumer1", VIRTUALHOST); + + + AMQSession consumerSession = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE); + + AMQTopic valid_topic = new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_CLASS, "test.Return.Unroutable.Mandatory.Message.TOPIC"); + AMQTopic invalid_topic = new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_CLASS, "test.Return.Unroutable.Mandatory.Message.TOPIC.invalid"); + MessageConsumer consumer = consumerSession.createConsumer(valid_topic); + + //force synch to ensure the consumer has resulted in a bound queue + //((AMQSession) consumerSession).declareExchangeSynch(ExchangeDefaults.HEADERS_EXCHANGE_NAME, ExchangeDefaults.HEADERS_EXCHANGE_CLASS); + // This is the default now + + Connection con2 = new AMQConnection(BROKER, "guest", "guest", "producer1", VIRTUALHOST); + + con2.setExceptionListener(this); + AMQSession producerSession = (AMQSession) con2.createSession(false, Session.CLIENT_ACKNOWLEDGE); + + // Need to start the "producer" connection in order to receive bounced messages + _logger.info("Starting producer connection"); + con2.start(); + + + MessageProducer nonMandatoryProducer = producerSession.createProducer(valid_topic, false, false); + MessageProducer mandatoryProducer = producerSession.createProducer(invalid_topic); + + // First test - should be routed + _logger.info("Sending non-mandatory message"); + TextMessage msg1 = producerSession.createTextMessage("msg1"); + nonMandatoryProducer.send(msg1); + + // Second test - should be bounced + _logger.info("Sending non-routable mandatory message"); + TextMessage msg2 = producerSession.createTextMessage("msg2"); + mandatoryProducer.send(msg2); + + + _logger.info("Starting consumer connection"); + con.start(); + TextMessage tm = (TextMessage) consumer.receive(1000L); + + assertTrue("No message routed to receiver", tm != null); + assertTrue("Wrong message routed to receiver: " + tm.getText(), "msg1".equals(tm.getText())); + + try + { + Thread.sleep(1000L); + } + catch (InterruptedException e) + { + ; + } + + assertTrue("Wrong number of messages bounced (expect 1): " + _bouncedMessageList.size(), _bouncedMessageList.size() == 1); + Message m = _bouncedMessageList.get(0); + assertTrue("Wrong message bounced: " + m.toString(), m.toString().contains("msg2")); + + + con.close(); + con2.close(); + } + public static junit.framework.Test suite() { Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/failure/HeapExhaustion.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/failure/HeapExhaustion.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/failure/HeapExhaustion.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/failure/HeapExhaustion.java Tue Apr 24 02:01:58 2007 @@ -16,7 +16,7 @@ { private static final Logger _logger = Logger.getLogger(HeapExhaustion.class); - protected QpidClientConnection conn; + protected QpidClientConnection conn; protected final String BROKER = "localhost"; protected final String vhost = "/test"; protected final String queue = "direct://amq.direct//queue"; @@ -65,7 +65,7 @@ conn.put(queue, payload, 1); copies++; total += size; - _logger.info("put copy " + copies + " OK for total bytes: " + total); + System.out.println("put copy " + copies + " OK for total bytes: " + total); } } @@ -85,7 +85,7 @@ conn.put(queue, payload, 1); copies++; total += size; - _logger.debug("put copy " + copies + " OK for total bytes: " + total); + System.out.println("put copy " + copies + " OK for total bytes: " + total); Thread.sleep(200); } } Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/MessageTestHelper.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/MessageTestHelper.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/MessageTestHelper.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/MessageTestHelper.java Tue Apr 24 02:01:58 2007 @@ -29,6 +29,7 @@ import org.apache.qpid.server.store.StoreContext; import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.util.TestApplicationRegistry; +import org.apache.qpid.server.util.NullApplicationRegistry; import org.apache.qpid.server.txn.TransactionalContext; import org.apache.qpid.server.txn.NonTransactionalContext; import org.apache.qpid.server.RequiredDeliveryException; @@ -51,7 +52,7 @@ MessageTestHelper() throws Exception { - ApplicationRegistry.initialise(new TestApplicationRegistry()); + ApplicationRegistry.initialise(new NullApplicationRegistry()); } AMQMessage message() throws AMQException Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/VMTestCase.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/VMTestCase.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/VMTestCase.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/VMTestCase.java Tue Apr 24 02:01:58 2007 @@ -114,4 +114,9 @@ TransportConnection.killVMBroker(1); super.tearDown(); } + + public void testDummyinVMTestCase() + { + // keep maven happy + } } Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/QueueBrowserTest.java URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/QueueBrowserTest.java?view=diff&rev=531842&r1=531841&r2=531842 ============================================================================== --- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/QueueBrowserTest.java (original) +++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/client/QueueBrowserTest.java Tue Apr 24 02:01:58 2007 @@ -20,8 +20,8 @@ */ package org.apache.qpid.test.client; -import org.apache.qpid.test.VMTestCase; import org.apache.log4j.Logger; +import org.apache.qpid.test.VMTestCase; import javax.jms.Queue; import javax.jms.ConnectionFactory; @@ -36,6 +36,8 @@ import javax.jms.Message; import java.util.Enumeration; +import junit.framework.TestCase; + public class QueueBrowserTest extends VMTestCase { private static final Logger _logger = Logger.getLogger(QueueBrowserTest.class); @@ -87,7 +89,7 @@ * */ - public void queueBrowserMsgsRemainOnQueueTest() throws JMSException + public void testQueueBrowserMsgsRemainOnQueue() throws JMSException { // create QueueBrowser
