You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2009/06/23 11:50:51 UTC
svn commit: r787613 - in
/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin: ./
src/main/java/org/apache/qpid/management/ui/actions/
src/main/java/org/apache/qpid/management/ui/views/
Author: robbie
Date: Tue Jun 23 09:50:50 2009
New Revision: 787613
URL: http://svn.apache.org/viewvc?rev=787613&view=rev
Log:
QPID-1929: create factory class to produce MBean views, clean up MBeanView accordingly, remove soon to be defunct 'edit attribute' menu item and action
Added:
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java
Removed:
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/EditAttribute.java
Modified:
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/plugin.xml
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java
Modified: qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/plugin.xml
URL: http://svn.apache.org/viewvc/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/plugin.xml?rev=787613&r1=787612&r2=787613&view=diff
==============================================================================
--- qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/plugin.xml (original)
+++ qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/plugin.xml Tue Jun 23 09:50:50 2009
@@ -94,11 +94,6 @@
name="Refresh"/>
<command
categoryId="org.apache.qpid.management.ui.category"
- description="pops up the window for editing selected attribute"
- id="org.apache.qpid.management.ui.actions.cmd_editAttribute"
- name="Edit Attribute"/>
- <command
- categoryId="org.apache.qpid.management.ui.category"
description="About Qpid Management Console"
id="qpidmc.about"
name="About"/>
@@ -128,10 +123,6 @@
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="CTRL+Alt+F5"/>
<key
- commandId="org.apache.qpid.management.ui.actions.cmd_editAttribute"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="CTRL+Alt+E"/>
- <key
commandId="org.eclipse.ui.file.exit"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="CTRL+Alt+X">
@@ -165,14 +156,6 @@
<separator name="qpidActionsGroup"/>
</menu>
<action
- class="org.apache.qpid.management.ui.actions.EditAttribute"
- definitionId="org.apache.qpid.management.ui.actions.cmd_editAttribute"
- id="org.apache.qpid.management.ui.actions.editAttribute"
- label="Edit Attribute"
- menubarPath="qpidmanager/mbeanactions"
- style="push"
- tooltip="Edit Attribute"/>
- <action
class="org.apache.qpid.management.ui.actions.Refresh"
definitionId="org.apache.qpid.management.ui.actions.cmd_refresh"
icon="icons/refresh.gif"
Added: qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java?rev=787613&view=auto
==============================================================================
--- qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java (added)
+++ qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java Tue Jun 23 09:50:50 2009
@@ -0,0 +1,237 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.management.ui.views;
+
+import static org.apache.qpid.management.ui.Constants.ATTRIBUTES;
+import static org.apache.qpid.management.ui.Constants.NOTIFICATIONS;
+
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.MBeanServerConnection;
+
+import org.apache.qpid.management.ui.ApplicationRegistry;
+import org.apache.qpid.management.ui.ServerRegistry;
+import org.apache.qpid.management.ui.jmx.JMXManagedObject;
+import org.apache.qpid.management.ui.jmx.MBeanUtility;
+import org.apache.qpid.management.ui.model.NotificationInfoModel;
+import org.apache.qpid.management.ui.model.OperationData;
+import org.apache.qpid.management.ui.model.OperationDataModel;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+public class MBeanTabFolderFactory
+{
+
+ private static final String MBEANTYPE_QUEUE = "VirtualHost.Queue";
+ private static final String MBEANTYPE_CONNECTION = "VirtualHost.Connection";
+ private static final String MBEANTYPE_EXCHANGE = "VirtualHost.Exchange";
+ private static final String MBEANTYPE_VHOST_MANAGER = "VirtualHost.VirtualHostManager";
+ private static final String MBEANTYPE_LOGGING_MANAGEMENT = "LoggingManagement";
+ private static final String MBEANTYPE_USER_MANAGEMENT = "UserManagement";
+ private static final String MBEANTYPE_CONFIGURATION_MANAGEMENT = "ConfigurationManagement";
+
+
+ private MBeanTabFolderFactory()
+ {
+ //no instances
+ }
+
+ public static TabFolder generateMBeanTabFolder(final Composite parent, final JMXManagedObject mbean, final MBeanServerConnection mbsc)
+ {
+ TabFolder tabFolder = new TabFolder(parent, SWT.NONE);
+ FormData layoutData = new FormData();
+ layoutData.left = new FormAttachment(0);
+ layoutData.top = new FormAttachment(0);
+ layoutData.right = new FormAttachment(100);
+ layoutData.bottom = new FormAttachment(100);
+ tabFolder.setLayoutData(layoutData);
+
+ QpidMBeanType mbeanType = QpidMBeanType.get(mbean.getType());
+
+ switch(mbeanType)
+ {
+ case QUEUE:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case CONNECTION:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case EXCHANGE:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case VHOST_MANAGER:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case LOGGING_MANAGEMENT:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case USER_MANAGEMENT:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case CONFIGURATION_MANAGEMENT:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ case UNKNOWN:
+ tempCreateGeneric(tabFolder, mbean);
+ break;
+ }
+
+ createNotificationsTabIfNecessary(tabFolder, mbean);
+
+ tabFolder.addListener(SWT.Selection, new Listener()
+ {
+ public void handleEvent(Event evt)
+ {
+ TabItem tab = (TabItem)evt.item;
+ TabControl controller = (TabControl)tab.getData(TabControl.CONTROLLER);
+ if(controller != null)
+ {
+ controller.refresh(mbean);
+ }
+ }
+ });
+
+ return tabFolder;
+ }
+
+ private static void tempCreateGeneric(TabFolder tabFolder, JMXManagedObject mbean)
+ {
+ createAttributesTab(tabFolder, mbean);
+ createOperationTabs(tabFolder, mbean);
+ }
+
+ private static void createAttributesTab(TabFolder tabFolder, JMXManagedObject mbean)
+ {
+ ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(mbean);
+ if(serverRegistry.getAttributeModel(mbean).getCount() == 0)
+ {
+ return;
+ }
+
+ TabItem tab = new TabItem(tabFolder, SWT.NONE);
+ tab.setText(ATTRIBUTES);
+ AttributesTabControl controller = new AttributesTabControl(tabFolder);
+ tab.setControl(controller.getControl());
+ tab.setData(TabControl.CONTROLLER, controller);
+ }
+
+ private static void createOperationTabs(TabFolder tabFolder, JMXManagedObject mbean)
+ {
+ ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(mbean);
+ int operationsCount = serverRegistry.getOperationModel(mbean).getCount();
+ if(operationsCount == 0)
+ {
+ return;
+ }
+
+ OperationDataModel operationModel = serverRegistry.getOperationModel(mbean);
+ for(OperationData operationData : operationModel.getOperations())
+ {
+ TabItem operationTab = new TabItem(tabFolder, SWT.NONE);
+ operationTab.setText(ViewUtility.getDisplayText(operationData.getName()));
+ operationTab.setData(operationData);
+ OperationTabControl control = new OperationTabControl(tabFolder, operationData);
+ operationTab.setData(TabControl.CONTROLLER, control);
+ operationTab.setControl(control.getControl());
+ }
+ }
+
+ private static void createNotificationsTabIfNecessary(TabFolder tabFolder, JMXManagedObject mbean)
+ {
+ NotificationInfoModel[] items = MBeanUtility.getNotificationInfo(mbean);
+ if(items == null || items.length == 0)
+ {
+ //the mbean has no notifications to subscribe for, do not create the tab.
+ return;
+ }
+
+ NotificationsTabControl controller = new NotificationsTabControl(tabFolder);
+
+ TabItem tab = new TabItem(tabFolder, SWT.NONE);
+ tab.setText(NOTIFICATIONS);
+ tab.setData(TabControl.CONTROLLER, controller);
+ tab.setControl(controller.getControl());
+ }
+
+
+ private enum QpidMBeanType
+ {
+ QUEUE (MBEANTYPE_QUEUE),
+ CONNECTION (MBEANTYPE_CONNECTION),
+ EXCHANGE (MBEANTYPE_EXCHANGE),
+ VHOST_MANAGER (MBEANTYPE_VHOST_MANAGER),
+ LOGGING_MANAGEMENT (MBEANTYPE_LOGGING_MANAGEMENT),
+ USER_MANAGEMENT (MBEANTYPE_USER_MANAGEMENT),
+ CONFIGURATION_MANAGEMENT (MBEANTYPE_CONFIGURATION_MANAGEMENT),
+ UNKNOWN (null);
+
+ private static final Map<String,QpidMBeanType> lookup = new HashMap<String,QpidMBeanType>();
+
+ static
+ {
+ for(QpidMBeanType m : EnumSet.allOf(QpidMBeanType.class))
+ {
+ lookup.put(m.getType(), m);
+ }
+ }
+
+ private String type;
+
+ private QpidMBeanType()
+ {
+
+ }
+
+ private QpidMBeanType(String type)
+ {
+ this.type = type;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public static QpidMBeanType get(String type)
+ {
+ QpidMBeanType t= lookup.get(type);
+ if (t != null)
+ {
+ return t;
+ }
+ else
+ {
+ return UNKNOWN;
+ }
+
+ }
+ }
+
+
+}
\ No newline at end of file
Modified: qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
URL: http://svn.apache.org/viewvc/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java?rev=787613&r1=787612&r2=787613&view=diff
==============================================================================
--- qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java (original)
+++ qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java Tue Jun 23 09:50:50 2009
@@ -20,19 +20,15 @@
*/
package org.apache.qpid.management.ui.views;
-import java.util.HashMap;
+import javax.management.MBeanServerConnection;
import static org.apache.qpid.management.ui.Constants.*;
import org.apache.qpid.management.ui.ApplicationRegistry;
import org.apache.qpid.management.ui.ManagedBean;
import org.apache.qpid.management.ui.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.jmx.JMXServerRegistry;
import org.apache.qpid.management.ui.jmx.MBeanUtility;
-import org.apache.qpid.management.ui.model.AttributeData;
-import org.apache.qpid.management.ui.model.NotificationInfoModel;
-import org.apache.qpid.management.ui.model.OperationData;
-import org.apache.qpid.management.ui.model.OperationDataModel;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
@@ -52,14 +48,10 @@
/**
* MBean View create appropriate view based on the user selection on the Navigation View.
- * Create TabFolder for all MBeans and displays the attribtues and method tabs.
- * @author Bhupendra Bhardwaj
- *
*/
public class MBeanView extends ViewPart
{
public static final String ID = "org.apache.qpid.management.ui.mbeanView";
- private static final String CONTROLLER = "CONTROLLER";
private FormToolkit _toolkit = null;
private Form _form = null;
@@ -68,15 +60,14 @@
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(Connection, Queue and Exchange)
- private HashMap<String, TabFolder> tabFolderMap = new HashMap<String, TabFolder>();
- private ISelectionListener selectionListener = new SelectionListenerImpl();
+ private static MBeanServerConnection _mbsc = null;
+ private TabFolder _tabFolder = null;
+ private ISelectionListener _selectionListener = new SelectionListenerImpl();
// TabFolder to list all the mbeans for a given mbeantype(eg Connection, Queue, Exchange)
- private TabFolder typeTabFolder = null;
+ private TabFolder _typeTabFolder = null;
- private TabFolder notificationTabFolder = null;
+ private TabFolder _notificationTabFolder = null;
/*
* Listener for the selection events in the navigation view
*/
@@ -143,7 +134,7 @@
else if (NODE_TYPE_TYPEINSTANCE.equals(_selectedNode.getType()))
{
// An virtual host instance is selected
- refreshTypeTabFolder(typeTabFolder.getItem(0));
+ refreshTypeTabFolder(_typeTabFolder.getItem(0));
}
else if (NODE_TYPE_MBEANTYPE.equals(_selectedNode.getType()))
{
@@ -194,6 +185,11 @@
_virtualHostName = _selectedNode.getVirtualHost();
}
+
+ JMXServerRegistry serverRegistry = (JMXServerRegistry)ApplicationRegistry.getServerRegistry(_server);
+ if(serverRegistry != null){
+ _mbsc = serverRegistry.getServerConnection();
+ }
}
public static ManagedServer getServer()
@@ -218,33 +214,24 @@
return;
}
- TabFolder tabFolder = tabFolderMap.get(_mbean.getType());
- /*
- * This solution can be used if there are many versions of Qpid running. Otherwise
- * there is no need to create a tabFolder everytime a bean is selected.
- if (tabFolder != null && !tabFolder.isDisposed())
- {
- tabFolder.dispose();
- }
- tabFolder = createTabFolder();
- */
- if (tabFolder == null)
+ if (_tabFolder != null && !_tabFolder.isDisposed())
{
- tabFolder = createMBeanTabFolder();
+ _tabFolder.dispose();
}
+ _tabFolder = MBeanTabFolderFactory.generateMBeanTabFolder(_form.getBody(),(JMXManagedObject)_mbean,_mbsc);
+
int tabIndex = 0;
if (NOTIFICATIONS.equals(_selectedNode.getType()))
{
- tabIndex = tabFolder.getItemCount() -1;
+ tabIndex = _tabFolder.getItemCount() -1;
}
- TabItem tab = tabFolder.getItem(tabIndex);
+ TabItem tab = _tabFolder.getItem(tabIndex);
// If folder is being set as visible after tab refresh, then the tab
// doesn't have the focus.
- tabFolder.setSelection(tabIndex);
+ _tabFolder.setSelection(tabIndex);
refreshTab(tab);
- setVisible(tabFolder);
}
public void createPartControl(Composite parent)
@@ -256,7 +243,7 @@
_form.setText(APPLICATION_NAME);
// Add selection listener for selection events in the Navigation view
- getSite().getPage().addSelectionListener(NavigationView.ID, selectionListener);
+ getSite().getPage().addSelectionListener(NavigationView.ID, _selectionListener);
// Add mbeantype TabFolder. This will list all the mbeans under a mbeantype (eg Queue, Exchange).
// Using this list mbeans will be added in the navigation view
@@ -265,48 +252,17 @@
createNotificationsTabFolder();
}
- private TabFolder createMBeanTabFolder()
- {
- TabFolder tabFolder = new TabFolder(_form.getBody(), SWT.NONE);
- FormData layoutData = new FormData();
- layoutData.left = new FormAttachment(0);
- layoutData.top = new FormAttachment(0);
- layoutData.right = new FormAttachment(100);
- layoutData.bottom = new FormAttachment(100);
- tabFolder.setLayoutData(layoutData);
- tabFolder.setVisible(false);
-
- createAttributesTab(tabFolder);
- createOperationTabs(tabFolder);
- createNotificationsTab(tabFolder);
-
- tabFolder.addListener(SWT.Selection, new Listener()
- {
- public void handleEvent(Event evt)
- {
- TabItem tab = (TabItem)evt.item;
- refreshTab(tab);
- }
- });
-
- tabFolderMap.put(_mbean.getType(), tabFolder);
- return tabFolder;
- }
-
private void refreshTab(TabItem tab)
{
- // We can avoid refreshing the attributes tab because it's control
- // already contains the required values. But it is added for now and
- // will remove if there is any performance issue or any other issue.
- // The operations control should be refreshed because there is only one
- // controller for all operations tab.
- // The Notifications control needs to refresh with latest set of notifications
-
if (tab == null)
+ {
return;
+ }
- TabControl controller = (TabControl)tab.getData(CONTROLLER);
- controller.refresh(_mbean);
+ TabControl controller = (TabControl)tab.getData(TabControl.CONTROLLER);
+ if(controller != null){
+ controller.refresh(_mbean);
+ }
}
public void setFocus()
@@ -320,125 +276,39 @@
super.dispose();
}
- private void createAttributesTab(TabFolder tabFolder)
- {
- ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(_mbean);
- if (serverRegistry.getAttributeModel(_mbean).getCount() == 0)
- {
- return;
- }
-
- TabItem tab = new TabItem(tabFolder, SWT.NONE);
- tab.setText(ATTRIBUTES);
- AttributesTabControl controller = new AttributesTabControl(tabFolder);
- tab.setControl(controller.getControl());
- tab.setData(CONTROLLER, controller);
- }
-
- private void createOperationTabs(TabFolder tabFolder)
- {
- ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(_mbean);
- int operationsCount = serverRegistry.getOperationModel(_mbean).getCount();
- if (operationsCount == 0)
- {
- return;
- }
-
- OperationDataModel operationModel = serverRegistry.getOperationModel(_mbean);
- for (OperationData operationData : operationModel.getOperations())
- {
- TabItem operationTab = new TabItem(tabFolder, SWT.NONE);
- operationTab.setText(ViewUtility.getDisplayText(operationData.getName()));
- operationTab.setData(operationData);
- OperationTabControl control = new OperationTabControl(tabFolder, operationData);
- operationTab.setData(CONTROLLER, control);
- operationTab.setControl(control.getControl());
- }
- }
-
- private void createNotificationsTab(TabFolder tabFolder)
- {
- NotificationInfoModel[] items = MBeanUtility.getNotificationInfo(_mbean);
- if (items == null || items.length == 0)
- {
- //the mbean has no notifications to subscribe for, do not create the tab.
- return;
- }
-
- NotificationsTabControl controller = new NotificationsTabControl(tabFolder);
-
- TabItem tab = new TabItem(tabFolder, SWT.NONE);
- tab.setText(NOTIFICATIONS);
- tab.setData(CONTROLLER, controller);
- tab.setControl(controller.getControl());
- }
-
- /**
- * For the EditAttribtue Action. Invoking this from action is same as clicking
- * "EditAttribute" button from Attribute tab.
- */
- public void editAttribute() throws Exception
- {
- if (_mbean == null)
- throw new InfoRequiredException("Please select the managed object and then attribute to be edited");
-
- String name = (_mbean.getName() != null) ? _mbean.getName() : _mbean.getType();
- ServerRegistry serverRegistry = ApplicationRegistry.getServerRegistry(_mbean);
- if (serverRegistry.getAttributeModel(_mbean).getCount() == 0)
- {
- throw new InfoRequiredException("There are no attributes to be edited for " + name);
- }
-
- TabFolder tabFolder = tabFolderMap.get(_mbean.getType());
- int index = tabFolder.getSelectionIndex();
- if (index != 0)
- {
- tabFolder.setSelection(0);
- throw new InfoRequiredException("Please select the attribute to be edited");
- }
-
- TabItem tab = tabFolder.getItem(0);
- AttributesTabControl tabControl = (AttributesTabControl)tab.getData(CONTROLLER);
- AttributeData attribute = tabControl.getSelectionAttribute();
- if (attribute == null)
- throw new InfoRequiredException("Please select the attribute to be edited");
-
- tabControl.createDetailsPopup(attribute);
- }
-
/**
* Creates TabFolder and tabs for each mbeantype (eg Connection, Queue, Exchange)
*/
private void createMBeanTypeTabFolder()
{
- typeTabFolder = new TabFolder(_form.getBody(), SWT.NONE);
+ _typeTabFolder = new TabFolder(_form.getBody(), SWT.NONE);
FormData layoutData = new FormData();
layoutData.left = new FormAttachment(0);
layoutData.top = new FormAttachment(0);
layoutData.right = new FormAttachment(100);
layoutData.bottom = new FormAttachment(100);
- typeTabFolder.setLayoutData(layoutData);
- typeTabFolder.setVisible(false);
+ _typeTabFolder.setLayoutData(layoutData);
+ _typeTabFolder.setVisible(false);
- TabItem tab = new TabItem(typeTabFolder, SWT.NONE);
+ TabItem tab = new TabItem(_typeTabFolder, SWT.NONE);
tab.setText(CONNECTION);
- MBeanTypeTabControl controller = new ConnectionTypeTabControl(typeTabFolder);
- tab.setData(CONTROLLER, controller);
+ MBeanTypeTabControl controller = new ConnectionTypeTabControl(_typeTabFolder);
+ tab.setData(TabControl.CONTROLLER, controller);
tab.setControl(controller.getControl());
- tab = new TabItem(typeTabFolder, SWT.NONE);
+ tab = new TabItem(_typeTabFolder, SWT.NONE);
tab.setText(EXCHANGE);
- controller = new ExchangeTypeTabControl(typeTabFolder);
- tab.setData(CONTROLLER, controller);
+ controller = new ExchangeTypeTabControl(_typeTabFolder);
+ tab.setData(TabControl.CONTROLLER, controller);
tab.setControl(controller.getControl());
- tab = new TabItem(typeTabFolder, SWT.NONE);
+ tab = new TabItem(_typeTabFolder, SWT.NONE);
tab.setText(QUEUE);
- controller = new QueueTypeTabControl(typeTabFolder);
- tab.setData(CONTROLLER, controller);
+ controller = new QueueTypeTabControl(_typeTabFolder);
+ tab.setData(TabControl.CONTROLLER, controller);
tab.setControl(controller.getControl());
- typeTabFolder.addListener(SWT.Selection, new Listener()
+ _typeTabFolder.addListener(SWT.Selection, new Listener()
{
public void handleEvent(Event evt)
{
@@ -457,28 +327,28 @@
private void createNotificationsTabFolder()
{
- notificationTabFolder = new TabFolder(_form.getBody(), SWT.NONE);
+ _notificationTabFolder = new TabFolder(_form.getBody(), SWT.NONE);
FormData layoutData = new FormData();
layoutData.left = new FormAttachment(0);
layoutData.top = new FormAttachment(0);
layoutData.right = new FormAttachment(100);
layoutData.bottom = new FormAttachment(100);
- notificationTabFolder.setLayoutData(layoutData);
- notificationTabFolder.setVisible(false);
+ _notificationTabFolder.setLayoutData(layoutData);
+ _notificationTabFolder.setVisible(false);
- VHNotificationsTabControl controller = new VHNotificationsTabControl(notificationTabFolder);
- TabItem tab = new TabItem(notificationTabFolder, SWT.NONE);
+ VHNotificationsTabControl controller = new VHNotificationsTabControl(_notificationTabFolder);
+ TabItem tab = new TabItem(_notificationTabFolder, SWT.NONE);
tab.setText(NOTIFICATIONS);
- tab.setData(CONTROLLER, controller);
+ tab.setData(TabControl.CONTROLLER, controller);
tab.setControl(controller.getControl());
}
private void refreshNotificationPage()
{
- TabItem tab = notificationTabFolder.getItem(0);
- VHNotificationsTabControl controller = (VHNotificationsTabControl)tab.getData(CONTROLLER);
+ TabItem tab = _notificationTabFolder.getItem(0);
+ VHNotificationsTabControl controller = (VHNotificationsTabControl)tab.getData(TabControl.CONTROLLER);
controller.refresh();
- notificationTabFolder.setVisible(true);
+ _notificationTabFolder.setVisible(true);
}
/**
@@ -493,58 +363,43 @@
{
return;
}
- typeTabFolder.setSelection(tab);
- MBeanTypeTabControl controller = (MBeanTypeTabControl)tab.getData(CONTROLLER);
+ _typeTabFolder.setSelection(tab);
+ MBeanTypeTabControl controller = (MBeanTypeTabControl)tab.getData(TabControl.CONTROLLER);
controller.refresh();
- typeTabFolder.setVisible(true);
+ _typeTabFolder.setVisible(true);
}
private void refreshTypeTabFolder(String type) throws Exception
{
if (CONNECTION.equals(type))
{
- refreshTypeTabFolder(typeTabFolder.getItem(0));
+ refreshTypeTabFolder(_typeTabFolder.getItem(0));
}
else if (EXCHANGE.equals(type))
{
- refreshTypeTabFolder(typeTabFolder.getItem(1));
+ refreshTypeTabFolder(_typeTabFolder.getItem(1));
}
else if (QUEUE.equals(type))
{
- refreshTypeTabFolder(typeTabFolder.getItem(2));
+ refreshTypeTabFolder(_typeTabFolder.getItem(2));
}
}
-
- /**
- * hides other folders and makes the given one visible.
- * @param tabFolder
- */
- private void setVisible(TabFolder tabFolder)
- {
- for (TabFolder folder : tabFolderMap.values())
- {
- if (folder == tabFolder)
- folder.setVisible(true);
- else
- folder.setVisible(false);
- }
- }
-
+
private void setInvisible()
{
- for (TabFolder folder : tabFolderMap.values())
+ if (_tabFolder != null)
{
- folder.setVisible(false);
+ _tabFolder.setVisible(false);
}
- if (typeTabFolder != null)
+ if (_typeTabFolder != null)
{
- typeTabFolder.setVisible(false);
+ _typeTabFolder.setVisible(false);
}
- if (notificationTabFolder != null)
+ if (_notificationTabFolder != null)
{
- notificationTabFolder.setVisible(false);
+ _notificationTabFolder.setVisible(false);
}
}
Modified: qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java
URL: http://svn.apache.org/viewvc/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java?rev=787613&r1=787612&r2=787613&view=diff
==============================================================================
--- qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java (original)
+++ qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/TabControl.java Tue Jun 23 09:50:50 2009
@@ -33,6 +33,7 @@
*/
public abstract class TabControl
{
+ public static final String CONTROLLER = "controller";
protected ManagedBean _mbean = null;
protected TabFolder _tabFolder = null;
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org