graphdb-workbench 2.3.0-TR4 → 2.3.0-TR5
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.
- package/dist/108.d415d719be3fc3a428f4.bundle.js +2 -0
- package/dist/108.d415d719be3fc3a428f4.bundle.js.map +1 -0
- package/dist/11.e3c940aa59365084050b.bundle.js +1 -1
- package/dist/11.e3c940aa59365084050b.bundle.js.map +1 -1
- package/dist/148.45985ae23de642595544.bundle.js +1 -1
- package/dist/148.45985ae23de642595544.bundle.js.map +1 -1
- package/dist/{172.bf2dc278095883bd8c2a.bundle.js → 172.d60c0e511738e8c50a5f.bundle.js} +2 -2
- package/dist/{172.bf2dc278095883bd8c2a.bundle.js.map → 172.d60c0e511738e8c50a5f.bundle.js.map} +1 -1
- package/dist/20.4eb25ede434dc329ecf1.bundle.js +1 -1
- package/dist/20.4eb25ede434dc329ecf1.bundle.js.map +1 -1
- package/dist/{21.5586732af2e5cec0d05a.bundle.js → 21.dd1a8782fa1bea210dc2.bundle.js} +2 -2
- package/dist/21.dd1a8782fa1bea210dc2.bundle.js.map +1 -0
- package/dist/27.fef157d9275358c9f1a0.bundle.js +1 -1
- package/dist/27.fef157d9275358c9f1a0.bundle.js.map +1 -1
- package/dist/33.fde8076c81c87c25c367.bundle.js +1 -1
- package/dist/33.fde8076c81c87c25c367.bundle.js.map +1 -1
- package/dist/40.10f42e3f6d8d87bd3221.bundle.js +1 -1
- package/dist/40.10f42e3f6d8d87bd3221.bundle.js.map +1 -1
- package/dist/94.94158487a9024ff3a623.bundle.js +1 -1
- package/dist/94.94158487a9024ff3a623.bundle.js.map +1 -1
- package/dist/{bundle.155a8cba7919ff58b159.bundle.js → bundle.906b129d438637005f08.bundle.js} +3 -3
- package/dist/{bundle.155a8cba7919ff58b159.bundle.js.map → bundle.906b129d438637005f08.bundle.js.map} +1 -1
- package/dist/i18n/locale-en.json +2 -1
- package/dist/i18n/locale-fr.json +2 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/repositories/templates/ontop-repo.html +8 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +4 -4
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +2 -2
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger/index.html +27 -27
- package/package.json +1 -1
- package/dist/108.162ea156d1fc4ad2525f.bundle.js +0 -2
- package/dist/108.162ea156d1fc4ad2525f.bundle.js.map +0 -1
- package/dist/21.5586732af2e5cec0d05a.bundle.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/repositories/fedx-repo.directive.js","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"],"names":["fedxRepoDirective","$uibModal","RepositoriesRestService","toastr","$translate","restrict","scope","templateUrl","link","$scope","LOCAL_REPO_STORE","fedxMembers","knownRepos","allAttachedRepos","editRepoPage","repositoryInfo","params","member","value","slice","populateKnownRepos","filter","repo","repositoryServer","id","repositoryName","location","local","getKnownRepos","getRepositories","success","response","repos","_","values","forEach","push","apply","cloneDeep","error","msg","getError","instant","then","setWritableRepo","currentWritable","find","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","length","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","url","checkEditMode","model","editMode","$on","clearInterval","addMember","repository","repoType","type","respectRights","username","password","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","$uibModalInstance","open","getMemberIcon","editFedXRepository","resolveName","cancel","dismiss","ok","resolvedName","name","close","angular","module","directive","$inject","config","$httpProvider","interceptors","run","$rootScope","$location","$licenseService","isLicenseHardcoded","path","ActiveLocationSettingsCtrl","LicenseRestService","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","data","status","setSettings","toggleStatistics","submitForm","LicenseCtrl","ModalService","loadingLicense","checkLicenseStatus","revertToFree","openSimpleModal","title","message","warning","result","unregisterLicense","RegisterLicenseCtrl","$window","$jwtAuth","isAdmin","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","licensee","val","license","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","LoaderSamplesCtrl","setLoader","ontopRepoDirective","Upload","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","driverClass","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","key","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","requiredField","Promise","reject","uploadFileLoader","updatePropertiesFile","fileLocation","showErrorMsg","loadDriverByClass","foundDriver","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","errorMessage","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","editOntopRepo","editRepository","catch","err","createOntopRepo","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","loadPropertiesFile","driverData","parseInt"],"mappings":"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","file":"21.5586732af2e5cec0d05a.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$uibModal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($uibModal, 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.$uibModalInstance = $uibModal.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.$uibModalInstance = $uibModal.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.$uibModalInstance.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.$uibModalInstance.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.$uibModalInstance.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.$uibModalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n","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', '$uibModalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $uibModalInstance, 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 $uibModalInstance.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 $uibModalInstance.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', '$uibModal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $uibModal, 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 = $uibModal.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', '$uibModalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $uibModalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $uibModalInstance.close();\n }\n\n function cancel() {\n $uibModalInstance.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 = ['$uibModal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($uibModal, 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 = $uibModal.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 $translate.instant('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"],"sourceRoot":""}
|