Commit dadf3c43 by Johannes Edmeier

Separate heapdump and logfile into discrete modules

parent 39afa3b8
/*
* Copyright 2014 the original author or authors.
*
* Licensed 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.
*/
'use strict';
var angular = require('angular');
var module = angular.module('sba-applications-heapdump', ['sba-applications']);
global.sbaModules.push(module.name);
module.run(function ($sce, $http, ApplicationViews) {
ApplicationViews.register({
order: 110,
title: $sce.trustAsHtml('<i class="fa fa-cubes fa-fw"></i>Heapdump'),
href: '/api/applications/{id}/heapdump',
target: '_blank',
show: function (application) {
if (!application.managementUrl || !application.statusInfo.status || application.statusInfo.status === 'OFFLINE') {
return false;
}
return $http({ method: 'OPTIONS', url: 'api/applications/' + application.id + '/heapdump' }).then(function (response) {
return response.headers('Allow') === 'GET,HEAD'; //Test the exact headers, in case the DispatcherServlet responses to the request for older boot-versions
}).catch(function () {
return false;
});
}
});
});
/*
* Copyright 2014 the original author or authors.
*
* Licensed 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.
*/
'use strict';
var angular = require('angular');
var module = angular.module('sba-applications-logfile', ['sba-applications']);
global.sbaModules.push(module.name);
module.run(function ($sce, $http, ApplicationViews) {
ApplicationViews.register({
order: 1,
title: $sce.trustAsHtml('<i class="fa fa-file-text-o fa-fw"></i>Log'),
href: '/api/applications/{id}/logfile',
target: '_blank',
show: function (application) {
if (!application.managementUrl || !application.statusInfo.status || application.statusInfo.status === 'OFFLINE') {
return false;
}
return $http.head('api/applications/' + application.id + '/logfile').then(function () {
return true;
}).catch(function () {
return false;
});
}
});
});
......@@ -59,47 +59,13 @@ module.config(function ($stateProvider) {
});
});
module.run(function ($rootScope, $state, $filter, $sce, $http, Notification, Application, MainViews, ApplicationViews) {
module.run(function ($rootScope, $state, Notification, Application, MainViews) {
MainViews.register({
title: 'Applications',
state: 'applications-list',
order: -100
});
ApplicationViews.register({
order: 1,
title: $sce.trustAsHtml('<i class="fa fa-file-text-o fa-fw"></i>Log'),
href: '/api/applications/{id}/logfile',
target: '_blank',
show: function (application) {
if (!application.managementUrl || !application.statusInfo.status || application.statusInfo.status === 'OFFLINE') {
return false;
}
return $http.head('api/applications/' + application.id + '/logfile').then(function () {
return true;
}).catch(function () {
return false;
});
}
});
ApplicationViews.register({
order: 110,
title: $sce.trustAsHtml('<i class="fa fa-cubes fa-fw"></i>Heapdump'),
href: '/api/applications/{id}/heapdump',
target: '_blank',
show: function (application) {
if (!application.managementUrl || !application.statusInfo.status || application.statusInfo.status === 'OFFLINE') {
return false;
}
return $http({ method: 'OPTIONS', url: 'api/applications/' + application.id + '/heapdump' }).then(function (response) {
return response.headers('Allow') === 'GET,HEAD'; //Test the exact headers, in case the DispatcherServlet responses to the request for older boot-versions
}).catch(function () {
return false;
});
}
});
$rootScope.applications = [];
$rootScope.indexOfApplication = function (id) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment