diff options
author | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-02-07 11:27:15 +0000 |
---|---|---|
committer | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-02-07 11:27:15 +0000 |
commit | b37d5db6ef5e5e9363a1e791dcf9a419bc348bb1 (patch) | |
tree | 83d4b469a2fe4b7876d2bc787857e0984bf0f94e /java/management/eclipse-plugin | |
parent | 020a924c742b185ef5360108985460f0155eb671 (diff) | |
download | qpid-python-b37d5db6ef5e5e9363a1e791dcf9a419bc348bb1.tar.gz |
QPID-170
Management feature added - moving messages from one Queue to another
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@504507 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin')
8 files changed, 59 insertions, 32 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 5c3b45a8f2..e3e22aa7ee 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 @@ -50,6 +50,7 @@ public class Constants public final static String ATTRIBUTE_QUEUE_CONSUMERCOUNT = "ActiveConsumerCount"; public final static String OPERATION_CREATE_QUEUE = "createNewQueue"; public final static String OPERATION_CREATE_BINDING = "createNewBinding"; + public final static String OPERATION_MOVE_MESSAGES = "moveMessages"; public final static String ALL = "All"; 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 b498454fc1..32e2290c2a 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 @@ -128,7 +128,7 @@ public abstract class ServerRegistry public abstract OperationDataModel getOperationModel(ManagedBean mbean); - public abstract String[] getQueueNames(String vistualHostName); + public abstract List<String> getQueueNames(String vistualHostName); public abstract String[] getExchangeNames(String vistualHostName); 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 882fdfb038..c5988fd480 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 @@ -387,19 +387,18 @@ public class JMXServerRegistry extends ServerRegistry return _operationModelMap.get(mbean.getUniqueName()); } - public String[] getQueueNames(String virtualHostName) + public List<String> getQueueNames(String virtualHostName) { List<ManagedBean> list = getQueues(virtualHostName); if (list == null) return null; - String[] queues = new String[list.size()]; - int i = 0; + List<String> queueNames = new ArrayList<String>(); for (ManagedBean mbean : list) { - queues[i++] = mbean.getName(); + queueNames.add(mbean.getName()); } - return queues; + return queueNames; } public String[] getExchangeNames(String virtualHostName) diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java index 1a1de11e30..e7361ddec7 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/MBeanUtility.java @@ -163,7 +163,7 @@ public class MBeanUtility } else if (ex instanceof MBeanException) { - String cause = ((MBeanException)ex).getTargetException().toString(); + String cause = ((MBeanException)ex).getTargetException().getMessage(); if (cause == null) cause = ex.toString(); ViewUtility.popupInfoMessage(mbean.getInstanceName(), cause); @@ -178,7 +178,7 @@ public class MBeanUtility } else { - ViewUtility.popupErrorMessage(mbean.getInstanceName(), ex.toString()); + ViewUtility.popupErrorMessage(mbean.getInstanceName(), ex.getMessage()); ex.printStackTrace(); } diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/OperationDataModel.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/OperationDataModel.java index 2df36ee8c6..96964a81ef 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/OperationDataModel.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/OperationDataModel.java @@ -45,9 +45,8 @@ public class OperationDataModel for (int i = 0; i < parametersCount; i++) { MBeanParameterInfo paramInfo = opInfo.getSignature()[i]; - ParameterData param = new ParameterData(paramInfo.getName()); - param.setDescription(paramInfo.getDescription()); - param.setType(paramInfo.getType()); + ParameterData param = new ParameterData(paramInfo.getName(), paramInfo.getDescription(), + paramInfo.getType()); paramList.add(param); } opData.setParameters(paramList); diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/ParameterData.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/ParameterData.java index 9d1d44559e..d12217c6eb 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/ParameterData.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/model/ParameterData.java @@ -31,19 +31,18 @@ public class ParameterData private String _type; private Object _value; - ParameterData(String name) + ParameterData(String name, String desc, String type) { this._name = name; + this._description = desc; + this._type = type; + setDefaultValue(); } public String getDescription() { return _description; } - public void setDescription(String description) - { - this._description = description; - } public String getName() { @@ -54,10 +53,6 @@ public class ParameterData { return _type; } - public void setType(String type) - { - this._type = type; - } public Object getValue() { 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 e3cd92f38a..cdb4aa99a8 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 @@ -39,6 +39,7 @@ import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.TabFolder; @@ -184,6 +185,15 @@ public class MBeanView extends ViewPart } 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) { tabFolder = createTabFolder(); 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 c95c9e2bd1..7298e287ae 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 @@ -255,7 +255,14 @@ public class OperationTabControl extends TabControl String[] items = null; if (param.getName().equals(Constants.QUEUE)) { - items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName); + List<String> qList = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName); + // Customization for AMQQueueMBean method Constants.OPERATION_MOVE_MESSAGES + if (_opData.getName().equals(Constants.OPERATION_MOVE_MESSAGES)) + { + qList.remove(_mbean.getName()); + } + // End of Customization + items = qList.toArray(new String[0]); } else if (param.getName().equals(Constants.EXCHANGE)) { @@ -269,8 +276,14 @@ public class OperationTabControl extends TabControl if (items != null) { org.eclipse.swt.widgets.List _list = new org.eclipse.swt.widgets.List(_paramsComposite, SWT.BORDER | SWT.V_SCROLL); - int listSize = _form.getClientArea().height / 3; + int listSize = _form.getClientArea().height * 2 / 3; int itemsHeight = items.length * (_list.getItemHeight() + 2); + // Set a min height for the list widget (set it to min 4 items) + if (items.length < 4) + { + itemsHeight = 4 * (_list.getItemHeight() + 2); + } + listSize = (listSize > itemsHeight) ? itemsHeight : listSize; parameterPositionOffset = parameterPositionOffset + listSize; formData.bottom = new FormAttachment(0, parameterPositionOffset); @@ -296,7 +309,9 @@ public class OperationTabControl extends TabControl formData.left = new FormAttachment(label, 5); formData.right = new FormAttachment(valueWidth); text.setLayoutData(formData); + // Listener to assign value to the parameter text.addKeyListener(keyListener); + // Listener to verify if the entered key is valid text.addVerifyListener(verifyListener); text.setData(param); } @@ -358,9 +373,9 @@ public class OperationTabControl extends TabControl formData.left = new FormAttachment(label, 5); formData.right = new FormAttachment(valueWidth); - Combo combo = new Combo(composite, SWT.READ_ONLY | SWT.DROP_DOWN); - String[] items = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName); - combo.setItems(items); + Combo combo = new Combo(composite, SWT.READ_ONLY | SWT.DROP_DOWN); + List<String> qList = ApplicationRegistry.getServerRegistry(_mbean).getQueueNames(_virtualHostName); + combo.setItems(qList.toArray(new String[0])); combo.add("Select Queue", 0); combo.select(0); combo.setLayoutData(formData); @@ -513,6 +528,8 @@ public class OperationTabControl extends TabControl { if (controls[i] instanceof Combo) ((Combo)controls[i]).select(0); + if (controls[i] instanceof org.eclipse.swt.widgets.List) + ((org.eclipse.swt.widgets.List)controls[i]).deselectAll(); else if (controls[i] instanceof Text) ((Text)controls[i]).setText(""); else if (controls[i] instanceof Composite) @@ -685,7 +702,15 @@ public class OperationTabControl extends TabControl // Get the parameters widget and assign the text to the parameter String strValue = text.getText(); ParameterData parameter = (ParameterData)text.getData(); - parameter.setValueFromString(strValue); + try + { + parameter.setValueFromString(strValue); + } + catch(Exception ex) + { + // Exception occured in setting parameter value. + // ignore it. The value will not be assigned to the parameter + } } } @@ -727,12 +752,10 @@ public class OperationTabControl extends TabControl { public void verifyText(VerifyEvent event) { - Text text = (Text)event.widget; - String string = event.text; - char [] chars = new char [string.length ()]; - string.getChars (0, chars.length, chars, 0); - - ParameterData parameter = (ParameterData)text.getData(); + ParameterData parameter = (ParameterData)event.widget.getData(); + String text = event.text; + char [] chars = new char [text.length ()]; + text.getChars(0, chars.length, chars, 0); String type = parameter.getType(); if (type.equals("int") || type.equals("java.lang.Integer") || type.equals("long") || type.equals("java.lang.Long")) |