summaryrefslogtreecommitdiff
path: root/java/management/eclipse-plugin/src
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2008-12-17 10:16:56 +0000
committerMartin Ritchie <ritchiem@apache.org>2008-12-17 10:16:56 +0000
commitcde2cc7a60099969dfbcaa6f331a1472ea47f21d (patch)
tree95a985cc20ce12ecf76f3e883f7e02cf907b2f87 /java/management/eclipse-plugin/src
parent5e26563ec4a3179ba0c1ec5eb75b5a610f050c0b (diff)
downloadqpid-python-cde2cc7a60099969dfbcaa6f331a1472ea47f21d.tar.gz
QPID-1471 : Reverted r727071
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727334 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.java1
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ManagedBean.java63
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java45
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java21
4 files changed, 52 insertions, 78 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 5f927be4e4..d6f895b64a 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,7 +32,6 @@ public class Constants
public final static String ACTION_REMOVE_MBEANNODE = "Remove from list";
public final static String VALUE = "value";
public final static String TYPE = "type";
- public final static String VERSION = "version";
public final static String NODE_TYPE_SERVER = "server";
public final static String NODE_TYPE_DOMAIN = "domain";
public final static String NODE_TYPE_MBEANTYPE = "mbeantype";
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 ae01f30f32..31825e925d 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
@@ -20,17 +20,13 @@
*/
package org.apache.qpid.management.ui;
-import static org.apache.qpid.management.ui.Constants.ADMIN_MBEAN_TYPE;
-import static org.apache.qpid.management.ui.Constants.CONNECTION;
-import static org.apache.qpid.management.ui.Constants.DEFAULT_VH;
-import static org.apache.qpid.management.ui.Constants.EXCHANGE;
-import static org.apache.qpid.management.ui.Constants.QUEUE;
-import static org.apache.qpid.management.ui.Constants.VIRTUAL_HOST;
-
+import static org.apache.qpid.management.ui.Constants.*;
import java.util.HashMap;
/**
* Class representing a managed bean on the managed server
+ * @author Bhupendra Bhardwaj
+ *
*/
public abstract class ManagedBean extends ManagedObject
{
@@ -40,50 +36,27 @@ public abstract class ManagedBean extends ManagedObject
private String _virtualHostName = null;
private ManagedServer _server = null;
private HashMap _properties = null;
- private int _version;
-
+
public String getProperty(String key)
{
- return (String) _properties.get(key);
+ return (String)_properties.get(key);
}
-
+
public HashMap getProperties()
{
return _properties;
}
-
public void setProperties(HashMap properties)
{
this._properties = properties;
setName(getProperty("name"));
setType(getProperty("type"));
- setVersion(getProperty("version"));
_virtualHostName = getProperty(VIRTUAL_HOST);
}
-
- public void setVersion(String version)
- {
- try
- {
- _version = Integer.parseInt(version);
- }
- catch (NumberFormatException nfe)
- {
- _version = 1;
- }
-
- }
-
- public int getVersion()
- {
- return _version;
- }
-
public String getDomain()
{
return _domain;
}
-
public void setDomain(String domain)
{
this._domain = domain;
@@ -93,75 +66,65 @@ public abstract class ManagedBean extends ManagedObject
{
return _server;
}
-
public void setServer(ManagedServer server)
{
this._server = server;
}
-
public String getType()
{
return _type;
}
-
public void setType(String type)
{
this._type = type;
}
-
public String getUniqueName()
{
return _uniqueName;
}
-
public void setUniqueName(String uniqueName)
{
this._uniqueName = uniqueName;
}
-
+
public String getVirtualHostName()
{
// To make it work with the broker with no virtual host implementation
return _virtualHostName == null ? DEFAULT_VH : _virtualHostName;
}
-
+
/**
* Returns mbean instance name. MBeans which have only one instance, the type attribute will be returned
- *
* @return
*/
public String getInstanceName()
{
if (getName() != null)
- {
return getName();
- }
else
- {
return getType();
- }
}
-
+
public boolean isQueue()
{
return _type.endsWith(QUEUE);
}
-
+
public boolean isConnection()
{
return _type.endsWith(CONNECTION);
}
-
+
public boolean isExchange()
{
return _type.endsWith(EXCHANGE);
}
-
+
public boolean isTempQueue()
{
return (isQueue() && getName().startsWith("tmp_"));
}
-
+
public boolean isAdmin()
{
return _type.endsWith(ADMIN_MBEAN_TYPE);
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 b3cad7282d..6426a91e59 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
@@ -25,8 +25,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map.Entry;
-import java.security.NoSuchAlgorithmException;
-import java.io.UnsupportedEncodingException;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularDataSupport;
@@ -607,33 +605,26 @@ public class OperationTabControl extends TabControl
return;
}
- //Custom handling for the PASSWORD field
- if (param.getName().equalsIgnoreCase(PASSWORD))
+ // customized for passwords
+ String securityMechanism = "";
+ ServerRegistry serverReg = ApplicationRegistry.getServerRegistry(_mbean);
+
+ if (serverReg instanceof JMXServerRegistry)
+ {
+ JMXServerRegistry jmxServerReg = (JMXServerRegistry) ApplicationRegistry.getServerRegistry(_mbean);
+ securityMechanism = jmxServerReg.getSecurityMechanism();
+ }
+
+ if ((MECH_CRAMMD5.equals(securityMechanism)) && PASSWORD.equalsIgnoreCase(param.getName()))
{
- //Convert the String value to a character array if that is what is required.
- if (param.getType().equals("[C"))
+ try
+ {
+ param.setValue(ViewUtility.getMD5HashedCharArray(param.getValue()));
+ }
+ catch (Exception ex)
{
- // Retreive the mBean type and version.
- // If we have a version 1 UserManagement class mbean then it expects the password
- // to be sent as the hashed version.
- if (_mbean.getType().equals("UserManagement") && _mbean.getVersion() == 1)
- {
- try
- {
- param.setValue(ViewUtility.getHash((String) param.getValue()));
- }
- catch (Exception hashException)
- {
- ViewUtility.popupErrorMessage(_form.getText(),
- "Unable to calculate hash for Password:"
- + hashException.getMessage());
- return;
- }
- }
- else
- {
- param.setValue(((String) param.getValue()).toCharArray());
- }
+ MBeanUtility.handleException(_mbean, ex);
+ return;
}
}
// end of customization
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 c2045835f4..3245f394b5 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
@@ -538,6 +538,27 @@ public class ViewUtility
}
}
+ public static char[] getMD5HashedCharArray(Object text) throws NoSuchAlgorithmException, UnsupportedEncodingException
+ {
+ byte[] data = ((String)text).getBytes("utf-8");
+
+ MessageDigest md = MessageDigest.getInstance("MD5");
+
+ for (byte b : data)
+ {
+ md.update(b);
+ }
+
+ byte[] digest = md.digest();
+
+ char[] byteArray = new char[digest.length];
+ int index = 0;
+ for (byte b : digest)
+ {
+ byteArray[index++] = (char)b;
+ }
+ return byteArray;
+ }
public static char[] getHash(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException
{