You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/01/16 16:16:55 UTC
svn commit: r496725 [7/11] - in /incubator/qpid/branches/perftesting/qpid:
gentools/ gentools/src/org/apache/qpid/gentools/ gentools/templ.cpp/
gentools/templ.java/ java/ java/broker/ java/broker/etc/
java/broker/src/main/java/org/apache/qpid/server/ j...
Modified: incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java Tue Jan 16 07:16:39 2007
@@ -28,13 +28,7 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import java.util.Set;
-
-import javax.management.MBeanServerConnection;
-import javax.management.ObjectInstance;
-import javax.management.ObjectName;
import org.apache.qpid.management.ui.ApplicationRegistry;
import org.apache.qpid.management.ui.Constants;
@@ -42,8 +36,9 @@
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.JMXManagedObject;
+import org.apache.qpid.management.ui.exceptions.ManagementConsoleException;
import org.apache.qpid.management.ui.jmx.JMXServerRegistry;
+import org.apache.qpid.management.ui.jmx.MBeanUtility;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IFontProvider;
@@ -64,7 +59,11 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.part.ViewPart;
-
+/**
+ * Navigation View for navigating the managed servers and managed beans on
+ * those servers
+ * @author Bhupendra Bhardwaj
+ */
public class NavigationView extends ViewPart
{
public static final String ID = "org.apache.qpid.management.ui.navigationView";
@@ -73,8 +72,6 @@
private TreeViewer _treeViewer = null;
private TreeObject _rootNode = null;
private TreeObject _serversRootNode = null;
- // List of all server nodes (connecged or removed)
- //private List<TreeObject> _serverNodeList = new ArrayList<TreeObject>();
// Map of connected servers
private HashMap<ManagedServer, TreeObject> _managedServerMap = new HashMap<ManagedServer, TreeObject>();
@@ -98,6 +95,9 @@
createListeners();
}
+ /**
+ * Creates listeners for the JFace treeviewer
+ */
private void createListeners()
{
_treeViewer.addDoubleClickListener(new IDoubleClickListener()
@@ -132,12 +132,17 @@
});
}
+ /**
+ * Creates Qpid Server connection using JMX RMI protocol
+ * @param server
+ * @throws Exception
+ */
private void createRMIServerConnection(ManagedServer server) throws Exception
{
try
{
// Currently Qpid Management Console only supports JMX MBeanServer
- JMXServerRegistry serverRegistry = new JMXServerRegistry(server);
+ ServerRegistry serverRegistry = new JMXServerRegistry(server);
ApplicationRegistry.addServer(server, serverRegistry);
}
catch(Exception ex)
@@ -151,14 +156,24 @@
return "service:jmx:rmi:///jndi/rmi://" + host + "/jmxrmi";
}
-
+ /**
+ * Adds a new server node in the navigation view if server connection is successful.
+ * @param transportProtocol
+ * @param host
+ * @param port
+ * @param domain
+ * @throws Exception
+ */
public void addNewServer(String transportProtocol, String host, String port, String domain)
throws Exception
{
+ String serverAddress = host + ":" + port;
+ String url = null;
+ ManagedServer managedServer = null;
+
if ("RMI".equals(transportProtocol))
- {
- String serverAddress = host + ":" + port;
- String url = getRMIURL(serverAddress);
+ {
+ url = getRMIURL(serverAddress);
List<TreeObject> list = _serversRootNode.getChildren();
for (TreeObject node : list)
{
@@ -166,30 +181,36 @@
throw new InfoRequiredException("Server " + serverAddress + " is already added");
}
- ManagedServer managedServer = new ManagedServer(url, domain);
+ managedServer = new ManagedServer(url, domain);
managedServer.setName(serverAddress);
- createRMIServerConnection(managedServer);
-
- // RMI server connection is successful. Now add the server in the tree
- TreeObject serverNode = new TreeObject(serverAddress, Constants.SERVER);
- serverNode.setUrl(url);
- serverNode.setManagedObject(managedServer);
- _serversRootNode.addChild(serverNode);
-
- // Add server in the connected server map
- _managedServerMap.put(managedServer, serverNode);
- populateServer(serverNode);
- _treeViewer.refresh();
-
- // save server address in file
- addServerAddressInFile(serverAddress);
+ createRMIServerConnection(managedServer);
}
else
{
throw new InfoRequiredException(transportProtocol + " transport is not supported");
}
+
+ // Server connection is successful. Now add the server in the tree
+ TreeObject serverNode = new TreeObject(serverAddress, Constants.SERVER);
+ serverNode.setUrl(url);
+ serverNode.setManagedObject(managedServer);
+ _serversRootNode.addChild(serverNode);
+
+ // Add server in the connected server map
+ _managedServerMap.put(managedServer, serverNode);
+ populateServer(serverNode);
+ _treeViewer.refresh();
+
+ // save server address in file
+ addServerAddressInFile(serverAddress);
}
+ /**
+ * Server addresses are stored in a file. When user launches the application again, the
+ * server addresses are picked up from the file and shown in the navigfation view. This method
+ * adds the server address in a file, when a new server is added in the navigation view.
+ * @param serverAddress
+ */
private void addServerAddressInFile(String serverAddress)
{
File file = new File(INI_FILENAME);
@@ -210,11 +231,14 @@
}
}
-
+ /**
+ * Queries the qpid server for MBeans and populates the navigation view with all MBeans for
+ * the given server node.
+ * @param serverNode
+ */
private void populateServer(TreeObject serverNode)
{
ManagedServer server = (ManagedServer)serverNode.getManagedObject();
- JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(server);
String domain = server.getDomain();
try
{
@@ -228,11 +252,10 @@
else
{
List<TreeObject> domainList = new ArrayList<TreeObject>();
- MBeanServerConnection mbsc = serverRegistry.getServerConnection();
- String[] domains = mbsc.getDomains();
- for (int i = 0; i < domains.length; i++)
+ List<String> domains = MBeanUtility.getAllDomains(server);;
+ for (String domainName : domains)
{
- TreeObject domainNode = new TreeObject(domains[i], Constants.DOMAIN);
+ TreeObject domainNode = new TreeObject(domainName, Constants.DOMAIN);
domainNode.setParent(serverNode);
domainList.add(domainNode);
@@ -247,80 +270,118 @@
}
}
+ /**
+ * Queries the Qpid Server and populates the given domain node with all MBeans undser that domain.
+ * @param domain
+ * @throws IOException
+ * @throws Exception
+ */
@SuppressWarnings("unchecked")
private void populateDomain(TreeObject domain) throws IOException, Exception
{
ManagedServer server = (ManagedServer)domain.getParent().getManagedObject();
- JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(server);
- String domainName = domain.getName();
- MBeanServerConnection mbsc = serverRegistry.getServerConnection();
-
-
- ObjectName objName = new ObjectName(domainName + ":*");
- Set queryMBeans = mbsc.queryMBeans(objName, null);
- final Set<ObjectInstance> objectInstances = queryMBeans;
-
- for (Iterator<ObjectInstance> itr = objectInstances.iterator(); itr.hasNext();)
- {
- ObjectInstance instance = itr.next();
- ManagedBean obj = new JMXManagedObject(instance.getObjectName());
- obj.setServer(server);
- addManagedBean(domain, obj);
+ // Add these three types - Connection, Exchange, Queue
+ // By adding these, these will always be available, even if there are no mbeans under thse types
+ // This is required because, the mbeans will be added from mbeanview, by selecting from the list
+ TreeObject typeChild = new TreeObject(Constants.CONNECTION, Constants.TYPE);
+ typeChild.setParent(domain);
+ typeChild = new TreeObject(Constants.EXCHANGE, Constants.TYPE);
+ typeChild.setParent(domain);
+ typeChild = new TreeObject(Constants.QUEUE, Constants.TYPE);
+ typeChild.setParent(domain);
+
+
+ // Now populate the mbenas under those types
+ List<ManagedBean> mbeans = MBeanUtility.getManagedObjectsForDomain(server, domain.getName());
+ for (ManagedBean mbean : mbeans)
+ {
+ mbean.setServer(server);
+ ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(server);
+ serverRegistry.addManagedObject(mbean);
+
+ // Add all mbeans other than Connections, Exchanges and Queues. Because these will be added
+ // manually by selecting from MBeanView
+ if (!(mbean.getType().equals(Constants.CONNECTION) || mbean.getType().equals(Constants.EXCHANGE) || mbean.getType().equals(Constants.QUEUE)))
+ {
+ addManagedBean(domain, mbean);
+ }
}
}
- private TreeObject getIfTypeAlreadyExists(TreeObject domain, String type)
+ /**
+ * Checks if a particular mbeantype is already there in the navigation view for a domain.
+ * This is used while populating domain with mbeans.
+ * @param domain
+ * @param typeName
+ * @return Node if given mbeantype already exists, otherwise null
+ */
+ private TreeObject getMBeanTypeNode(TreeObject domain, String typeName)
{
- List<TreeObject> types = domain.getChildren();
+ List<TreeObject> childNodes = domain.getChildren();
- for (TreeObject child : types)
+ for (TreeObject child : childNodes)
{
- if (Constants.TYPE.equals(child.getType()) && type.equals(child.getName()))
+ if (Constants.TYPE.equals(child.getType()) && typeName.equals(child.getName()))
return child;
}
return null;
}
- private void addManagedBean(TreeObject domain, ManagedBean obj)
+ private boolean doesMBeanNodeAlreadyExist(TreeObject typeNode, String mbeanName)
{
- ManagedServer server = (ManagedServer)domain.getParent().getManagedObject();
- JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(server);
- serverRegistry.addManagedObject(obj);
-
- String type = obj.getType();
- String name = obj.getName();
+ List<TreeObject> childNodes = typeNode.getChildren();
+ for (TreeObject child : childNodes)
+ {
+ if (Constants.MBEAN.equals(child.getType()) && mbeanName.equals(child.getName()))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Adds the given MBean to the given domain node. Creates Notification node for the MBean.
+ * @param domain
+ * @param mbean mbean
+ */
+ private void addManagedBean(TreeObject domain, ManagedBean mbean) throws Exception
+ {
+ String type = mbean.getType();
+ String name = mbean.getName();
+
+ TreeObject typeNode = getMBeanTypeNode(domain, type);
+ if (typeNode != null && doesMBeanNodeAlreadyExist(typeNode, name))
+ return;
- TreeObject typeChild = getIfTypeAlreadyExists(domain, type);
TreeObject mbeanNode = null;
- if (typeChild != null) // if type is already added as a TreeItem
+ if (typeNode != null) // type node already exists
{
if (name == null)
{
- System.out.println("Two mbeans can't exist without a name and with same type");
- return;
+ throw new ManagementConsoleException("Two mbeans can't exist without a name and with same type");
}
- mbeanNode = new TreeObject(obj);
- mbeanNode.setParent(typeChild);
+ mbeanNode = new TreeObject(mbean);
+ mbeanNode.setParent(typeNode);
}
else
{
- if (name != null) // An managedObject with type and name
+ // type node does not exist. Now check if node to be created as mbeantype or MBean
+ if (name != null) // A managedObject with type and name
{
- typeChild = new TreeObject(type, Constants.TYPE);
- typeChild.setParent(domain);
- mbeanNode = new TreeObject(obj);
- mbeanNode.setParent(typeChild);
+ typeNode = new TreeObject(type, Constants.TYPE);
+ typeNode.setParent(domain);
+ mbeanNode = new TreeObject(mbean);
+ mbeanNode.setParent(typeNode);
}
- else // An managedObject with only type
+ else // A managedObject with only type
{
- mbeanNode = new TreeObject(obj);
+ mbeanNode = new TreeObject(mbean);
mbeanNode.setParent(domain);
}
}
// Add notification node
- // TODO: show this only of the mbean sends any notification
+ // TODO: show this only if the mbean sends any notification
TreeObject notificationNode = new TreeObject(Constants.NOTIFICATION, Constants.NOTIFICATION);
notificationNode.setParent(mbeanNode);
}
@@ -373,6 +434,9 @@
}
+ /**
+ * Closes the Qpid server connection
+ */
public void disconnect() throws Exception
{
TreeObject selectedNode = getSelectedServerNode();
@@ -408,6 +472,11 @@
_treeViewer.refresh();
}
+ /**
+ * Closes the Qpid server connection if not already closed and removes the server node from the navigation view and
+ * also from the ini file stored in the system.
+ * @throws Exception
+ */
public void removeServer() throws Exception
{
disconnect();
@@ -430,7 +499,6 @@
list.remove(objectToRemove);
}
- //_serverNodeList.remove(objectToRemove);
_treeViewer.refresh();
// Remove from the ini file
@@ -445,6 +513,10 @@
out.close();
}
+ /**
+ * @return the server addresses from the ini file
+ * @throws Exception
+ */
private List<String> getServerListFromFile() throws Exception
{
BufferedReader in = new BufferedReader(new FileReader(INI_FILENAME));
@@ -538,6 +610,9 @@
_treeViewer.refresh();
}
+ /**
+ * Content provider class for the tree viewer
+ */
private class ContentProviderImpl implements ITreeContentProvider
{
public Object[] getElements(Object parent)
@@ -574,6 +649,9 @@
}
}
+ /**
+ * Label provider class for the tree viewer
+ */
private class LabelProviderImpl extends LabelProvider implements IFontProvider
{
public Image getImage(Object element)
@@ -615,24 +693,6 @@
}
return ApplicationRegistry.getFont(Constants.FONT_NORMAL);
}
-
- /*
- public Color getForeground(Object element)
- {
- TreeObject node = (TreeObject)element;
- if (node.getType().equals(Constants.SERVER))
- {
- if (!node.getChildren().isEmpty())
- return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
- else
- return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY);
- }
- return Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
- }
- public Color getBackground(Object element)
- {
- return _treeViewer.getControl().getBackground();
- }*/
} // End of LabelProviderImpl
@@ -641,12 +701,12 @@
public int category(Object element)
{
TreeObject node = (TreeObject)element;
- if (node.getType().equals(Constants.MBEAN))
+ if (node.getType().equals(Constants.MBEAN))
return 1;
return 2;
}
}
-
+
/**
* Worker thread, which keeps looking for new ManagedObjects to be added and
* unregistered objects to be removed from the tree.
@@ -668,60 +728,36 @@
catch(Exception ex)
{
- }
- refreshAddedObjects();
+ }
refreshRemovedObjects();
refreshClosedServerConnections();
}// end of while loop
}// end of run method.
}// end of Worker class
-
- private void refreshAddedObjects()
+ public void addManagedBean(ManagedBean mbean) throws Exception
{
- for (ManagedServer server : _managedServerMap.keySet())
+ TreeObject treeServerObject = _managedServerMap.get(mbean.getServer());
+ List<TreeObject> domains = treeServerObject.getChildren();
+ TreeObject domain = null;
+ for (TreeObject child : domains)
{
- JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(server);
- if (serverRegistry == null) // server connection is closed
- continue;
-
- final List<ManagedBean> list = serverRegistry.getObjectsToBeAdded();
- if (list != null)
+ if (child.getName().equals(mbean.getDomain()))
{
- Display display = getSite().getShell().getDisplay();
- display.syncExec(new Runnable()
- {
- public void run()
- {
- for (ManagedBean obj : list)
- {
- System.out.println("adding " + obj.getName() + " " + obj.getType());
- TreeObject treeServerObject = _managedServerMap.get(obj.getServer());
- List<TreeObject> domains = treeServerObject.getChildren();
- TreeObject domain = null;
- for (TreeObject child : domains)
- {
- if (child.getName().equals(obj.getDomain()))
- {
- domain = child;
- break;
- }
- }
-
- addManagedBean(domain, obj);
- }
- _treeViewer.refresh();
- }
- });
+ domain = child;
+ break;
}
}
+
+ addManagedBean(domain, mbean);
+ _treeViewer.refresh();
}
private void refreshRemovedObjects()
{
for (ManagedServer server : _managedServerMap.keySet())
{
- final JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(server);
+ final ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(server);
if (serverRegistry == null) // server connection is closed
continue;
@@ -758,8 +794,8 @@
}
/**
- *
- *
+ * Gets the list of closed server connection from the ApplicationRegistry and then removes
+ * the closed server nodes from the navigation view
*/
private void refreshClosedServerConnections()
{
Modified: incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java Tue Jan 16 07:16:39 2007
@@ -196,7 +196,7 @@
formData = new FormData();
formData.top = new FormAttachment(notificationNameCombo, 5);
formData.left = new FormAttachment(fixedLabel, 10);
- formData.right = new FormAttachment(80);
+ formData.right = new FormAttachment(100);
descriptionLabel.setLayoutData(formData);
descriptionLabel.setText(" ");
descriptionLabel.setFont(ApplicationRegistry.getFont(Constants.FONT_ITALIC));
Modified: incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java Tue Jan 16 07:16:39 2007
@@ -492,11 +492,11 @@
{
if (result instanceof TabularDataSupport)
{
- ViewUtility.createTabularDataHolder(parent, (TabularDataSupport)result);
+ ViewUtility.createTabularDataHolder(_toolkit, parent, (TabularDataSupport)result);
}
else if (result instanceof CompositeDataSupport)
{
- ViewUtility.populateCompositeDataHolder(parent, (CompositeDataSupport)result);
+ ViewUtility.populateCompositeDataHolder(_toolkit, parent, (CompositeDataSupport)result);
}
}
@@ -521,6 +521,9 @@
*/
private void clearParameterValues(Composite control)
{
+ if (control == null)
+ return;
+
Control[] controls = control.getChildren();
if (controls == null || controls.length == 0)
return;
Modified: incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java Tue Jan 16 07:16:39 2007
@@ -51,6 +51,7 @@
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
public class ViewUtility
{
@@ -75,13 +76,11 @@
SUPPORTED_ARRAY_DATATYPES.add("java.lang.Double");
SUPPORTED_ARRAY_DATATYPES.add("java.util.Date");
}
-
+
@SuppressWarnings("unchecked")
- public static void createTabularDataHolder(Composite parent, TabularDataSupport tabularData)
+ public static void createTabularDataHolder(FormToolkit toolkit, Composite parent, TabularDataSupport tabularData)
{
- Composite composite = new Composite(parent, SWT.BORDER);
- //composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
- //composite.setBackground(parent.getBackground());
+ Composite composite = toolkit.createComposite(parent, SWT.BORDER);
GridLayout layout = new GridLayout(4, true);
layout.horizontalSpacing = 0;
layout.marginWidth = 0;
@@ -94,28 +93,27 @@
ArrayList<Map.Entry> list = new ArrayList<Map.Entry>(entrySet);
if (list.size() == 0)
{
- Text text = new Text(composite, SWT.CENTER | SWT.SINGLE | SWT.READ_ONLY);
- text.setText(" No records ");
- //text.setBackground(parent.getBackground());
+ Text text = toolkit.createText(composite, " No records ", SWT.CENTER | SWT.SINGLE | SWT.READ_ONLY);
GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1);
text.setLayoutData(layoutData);
return;
}
- // Attach the tabular record to be retrieve and shown
+ // Attach the tabular record to be retrieved and shown later when record is traversed
+ // using first/next/previous/last buttons
composite.setData(list);
// Create button and the composite for CompositeData
- Composite compositeDataHolder = createCompositeDataHolder(composite,
+ Composite compositeDataHolder = createCompositeDataHolder(toolkit, composite,
tabularData.getTabularType().getRowType());
// display the first record
CompositeData data = (CompositeData)(list.get(0)).getValue();
composite.setData(INDEX, 0);
- populateCompositeDataHolder(compositeDataHolder, data);
+ populateCompositeDataHolder(toolkit, compositeDataHolder, data);
enableOrDisableTraversalButtons(composite);
}
- public static void enableOrDisableTraversalButtons(Composite composite)
+ private static void enableOrDisableTraversalButtons(Composite composite)
{
int index = (Integer)composite.getData(INDEX);
int size = ((List)composite.getData()).size();
@@ -137,40 +135,36 @@
}
}
- public static Composite createCompositeDataHolder(final Composite dataHolder, CompositeType compositeType)
+ public static Composite createCompositeDataHolder(final FormToolkit toolkit, final Composite dataHolder, CompositeType compositeType)
{
- Label description = new Label(dataHolder, SWT.CENTER);
- description.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false, 4, 1));
String desc = compositeType.getDescription();
+ Label description = toolkit.createLabel(dataHolder, desc, SWT.CENTER);
+ description.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false, 4, 1));
// TODO nameLabel.setFont(font);
description.setText(desc);
// Add traversal buttons
- final Button firstRecordButton = new Button(dataHolder, SWT.PUSH);
- firstRecordButton.setText(FIRST);
+ final Button firstRecordButton = toolkit.createButton(dataHolder, FIRST, SWT.PUSH);
GridData layoutData = new GridData (GridData.HORIZONTAL_ALIGN_END);
layoutData.widthHint = 80;
firstRecordButton.setLayoutData(layoutData);
- final Button nextRecordButton = new Button(dataHolder, SWT.PUSH);
- nextRecordButton.setText(NEXT);
+ final Button nextRecordButton = toolkit.createButton(dataHolder, NEXT, SWT.PUSH);
layoutData = new GridData (GridData.HORIZONTAL_ALIGN_END);
layoutData.widthHint = 80;
nextRecordButton.setLayoutData(layoutData);
- final Button previousRecordButton = new Button(dataHolder, SWT.PUSH);
- previousRecordButton.setText(PREV);
+ final Button previousRecordButton = toolkit.createButton(dataHolder, PREV, SWT.PUSH);
layoutData = new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING);
layoutData.widthHint = 80;
previousRecordButton.setLayoutData(layoutData);
- final Button lastRecordButton = new Button(dataHolder, SWT.PUSH);
- lastRecordButton.setText(LAST);
+ final Button lastRecordButton = toolkit.createButton(dataHolder, LAST, SWT.PUSH);
layoutData = new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING);
layoutData.widthHint = 80;
lastRecordButton.setLayoutData(layoutData);
- final Composite composite = new Composite(dataHolder, SWT.NONE);
+ final Composite composite = toolkit.createComposite(dataHolder, SWT.NONE);
GridLayout layout = new GridLayout();
layout.horizontalSpacing = layout.verticalSpacing = 0;
layout.marginHeight = layout.marginWidth = 0;
@@ -195,7 +189,7 @@
Button traverseButton =(Button)e.widget;
CompositeData data = getCompositeData(dataHolder, traverseButton.getText());
- populateCompositeDataHolder(composite, data);
+ populateCompositeDataHolder(toolkit, composite, data);
enableOrDisableTraversalButtons(dataHolder);
}
};
@@ -248,7 +242,7 @@
}
@SuppressWarnings("unchecked")
- public static void populateCompositeDataHolder(Composite parent, CompositeData data/*String dataIndex*/)
+ public static void populateCompositeDataHolder(FormToolkit toolkit, Composite parent, CompositeData data/*String dataIndex*/)
{
Control[] oldControls = parent.getChildren();
for (int i = 0; i < oldControls.length; i++)
@@ -256,7 +250,7 @@
oldControls[i].dispose();
}
- Composite compositeHolder = new Composite(parent, SWT.NONE);
+ Composite compositeHolder = toolkit.createComposite(parent, SWT.NONE);
GridLayout layout = new GridLayout(4, false);
layout.horizontalSpacing = 10;
compositeHolder.setLayout(layout);
@@ -271,12 +265,10 @@
OpenType itemType = data.getCompositeType().getType(itemName);
if (compositeHolder.getData(itemName) == null)
{
- Label keyLabel = new Label(compositeHolder, SWT.TRAIL);
- keyLabel.setText(itemName);
+ Label keyLabel = toolkit.createLabel(compositeHolder, itemName, SWT.TRAIL);
GridData layoutData = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);
layoutData.minimumWidth = 70;
keyLabel.setLayoutData(layoutData);
- System.out.println(itemType);
if (itemType.isArray())
{
@@ -298,12 +290,12 @@
if (mimeType.equals("text/plain"))
{
- displayByteArray(compositeHolder, data, itemName, encoding);
+ displayByteArray(toolkit, compositeHolder, data, itemName, encoding);
}
}
else
{
- displayNotSupportedDataType(compositeHolder);
+ displayNotSupportedDataType(toolkit, compositeHolder);
}
}
// If array of any other supported type, show as a list of String array
@@ -313,23 +305,22 @@
}
else
{
- displayNotSupportedDataType(compositeHolder);
+ displayNotSupportedDataType(toolkit, compositeHolder);
}
}
else if (itemType instanceof TabularType)
{
- Composite composite = new Composite(compositeHolder, SWT.NONE);
+ Composite composite = toolkit.createComposite(compositeHolder, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1));
layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
composite.setLayout(layout);
- createTabularDataHolder(composite, (TabularDataSupport)data.get(itemName));
+ createTabularDataHolder(toolkit, composite, (TabularDataSupport)data.get(itemName));
}
else
{
- Text valueText = new Text(compositeHolder, SWT.READ_ONLY | SWT.BORDER);
- valueText.setText(String.valueOf(data.get(itemName)));
+ Text valueText = toolkit.createText(compositeHolder, String.valueOf(data.get(itemName)), SWT.READ_ONLY | SWT.BORDER);
valueText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1));
}
}
@@ -340,7 +331,7 @@
} //end of method
- private static void displayByteArray(Composite compositeHolder, CompositeData data, String itemName, String encoding)
+ private static void displayByteArray(FormToolkit toolkit, Composite compositeHolder, CompositeData data, String itemName, String encoding)
{
Byte[] arrayItems = (Byte[])data.get(itemName);
byte[] byteArray = new byte[arrayItems.length];
@@ -354,9 +345,8 @@
String textMessage = new String(byteArray, encoding);
System.out.println("\nMessage : \n" + textMessage + "\n");
- Text valueText = new Text(compositeHolder, SWT.READ_ONLY | SWT.BORDER |
+ Text valueText = toolkit.createText(compositeHolder, textMessage, SWT.READ_ONLY | SWT.BORDER |
SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
- valueText.setText(textMessage);
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
gridData.heightHint = 300;
valueText.setLayoutData(gridData);
@@ -369,8 +359,7 @@
public static int popupInfoMessage(String title, String message)
{
- MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(),
- SWT.ICON_INFORMATION | SWT.OK);
+ MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(), SWT.ICON_INFORMATION | SWT.OK);
messageBox.setMessage(message);
messageBox.setText(title);
int response = messageBox.open();
@@ -380,8 +369,7 @@
public static int popupErrorMessage(String title, String message)
{
- MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(),
- SWT.ICON_ERROR | SWT.OK);
+ MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(), SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage(message);
messageBox.setText(title);
int response = messageBox.open();
@@ -400,10 +388,10 @@
return response;
}
- public static void popupError(String title, String message, Exception ex)
+ public static void popupError(String title, String message, Throwable ex)
{
IStatus status = new Status(IStatus.ERROR, ApplicationWorkbenchAdvisor.PERSPECTIVE_ID,
- IStatus.ERROR, ex.getMessage(), ex);
+ IStatus.ERROR, ex.toString(), ex);
ErrorDialog.openError(Display.getCurrent().getActiveShell(), title, message, status);
}
@@ -425,8 +413,10 @@
label.setLayoutData(new GridData(SWT.TRAIL, SWT.TOP, false, false));
shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch()) {
+ while (!shell.isDisposed())
+ {
+ if (!display.readAndDispatch())
+ {
display.sleep();
}
}
@@ -446,6 +436,12 @@
return shell;
}
+ /**
+ * Creates a List widget for displaying array of strings
+ * @param compositeHolder
+ * @param data - containing the array item value
+ * @param itemName - item name
+ */
private static void displayArrayItem(Composite compositeHolder, CompositeData data, String itemName)
{
Object[] arrayItems = (Object[])data.get(itemName);
@@ -457,21 +453,20 @@
org.eclipse.swt.widgets.List list = new org.eclipse.swt.widgets.List(compositeHolder,
SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY);
list.setItems(items);
- list.setBackground(compositeHolder.getBackground());
+ //list.setBackground(compositeHolder.getBackground());
list.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
}
- private static void displayNotSupportedDataType(Composite compositeHolder)
+ private static void displayNotSupportedDataType(FormToolkit toolkit, Composite compositeHolder)
{
- Text valueText = new Text(compositeHolder, SWT.READ_ONLY);
- valueText.setText("Format is not supported to be displayed");
+ Text valueText = toolkit.createText(compositeHolder, "Format is not supported to be displayed", SWT.READ_ONLY);
valueText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1));
}
/**
* Converts the input string to displayable format by converting some character case or inserting space
* @param input
- * @return
+ * @return formatted string
*/
public static String getDisplayText(String input)
{
@@ -498,6 +493,10 @@
return result.toString();
}
+ /**
+ * Disposes the children of given Composite if not null and not already disposed
+ * @param parent composite
+ */
public static void disposeChildren(Composite parent)
{
if (parent == null || parent.isDisposed())
Modified: incubator/qpid/branches/perftesting/qpid/java/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/pom.xml?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/pom.xml (original)
+++ incubator/qpid/branches/perftesting/qpid/java/pom.xml Tue Jan 16 07:16:39 2007
@@ -40,6 +40,14 @@
<maven>2.0.4</maven>
</prerequisites>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache SNAPSHOT Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ </distributionManagement>
+
<inceptionYear>2006</inceptionYear>
<mailingLists>
<mailingList>
@@ -87,6 +95,7 @@
<eclipse.plugin.version>2.2</eclipse.plugin.version>
<jar.version>2.0</jar.version>
<javadoc.version>2.0</javadoc.version>
+ <junit.version>3.8.1</junit.version>
<jxr.version>2.0</jxr.version>
<mprojectinfo.version>2.0</mprojectinfo.version>
<resources.version>2.2</resources.version>
@@ -94,9 +103,10 @@
<surefire-report.version>2.1-SNAPSHOT</surefire-report.version>
<surefire.version>2.2</surefire.version>
- <amqj.logging.level>debug</amqj.logging.level>
+ <amqj.logging.level>warn</amqj.logging.level>
<eclipse.workspace.dir>${basedir}/${topDirectoryLocation}/../workspace</eclipse.workspace.dir>
+ <clover.license.pathname>/set/clover/license/path/here</clover.license.pathname>
</properties>
<modules>
@@ -160,6 +170,7 @@
<pluginManagement>
<plugins>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
@@ -172,6 +183,52 @@
</dependency>
</dependencies>
+
+ <executions>
+
+ <!-- This Ant task writes the module name, version and the Subversion version information out to a properties file.
+ The svnversion command must be available to run from the command line for this to work. The build will not fail if
+ svnversion cannot be run though.
+ This is done during the 'compile' phase to reflect the version of the currently compiled code and to ensure that
+ these properties are up to date when running from a file system classpath. Consider moving this to, or running a second
+ time, during the 'package' phase to capture the version of any resources added to jar files.
+ This svnversion command is always run in the top directory to accurately reflect the svnversion range accross all modules
+ at the time of the build.
+ The properties are placed into a file 'qpidversion.properties' in the target/classes directory of any child module that runs
+ this plugin.
+ The 'qpidversion.properties' file is loaded by the org.apache.qpid.common.QpidProperties class.
+ Be carefull of the possibility that the 'common' module may run this antrun plugin and recieve its own set of
+ qpidversion.properties and then the client or broker being built against an older version of the common library ending up with
+ the wrong version information. This is unlikely to happen because the client or broker should pick up its own properties
+ from the classpath first. If this happens it will be obvious because the productName property will be
+ 'Qpid Common Utilities'. If this is a problem then push this ant task down into the client and broker poms and remove it
+ from here.
+ -->
+ <execution>
+ <id>version_properties</id>
+ <phase>compile</phase>
+ <configuration>
+ <tasks>
+
+ <exec executable="svnversion" spawn="false" failifexecutionfails="false"
+ dir="${topDirectoryLocation}" outputproperty="svnversion">
+ <arg line="."/>
+ </exec>
+
+ <!-- Write the version.properties out. -->
+ <propertyfile file="target/classes/qpidversion.properties">
+ <entry key="qpid.svnversion" value="${svnversion}"/>
+ <entry key="qpid.name" value="${project.name}"/>
+ <entry key="qpid.version" value="${project.version}"/>
+ </propertyfile>
+
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -241,9 +298,25 @@
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
-
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clover-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <licenseLocation>${clover.license.pathname}</licenseLocation>
+ <jdk>${java.source.version}</jdk>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>instrument</goal>
+ <goal>aggregate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
-
</pluginManagement>
<defaultGoal>install</defaultGoal>
</build>
@@ -335,7 +408,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>3.8.1</version>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -398,6 +471,10 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clover-plugin</artifactId>
</plugin>
</plugins>
</reporting>
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/pom.xml?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/pom.xml (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/pom.xml Tue Jan 16 07:16:39 2007
@@ -34,7 +34,6 @@
<properties>
<topDirectoryLocation>..</topDirectoryLocation>
- <amqj.logging.level>warn</amqj.logging.level>
</properties>
<dependencies>
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java Tue Jan 16 07:16:39 2007
@@ -22,12 +22,7 @@
import junit.framework.TestCase;
import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.qpid.framing.BasicPublishBody;
-import org.apache.qpid.framing.ContentBody;
-import org.apache.qpid.framing.ContentHeaderBody;
-import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.framing.FieldTableFactory;
+import org.apache.qpid.framing.*;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.registry.ApplicationRegistry;
@@ -140,7 +135,9 @@
static BasicPublishBody getPublishRequest(String id)
{
- BasicPublishBody request = new BasicPublishBody();
+ // AMQP version change: Hardwire the version to 0-8 (major=8, minor=0)
+ // TODO: Establish some way to determine the version for the test.
+ BasicPublishBody request = new BasicPublishBody((byte)8, (byte)0);
request.routingKey = id;
return request;
}
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java Tue Jan 16 07:16:39 2007
@@ -18,10 +18,10 @@
package org.apache.qpid.server.exchange;
import junit.framework.TestCase;
-import org.apache.qpid.server.management.ManagedObject;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.management.ManagedObject;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
@@ -33,12 +33,13 @@
public class ExchangeMBeanTest extends TestCase
{
private AMQQueue _queue;
- private QueueRegistry _queueRegistry = ApplicationRegistry.getInstance().getQueueRegistry();
+ private QueueRegistry _queueRegistry;
/**
* Test for direct exchange mbean
* @throws Exception
*/
+
public void testDirectExchangeMBean() throws Exception
{
DestNameExchange exchange = new DestNameExchange();
@@ -65,6 +66,7 @@
* Test for "topic" exchange mbean
* @throws Exception
*/
+
public void testTopicExchangeMBean() throws Exception
{
DestWildExchange exchange = new DestWildExchange();
@@ -91,6 +93,7 @@
* Test for "Headers" exchange mbean
* @throws Exception
*/
+
public void testHeadersExchangeMBean() throws Exception
{
HeadersExchange exchange = new HeadersExchange();
@@ -117,6 +120,7 @@
protected void setUp() throws Exception
{
super.setUp();
+ _queueRegistry = ApplicationRegistry.getInstance().getQueueRegistry();
_queue = new AMQQueue("testQueue", false, "ExchangeMBeanTest", false, _queueRegistry);
_queueRegistry.registerQueue(_queue);
}
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java Tue Jan 16 07:16:39 2007
@@ -2,7 +2,6 @@
import junit.framework.TestCase;
import org.apache.log4j.Logger;
-import org.apache.qpid.test.VMBrokerSetup;
import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.util.TestApplicationRegistry;
import org.apache.qpid.client.*;
@@ -11,7 +10,6 @@
import org.apache.qpid.url.BindingURL;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.framing.PropertyFieldTable;
import javax.jms.*;
import java.util.List;
@@ -63,7 +61,7 @@
AMQSession consumerSession = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE);
AMQHeadersExchange queue = new AMQHeadersExchange(new AMQBindingURL(ExchangeDefaults.HEADERS_EXCHANGE_CLASS + "://" + ExchangeDefaults.HEADERS_EXCHANGE_NAME + "/test/queue1?" + BindingURL.OPTION_ROUTING_KEY + "='F0000=1'"));
- FieldTable ft = new PropertyFieldTable();
+ FieldTable ft = new FieldTable();
ft.setString("F1000", "1");
MessageConsumer consumer = consumerSession.createConsumer(queue, AMQSession.DEFAULT_PREFETCH_LOW_MARK, AMQSession.DEFAULT_PREFETCH_HIGH_MARK, false, false, (String) null, ft);
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java Tue Jan 16 07:16:39 2007
@@ -28,11 +28,9 @@
import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.SkeletonMessageStore;
+import org.apache.qpid.AMQException;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
import javax.management.JMException;
-import java.util.ArrayList;
/**
* Test class to test MBean operations for AMQMinaProtocolSession.
@@ -56,20 +54,11 @@
channelCount = _mbean.channels().size();
assertTrue(channelCount == 2);
- // check the channel closing
- _mbean.closeChannel(1);
- TabularData channels = _mbean.channels();
- ArrayList<CompositeData> list = new ArrayList<CompositeData>(channels.values());
- channelCount = list.size();
- assertTrue(channelCount == 1);
- CompositeData channelData = list.get(0);
- assertEquals(channelData.get("Channel Id"), new Integer(2));
-
// general properties test
_mbean.setMaximumNumberOfChannels(1000L);
assertTrue(_mbean.getMaximumNumberOfChannels() == 1000L);
- // check if the rollback and commit APIs
+ // check APIs
AMQChannel channel3 = new AMQChannel(3, _messageStore, null);
channel3.setTransactional(true);
_protocolSession.addChannel(channel3);
@@ -94,10 +83,13 @@
_mbean.closeConnection();
try
{
- _mbean.closeChannel(5);
+ channelCount = _mbean.channels().size();
+ assertTrue(channelCount == 0);
+ // session is now closed so adding another channel should throw an exception
+ _protocolSession.addChannel(new AMQChannel(6, _messageStore, null));
fail();
}
- catch(JMException ex)
+ catch(AMQException ex)
{
System.out.println("expected exception is thrown :" + ex.getMessage());
}
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java Tue Jan 16 07:16:39 2007
@@ -148,7 +148,9 @@
private AMQMessage message(boolean immediate) throws AMQException
{
- BasicPublishBody publish = new BasicPublishBody();
+ // AMQP version change: Hardwire the version to 0-8 (major=8, minor=0)
+ // TODO: Establish some way to determine the version for the test.
+ BasicPublishBody publish = new BasicPublishBody((byte)8, (byte)0);
publish.immediate = immediate;
ContentHeaderBody contentHeaderBody = new ContentHeaderBody();
contentHeaderBody.bodySize = 1000; // in bytes
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AckTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AckTest.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AckTest.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/AckTest.java Tue Jan 16 07:16:39 2007
@@ -80,7 +80,9 @@
{
for (int i = 1; i <= count; i++)
{
- BasicPublishBody publishBody = new BasicPublishBody();
+ // AMQP version change: Hardwire the version to 0-8 (major=8, minor=0)
+ // TODO: Establish some way to determine the version for the test.
+ BasicPublishBody publishBody = new BasicPublishBody((byte)8, (byte)0);
publishBody.routingKey = "rk";
publishBody.exchange = "someExchange";
AMQMessage msg = new AMQMessage(_messageStore, publishBody);
Modified: incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/MessageTestHelper.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/MessageTestHelper.java?view=diff&rev=496725&r1=496724&r2=496725
==============================================================================
--- incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/MessageTestHelper.java (original)
+++ incubator/qpid/branches/perftesting/qpid/java/systests/src/test/java/org/apache/qpid/server/queue/MessageTestHelper.java Tue Jan 16 07:16:39 2007
@@ -46,7 +46,9 @@
AMQMessage message(boolean immediate) throws AMQException
{
- BasicPublishBody publish = new BasicPublishBody();
+ // AMQP version change: Hardwire the version to 0-8 (major=8, minor=0)
+ // TODO: Establish some way to determine the version for the test.
+ BasicPublishBody publish = new BasicPublishBody((byte)8, (byte)0);
publish.immediate = immediate;
return new AMQMessage(_messageStore, publish, new ContentHeaderBody(), null);
}