summaryrefslogtreecommitdiff
path: root/java/management/eclipse-plugin/src
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2007-02-14 20:02:03 +0000
committerKim van der Riet <kpvdr@apache.org>2007-02-14 20:02:03 +0000
commita22f3f594d6eee7d610fb4f140e18cddd7c880f6 (patch)
tree5adb376ed217d2debaff1c0bdd59af1a1c93e829 /java/management/eclipse-plugin/src
parent9cb1922884c5b258c961046e6fd48e5152aa79d5 (diff)
downloadqpid-python-a22f3f594d6eee7d610fb4f140e18cddd7c880f6.tar.gz
First backmerge from trunk to 0-9 branch for Java. Not all java tests passing yet
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@507672 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin/src')
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java5
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java15
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ServerRegistry.java52
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientListener.java2
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientNotificationListener.java1
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java78
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/AttributeData.java5
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java8
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java13
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java20
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java144
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java1
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java40
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java27
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TreeObject.java14
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java62
-rw-r--r--java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini1
17 files changed, 350 insertions, 138 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
index 756d404596..2fadee6f54 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
@@ -32,12 +32,15 @@ public class Constants
public final static String ITEM_TYPE = "type";
public final static String SERVER = "server";
public final static String DOMAIN = "domain";
- public final static String TYPE = "mbeantype";
+ public final static String NODE_TYPE_MBEANTYPE = "mbeantype";
+ // currently used only for virtual host instances, but will work as general also
+ public final static String TYPE_INSTANCE = "mbeantype_instance";
public final static String MBEAN = "mbean";
public final static String ATTRIBUTE = "Attribute";
public final static String ATTRIBUTES = "Attributes";
public final static String NOTIFICATION = "Notifications";
public final static String RESULT = "Result";
+ public final static String VIRTUAL_HOST = "VirtualHost";
public final static String ATTRIBUTE_QUEUE_DEPTH = "QueueDepth";
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java
index 7da5621345..e87d77159d 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java
@@ -32,6 +32,7 @@ public abstract class ManagedBean extends ManagedObject
private String _uniqueName = "";
private String _domain = "";
private String _type = "";
+ private String _virtualHostName = "Default";
private ManagedServer _server = null;
private HashMap _properties = null;
@@ -47,6 +48,7 @@ public abstract class ManagedBean extends ManagedObject
public void setProperties(HashMap properties)
{
this._properties = properties;
+ setVirtualHostName(getProperty(Constants.VIRTUAL_HOST));
}
public String getDomain()
{
@@ -82,4 +84,17 @@ public abstract class ManagedBean extends ManagedObject
this._uniqueName = uniqueName;
}
+ public String getVirtualHostName()
+ {
+ return _virtualHostName;
+ }
+
+ public void setVirtualHostName(String virtualHost)
+ {
+ if (virtualHost != null)
+ {
+ this._virtualHostName = virtualHost;
+ }
+ }
+
}
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ServerRegistry.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ServerRegistry.java
index 6fbfdcd06f..4f6bbd8bc0 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ServerRegistry.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ServerRegistry.java
@@ -23,6 +23,8 @@ package org.apache.qpid.management.ui;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import org.apache.qpid.management.ui.jmx.ClientListener;
import org.apache.qpid.management.ui.model.ManagedAttributeModel;
@@ -33,11 +35,14 @@ public abstract class ServerRegistry
{
private ManagedServer _managedServer = null;
// list of all Connection mbeans
- protected List<ManagedBean> _connections = new ArrayList<ManagedBean>();
+ //private List<ManagedBean> _connections = new ArrayList<ManagedBean>();
+ private ConcurrentMap<String,List<ManagedBean>> _connections = new ConcurrentHashMap<String,List<ManagedBean>>();
// list of all exchange mbeans
- protected List<ManagedBean> _exchanges = new ArrayList<ManagedBean>();
+ //private List<ManagedBean> _exchanges = new ArrayList<ManagedBean>();
+ private ConcurrentMap<String,List<ManagedBean>> _exchanges = new ConcurrentHashMap<String,List<ManagedBean>>();
// list of all queue mbenas
- protected List<ManagedBean> _queues = new ArrayList<ManagedBean>();
+ //private List<ManagedBean> _queues = new ArrayList<ManagedBean>();
+ private ConcurrentMap<String,List<ManagedBean>> _queues = new ConcurrentHashMap<String,List<ManagedBean>>();
public ServerRegistry()
{
@@ -61,47 +66,58 @@ public abstract class ServerRegistry
protected void addConnectionMBean(ManagedBean mbean)
{
- _connections.add(mbean);
+ String vHost = mbean.getVirtualHostName();
+ _connections.putIfAbsent(vHost, new ArrayList<ManagedBean>());
+ List<ManagedBean> beans = _connections.get(vHost);
+ beans.add(mbean);
}
protected void addExchangeMBean(ManagedBean mbean)
{
- _exchanges.add(mbean);
+ String vHost = mbean.getVirtualHostName();
+ _exchanges.putIfAbsent(vHost, new ArrayList<ManagedBean>());
+ List<ManagedBean> beans = _exchanges.get(vHost);
+ beans.add(mbean);
}
protected void addQueueMBean(ManagedBean mbean)
{
- _queues.add(mbean);
+ String vHost = mbean.getVirtualHostName();
+ _queues.putIfAbsent(vHost, new ArrayList<ManagedBean>());
+ List<ManagedBean> beans = _queues.get(vHost);
+ beans.add(mbean);
}
protected void removeConnectionMBean(ManagedBean mbean)
{
- _connections.remove(mbean);
+ String vHost = mbean.getVirtualHostName();
+ List<ManagedBean> beans = _connections.get(vHost);
+ beans.remove(mbean);
}
protected void removeExchangeMBean(ManagedBean mbean)
{
- _exchanges.remove(mbean);
+ _exchanges.get(mbean.getVirtualHostName()).remove(mbean);
}
protected void removeQueueMBean(ManagedBean mbean)
{
- _queues.remove(mbean);
+ _queues.get(mbean.getVirtualHostName()).remove(mbean);
}
- public List<ManagedBean> getConnections()
+ public List<ManagedBean> getConnections(String virtualHost)
{
- return _connections;
+ return _connections.get(virtualHost);
}
- public List<ManagedBean> getExchanges()
+ public List<ManagedBean> getExchanges(String virtualHost)
{
- return _exchanges;
+ return _exchanges.get(virtualHost);
}
- public List<ManagedBean> getQueues()
+ public List<ManagedBean> getQueues(String virtualHost)
{
- return _queues;
+ return _queues.get(virtualHost);
}
public abstract void addManagedObject(ManagedBean key);
@@ -123,11 +139,11 @@ public abstract class ServerRegistry
public abstract OperationDataModel getOperationModel(ManagedBean mbean);
- public abstract String[] getQueueNames();
+ public abstract String[] getQueueNames(String vistualHostName);
- public abstract String[] getExchangeNames();
+ public abstract String[] getExchangeNames(String vistualHostName);
- public abstract String[] getConnectionNames();
+ public abstract String[] getConnectionNames(String vistualHostName);
public abstract List<NotificationObject> getNotifications(ManagedBean mbean);
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientListener.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientListener.java
index 00a9ae7653..6a23051a9e 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientListener.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientListener.java
@@ -43,8 +43,6 @@ public class ClientListener implements NotificationListener
public void handleNotification(Notification notification, Object handback)
{
- System.out.println("\nReceived server notification: " + notification);
-
ObjectName objName = null;
String type = notification.getType();
if (MBeanServerNotification.REGISTRATION_NOTIFICATION.equals(type))
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientNotificationListener.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientNotificationListener.java
index 31b761fcf3..c6ecda4b4c 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientNotificationListener.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/ClientNotificationListener.java
@@ -34,7 +34,6 @@ public class ClientNotificationListener extends ClientListener
public void handleNotification(Notification notification, Object handback)
{
- System.out.println("\nReceived mbean notification: " + notification);
ObjectName objName = (ObjectName)notification.getSource();
//String type = notification.getType();
getServerRegistry().addNotification(objName, notification);
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java
index c087bd2e72..72c4fa3d9d 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java
@@ -131,15 +131,15 @@ public class JMXServerRegistry extends ServerRegistry
public void addManagedObject(ManagedBean mbean)
{
- if (Constants.QUEUE.equals(mbean.getType()) && !mbean.getName().startsWith("tmp_"))
+ if (mbean.getType().endsWith(Constants.QUEUE) && !mbean.getName().startsWith("tmp_"))
{
addQueueMBean(mbean);
}
- else if (Constants.EXCHANGE.equals(mbean.getType()))
+ else if (mbean.getType().endsWith(Constants.EXCHANGE))
{
addExchangeMBean(mbean);
}
- else if (Constants.CONNECTION.equals(mbean.getType()))
+ else if (mbean.getType().endsWith(Constants.CONNECTION))
{
addConnectionMBean(mbean);
}
@@ -149,11 +149,11 @@ public class JMXServerRegistry extends ServerRegistry
public void removeManagedObject(ManagedBean mbean)
{
- if (Constants.QUEUE.equals(mbean.getType()))
+ if (mbean.getType().endsWith(Constants.QUEUE))
removeQueueMBean(mbean);
- else if (Constants.EXCHANGE.equals(mbean.getType()))
+ else if (mbean.getType().endsWith(Constants.EXCHANGE))
removeExchangeMBean(mbean);
- else if (Constants.CONNECTION.equals(mbean.getType()))
+ else if (mbean.getType().endsWith(Constants.CONNECTION))
removeConnectionMBean(mbean);
_mbeansMap.remove(mbean.getUniqueName());
@@ -212,21 +212,31 @@ public class JMXServerRegistry extends ServerRegistry
_notificationsMap.get(mbean.getUniqueName()).clear();
}
+ /**
+ * Adds notification name and type to the map. The map contains all the notification names,
+ * subscribed for an mbean.
+ * @param mbean
+ * @param name
+ * @param type
+ */
public void addNotificationListener(ManagedBean mbean, String name, String type)
{
- HashMap<String, List<String>> map = _subscribedNotificationMap.get(mbean.getUniqueName());
+ // Get the subscribed notifications map for given mbean. If map is null then create a new one.
+ HashMap<String, List<String>> map = _subscribedNotificationMap.get(mbean.getUniqueName());
if (map == null)
{
map = new HashMap<String, List<String>>();
_subscribedNotificationMap.put(mbean.getUniqueName(),map);
}
+ // Get the list of notification types for given notification name. If null, then create a new list.
List<String> list = map.get(name);
if (list == null)
{
list = new ArrayList<String>();
map.put(name, list);
}
+ // Now add the notification type to the list
if (Constants.ALL.equals(type))
{
List<NotificationInfoModel> infoList = _notificationInfoMap.get(mbean.getUniqueName());
@@ -247,9 +257,12 @@ public class JMXServerRegistry extends ServerRegistry
list.add(type);
}
- System.out.println("Subscribed for notification :" + mbean.getUniqueName());
+ //System.out.println("Subscribed for notification :" + mbean.getUniqueName());
}
+ /**
+ * Checks if the given notification name and type are subscribed for the mbean.
+ */
public boolean hasSubscribedForNotifications(ManagedBean mbean, String name, String type)
{
if (_subscribedNotificationMap.containsKey(mbean.getUniqueName()))
@@ -266,11 +279,20 @@ public class JMXServerRegistry extends ServerRegistry
return false;
}
+ /**
+ * Clears the notification name and type information from the subscribed notifications map
+ * and removes the listener from mbeanserver connection
+ * @param mbean
+ * @param name
+ * @param type
+ * @throws Exception
+ */
public void removeNotificationListener(ManagedBean mbean, String name, String type) throws Exception
{
- System.out.println("Removed notification listener :" + mbean.getUniqueName() + name +type);
+ //System.out.println("Removed notification listener :" + mbean.getUniqueName() + name +type);
if (_subscribedNotificationMap.containsKey(mbean.getUniqueName()))
{
+ // get the notifications map. This map contains the notification name mapped with the notification types
HashMap<String, List<String>> map = _subscribedNotificationMap.get(mbean.getUniqueName());
if (map.containsKey(name))
{
@@ -281,8 +303,16 @@ public class JMXServerRegistry extends ServerRegistry
else if (type != null)
{
map.get(name).remove(type);
+ if (map.get(name).isEmpty())
+ {
+ map.remove(name);
+ }
}
}
+ if (map.size() == 0)
+ {
+ _subscribedNotificationMap.remove(mbean.getUniqueName());
+ }
JMXManagedObject jmxbean = (JMXManagedObject)mbean;
_mbsc.removeNotificationListener(jmxbean.getObjectName(), _notificationListener);
@@ -335,33 +365,45 @@ public class JMXServerRegistry extends ServerRegistry
return _operationModelMap.get(mbean.getUniqueName());
}
- public String[] getQueueNames()
+ public String[] getQueueNames(String virtualHostName)
{
- String[] queues = new String[_queues.size()];
+ List<ManagedBean> list = getQueues(virtualHostName);
+ if (list == null)
+ return null;
+
+ String[] queues = new String[list.size()];
int i = 0;
- for (ManagedBean mbean : _queues)
+ for (ManagedBean mbean : list)
{
queues[i++] = mbean.getName();
}
return queues;
}
- public String[] getExchangeNames()
+ public String[] getExchangeNames(String virtualHostName)
{
- String[] exchanges = new String[_exchanges.size()];
+ List<ManagedBean> list = getExchanges(virtualHostName);
+ if (list == null)
+ return null;
+
+ String[] exchanges = new String[list.size()];
int i = 0;
- for (ManagedBean mbean : _exchanges)
+ for (ManagedBean mbean : list)
{
exchanges[i++] = mbean.getName();
}
return exchanges;
}
- public String[] getConnectionNames()
+ public String[] getConnectionNames(String virtualHostName)
{
- String[] connections = new String[_connections.size()];
+ List<ManagedBean> list = getExchanges(virtualHostName);
+ if (list == null)
+ return null;
+
+ String[] connections = new String[list.size()];
int i = 0;
- for (ManagedBean mbean : _connections)
+ for (ManagedBean mbean : list)
{
connections[i++] = mbean.getName();
}
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/AttributeData.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/AttributeData.java
index 601f499a0c..ccd4cf8df8 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/AttributeData.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/AttributeData.java
@@ -25,7 +25,7 @@ public class AttributeData
String name = "";
String description = "";
String dataType = "";
- Object value = null;
+ Object value = "";
boolean readable = true;
boolean writable = false;
@@ -63,7 +63,8 @@ public class AttributeData
}
public void setValue(Object value)
{
- this.value = value;
+ if (value != null)
+ this.value = value;
}
public boolean isReadable()
{
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java
index 8bf4e30c64..2b8e5cee1a 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/AttributesTabControl.java
@@ -20,8 +20,6 @@
*/
package org.apache.qpid.management.ui.views;
-import javax.management.openmbean.TabularDataSupport;
-
import org.apache.qpid.management.ui.ApplicationRegistry;
import org.apache.qpid.management.ui.Constants;
import org.apache.qpid.management.ui.ManagedBean;
@@ -421,7 +419,7 @@ public class AttributesTabControl extends TabControl
{
int width = 500;
int height = 250;
- if (data.getValue() instanceof TabularDataSupport)
+ if (!isSimpleType(data.getValue()))
{
width = 650;
height = 450;
@@ -516,12 +514,12 @@ public class AttributesTabControl extends TabControl
}
else
{
- if (attribute.getValue() instanceof TabularDataSupport)
+ if (!isSimpleType(attribute.getValue()))
{
Composite composite = new Composite(parent, SWT.BORDER);
composite.setLayout(new GridLayout());
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- ViewUtility.createTabularDataHolder(_toolkit, composite,(TabularDataSupport)attribute.getValue());
+ ViewUtility.populateCompositeWithData(_toolkit, composite, attribute.getValue());
}
else
{
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java
index 73d56634ec..3e76e3e1c0 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTypeTabControl.java
@@ -233,19 +233,19 @@ public class MBeanTypeTabControl
// populate the map and list with appropriate mbeans
if (_type.equals(Constants.QUEUE))
{
- list = serverRegistry.getQueues();
+ list = serverRegistry.getQueues(MBeanView.getVirtualHost());
items = getQueueItems(list);
_sortBySizeButton.setVisible(true);
}
else if (_type.equals(Constants.EXCHANGE))
{
- list = serverRegistry.getExchanges();
+ list = serverRegistry.getExchanges(MBeanView.getVirtualHost());
items = getItems(list);
_sortBySizeButton.setVisible(false);
}
else if (_type.equals(Constants.CONNECTION))
{
- list = serverRegistry.getConnections();
+ list = serverRegistry.getConnections(MBeanView.getVirtualHost());
items = getItems(list);
_sortBySizeButton.setVisible(false);
}
@@ -255,11 +255,15 @@ public class MBeanTypeTabControl
}
_list.setItems(items);
+
}
// sets the map with appropriate mbean and name
private String[] getItems(java.util.List<ManagedBean> list)
{
+ if (list == null)
+ return new String[0];
+
Collections.sort(list, _sorterByName);
String[] items = new String[list.size()];
int i = 0;
@@ -273,6 +277,9 @@ public class MBeanTypeTabControl
private String[] getQueueItems(java.util.List<ManagedBean> list) throws Exception
{
+ if (list == null)
+ return new String[0];
+
// Sort the list. It will keep the mbeans in sorted order in the _queueMap, which is required for
// sorting the queue according to size etc
Collections.sort(list, _sorterByName);
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
index 96981e755f..e3cd92f38a 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
@@ -64,6 +64,7 @@ public class MBeanView extends ViewPart
private static ManagedServer _server = null;
private TreeObject _selectedNode = null;
private ManagedBean _mbean = null;
+ private static String _virtualHostName = null;
// This map contains a TabFolder for each kind of MBean. TabFolder is mapped with mbeantype(eg Connection, Queue etc)
private HashMap<String, TabFolder> tabFolderMap = new HashMap<String, TabFolder>();
private ISelectionListener selectionListener = new SelectionListenerImpl();
@@ -102,14 +103,10 @@ public class MBeanView extends ViewPart
setServer();
try
{
- if (Constants.TYPE.equals(_selectedNode.getType()))
+ if (Constants.NODE_TYPE_MBEANTYPE.equals(_selectedNode.getType()))
{
refreshTypeTabFolder(_selectedNode.getName());
}
- else if (Constants.DOMAIN.equals(_selectedNode.getType()))
- {
- refreshTypeTabFolder(typeTabFolder.getItem(0));
- }
else
{
showSelectedMBean();
@@ -134,16 +131,20 @@ public class MBeanView extends ViewPart
if (Constants.SERVER.equals(_selectedNode.getType()))
{
_server = (ManagedServer)_selectedNode.getManagedObject();
+ _virtualHostName = null;
}
else
{
TreeObject parent = _selectedNode.getParent();
- while (!parent.getType().equals(Constants.SERVER))
+ while (parent != null && !parent.getType().equals(Constants.SERVER))
{
parent = parent.getParent();
}
- _server = (ManagedServer)parent.getManagedObject();
+ if (parent != null && parent.getType().equals(Constants.SERVER))
+ _server = (ManagedServer)parent.getManagedObject();
+
+ _virtualHostName = _selectedNode.getVirtualHost();
}
}
@@ -152,6 +153,11 @@ public class MBeanView extends ViewPart
return _server;
}
+ public static String getVirtualHost()
+ {
+ return _virtualHostName;
+ }
+
private void showSelectedMBean() throws Exception
{
if (Constants.NOTIFICATION.equals(_selectedNode.getType()))
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java
index 619aa06598..8e262075a9 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java
@@ -33,6 +33,7 @@ import java.util.List;
import org.apache.qpid.management.ui.ApplicationRegistry;
import org.apache.qpid.management.ui.Constants;
import org.apache.qpid.management.ui.ManagedBean;
+import org.apache.qpid.management.ui.ManagedObject;
import org.apache.qpid.management.ui.ManagedServer;
import org.apache.qpid.management.ui.ServerRegistry;
import org.apache.qpid.management.ui.exceptions.InfoRequiredException;
@@ -266,7 +267,7 @@ public class NavigationView extends ViewPart
catch(Exception ex)
{
System.out.println("\nError in connecting to Qpid broker ");
- System.out.println("\n" + ex.toString());
+ ex.printStackTrace();
}
}
@@ -280,7 +281,7 @@ public class NavigationView extends ViewPart
private void populateDomain(TreeObject domain) throws IOException, Exception
{
ManagedServer server = (ManagedServer)domain.getParent().getManagedObject();
-
+ /*
// 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
@@ -290,7 +291,7 @@ public class NavigationView extends ViewPart
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());
@@ -302,27 +303,43 @@ public class NavigationView extends ViewPart
// 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)))
+
+ if (!(mbean.getType().endsWith(Constants.CONNECTION) ||
+ mbean.getType().endsWith(Constants.EXCHANGE) ||
+ mbean.getType().endsWith(Constants.QUEUE)))
{
addManagedBean(domain, mbean);
}
}
}
+ private void addDefaultNodes(TreeObject parent)
+ {
+ TreeObject typeChild = new TreeObject(Constants.CONNECTION, Constants.NODE_TYPE_MBEANTYPE);
+ typeChild.setParent(parent);
+ typeChild.setVirtualHost(parent.getVirtualHost());
+ typeChild = new TreeObject(Constants.EXCHANGE, Constants.NODE_TYPE_MBEANTYPE);
+ typeChild.setParent(parent);
+ typeChild.setVirtualHost(parent.getVirtualHost());
+ typeChild = new TreeObject(Constants.QUEUE, Constants.NODE_TYPE_MBEANTYPE);
+ typeChild.setParent(parent);
+ typeChild.setVirtualHost(parent.getVirtualHost());
+ }
+
/**
* 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 parent
* @param typeName
* @return Node if given mbeantype already exists, otherwise null
*/
- private TreeObject getMBeanTypeNode(TreeObject domain, String typeName)
+ private TreeObject getMBeanTypeNode(TreeObject parent, String typeName)
{
- List<TreeObject> childNodes = domain.getChildren();
-
+ List<TreeObject> childNodes = parent.getChildren();
for (TreeObject child : childNodes)
{
- if (Constants.TYPE.equals(child.getType()) && typeName.equals(child.getName()))
+ if ((Constants.NODE_TYPE_MBEANTYPE.equals(child.getType()) || Constants.TYPE_INSTANCE.equals(child.getType())) &&
+ typeName.equals(child.getName()))
return child;
}
return null;
@@ -346,46 +363,82 @@ public class NavigationView extends ViewPart
*/
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 mbeanNode = null;
- if (typeNode != null) // type node already exists
- {
- if (name == null)
+ String[] types = mbean.getType().split("\\.");
+ TreeObject typeNode = null;
+ TreeObject parentNode = domain;
+ // Run this loop till all nodes for this mbean are created.
+ for (int i = 0; i < types.length; i++)
+ {
+ String type = types[i];
+ String valueOftype = mbean.getProperty(type);
+ typeNode = getMBeanTypeNode(parentNode, type);
+
+ if (typeNode == null)
{
- throw new ManagementConsoleException("Two mbeans can't exist without a name and with same type");
+ // If the ObjectName doesn't have name property, that means there will be only one instance
+ // of this mbean for given "type". So there will be no type node created for this mbean.
+ if (name == null && (i == types.length -1))
+ {
+ break;
+ }
+ typeNode = createTypeNode(parentNode, type);
+ typeNode.setVirtualHost(mbean.getVirtualHostName());
}
- mbeanNode = new TreeObject(mbean);
- mbeanNode.setParent(typeNode);
- }
- else
- {
- // 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
+ parentNode = typeNode;
+
+ // Create instances node for this type if value exists. For eg, for different virtual hosts, the
+ // nodes with given value will be created.
+ if (valueOftype == null)
{
- typeNode = new TreeObject(type, Constants.TYPE);
- typeNode.setParent(domain);
- mbeanNode = new TreeObject(mbean);
- mbeanNode.setParent(typeNode);
- }
- else // A managedObject with only type
+ break;
+ }
+ typeNode = getMBeanTypeNode(parentNode, valueOftype);
+ if (typeNode == null)
{
- mbeanNode = new TreeObject(mbean);
- mbeanNode.setParent(domain);
+ typeNode = createTypeInstanceNode(parentNode, valueOftype);
+ typeNode.setVirtualHost(mbean.getVirtualHostName());
+
+ // Create default nodes for VHost instances
+ if (type.equals(Constants.VIRTUAL_HOST))
+ {
+ addDefaultNodes(typeNode);
+ }
}
+ parentNode = typeNode;
+ }
+
+ if (typeNode == null)
+ {
+ typeNode = parentNode;
}
+ if (doesMBeanNodeAlreadyExist(typeNode, name))
+ return;
+
+ TreeObject mbeanNode = new TreeObject(mbean);
+ mbeanNode.setParent(typeNode);
+
// Add notification node
// TODO: show this only if the mbean sends any notification
TreeObject notificationNode = new TreeObject(Constants.NOTIFICATION, Constants.NOTIFICATION);
notificationNode.setParent(mbeanNode);
}
+ private TreeObject createTypeNode(TreeObject parent, String name)
+ {
+ TreeObject typeNode = new TreeObject(name, Constants.NODE_TYPE_MBEANTYPE);
+ typeNode.setParent(parent);
+ return typeNode;
+ }
+
+ private TreeObject createTypeInstanceNode(TreeObject parent, String name)
+ {
+ TreeObject typeNode = new TreeObject(name, Constants.TYPE_INSTANCE);
+ typeNode.setParent(parent);
+ return typeNode;
+ }
+
/**
* Removes all the child nodes of the given parent node
* @param parent
@@ -678,7 +731,14 @@ public class NavigationView extends ViewPart
public String getText(Object element)
{
TreeObject node = (TreeObject)element;
- return node.getName();
+ if (node.getType().equals(Constants.NODE_TYPE_MBEANTYPE))
+ {
+ return node.getName() + "s";
+ }
+ else
+ {
+ return node.getName();
+ }
}
public Font getFont(Object element)
@@ -718,19 +778,21 @@ public class NavigationView extends ViewPart
{
while(true)
{
- if (_managedServerMap.isEmpty())
- continue;
+ if (!_managedServerMap.isEmpty())
+ {
+ refreshRemovedObjects();
+ refreshClosedServerConnections();
+ }
try
{
- Thread.sleep(2000);
+ Thread.sleep(3000);
}
catch(Exception ex)
{
}
- refreshRemovedObjects();
- refreshClosedServerConnections();
+
}// end of while loop
}// end of run method.
}// end of Worker class
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java
index 3eb93f55d3..c45ad7b362 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NotificationsTabControl.java
@@ -326,7 +326,6 @@ public class NotificationsTabControl extends TabControl
Shell shell = null;
public void doubleClick(DoubleClickEvent event)
{
- System.out.println("DoubleClickEvent" + event);
display = Display.getCurrent();
shell = new Shell(display, SWT.BORDER | SWT.CLOSE | SWT.MIN |
SWT.MAX | SWT.RESIZE);
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
index 58349ab7a5..8568ee33bf 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
@@ -24,9 +24,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.TabularDataSupport;
-
import org.apache.qpid.management.ui.ApplicationRegistry;
import org.apache.qpid.management.ui.Constants;
import org.apache.qpid.management.ui.ManagedBean;
@@ -92,6 +89,7 @@ public class OperationTabControl extends TabControl
// for customized method in header exchange
private HashMap<Text, Text> headerBindingHashMap = null;
+ private String _virtualHostName = null;
public OperationTabControl(TabFolder tabFolder)
{
@@ -155,6 +153,7 @@ public class OperationTabControl extends TabControl
{
_mbean = mbean;
_opData = opData;
+ _virtualHostName = _mbean.getProperty(Constants.VIRTUAL_HOST);
// Setting the form to be invisible. Just in case the mbean server connection
// is done and it takes time in getting the response, then the ui should be blank
@@ -219,8 +218,8 @@ public class OperationTabControl extends TabControl
}
// Customised parameter widgets
- if (_mbean.getType().equals(Constants.EXCHANGE) &&
- "headers".equals(_mbean.getProperty(Constants.EXCHANGE_TYPE)) &&
+ if (_mbean.getType().endsWith(Constants.EXCHANGE) &&
+ Constants.EXCHANGE_TYPE_VALUES[2].equals(_mbean.getProperty(Constants.EXCHANGE_TYPE)) &&
_opData.getName().equalsIgnoreCase("createNewBinding"))
{
customCreateNewBinding();
@@ -247,7 +246,7 @@ public class OperationTabControl extends TabControl
if (param.getName().equals(Constants.QUEUE))
{
Combo combo = new Combo(_paramsComposite, SWT.READ_ONLY | SWT.DROP_DOWN);
- String[] items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames();
+ String[] items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName);
combo.setItems(items);
combo.add("Select Queue", 0);
combo.select(0);
@@ -259,7 +258,7 @@ public class OperationTabControl extends TabControl
else if (param.getName().equals(Constants.EXCHANGE))
{
Combo combo = new Combo(_paramsComposite, SWT.READ_ONLY | SWT.DROP_DOWN);
- String[] items = ApplicationRegistry.getServerRegistry(_mbean).getExchangeNames();
+ String[] items = ApplicationRegistry.getServerRegistry(_mbean).getExchangeNames(_virtualHostName);
combo.setItems(items);
combo.add("Select Exchange", 0);
combo.select(0);
@@ -360,8 +359,8 @@ public class OperationTabControl extends TabControl
formData.left = new FormAttachment(label, 5);
formData.right = new FormAttachment(valueNumerator);
- Combo combo = new Combo(composite, SWT.READ_ONLY | SWT.DROP_DOWN);
- String[] items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames();
+ Combo combo = new Combo(composite, SWT.READ_ONLY | SWT.DROP_DOWN);
+ String[] items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName);
combo.setItems(items);
combo.add("Select Queue", 0);
combo.select(0);
@@ -472,7 +471,7 @@ public class OperationTabControl extends TabControl
int width = 600;
int height = 400;
Shell shell = ViewUtility.createPopupShell(Constants.RESULT, width, height);
- populateResults(result, shell);
+ ViewUtility.populateCompositeWithData(_toolkit, shell, result);
shell.open();
while (!shell.isDisposed()) {
@@ -484,23 +483,6 @@ public class OperationTabControl extends TabControl
}
/**
- * Displays the operation result
- * @param result
- * @param parent
- */
- private void populateResults(Object result, Composite parent)
- {
- if (result instanceof TabularDataSupport)
- {
- ViewUtility.createTabularDataHolder(_toolkit, parent, (TabularDataSupport)result);
- }
- else if (result instanceof CompositeDataSupport)
- {
- ViewUtility.populateCompositeDataHolder(_toolkit, parent, (CompositeDataSupport)result);
- }
- }
-
- /**
* Clears the parameter values of the operation
*/
private void clearParameters()
@@ -521,7 +503,7 @@ public class OperationTabControl extends TabControl
*/
private void clearParameterValues(Composite control)
{
- if (control == null)
+ if (control == null || (control.isDisposed()))
return;
Control[] controls = control.getChildren();
@@ -623,7 +605,7 @@ public class OperationTabControl extends TabControl
else
{
ViewUtility.disposeChildren(_resultsComposite);
- populateResults(result, _resultsComposite);
+ ViewUtility.populateCompositeWithData(_toolkit, _resultsComposite, result);
_resultsComposite.layout();
_form.layout();
}
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java
index c8916044cb..0793e33538 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.management.ui.views;
+import java.util.ArrayList;
+
import org.apache.qpid.management.ui.ManagedBean;
import org.apache.qpid.management.ui.model.OperationData;
import org.eclipse.swt.widgets.Control;
@@ -34,6 +36,26 @@ public abstract class TabControl
protected ManagedBean _mbean = null;
protected TabFolder _tabFolder = null;
+ private static java.util.List<String> simpleTypes = new ArrayList<String>();
+
+ static
+ {
+ simpleTypes.add("java.math.BigDecimal");
+ simpleTypes.add("java.math.BigInteger");
+ simpleTypes.add("java.lang.Boolean");
+ simpleTypes.add("java.lang.Byte");
+ simpleTypes.add("java.lang.Character");
+ simpleTypes.add("java.util.Date");
+ simpleTypes.add("java.lang.Double");
+ simpleTypes.add("java.lang.Float");
+ simpleTypes.add("java.lang.Integer");
+ simpleTypes.add("java.lang.Long");
+ simpleTypes.add("javax.management.ObjectName");
+ simpleTypes.add("java.lang.Short");
+ simpleTypes.add("java.lang.String");
+ simpleTypes.add("boolean");
+ }
+
public TabControl(TabFolder tabFolder)
{
_tabFolder = tabFolder;
@@ -61,4 +83,9 @@ public abstract class TabControl
{
}
+
+ public boolean isSimpleType(Object data)
+ {
+ return simpleTypes.contains(data.getClass().getName());
+ }
}
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TreeObject.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TreeObject.java
index 36dc753a1e..29d6b2edc4 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TreeObject.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TreeObject.java
@@ -32,6 +32,7 @@ public class TreeObject
private String _name;
private String _type;
private String _url;
+ private String _virtualHost;
private TreeObject _parent;
private List<TreeObject> _children = new ArrayList<TreeObject>();
private ManagedObject _object;
@@ -47,7 +48,8 @@ public class TreeObject
_name = obj.getName();
if (_name == null && (obj instanceof ManagedBean))
{
- _name = ((ManagedBean)obj).getType();
+ String[] types = ((ManagedBean)obj).getType().split("\\.");
+ _name = types[types.length - 1];
}
this._type = Constants.MBEAN;
this._object = obj;
@@ -96,6 +98,16 @@ public class TreeObject
{
this._url = url;
}
+
+ public String getVirtualHost()
+ {
+ return _virtualHost;
+ }
+
+ public void setVirtualHost(String vHost)
+ {
+ _virtualHost = vHost;
+ }
public ManagedObject getManagedObject()
{
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
index ef3d6f0106..c21be5d68c 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
@@ -28,6 +28,7 @@ import java.util.Set;
import javax.management.openmbean.ArrayType;
import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.OpenType;
import javax.management.openmbean.TabularDataSupport;
@@ -53,6 +54,10 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
+/**
+ * Utility Class for displaying OpenMbean data types by creating required SWT widgets
+ * @author Bhupendra Bhardwaj
+ */
public class ViewUtility
{
public static final String OP_NAME = "operation_name";
@@ -77,8 +82,26 @@ public class ViewUtility
SUPPORTED_ARRAY_DATATYPES.add("java.util.Date");
}
+ /**
+ * Populates the composite with given openmbean data type (TabularType or CompositeType)
+ * @param toolkit
+ * @param parent composite
+ * @param data open mbean data type(either composite type or tabular data type)
+ */
+ public static void populateCompositeWithData(FormToolkit toolkit, Composite parent, Object data)
+ {
+ if (data instanceof TabularDataSupport)
+ {
+ ViewUtility.createTabularDataHolder(toolkit, parent, (TabularDataSupport)data);
+ }
+ else if (data instanceof CompositeDataSupport)
+ {
+ ViewUtility.populateCompositeWithCompositeData(toolkit, parent, (CompositeDataSupport)data);
+ }
+ }
+
@SuppressWarnings("unchecked")
- public static void createTabularDataHolder(FormToolkit toolkit, Composite parent, TabularDataSupport tabularData)
+ private static void createTabularDataHolder(FormToolkit toolkit, Composite parent, TabularDataSupport tabularData)
{
Composite composite = toolkit.createComposite(parent, SWT.BORDER);
GridLayout layout = new GridLayout(4, true);
@@ -109,7 +132,7 @@ public class ViewUtility
// display the first record
CompositeData data = (CompositeData)(list.get(0)).getValue();
composite.setData(INDEX, 0);
- populateCompositeDataHolder(toolkit, compositeDataHolder, data);
+ populateCompositeWithCompositeData(toolkit, compositeDataHolder, data);
enableOrDisableTraversalButtons(composite);
}
@@ -135,7 +158,15 @@ public class ViewUtility
}
}
- public static Composite createCompositeDataHolder(final FormToolkit toolkit, final Composite dataHolder, CompositeType compositeType)
+ /**
+ * Sets up the given composite for holding a CompositeData. Create traversal buttons, label etc and
+ * creates a child Composite, which should be populated with the CompositeData
+ * @param toolkit
+ * @param dataHolder
+ * @param compositeType
+ * @return
+ */
+ private static Composite createCompositeDataHolder(final FormToolkit toolkit, final Composite dataHolder, CompositeType compositeType)
{
String desc = compositeType.getDescription();
Label description = toolkit.createLabel(dataHolder, desc, SWT.CENTER);
@@ -164,6 +195,7 @@ public class ViewUtility
layoutData.widthHint = 80;
lastRecordButton.setLayoutData(layoutData);
+ // Now create the composite, which will hold the CompositeData
final Composite composite = toolkit.createComposite(dataHolder, SWT.NONE);
GridLayout layout = new GridLayout();
layout.horizontalSpacing = layout.verticalSpacing = 0;
@@ -179,7 +211,8 @@ public class ViewUtility
dataHolder.setData(PREV, previousRecordButton);
dataHolder.setData(LAST, lastRecordButton);
- // Listener for the traversal buttons
+ // Listener for the traversal buttons. When a button is clicked the respective
+ // CompositeData will be populated in the composite
SelectionListener listener = new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
@@ -188,8 +221,9 @@ public class ViewUtility
return;
Button traverseButton =(Button)e.widget;
+ // Get the CompositeData respective to the button selected
CompositeData data = getCompositeData(dataHolder, traverseButton.getText());
- populateCompositeDataHolder(toolkit, composite, data);
+ populateCompositeWithCompositeData(toolkit, composite, data);
enableOrDisableTraversalButtons(dataHolder);
}
};
@@ -202,6 +236,13 @@ public class ViewUtility
return composite;
}
+ /**
+ * The CompositeData is set as data with the Composite and using the index, this method will
+ * return the corresponding CompositeData
+ * @param compositeHolder
+ * @param dataIndex
+ * @return the CompositeData respective to the index
+ */
private static CompositeData getCompositeData(Composite compositeHolder, String dataIndex)
{
List objectData = (List)compositeHolder.getData();
@@ -236,13 +277,18 @@ public class ViewUtility
// Set the index being shown.
compositeHolder.setData(INDEX, index);
- System.out.println("index :" + index);
return (CompositeData)((Map.Entry)objectData.get(index)).getValue();
}
+ /**
+ * Populates the given composite with the CompositeData. Creates required widgets to hold the data types
+ * @param toolkit
+ * @param parent
+ * @param data CompositeData
+ */
@SuppressWarnings("unchecked")
- public static void populateCompositeDataHolder(FormToolkit toolkit, Composite parent, CompositeData data/*String dataIndex*/)
+ private static void populateCompositeWithCompositeData(FormToolkit toolkit, Composite parent, CompositeData data)
{
Control[] oldControls = parent.getChildren();
for (int i = 0; i < oldControls.length; i++)
@@ -273,7 +319,6 @@ public class ViewUtility
if (itemType.isArray())
{
OpenType type = ((ArrayType)itemType).getElementOpenType();
- System.out.println("Array Element type = " + type.getClassName());
// If Byte array and mimetype is text, convert to text string
if (type.getClassName().equals(Byte.class.getName()))
{
@@ -343,7 +388,6 @@ public class ViewUtility
try
{
String textMessage = new String(byteArray, encoding);
- System.out.println("\nMessage : \n" + textMessage + "\n");
Text valueText = toolkit.createText(compositeHolder, textMessage, SWT.READ_ONLY | SWT.BORDER |
SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
diff --git a/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini b/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini
index d50b06cbcf..aa2d21fd48 100644
--- a/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini
+++ b/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini
@@ -24,3 +24,4 @@ eclipse.product=org.apache.qpid.management.ui.product
eclipse.application=org.apache.qpid.management.ui.application
osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.core.runtime@start,com.ibm.icu,org.apache.qpid.management.ui,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.expressions,org.eclipse.core.jobs,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.jface,org.eclipse.swt,org.eclipse.swt.motif.linux.x86,org.eclipse.swt.gtk.linux.x86_64,org.eclipse.swt.gtk.linux.x86,org.eclipse.swt.gtk.linux.ppc,org.eclipse.swt.motif.hpux.PA_RISC,org.eclipse.swt.gtk.solaris.sparc,org.eclipse.swt.motif.solaris.sparc,org.eclipse.swt.carbon.macocx,org.eclipse.ui,org.eclipse.ui.forms,org.eclipse.ui.workbench
osgi.bundles.defaultStartLevel=4
+eof=eof \ No newline at end of file