427 lines
12 KiB
JavaScript
427 lines
12 KiB
JavaScript
var isManagerControllers = angular.module('isManagerControllers', ['LocalStorageModule']);
|
|
|
|
function common_init($scope, $http, $sce, $location) {
|
|
initSpinner();
|
|
$scope.showError = function(error) { show_notification("error", error); }
|
|
$scope.showNotification = function(message) { show_notification("info", message); }
|
|
$scope.showSpinner = function() { showSpinner(); }
|
|
$scope.hideSpinner = function() { hideSpinner(); }
|
|
$scope.to_trusted = function(html) { return $sce.trustAsHtml(html); }
|
|
$scope.go = function(path) { $location.path(path); }
|
|
$scope.encodeValue = function(val) { return val; }
|
|
}
|
|
|
|
isManagerControllers.controller('listCollectionsCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.results = [];
|
|
|
|
$scope.showSpinner();
|
|
|
|
$http.get('is/listCollections.do').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.results = data;
|
|
}).error(function() {
|
|
$scope.showError('Error listing xmldb collections');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('profilesCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.profiles = [];
|
|
$scope.path = '/db/DRIVER/' + $routeParams.kind + '/' + $routeParams.type;
|
|
|
|
$scope.showSpinner();
|
|
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/listProfiles.do', $.param({
|
|
'kind' : $routeParams.kind,
|
|
'type' : $routeParams.type
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.profiles = data;
|
|
}).error(function() {
|
|
$scope.showError('Error listing xmldb collections');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('profileCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.id = $routeParams.id;
|
|
$scope.profile = '';
|
|
$scope.editProfile = '';
|
|
|
|
$scope.showSpinner();
|
|
|
|
$http.get('is/getProfile.do?id=' + $scope.id).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.profile = data;
|
|
}).error(function() {
|
|
$scope.showError('Error retreiving profile');
|
|
$scope.hideSpinner();
|
|
});
|
|
|
|
$scope.deleteProfile = function() {
|
|
if (confirm("Are you sure ?")) {
|
|
$scope.showSpinner();
|
|
$http.get('is/deleteProfile.do?id=' + $scope.id).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.showNotification('Profile deleted !');
|
|
$scope.profile = '';
|
|
}).error(function() {
|
|
$scope.showError('Error deleting profile');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
}
|
|
|
|
$scope.startEditing = function() {
|
|
$scope.editProfile = '' + $scope.profile;
|
|
}
|
|
|
|
$scope.abortEditing = function() {
|
|
$scope.editProfile = '';
|
|
}
|
|
|
|
$scope.saveEditing = function() {
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/updateProfile.do', $.param({
|
|
'profile' : $scope.editProfile
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.showNotification('Profile updated !');
|
|
$scope.profile = '' + $scope.editProfile;
|
|
$scope.editProfile = '';
|
|
}).error(function(err) {
|
|
$scope.showError(err.message);
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('schemasCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.schemas = [];
|
|
|
|
$scope.showSpinner();
|
|
|
|
$http.get('is/listSchemas.do').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.schemas = data;
|
|
}).error(function() {
|
|
$scope.showError('Error retreiving schemas');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('schemaCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.name = $routeParams.name;
|
|
$scope.schema = '';
|
|
|
|
$scope.showSpinner();
|
|
|
|
$http.get('is/getSchema.do?name=' + $scope.name).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.schema = data;
|
|
}).error(function() {
|
|
$scope.showError('Error obtaining schema' + $scope.name);
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('servicesCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
$scope.groups = [];
|
|
$scope.subscriptions = [];
|
|
|
|
$scope.showSpinner();
|
|
$http.get('is/listServices.do').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.groups = data;
|
|
}).error(function() {
|
|
$scope.showError('Error obtaining services');
|
|
$scope.hideSpinner();
|
|
});
|
|
|
|
$scope.setSubscriptions = function(subscriptions) {
|
|
$scope.subscriptions = subscriptions;
|
|
}
|
|
|
|
$scope.pingServices = function() {
|
|
var list = [];
|
|
angular.forEach($scope.groups, function(group) {
|
|
angular.forEach(group.services, function(service) {
|
|
if (service.id && service.wsdl) {
|
|
service.status = 'UNKNOWN';
|
|
list.push(service);
|
|
}
|
|
});
|
|
});
|
|
$scope.ping(list, 0);
|
|
}
|
|
|
|
$scope.ping = function(list, pos) {
|
|
if (list.length == 0) { return; }
|
|
if (pos >= list.length) { $scope.hideSpinner(); return; }
|
|
if (pos == 0) { $scope.showSpinner(); }
|
|
|
|
$http.get('is/ping.do?timeout=1500&url='+encodeURIComponent(list[pos].wsdl)).success(function(data) {
|
|
list[pos].status = 'ACTIVE';
|
|
$scope.ping(list, pos + 1);
|
|
}).error(function() {
|
|
list[pos].status = 'NOT_RESPONDING';
|
|
$scope.ping(list, pos + 1);
|
|
});
|
|
}
|
|
}
|
|
]);
|
|
|
|
|
|
|
|
isManagerControllers.controller('isQueryCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams', 'localStorageService',
|
|
function ($scope, $http, $sce, $location, $routeParams, localStorageService) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.history = localStorageService.get('xquery_history');
|
|
if (!$scope.history) {
|
|
$scope.history = [];
|
|
}
|
|
|
|
$scope.query = "for $x in collection('/db/DRIVER/VocabularyDSResources/VocabularyDSResourceType') return $x";
|
|
$scope.error = null;
|
|
$scope.results = [];
|
|
|
|
$scope.searchXQuery = function() {
|
|
$scope.results = [];
|
|
$scope.error = null;
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/xquery.do', $.param({
|
|
'query' : $scope.query
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.results = data;
|
|
$scope.history.push({ 'date' : new Date(), 'query' : $scope.query });
|
|
if ($scope.history.length > 100) {
|
|
$scope.history = $scope.history.splice($scope.history.length - 100);
|
|
}
|
|
localStorageService.set('xquery_history', $scope.history);
|
|
}).error(function(err) {
|
|
$scope.error = err;
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
|
|
$scope.updateXQuery = function(q) {
|
|
$scope.query = q;
|
|
$scope.searchXQuery();
|
|
}
|
|
|
|
$scope.clearHistory = function() {
|
|
$scope.history = [];
|
|
localStorageService.set('xquery_history', []);
|
|
}
|
|
}
|
|
]);
|
|
isManagerControllers.controller('registerProfileCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.profile = '';
|
|
|
|
$scope.register = function() {
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/registerProfile.do', $.param({
|
|
'profile' : $scope.profile
|
|
})).success(function(id) {
|
|
$scope.hideSpinner();
|
|
$scope.go('/profile/' + id)
|
|
}).error(function() {
|
|
$scope.showError('Error registerting profile');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('bulkImporterCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.path = 'file:///tmp/dnet_import';
|
|
$scope.schemas = true;
|
|
$scope.profiles = true;
|
|
|
|
$scope.response = {};
|
|
|
|
$scope.bulkImport = function() {
|
|
$scope.response = {};
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/import.do', $.param({
|
|
'path' : $scope.path,
|
|
'schemas' : $scope.schemas,
|
|
'profiles' : $scope.profiles
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.response = data;
|
|
}).error(function() {
|
|
$scope.showError('Error registerting profile');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
}
|
|
]);
|
|
|
|
|
|
isManagerControllers.controller('validateProvilesCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.metaWfId = '';
|
|
$scope.section = '';
|
|
$scope.family = '';
|
|
|
|
$scope.getValidationMetaWfId = function() {
|
|
$scope.metaWfId = '';
|
|
$scope.section = '';
|
|
$scope.family = '';
|
|
|
|
$scope.showSpinner();
|
|
$http.get('is/getMetaWfIdForFamily.do?family=IS_VALIDATION').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.metaWfId = data.id;
|
|
$scope.section = data.section;
|
|
$scope.family = data.family;
|
|
}).error(function() {
|
|
$scope.showError('Metaworkflow not registered');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
|
|
$scope.registerValidationWfs = function() {
|
|
$scope.metaWfId = '';
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/import.do', $.param({
|
|
'path' : 'classpath*:/eu/dnetlib/functionality/modular/workflows/validation',
|
|
'schemas' : false,
|
|
'profiles' : true
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.showNotification('Profiles are been registered');
|
|
$scope.getValidationMetaWfId();
|
|
}).error(function() {
|
|
$scope.showError('Error registering profiles');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
|
|
$scope.getValidationMetaWfId();
|
|
}
|
|
]);
|
|
|
|
isManagerControllers.controller('blackboardCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.refresh = function() {
|
|
$scope.blackboards = [];
|
|
$scope.showSpinner();
|
|
$http.get('is/listBlackboards.do').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.blackboards = data;
|
|
}).error(function() {
|
|
$scope.showError('Error retreiving schemas');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
$scope.refresh();
|
|
}
|
|
]);
|
|
|
|
isManagerControllers.controller('backupCtrl', [
|
|
'$scope', '$http', '$sce', '$location', '$routeParams',
|
|
function ($scope, $http, $sce, $location, $routeParams) {
|
|
common_init($scope, $http, $sce, $location);
|
|
|
|
$scope.metaWfId = '';
|
|
$scope.section = '';
|
|
$scope.family = '';
|
|
|
|
$scope.getBackupMetaWfId = function() {
|
|
$scope.metaWfId = '';
|
|
$scope.section = '';
|
|
$scope.family = '';
|
|
|
|
$scope.showSpinner();
|
|
$http.get('is/getMetaWfIdForFamily.do?family=IS_BACKUP').success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.metaWfId = data.id;
|
|
$scope.section = data.section;
|
|
$scope.family = data.family;
|
|
}).error(function() {
|
|
$scope.showError('Metaworkflow not registered');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
|
|
$scope.registerBackupWfs = function() {
|
|
$scope.metaWfId = '';
|
|
$scope.showSpinner();
|
|
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
|
|
$http.post('is/import.do', $.param({
|
|
'path' : 'classpath*:/eu/dnetlib/functionality/modular/workflows/backup',
|
|
'schemas' : false,
|
|
'profiles' : true
|
|
})).success(function(data) {
|
|
$scope.hideSpinner();
|
|
$scope.showNotification('Profiles are been registered');
|
|
$scope.getBackupMetaWfId();
|
|
}).error(function() {
|
|
$scope.showError('Error registering profiles');
|
|
$scope.hideSpinner();
|
|
});
|
|
}
|
|
|
|
$scope.getBackupMetaWfId();
|
|
}
|
|
]);
|