diff options
Diffstat (limited to 'trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java')
-rw-r--r-- | trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java | 464 |
1 files changed, 0 insertions, 464 deletions
diff --git a/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java b/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java deleted file mode 100644 index 1fef89d6b5..0000000000 --- a/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanTabFolderFactory.java +++ /dev/null @@ -1,464 +0,0 @@ -/* - * - * 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.CONNECTION; -import static org.apache.qpid.management.ui.Constants.EXCHANGE; -import static org.apache.qpid.management.ui.Constants.EXCHANGE_TYPE; -import static org.apache.qpid.management.ui.Constants.NOTIFICATIONS; -import static org.apache.qpid.management.ui.Constants.QUEUE; - -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.ManagedServer; -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.apache.qpid.management.ui.views.queue.QueueOperationsTabControl; -import org.apache.qpid.management.ui.views.type.ConnectionTypeTabControl; -import org.apache.qpid.management.ui.views.type.ExchangeTypeTabControl; -import org.apache.qpid.management.ui.views.type.QueueTypeTabControl; -import org.apache.qpid.management.ui.views.users.UserManagementTabControl; -import org.apache.qpid.management.ui.views.vhost.VHostTabControl; -import org.apache.qpid.management.ui.views.connection.ConnectionOperationsTabControl; -import org.apache.qpid.management.ui.views.exchange.ExchangeOperationsTabControl; -import org.apache.qpid.management.ui.views.exchange.HeadersExchangeOperationsTabControl; -import org.apache.qpid.management.ui.views.logging.ConfigurationFileTabControl; -import org.apache.qpid.management.ui.views.logging.RuntimeTabControl; -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); - - TabItem tab; - TabControl controller; - QpidMBeanType mbeanType = QpidMBeanType.get(mbean.getType()); - - switch(mbeanType) - { - case QUEUE: - createAttributesTab(tabFolder, mbean); - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new QueueOperationsTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - break; - case CONNECTION: - createAttributesTab(tabFolder, mbean); - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new ConnectionOperationsTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - break; - case EXCHANGE: - createAttributesTab(tabFolder, mbean); - - if (mbean.getProperty(EXCHANGE_TYPE).equalsIgnoreCase("headers")) - { - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new HeadersExchangeOperationsTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - } - else - { - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new ExchangeOperationsTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - } - break; - case VHOST_MANAGER: - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new VHostTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - break; - case LOGGING_MANAGEMENT: - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Runtime Options"); - controller = new RuntimeTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("ConfigurationFile Options"); - controller = new ConfigurationFileTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - break; - case USER_MANAGEMENT: - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText("Operations"); - controller = new UserManagementTabControl(tabFolder, mbean, mbsc); - tab.setControl(controller.getControl()); - tab.setData(TabControl.CONTROLLER, controller); - break; - case CONFIGURATION_MANAGEMENT: - createGenericTabFolder(tabFolder, mbean); - break; - case UNKNOWN: - createGenericTabFolder(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 createGenericTabFolder(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, mbean); - - TabItem tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(NOTIFICATIONS); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - } - - /** - * Creates TabFolder and tabs for all mbeantype (Connection, Queue, and Exchange) - */ - public static TabFolder generateMBeanTypeTabFolder(final Composite parent, ManagedServer server, String virtualHost) - { - 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); - - - TabItem tab; - TabControl controller; - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(CONNECTION); - controller = new ConnectionTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(EXCHANGE); - controller = new ExchangeTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(QUEUE); - controller = new QueueTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - 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(null); - } - } - }); - - return tabFolder; - } - - /** - * Creates TabFolder and tab for the Connection selection view - */ - public static TabFolder generateConnectionTypeTabFolder(final Composite parent, ManagedServer server, String virtualHost) - { - 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); - - TabItem tab; - TabControl controller; - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(CONNECTION); - controller = new ConnectionTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - 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(null); - } - } - }); - - return tabFolder; - } - - /** - * Creates TabFolder and tab for the Exchange selection view - */ - public static TabFolder generateExchangeTypeTabFolder(final Composite parent, ManagedServer server, String virtualHost) - { - 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); - - TabItem tab; - TabControl controller; - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(EXCHANGE); - controller = new ExchangeTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - 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(null); - } - } - }); - - return tabFolder; - } - - /** - * Creates TabFolder and tab for the Queue selection view - */ - public static TabFolder generateQueueTypeTabFolder(final Composite parent, ManagedServer server, String virtualHost) - { - 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); - - TabItem tab; - TabControl controller; - - tab = new TabItem(tabFolder, SWT.NONE); - tab.setText(QUEUE); - controller = new QueueTypeTabControl(tabFolder,server,virtualHost); - tab.setData(TabControl.CONTROLLER, controller); - tab.setControl(controller.getControl()); - - 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(null); - } - } - }); - - return tabFolder; - } - - 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; - } - - } - } - - -} |