graphdb-workbench 2.2.2-TR1 → 2.2.2-TR2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/{108.19b6e7d30df333e42876.bundle.js → 108.3c3f9c242e6a3e18fff5.bundle.js} +2 -2
  2. package/dist/108.3c3f9c242e6a3e18fff5.bundle.js.map +1 -0
  3. package/dist/11.f4c5533cd200c8568ff6.bundle.js +1 -1
  4. package/dist/11.f4c5533cd200c8568ff6.bundle.js.map +1 -1
  5. package/dist/148.dd250d3cc5aafade33c6.bundle.js +1 -1
  6. package/dist/148.dd250d3cc5aafade33c6.bundle.js.map +1 -1
  7. package/dist/20.fbcb31706f03a07e8827.bundle.js +1 -1
  8. package/dist/20.fbcb31706f03a07e8827.bundle.js.map +1 -1
  9. package/dist/{21.7f0a59ea2ad9340dcb2f.bundle.js → 21.ea150df1291050bc1c4a.bundle.js} +2 -2
  10. package/dist/21.ea150df1291050bc1c4a.bundle.js.map +1 -0
  11. package/dist/27.83b24ef9ec0fd6964d92.bundle.js +1 -1
  12. package/dist/27.83b24ef9ec0fd6964d92.bundle.js.map +1 -1
  13. package/dist/33.4d23fa109c9184727386.bundle.js +1 -1
  14. package/dist/33.4d23fa109c9184727386.bundle.js.map +1 -1
  15. package/dist/40.50b40301c8cc69a70457.bundle.js +1 -1
  16. package/dist/40.50b40301c8cc69a70457.bundle.js.map +1 -1
  17. package/dist/94.38349f52df66313fbcc0.bundle.js +1 -1
  18. package/dist/94.38349f52df66313fbcc0.bundle.js.map +1 -1
  19. package/dist/{bundle.85f39e50f7dea19ff7b6.bundle.js → bundle.f540ee201846422b1cb9.bundle.js} +3 -3
  20. package/dist/{bundle.85f39e50f7dea19ff7b6.bundle.js.map → bundle.f540ee201846422b1cb9.bundle.js.map} +1 -1
  21. package/dist/css/jmx.css +4 -0
  22. package/dist/i18n/locale-fr.json +2 -2
  23. package/dist/index.html +3 -3
  24. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  25. package/dist/pages/autocomplete.html +1 -1
  26. package/dist/pages/choose-repository-type.html +1 -1
  27. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  28. package/dist/pages/create-index.html +4 -4
  29. package/dist/pages/dependencies.html +1 -1
  30. package/dist/pages/domainRangeInfo.html +2 -2
  31. package/dist/pages/edit.html +1 -1
  32. package/dist/pages/explore.html +1 -1
  33. package/dist/pages/export.html +1 -1
  34. package/dist/pages/find.html +1 -1
  35. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  36. package/dist/pages/graphs-visualizations.html +7 -7
  37. package/dist/pages/guides.html +1 -1
  38. package/dist/pages/import.html +1 -1
  39. package/dist/pages/jdbc-create.html +5 -5
  40. package/dist/pages/monitor/queries.html +1 -1
  41. package/dist/pages/monitor/resources.html +2 -2
  42. package/dist/pages/namespaces.html +2 -2
  43. package/dist/pages/plugins.html +1 -1
  44. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  45. package/dist/pages/rdfrank.html +2 -2
  46. package/dist/pages/repositories.html +2 -2
  47. package/dist/pages/repository.html +2 -2
  48. package/dist/pages/similarity-indexes.html +1 -1
  49. package/dist/pages/sparql-template-create.html +5 -5
  50. package/dist/pages/sparql.html +3 -3
  51. package/dist/pages/webapi.html +2 -2
  52. package/dist/res/swagger/index.html +27 -27
  53. package/package.json +1 -1
  54. package/dist/108.19b6e7d30df333e42876.bundle.js.map +0 -1
  55. package/dist/21.7f0a59ea2ad9340dcb2f.bundle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/settings/app.js","webpack:///./src/js/angular/repositories/app.js","webpack:///./src/js/angular/settings/controllers.js","webpack:///./src/js/angular/repositories/ontop-repo.directive.js","webpack:///./src/js/angular/repositories/fedx-repo.directive.js"],"names":["config","$httpProvider","interceptors","push","run","$rootScope","$location","$licenseService","$on","isLicenseHardcoded","url","path","angular","module","$inject","ActiveLocationSettingsCtrl","$scope","toastr","$modalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","ModalService","loadingLicense","checkLicenseStatus","revertToFree","openSimpleModal","title","message","warning","result","unregisterLicense","RegisterLicenseCtrl","$modal","$window","$jwtAuth","isAdmin","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","licensee","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","ontopRepoDirective","RepositoriesRestService","Upload","restrict","scope","link","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","password","driverClass","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","forEach","key","repositoryInfo","params","value","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","filter","requiredField","length","Promise","reject","uploadFileLoader","updatePropertiesFile","location","fileLocation","showErrorMsg","loadDriverByClass","foundDriver","find","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","name","errorMessage","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","repoTooltips","ontop","editOntopRepo","editRepository","catch","err","createOntopRepo","id","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","editRepoPage","loadPropertiesFile","driverData","parseInt","directive","fedxRepoDirective","LOCAL_REPO_STORE","fedxMembers","knownRepos","allAttachedRepos","member","slice","populateKnownRepos","repo","repositoryServer","repositoryName","local","getKnownRepos","getRepositories","repos","_","values","apply","cloneDeep","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","repoType","type","respectRights","username","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName"],"mappings":"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","file":"21.7f0a59ea2ad9340dcb2f.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$modalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $modalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $modalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense;\n };\n\n $licenseService.checkLicenseStatus();\n\n $scope.revertToFree = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"revert.to.free.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus();\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$modal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $modal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.licensee !== 'Invalid') {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function () {\n toastr.error($translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$modalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $modalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $modalInstance.close();\n }\n\n function cancel() {\n $modalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {getFileName} from \"./controllers\";\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($modal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n $scope.selectedDriver = {\n driverType: \"generic\",\n driverName: \"Generic JDBC Driver\",\n jdbc: {\n hostName: \"\",\n port: \"\",\n databaseName: \"\",\n userName: \"\",\n password: \"\",\n driverClass: \"\",\n url: \"\"\n },\n urlTemplate: \"\",\n downloadDriverUrl: \"\"\n };\n $scope.ontopRepoFileNames = {};\n $scope.supportedDriversData = [];\n $scope.ontopRepoFileLabels =\n {propertiesFile: 'JDBC properties', obdaFile: 'OBDA or R2RML', owlFile: 'ontology file',\n constraintFile: 'constraint file', dbMetadataFile: 'DB metadata file'};\n $scope.ontopRepoFiles = Object.keys($scope.ontopRepoFileLabels);\n $scope.ontopRepoFiles.forEach(function(key) {\n if ($scope.repositoryInfo.params[key]) {\n $scope.ontopRepoFileNames[key] = getFileName($scope.repositoryInfo.params[key].value);\n }\n });\n $scope.supportedDriverLabels = {hostName: 'Hostname', port: \"Port\", databaseName: 'Database name',\n userName: 'Username', password: 'Password', driverClass: 'Driver class', url: 'URL'};\n $scope.propertiesFileParams = Object.keys($scope.supportedDriverLabels);\n $scope.classAvailable = false;\n $scope.genericDriverType = 'generic';\n $scope.propertiesFile = 'propertiesFile';\n\n const REQUIRED_ONTOP_REPO_PARAMS = [$scope.propertiesFile, 'obdaFile'];\n const REQUIRED_PROPERTIES_FIELD_PARAMS = ['hostName', 'databaseName', 'userName'];\n\n function getSupportedDriversData() {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success(function (response) {\n $scope.supportedDriversData = response;\n }).error(function (response) {\n showErrorMsg($translate.instant('common.error'), response);\n });\n }\n\n $scope.loadDriverByClass = function (driverClass) {\n const foundDriver = $scope.supportedDriversData\n .find((driver) => driver.driverClass === driverClass);\n if (foundDriver) {\n $scope.copyDriverProperties(foundDriver);\n }\n return foundDriver;\n };\n\n $scope.selectDriverByType = function (driverType) {\n $scope.copyDriverProperties($scope.supportedDriversData\n .find((driver) => driver.driverType === driverType));\n // Call concatURL with proper labelName to apply changes to url field\n $scope.concatURL('hostName', $scope);\n };\n\n $scope.copyDriverProperties = function (driver) {\n $scope.selectedDriver.driverType = driver.driverType;\n $scope.selectedDriver.jdbc.driverClass = driver.driverClass;\n $scope.selectedDriver.jdbc.url = driver.urlTemplate;\n $scope.selectedDriver.urlTemplate = driver.urlTemplate;\n $scope.selectedDriver.downloadDriverUrl = driver.downloadDriverUrl;\n $scope.selectedDriver.portRequired = driver.portRequired;\n $scope.classAvailable = driver.classAvailable;\n };\n\n $scope.isReadOnly = function (labelName) {\n return labelName === 'driverClass' || labelName === 'url';\n }\n\n $scope.editFile = function(file) {\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n resolve: {\n file: function () {\n return $scope.repositoryInfo.params[file] ? $scope.repositoryInfo.params[file].value : '';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location).success(function(result) {\n $scope.ontopRepoFileNames[file] = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[file].value = result.fileLocation;\n }).error(function (error) {\n showErrorMsg($translate.instant('common.error'), error);\n })\n });\n }\n\n $scope.uploadOntopRepoFile = function(files, param) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/file/upload',\n data: {file: $scope.uploadFile, location: $scope.repositoryInfo.location}\n })\n .success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n $scope.ontopRepoFileNames[param] = $scope.uploadFile.name;\n $scope.repositoryInfo.params[param].value = data.fileLocation;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n }\n\n $scope.concatURL = function(labelName) {\n if (labelName === 'hostName' || labelName === 'port' || labelName === 'databaseName') {\n let result = $scope.selectedDriver.urlTemplate;\n if ($scope.selectedDriver.jdbc.hostName) {\n if ($scope.selectedDriver.jdbc.port) {\n result = result.replace('{hostport}',\n `${$scope.selectedDriver.jdbc.hostName}:${$scope.selectedDriver.jdbc.port}`);\n } else {\n result = result.replace('{hostport}', $scope.selectedDriver.jdbc.hostName);\n }\n }\n\n if ($scope.selectedDriver.jdbc.databaseName) {\n result = result.replace('{database}', $scope.selectedDriver.jdbc.databaseName);\n }\n\n $scope.selectedDriver.jdbc.url = result;\n }\n }\n\n $scope.getInputType = function (labelName) {\n switch (labelName) {\n case 'password':\n return 'password';\n case 'port':\n return 'number';\n default:\n return 'text';\n }\n }\n\n $scope.checkForRequiredOntopFiles = function () {\n // Should guarantee that code will be executed in sequential manner,\n // because properties file is not created yet\n return updateProperties()\n .then(function () {\n const missingRequired = REQUIRED_ONTOP_REPO_PARAMS.filter(function (requiredFile) {\n return !$scope.repositoryInfo.params[requiredFile].value;\n });\n if (missingRequired.length > 0) {\n toastr.error($translate.instant('ontop.repo.missing.required.file.error'));\n return Promise.reject($translate.instant('ontop.repo.missing.required.file.error'));\n }\n return Promise.resolve();\n });\n }\n\n function loadPropertiesFile() {\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.repositoryInfo.location)\n .success(function (driverData) {\n const driver = $scope.loadDriverByClass(driverData.driverClass);\n // If driver class is not found means that the selected driver is a GENERIC ONE\n if (driver) {\n $scope.selectedDriver.jdbc.hostName = driverData.hostName;\n $scope.selectedDriver.jdbc.port = parseInt(driverData.port);\n $scope.selectedDriver.jdbc.databaseName = driverData.databaseName;\n $scope.selectedDriver.jdbc.userName = driverData.userName;\n $scope.selectedDriver.jdbc.password = driverData.password;\n $scope.selectedDriver.jdbc.url = driverData.url;\n }\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.validateOntopPropertiesConnection = function () {\n updateProperties()\n .then(function () {\n RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('ontop.repo.successful.connection.msg'));\n }).error(function (data) {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), data);\n });\n });\n }\n\n $scope.isOntopRepoFileUploaded = function() {\n return $scope.repositoryInfo.params.propertiesFile &&\n $scope.repositoryInfo.params.propertiesFile.value.length > 0\n };\n\n function missingRequiredField() {\n const missing = REQUIRED_PROPERTIES_FIELD_PARAMS\n .filter(function (requiredField) {\n return !$scope.selectedDriver.jdbc[requiredField]\n });\n if (missing.length > 0) {\n toastr.error($translate.instant('missing.required.field.error'));\n return true;\n }\n return false;\n }\n\n function updateProperties() {\n if ($scope.selectedDriver.driverType !== $scope.genericDriverType) {\n if (missingRequiredField()) {\n return Promise.reject($translate.instant('missing.required.field.error'));\n }\n return updatePropertiesFile();\n }\n return Promise.resolve();\n }\n\n function updatePropertiesFile() {\n $scope.uploadFileLoader = true;\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.selectedDriver.jdbc, $scope.repositoryInfo.location)\n .success(function (data) {\n $scope.ontopRepoFileNames[$scope.propertiesFile] = getFileName(data.fileLocation);\n $scope.repositoryInfo.params[$scope.propertiesFile].value = data.fileLocation;\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.isRequiredOntopRepoFile = function(file) {\n return REQUIRED_ONTOP_REPO_PARAMS.indexOf(file) > -1;\n };\n\n $scope.isRequiredField = function (field) {\n return REQUIRED_PROPERTIES_FIELD_PARAMS.indexOf(field) > -1\n || field === 'port' && $scope.selectedDriver.portRequired;\n };\n\n $scope.getFieldTooltip = function (field) {\n if (field === 'port' && $scope.selectedDriver.portRequired) {\n field = 'portIfRequired';\n }\n return $scope.repoTooltips.ontop[field];\n };\n\n $scope.editOntopRepo = function () {\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.editRepository();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n }\n\n $scope.createOntopRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.createRepo();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n };\n\n $scope.goBackToPrevious = function () {\n $scope.goBackToPreviousLocation();\n }\n\n function showErrorMsg (title, data) {\n const msg = getError(data);\n toastr.error(msg, title);\n }\n\n getSupportedDriversData()\n .then(function () {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n }\n });\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$modal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($modal, RepositoriesRestService, toastr, $translate) {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allAttachedRepos = [];\n\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories($scope.repositoryInfo.location)\n .success(function (response) {\n let repos = [];\n _.values(response).forEach((value) => {\n repos.push.apply(repos, value);\n });\n $scope.allAttachedRepos = _.cloneDeep(repos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n getRepositories()\n .then(function () {\n $scope.knownRepos = $scope.allAttachedRepos.slice();\n populateKnownRepos();\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (!$scope.allAttachedRepos.length) {\n return true;\n }\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && !repo.location);\n } else if (member.store === REMOTE_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n let member;\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n } else {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n };\n }\n $scope.knownRepos = $scope.knownRepos.filter(repo => repo.id !== repository.id || repo.location !== repository.location);\n updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName && !el.repositoryServer);\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$modalInstance = $modal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$modalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$modalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$modalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n"],"sourceRoot":""}