summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhupendra Bhusman Bhardwaj <bhupendrab@apache.org>2007-04-24 13:03:55 +0000
committerBhupendra Bhusman Bhardwaj <bhupendrab@apache.org>2007-04-24 13:03:55 +0000
commitb5aba49042cdbd29102d1b0f64cda13fd5a1efa5 (patch)
treebcc0f0319c75881f8fbf8f5440e6948056144a60
parentf51d407d8083fb3be576d0ef910888994eafc172 (diff)
downloadqpid-python-b5aba49042cdbd29102d1b0f64cda13fd5a1efa5.tar.gz
Added display of build and release versions in Help->About
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@531917 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/management/eclipse-plugin/plugin.xml11
-rw-r--r--java/management/eclipse-plugin/pom.xml4
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationActionBarAdvisor.java12
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/AbstractAction.java22
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/VersionAction.java89
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXServerRegistry.java87
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/NavigationView.java4
7 files changed, 169 insertions, 60 deletions
diff --git a/java/management/eclipse-plugin/plugin.xml b/java/management/eclipse-plugin/plugin.xml
index bd7ae0a474..5774859b47 100644
--- a/java/management/eclipse-plugin/plugin.xml
+++ b/java/management/eclipse-plugin/plugin.xml
@@ -96,6 +96,11 @@
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"/>
</extension>
<extension
point="org.eclipse.ui.bindings">
@@ -139,16 +144,12 @@
application="org.apache.qpid.management.ui.application"
name="Qpid Management Console">
<property
- name="about Qpid Management Console"
- value="version 0.1.0">
- </property>
- <property
name="windowImages"
value="icons/qpidmc16.gif,icons/qpidmc32.gif">
</property>
<property
name="aboutText"
- value="Qpid Management Console&#x0A;version 0.1.0"/>
+ value="Qpid Management Console"/>
</product>
</extension>
<extension
diff --git a/java/management/eclipse-plugin/pom.xml b/java/management/eclipse-plugin/pom.xml
index c61adde877..152b5e9b1a 100644
--- a/java/management/eclipse-plugin/pom.xml
+++ b/java/management/eclipse-plugin/pom.xml
@@ -207,6 +207,10 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationActionBarAdvisor.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationActionBarAdvisor.java
index 9015b74f3f..b5c1b5074a 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationActionBarAdvisor.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationActionBarAdvisor.java
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.management.ui;
+import org.apache.qpid.management.ui.actions.VersionAction;
+import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.ICoolBarManager;
import org.eclipse.jface.action.IMenuManager;
@@ -44,8 +46,7 @@ public class ApplicationActionBarAdvisor extends ActionBarAdvisor
// in the fill methods. This ensures that the actions aren't recreated
// when fillActionBars is called with FILL_PROXY.
private IWorkbenchAction exitAction;
- private IWorkbenchAction aboutAction;
-
+ private Action _aboutAction;
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer)
{
@@ -63,8 +64,8 @@ public class ApplicationActionBarAdvisor extends ActionBarAdvisor
exitAction = ActionFactory.QUIT.create(window);
register(exitAction);
- aboutAction = ActionFactory.ABOUT.create(window);
- register(aboutAction);
+ _aboutAction = new VersionAction(window);
+ register(_aboutAction);
}
@@ -85,8 +86,7 @@ public class ApplicationActionBarAdvisor extends ActionBarAdvisor
fileMenu.add(exitAction);
// Help
- //aboutAction.setText("about Qpid Management Console");
- helpMenu.add(aboutAction);
+ helpMenu.add(_aboutAction);
}
protected void fillCoolBar(ICoolBarManager coolBar)
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/AbstractAction.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/AbstractAction.java
index 0101905bbf..b1cf942e37 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/AbstractAction.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/AbstractAction.java
@@ -1,3 +1,23 @@
+/*
+ *
+ * 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.actions;
import static org.apache.qpid.management.ui.Constants.ERROR_SERVER_CONNECTION;
@@ -30,7 +50,7 @@ public class AbstractAction
}
}
- protected void handleException(Exception ex, String title, String msg)
+ protected void handleException(Throwable ex, String title, String msg)
{
MBeanUtility.printStackTrace(ex);
if (msg == null)
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/VersionAction.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/VersionAction.java
new file mode 100644
index 0000000000..11db02f5a2
--- /dev/null
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/actions/VersionAction.java
@@ -0,0 +1,89 @@
+/*
+ *
+ * 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.actions;
+
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.apache.qpid.management.ui.Constants;
+import org.apache.qpid.management.ui.jmx.MBeanUtility;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IWorkbenchWindow;
+
+public class VersionAction extends Action
+{
+ private IWorkbenchWindow _window;
+ public static final String VERSION_RESOURCE = "qpidversion.properties";
+
+ public static final String PRODUCT_NAME_PROPERTY = "qpid.name";
+ public static final String RELEASE_VERSION_PROPERTY = "qpid.version";
+ public static final String BUILD_VERSION_PROPERTY = "qpid.svnversion";
+
+ private static final String DEFAULT = "unknown";
+ private static String _releaseVersion;
+ private static String _buildVersion;
+ private static String _text;
+
+ static
+ {
+ Properties props = new Properties();
+ try
+ {
+ InputStream propertyStream = VersionAction.class.getClassLoader().getResourceAsStream(VERSION_RESOURCE);
+ if (propertyStream != null)
+ {
+ props.load(propertyStream);
+ _releaseVersion = readPropertyValue(props, RELEASE_VERSION_PROPERTY);
+ _buildVersion = readPropertyValue(props, BUILD_VERSION_PROPERTY);
+ _text = "Build Version : " + _buildVersion + "\n" +
+ "Release Version : " + _releaseVersion;
+ }
+ }
+ catch (Exception ex)
+ {
+ MBeanUtility.printStackTrace(ex);
+ }
+ }
+
+ public VersionAction(IWorkbenchWindow window)
+ {
+ _window = window;
+ setText("About " + Constants.APPLICATION_NAME);
+ setId("qpidmc.about");
+ setActionDefinitionId("qpidmc.about");
+ }
+
+ private static String readPropertyValue(Properties props, String propertyName)
+ {
+ String retVal = (String) props.get(propertyName);
+ if (retVal == null)
+ {
+ retVal = DEFAULT;
+ }
+ return retVal;
+ }
+
+ public void run()
+ {
+ MessageDialog.openInformation(_window.getShell(), Constants.APPLICATION_NAME, _text);
+ }
+}
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 816c479cf9..02d9ed7fdc 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
@@ -97,58 +97,49 @@ public class JMXServerRegistry extends ServerRegistry
String securityMechanism = ApplicationRegistry.getSecurityMechanism();
if (securityMechanism != null)
- {
- try
+ {
+ // Check if the JMXMP connector is available
+ Class klass = Class.forName("javax.management.remote.jmxmp.JMXMPConnector");
+
+ jmxUrl = new JMXServiceURL("jmxmp", server.getHost(), server.getPort());
+ env = new HashMap<String, Object>();
+
+ if (MECH_CRAMMD5.equals(securityMechanism))
{
- // Check if the JMXMP connector is available
- Class klass = Class.forName("javax.management.remote.jmxmp.JMXMPConnector");
-
- jmxUrl = new JMXServiceURL("jmxmp", server.getHost(), server.getPort());
- env = new HashMap<String, Object>();
-
- if (MECH_CRAMMD5.equals(securityMechanism))
- {
- // For SASL/CRAM-MD5
- Map<String, Class<? extends SaslClientFactory>> map = new HashMap<String, Class<? extends SaslClientFactory>>();
- Class<?> clazz = Class.forName("org.apache.qpid.management.ui.sasl.CRAMMD5HashedSaslClientFactory");
- map.put("CRAM-MD5-HASHED", (Class<? extends SaslClientFactory>) clazz);
-
- Security.addProvider(new JCAProvider(map));
- env.put("jmx.remote.profiles", SASL_CRAMMD5);
- env.put("jmx.remote.sasl.callback.handler",
- new UsernameHashedPasswordCallbackHandler(server.getUser(), server.getPassword()));
- }
- else if (MECH_PLAIN.equals(securityMechanism))
- {
- // For SASL/PLAIN
- Security.addProvider(new SaslProvider());
- env.put("jmx.remote.profiles", SASL_PLAIN);
- env.put("jmx.remote.sasl.callback.handler",
- new UserPasswordCallbackHandler(server.getUser(), server.getPassword()));
- }
- else
- {
- MBeanUtility.printOutput("Security mechanism " + securityMechanism + " is not supported.");
- }
-
- // Now create the instance of JMXMPConnector
- Class[] paramTypes = {JMXServiceURL.class, Map.class};
- Constructor cons = klass.getConstructor(paramTypes);
-
- Object[] args = {jmxUrl, env};
- Object theObject = cons.newInstance(args);
-
- _jmxc = (JMXConnector)theObject;
- _jmxc.connect();
- MBeanUtility.printOutput("Starting JMXConnector with SASL. Server=" + server.getName());
+ // For SASL/CRAM-MD5
+ Map<String, Class<? extends SaslClientFactory>> map = new HashMap<String, Class<? extends SaslClientFactory>>();
+ Class<?> clazz = Class.forName("org.apache.qpid.management.ui.sasl.CRAMMD5HashedSaslClientFactory");
+ map.put("CRAM-MD5-HASHED", (Class<? extends SaslClientFactory>) clazz);
+
+ Security.addProvider(new JCAProvider(map));
+ env.put("jmx.remote.profiles", SASL_CRAMMD5);
+ env.put("jmx.remote.sasl.callback.handler",
+ new UsernameHashedPasswordCallbackHandler(server.getUser(), server.getPassword()));
}
- catch (Exception ex)
+ else if (MECH_PLAIN.equals(securityMechanism))
{
- // When JMXMPConnector is not available
- MBeanUtility.printOutput("Starting JMXConnector. Server=" + server.getName());
- jmxUrl = new JMXServiceURL(server.getUrl());
- _jmxc = JMXConnectorFactory.connect(jmxUrl, null);
+ // For SASL/PLAIN
+ Security.addProvider(new SaslProvider());
+ env.put("jmx.remote.profiles", SASL_PLAIN);
+ env.put("jmx.remote.sasl.callback.handler",
+ new UserPasswordCallbackHandler(server.getUser(), server.getPassword()));
}
+ else
+ {
+ String text = "Security mechanism " + securityMechanism + " is not supported.";
+ MBeanUtility.printOutput(text);
+ throw new Exception(text);
+ }
+ // Now create the instance of JMXMPConnector
+ Class[] paramTypes = {JMXServiceURL.class, Map.class};
+ Constructor cons = klass.getConstructor(paramTypes);
+
+ Object[] args = {jmxUrl, env};
+ Object theObject = cons.newInstance(args);
+
+ _jmxc = (JMXConnector)theObject;
+ _jmxc.connect();
+ MBeanUtility.printOutput("Starting JMXConnector with SASL. Server=" + server.getName());
}
else
{
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 e5f99c2f7b..2a1a18939f 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
@@ -216,6 +216,10 @@ public class NavigationView extends ViewPart
}
catch (IOException ex)
{
+ if (ex.getCause() == null)
+ {
+ throw ex;
+ }
throw (Exception)ex.getCause();
}
}