Skip to content

Commit

Permalink
#160: Added framework version to karaf server tab
Browse files Browse the repository at this point in the history
  • Loading branch information
davsclaus committed May 4, 2013
1 parent 9461426 commit 0f0869c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
2 changes: 2 additions & 0 deletions hawtio-web/src/main/webapp/app/karaf/html/server.html
Expand Up @@ -13,6 +13,8 @@
<dd>{{data.startLevel}}</dd>
<dt>Framework</dt>
<dd>{{data.framework}}</dd>
<dt>Framework Version</dt>
<dd>{{data.frameworkVersion}}</dd>
<dt>Location</dt>
<dd>{{data.location}}</dd>
<dt>SSH Port</dt>
Expand Down
19 changes: 17 additions & 2 deletions hawtio-web/src/main/webapp/app/karaf/js/server.ts
Expand Up @@ -9,6 +9,7 @@ module Karaf {
root: "",
startLevel: "",
framework: "",
frameworkVersion: "",
location: "",
sshPort: "",
rmiRegistryPort: "",
Expand All @@ -18,8 +19,6 @@ module Karaf {
$scope.$on('jmxTreeUpdated', reloadFunction);
$scope.$watch('workspace.tree', reloadFunction);

// TODO: we need the framework and version from another mbean

function reloadFunction() {
// if the JMX tree is reloaded its probably because a new MBean has been added or removed
// so lets reload, asynchronously just in case
Expand Down Expand Up @@ -60,8 +59,10 @@ module Karaf {
$scope.data.version = "?";
$scope.data.startLevel = "?";
$scope.data.framework = "?";
$scope.data.frameworkVersion = "?";

var systemMbean = "org.apache.karaf:type=system,name=" + rootInstance.Name;
// get more data, and its okay to do this synchronously
var response = jolokia.request({type: "read", mbean: systemMbean,
attribute: ["StartLevel", "Framework", "Version"]}, onSuccess(null));

Expand All @@ -71,6 +72,20 @@ module Karaf {
$scope.data.startLevel = obj.StartLevel;
$scope.data.framework = obj.Framework;
}

// and the osgi framework version is the bundle version
var response2 = jolokia.search("osgi.core:type=bundleState,*", onSuccess(null));
if (angular.isArray(response2)) {
var mbean = response2[0];
if (mbean) {
// get more data, and its okay to do this synchronously
var response3 = jolokia.request({type: 'exec', mbean: mbean, operation: 'getVersion(long)', arguments: [0]}, onSuccess(null));
var obj3 = response3.value;
if (obj3) {
$scope.data.frameworkVersion = obj3;
}
}
}
}

// ensure web page is updated
Expand Down

0 comments on commit 0f0869c

Please sign in to comment.